ollie/agent
Levi Neely 4e817f5de9 replace event ring buffer with pubsub
- Use github.com/simonfxr/pubsub for topic-based event routing
- Topic format: session.{id}.{action}, agent.{id}.{action}
- Wildcard subscriptions: *, session.*, agent.*
- PublishEvent routes to exact topic + wildcards
- WaitEvent maintains backwards compatibility for eventwait
- Add agent.SetOnStateChange callback for state change events
- Extend session/idx format with paused, connected, agent list

Events now published:
- session.{id}.new/kill/pause/resume/rename
- agent.{id}.new/kill/state

This enables efficient selective subscriptions - GUI can subscribe
to specific sessions/agents instead of receiving all events.
2026-08-03 18:48:30 +02:00
..
agent.go replace event ring buffer with pubsub 2026-08-03 18:48:30 +02:00
agent_config.go multiplex toolsrv, wip zero-tool server 2026-08-02 19:18:39 +02:00
build_runtime.go agent: inject tool documentation + schemas into preamble 2026-08-03 13:07:26 +02:00
commands.go Persist renamed sessions and profiles 2026-08-02 22:34:35 +02:00
compaction.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
complete.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
config_paths.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
cost.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
fifo.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
fifo_test.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
history.go agent: persist uname separately, fix OLLIE_UNAME != OLLIE_SESSION_ID 2026-08-03 10:55:50 +02:00
hooks.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
loop.go Revert "wrap system-user-interruption in its own fence block" 2026-08-03 00:39:29 +02:00
new.go fix naming problems 2026-08-02 22:10:00 +02:00
new.go.bak fix naming problems 2026-08-02 22:10:00 +02:00
prompt_resolver.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
runtime.go Add formatted tool output fences 2026-08-02 22:57:17 +02:00
state.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
turn.go fix(agent): refresh outputFormat lookup on each turn 2026-08-03 16:26:08 +02:00
usage_log.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00