diff options
| author | Adam Malczewski <[email protected]> | 2026-06-05 01:35:50 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-05 01:35:50 +0900 |
| commit | 94dd5334b0277f3cf3b0588150a6615af86a32b3 (patch) | |
| tree | 53b1b327790ae43bd3b7cbabe555b832f3e27248 /packages/kernel/src/runtime/events.ts | |
| parent | 977ca522736bba53172e010494de5ac59fdb2a4a (diff) | |
| download | dispatch-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.ts | 34 |
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 }; } |
