# 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: ```bash # 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.