co-mono/packages
Nico Bailon 9c9e6822e3
feat(coding-agent): add event bus for tool/hook communication (#431)
* feat(coding-agent): add event bus for tool/hook communication

Adds pi.events API enabling custom tools and hooks to communicate via
pub/sub. Tools can emit events, hooks can listen. Shared EventBus instance
created per session in createAgentSession().

- EventBus interface with emit() and on() methods
- on() returns unsubscribe function
- Threaded through hook and tool loaders
- Documented in hooks.md and custom-tools.md

* fix(coding-agent): wrap event handlers to catch errors

* docs: note async handler error handling for event bus

* feat(coding-agent): add sendMessage to tools, nextTurn delivery mode

- Custom tools now have pi.sendMessage() for direct agent notifications
- New deliverAs: 'nextTurn' queues messages for next user prompt
- Fix: hooks and tools now share the same eventBus (was isolated before)

* fix(coding-agent): nextTurn delivery should always queue, even when streaming
2026-01-04 21:36:19 +01:00
..
agent Add [Unreleased] section for next cycle 2026-01-04 21:06:48 +01:00
ai Add [Unreleased] section for next cycle 2026-01-04 21:06:48 +01:00
coding-agent feat(coding-agent): add event bus for tool/hook communication (#431) 2026-01-04 21:36:19 +01:00
mom Add [Unreleased] section for next cycle 2026-01-04 21:06:48 +01:00
pods Release v0.34.2 2026-01-04 21:06:08 +01:00
tui Add [Unreleased] section for next cycle 2026-01-04 21:06:48 +01:00
web-ui Add [Unreleased] section for next cycle 2026-01-04 21:06:48 +01:00