mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 20:03:05 +00:00
* 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
38 lines
950 B
TypeScript
38 lines
950 B
TypeScript
/**
|
|
* Core modules shared between all run modes.
|
|
*/
|
|
|
|
export {
|
|
AgentSession,
|
|
type AgentSessionConfig,
|
|
type AgentSessionEvent,
|
|
type AgentSessionEventListener,
|
|
type ModelCycleResult,
|
|
type PromptOptions,
|
|
type SessionStats,
|
|
} from "./agent-session.js";
|
|
export { type BashExecutorOptions, type BashResult, executeBash } from "./bash-executor.js";
|
|
export type { CompactionResult } from "./compaction/index.js";
|
|
export {
|
|
type CustomTool,
|
|
type CustomToolAPI,
|
|
type CustomToolFactory,
|
|
type CustomToolsLoadResult,
|
|
type CustomToolUIContext,
|
|
discoverAndLoadCustomTools,
|
|
type ExecResult,
|
|
type LoadedCustomTool,
|
|
loadCustomTools,
|
|
type RenderResultOptions,
|
|
} from "./custom-tools/index.js";
|
|
export { createEventBus, type EventBus, type EventBusController } from "./event-bus.js";
|
|
export {
|
|
type HookAPI,
|
|
type HookContext,
|
|
type HookError,
|
|
type HookEvent,
|
|
type HookFactory,
|
|
HookRunner,
|
|
type HookUIContext,
|
|
loadHooks,
|
|
} from "./hooks/index.js";
|