Files
clawdbot/src/agents/pi-embedded-subscribe.handlers.ts
Peter Steinberger c379191f80 chore: migrate to oxlint and oxfmt
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
2026-01-14 15:02:19 +00:00

60 lines
1.6 KiB
TypeScript

import {
handleAgentEnd,
handleAgentStart,
handleAutoCompactionEnd,
handleAutoCompactionStart,
} from "./pi-embedded-subscribe.handlers.lifecycle.js";
import {
handleMessageEnd,
handleMessageStart,
handleMessageUpdate,
} from "./pi-embedded-subscribe.handlers.messages.js";
import {
handleToolExecutionEnd,
handleToolExecutionStart,
handleToolExecutionUpdate,
} from "./pi-embedded-subscribe.handlers.tools.js";
import type {
EmbeddedPiSubscribeContext,
EmbeddedPiSubscribeEvent,
} from "./pi-embedded-subscribe.handlers.types.js";
export function createEmbeddedPiSessionEventHandler(ctx: EmbeddedPiSubscribeContext) {
return (evt: EmbeddedPiSubscribeEvent) => {
switch (evt.type) {
case "message_start":
handleMessageStart(ctx, evt as never);
return;
case "message_update":
handleMessageUpdate(ctx, evt as never);
return;
case "message_end":
handleMessageEnd(ctx, evt as never);
return;
case "tool_execution_start":
handleToolExecutionStart(ctx, evt as never);
return;
case "tool_execution_update":
handleToolExecutionUpdate(ctx, evt as never);
return;
case "tool_execution_end":
handleToolExecutionEnd(ctx, evt as never);
return;
case "agent_start":
handleAgentStart(ctx);
return;
case "auto_compaction_start":
handleAutoCompactionStart(ctx);
return;
case "auto_compaction_end":
handleAutoCompactionEnd(ctx, evt as never);
return;
case "agent_end":
handleAgentEnd(ctx);
return;
default:
return;
}
};
}