mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 13:03:42 +00:00
Breaking changes to Hook API: - pi.send(text, attachments?) replaced with pi.sendMessage(message, triggerTurn?) - Creates CustomMessageEntry instead of user messages - Properly handles queuing during streaming via agent loop - Supports optional turn triggering when idle - New pi.appendEntry(customType, data?) for hook state persistence - New pi.registerCommand(name, options) for custom slash commands - Handler types renamed: SendHandler -> SendMessageHandler, new AppendEntryHandler Implementation: - AgentSession.sendHookMessage() handles all three cases: - Streaming: queues message with _hookData marker, agent loop processes it - Not streaming + triggerTurn: appends to state/session, calls agent.continue() - Not streaming + no trigger: appends to state/session only - message_end handler routes based on _hookData presence to correct persistence - HookRunner gains getRegisteredCommands() and getCommand() methods New types: HookMessage<T>, RegisteredCommand, CommandContext |
||
|---|---|---|
| .. | ||
| fixtures | ||
| session-manager | ||
| agent-session-branching.test.ts | ||
| agent-session-compaction.test.ts | ||
| args.test.ts | ||
| compaction-hooks-example.test.ts | ||
| compaction-hooks.test.ts | ||
| compaction.test.ts | ||
| fuzzy.test.ts | ||
| model-resolver.test.ts | ||
| rpc-example.ts | ||
| rpc.test.ts | ||
| skills.test.ts | ||
| streaming-render-debug.ts | ||
| test-theme-colors.ts | ||
| tools.test.ts | ||
| truncate-to-width.test.ts | ||