feat(hooks): add text_delta event for streaming text monitoring

- New text_delta hook event fires for each chunk of streaming text
- Enables real-time monitoring of agent output
- Plan-mode hook now updates todo progress as [DONE:id] tags stream in
- Each todo item has unique ID for reliable tracking
This commit is contained in:
Helmut Januschka
2026-01-03 16:26:36 +01:00
parent ed8f82b5f0
commit 4d060c3831
5 changed files with 57 additions and 5 deletions
@@ -392,6 +392,16 @@ export interface AgentEndEvent {
messages: AgentMessage[];
}
/**
* Event data for text_delta event.
* Fired when new text is streamed from the assistant.
*/
export interface TextDeltaEvent {
type: "text_delta";
/** The new text chunk */
text: string;
}
/**
* Event data for turn_start event.
*/
@@ -535,6 +545,7 @@ export type HookEvent =
| BeforeAgentStartEvent
| AgentStartEvent
| AgentEndEvent
| TextDeltaEvent
| TurnStartEvent
| TurnEndEvent
| ToolCallEvent
@@ -701,6 +712,7 @@ export interface HookAPI {
on(event: "turn_end", handler: HookHandler<TurnEndEvent>): void;
on(event: "tool_call", handler: HookHandler<ToolCallEvent, ToolCallEventResult>): void;
on(event: "tool_result", handler: HookHandler<ToolResultEvent, ToolResultEventResult>): void;
on(event: "text_delta", handler: HookHandler<TextDeltaEvent>): void;
/**
* Send a custom message to the session. Creates a CustomMessageEntry that