2.3 KiB
2.3 KiB
Event Topics Reference
All events published to the event stream follow hierarchical topic naming.
Topic Format
session.{sessionId}.{type}
session.{sessionId}.agent.{agentId}.{type}
Session Events
| Topic | Payload | Description |
|---|---|---|
session.{sid}.new |
{name} |
Session created |
session.{sid}.kill |
— | Session destroyed |
session.{sid}.rename |
{oldName} {newName} |
Session renamed |
session.{sid}.pause |
— | Session paused |
session.{sid}.resume |
— | Session resumed |
Agent Events
| Topic | Payload | Description |
|---|---|---|
session.{sid}.agent.{aid}.new |
— | Agent created |
session.{sid}.agent.{aid}.kill |
— | Agent destroyed |
session.{sid}.agent.{aid}.state |
{state} |
State changed (idle, calling, thinking, paused) |
session.{sid}.agent.{aid}.bypass.request |
{id}\t{cmd}\t{cwd} |
Bypass approval requested |
session.{sid}.agent.{aid}.bypass.resolved |
{id}\t{action} |
Bypass resolved (approved/denied) |
Process Events
| Topic | Payload | Description |
|---|---|---|
session.{sid}.agent.{aid}.proc.start |
{pid}\t{tool}\t{cmd} |
Background process started |
session.{sid}.agent.{aid}.proc.exit |
{pid}\t{exit_code}\t{tool}\t{cmd} |
Background process exited |
Filter Patterns
Subscribe to specific events using the streaming rdwr pattern:
# All events
ollie-9p read event
# All session events
echo "session.*" | ollie-9p rdwrs event
# State changes for all agents
echo "session.*.agent.*.state" | ollie-9p rdwrs event
# All events for one session
echo "session.abc123.>" | ollie-9p rdwrs event
# Bypass requests only
echo "session.*.agent.*.bypass.request" | ollie-9p rdwrs event
# All bypass events (request + resolved)
echo "session.*.agent.*.bypass.>" | ollie-9p rdwrs event
Filter Syntax
| Pattern | Matches |
|---|---|
* |
Exactly one segment |
> |
One or more segments (must be last) |
literal |
Exact match |
Hierarchical Publishing
Events are published to their topic and all parent wildcards:
session.abc.agent.xyz.state
→ session.abc.agent.xyz.*
→ session.abc.agent.*
→ session.abc.*
→ session.*
→ *
This allows subscribing at any level of granularity.