Commit Graph

1462 Commits

Author SHA1 Message Date
Ollie Agent 83304e2896 split Session into Session + AgentState; move all agent-scoped state to AgentState
Session struct now only holds: id, uname, mu, Core, SessionCtx, cancel,
proc, modelsMu/Cache/At.

New AgentState struct holds: log, logVers, ChatOffset, chatCond, plan,
prevPrompt, remote — all per-agent state.

agentHelper now takes an *AgentState alongside *Session. All agent file
operations (plan, log, chat, prevPrompt, offset, remote, cfg) access
AgentState fields instead of Session fields.

Removed startEventLog from NewSession (was writing to session log).
replayMessagesToLog takes *AgentState. Rename no longer appends to log.
ReadPlanStep stubbed out (TODO: look up correct AgentState).
server.go makeStat stubbed out AgentState log size tracking (TODO).
2026-08-01 14:17:56 +02:00
Ollie Agent 405ae3137a move plan from session to agent level
plan is now at session/{id}/agent/{aid}/plan, not session/{id}/plan
2026-08-01 13:58:38 +02:00
Ollie Agent fb1d10141b decouple session and agent files in 9P tree
Session-level files (session/{id}/): plan, env, ctl
Agent-level files (session/{id}/agent/{aid}/): cwd, prompt, log, chat,
  cfg, state, statewait, usage, cost, ctxsz, models, systemprompt,
  tail, prompt.prev, context, toolsrv.loaded, toolsrv.rev, tools

Key changes:
- Split sessionHelper into sessionHelper and agentHelper types
- ctl moved to session level (kill, rn, save, invalidate)
- cwd moved to agent level (read/write)
- Agent cfg no longer supports rename (use session/ctl rn)
- Permissions updated: cwd=0666, ctl=0666, env=0444 at session level
- Removed duplicate envContent method
2026-08-01 13:57:05 +02:00
Ollie Agent 3046afd8ed fix 9P session/agent boundary enforcement
Bug: reading agent files (log, chat, state, etc.) via 9P returned the
same data regardless of which session or agent ID was specified. The
server did not validate agent IDs and had out-of-bounds slice access
on  when the path had fewer components than expected.

Fixes:
- fs/session/root.go: Added  guard before all
   checks in rootReaddir, rootStat, rootOpen.
  Added  guard before  access in rootStat.
  Added agent ID validation — returns error if the requested agent ID
  doesn't match the session's actual agent.
- cmd/olliesrv/server.go: Restructured pathType() to nest agent path
  checks inside a single
  block, preventing proc-path checks from incorrectly matching agent
  paths. Added agent ID validation (returns "" = not found).
  Added agent-path support in makeStat() for Qid version tracking on
  log/chat. Skip blocking files (chat, statewait) in stat-size
  computation to prevent hangs.
2026-08-01 13:39:14 +02:00
Ollie Agent f017486858 update kde submodule: remove autocomplete 2026-08-01 13:07:47 +02:00
Ollie Agent 3f8bfed9ef update kde submodule: fix autocomplete text reference 2026-08-01 13:00:27 +02:00
Ollie Agent 6816e0e9cb update kde submodule: fix duplicate property declarations 2026-08-01 12:59:23 +02:00
Ollie Agent 22c13304da update kde submodule: fix missing closing brace 2026-08-01 12:59:00 +02:00
Ollie Agent 00dfe26ab0 update kde submodule: inline slash autocomplete with LCP and arg completion 2026-08-01 12:56:36 +02:00
Ollie Agent 0554862ec5 fix retry streaming: newline between each tick so they appear on separate lines 2026-08-01 12:51:44 +02:00
Ollie Agent 75956e6263 update kde submodule: fix elevation property in completion popup 2026-08-01 12:49:59 +02:00
Ollie Agent fc109f35aa update kde submodule: slash command autocomplete + currentBackend fix 2026-08-01 12:49:11 +02:00
Ollie Agent 6dacd0f2eb update kde submodule: slash command autocomplete + currentBackend 2026-08-01 12:48:33 +02:00
Ollie Agent 04ce9d7611 fix retry block: streaming pattern instead of in-place mutation, HH:MM:ss countdown 2026-08-01 12:45:44 +02:00
Ollie Agent 145b0f4f4b update kde submodule: expand info blocks by default 2026-08-01 12:26:41 +02:00
Ollie Agent e868b2753f update kde submodule: ComboBoxes, collapsible chat blocks, session creation fix 2026-08-01 12:26:14 +02:00
Ollie Agent cf05b1eb11 update kde submodule: remove Stop button (ESC handles it) and debug logs 2026-08-01 12:05:39 +02:00
Ollie Agent 4aba7e5714 update kde submodule: use Shortcut for ESC key 2026-08-01 12:04:31 +02:00
Ollie Agent d3a8a08435 update kde submodule: ESC key interrupts active agent 2026-08-01 12:03:34 +02:00
Ollie Agent 773c1829f1 update kde submodule: sessions pane 15% of window (min 300px) 2026-08-01 12:01:50 +02:00
Ollie Agent d3f253bb91 update kde submodule: sessions pane width as percentage 2026-08-01 12:01:21 +02:00
Ollie Agent 5ec83a5e10 update kde submodule: increase sessions pane default/min width to 240px 2026-08-01 12:00:56 +02:00
Ollie Agent 8543275b21 update kde submodule: preserve original indentation in fenced code/diff blocks 2026-08-01 12:00:20 +02:00
Ollie Agent ba50d263ff update kde submodule: TextField + picker dialogs for backend/model 2026-08-01 11:59:16 +02:00
Ollie Agent 3c2cb8c089 update kde submodule: use FileDialog instead of QtQuick.Dialogs 1.15 2026-08-01 11:56:41 +02:00
Ollie Agent 8e40d06064 update kde submodule: new session dialog with directory, backend, model, agent, remote fields 2026-08-01 11:55:23 +02:00
Ollie Agent 6d8a10c4af update kde submodule: fix session tree view delegate crashes and scrollable input 2026-08-01 11:49:05 +02:00
Ollie Agent 2729798a6b update kde submodule: session tree view with agent sub-elements 2026-08-01 11:44:00 +02:00
Ollie Agent 8a07199569 update kde submodule: ScrollView text area 2026-08-01 11:39:29 +02:00
Ollie Agent 1eb69175eb update kde submodule: syntax-highlight fenced code/diff blocks 2026-08-01 11:36:49 +02:00
Ollie Agent 483b90205f update kde submodule: simple state indicator loop 2026-08-01 11:17:09 +02:00
Ollie Agent 15870a32cb update kde submodule: fix QProcess pipe deadlock 2026-08-01 10:39:46 +02:00
Ollie Agent 30e61b4451 bump kde 2026-08-01 10:37:01 +02:00
Ollie Agent d748bd5b7c update kde submodule: streaming scroll fix 2026-08-01 10:20:58 +02:00
Ollie Agent 0c85db285c update kde submodule: trim chat to 30 blocks 2026-08-01 10:19:31 +02:00
Ollie Agent 83ad5863d9 update kde submodule: scroll fix with Qt.callLater 2026-08-01 10:17:59 +02:00
Ollie Agent 74a907d9f1 justfile: drop dbus from build/test, remove session-dbus.md install 2026-08-01 10:16:14 +02:00
Ollie Agent ada2b81382 update kde submodule: full palette binding 2026-08-01 10:15:13 +02:00
Ollie Agent 67b8ea44af update kde submodule: dark/light-aware block headers 2026-08-01 10:13:52 +02:00
Ollie Agent 854b9d0161 update kde submodule: theme-aware block colors 2026-08-01 10:12:37 +02:00
Ollie Agent 949d3cba1e update kde submodule: font setting respects DPI 2026-08-01 10:05:07 +02:00
Ollie Agent 723e814581 update kde submodule: settings dialog 2026-08-01 10:02:34 +02:00
Ollie Agent 0ce5f1d67f update kde submodule: restore ThemeManager 2026-08-01 09:57:56 +02:00
Ollie Agent 7c5d064ef2 update kde submodule: streaming INI parser ChatBlockModel 2026-08-01 09:38:00 +02:00
Levi Neely cfa2f49f8c remove no9p flag — 9P is the only interface now
The flag had no remaining purpose after D-Bus removal. 9P listener
is always enabled. The if-true blocks remain for now (cosmetic).
2026-07-31 20:56:52 +02:00
Levi Neely 5911315408 docs: remove all D-Bus references, add Phase 13 to EVOLUTION
- Delete data/prompts/session-dbus.md (obsolete operational model)
- AGENTS.md: remove dbus/ from layout, single integration surface
- ARCHITECTURE.md: remove D-Bus adapter section, embedded adapter, diagrams
- EVOLUTION.md: add Phase 13 (9P streaming, D-Bus removal), fix principles,
  add D-Bus to dead ends table
- USAGE.md: remove D-Bus reference
- session-9p.md: document chat (streaming) and log (64KB window) files
2026-07-31 20:47:15 +02:00
Levi Neely b28a56e89a update kde submodule: cleanup dead files (-5653 lines) 2026-07-31 20:44:29 +02:00
Levi Neely 43d0db520a remove D-Bus adapter from olliesrv
Delete dbus/dbus.go — the entire D-Bus SessionManager service is gone.
No more 150ms poll loop, no more signal emission, no more method handlers.

- Remove ollie/dbus import, nodbus flag, dbusAdapter variable
- Remove OnSessionCreated/Killed/Renamed hooks from Config
- Remove EnableDBus from Config
- Elevation notifications connect to session bus directly (godbus stays
  as a dependency solely for org.freedesktop.Notifications)

All clients now use 9P exclusively. D-Bus is dead.
2026-07-31 20:41:02 +02:00
Levi Neely 622ede8c21 update kde submodule: kate streaming fix 2026-07-31 20:33:27 +02:00
Levi Neely d09c7e726c update kde submodule: fix session switch in GUI 2026-07-31 20:30:26 +02:00