summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel/src/runtime/events.ts
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-05 01:35:50 +0900
committerAdam Malczewski <[email protected]>2026-06-05 01:35:50 +0900
commit94dd5334b0277f3cf3b0588150a6615af86a32b3 (patch)
tree53b1b327790ae43bd3b7cbabe555b832f3e27248 /packages/kernel/src/runtime/events.ts
parent977ca522736bba53172e010494de5ac59fdb2a4a (diff)
downloaddispatch-94dd5334b0277f3cf3b0588150a6615af86a32b3.tar.gz
dispatch-94dd5334b0277f3cf3b0588150a6615af86a32b3.zip
refactor(kernel): rename tabId → conversationId across contracts + consumers (218 tests)
Step 4 of the post-MVP backlog: resolve the last vocab drift. The canonical term for a thread of turns is `conversationId` (GLOSSARY), but `AgentEvent` variants and `RunTurnInput` still used the legacy `tabId` from the old frontend "tab" concept, with session-orchestrator bridging `conversationId → tabId`. Atomic, type-driven rename across the full 10-file consumer set: - contracts/events.ts: all 11 AgentEvent variants tabId → conversationId - contracts/runtime.ts: RunTurnInput.tabId → conversationId - runtime/{events,run-turn,dispatch}.ts: factory params, ctx field, locals - session-orchestrator: drop the redundant `tabId: conversationId` bridge line - transport-http: emit wiring; external /chat field + X-Conversation-Id header unchanged (already canonical) — only the emitted NDJSON event field flips - tests (run-turn, app, logic): inputs + assertions now use conversationId Pure rename, zero behavior change: typecheck clean, 218 tests pass (unchanged count), biome clean, `grep tabId packages/` → zero matches. Verified live: multi-turn curl emits conversationId-keyed NDJSON and threads history correctly. GLOSSARY drift note removed. Closes the post-MVP backlog (Steps 1–4).
Diffstat (limited to 'packages/kernel/src/runtime/events.ts')
-rw-r--r--packages/kernel/src/runtime/events.ts34
1 files changed, 19 insertions, 15 deletions
diff --git a/packages/kernel/src/runtime/events.ts b/packages/kernel/src/runtime/events.ts
index 62218be..2a92008 100644
--- a/packages/kernel/src/runtime/events.ts
+++ b/packages/kernel/src/runtime/events.ts
@@ -1,57 +1,61 @@
import type { AgentEvent } from "../contracts/events.js";
import type { Usage } from "../contracts/provider.js";
-export function textDeltaEvent(tabId: string, turnId: string, delta: string): AgentEvent {
- return { type: "text-delta", tabId, turnId, delta };
+export function textDeltaEvent(conversationId: string, turnId: string, delta: string): AgentEvent {
+ return { type: "text-delta", conversationId, turnId, delta };
}
-export function reasoningDeltaEvent(tabId: string, turnId: string, delta: string): AgentEvent {
- return { type: "reasoning-delta", tabId, turnId, delta };
+export function reasoningDeltaEvent(
+ conversationId: string,
+ turnId: string,
+ delta: string,
+): AgentEvent {
+ return { type: "reasoning-delta", conversationId, turnId, delta };
}
export function toolCallEvent(
- tabId: string,
+ conversationId: string,
turnId: string,
toolCallId: string,
toolName: string,
input: unknown,
): AgentEvent {
- return { type: "tool-call", tabId, turnId, toolCallId, toolName, input };
+ return { type: "tool-call", conversationId, turnId, toolCallId, toolName, input };
}
export function toolResultEvent(
- tabId: string,
+ conversationId: string,
turnId: string,
toolCallId: string,
toolName: string,
content: string,
isError: boolean,
): AgentEvent {
- return { type: "tool-result", tabId, turnId, toolCallId, toolName, content, isError };
+ return { type: "tool-result", conversationId, turnId, toolCallId, toolName, content, isError };
}
export function toolOutputEvent(
- tabId: string,
+ conversationId: string,
turnId: string,
toolCallId: string,
data: string,
stream: "stdout" | "stderr",
): AgentEvent {
- return { type: "tool-output", tabId, turnId, toolCallId, data, stream };
+ return { type: "tool-output", conversationId, turnId, toolCallId, data, stream };
}
-export function usageEvent(tabId: string, turnId: string, usage: Usage): AgentEvent {
- return { type: "usage", tabId, turnId, usage };
+export function usageEvent(conversationId: string, turnId: string, usage: Usage): AgentEvent {
+ return { type: "usage", conversationId, turnId, usage };
}
export function errorEvent(
- tabId: string,
+ conversationId: string,
turnId: string,
message: string,
code?: string,
): AgentEvent {
if (code !== undefined) {
- return { type: "error", tabId, turnId, message, code };
+ return { type: "error", conversationId, turnId, message, code };
}
- return { type: "error", tabId, turnId, message };
+ return { type: "error", conversationId, turnId, message };
}