summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel/src/runtime
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-04 23:55:29 +0900
committerAdam Malczewski <[email protected]>2026-06-04 23:55:29 +0900
commite56b591d56ea3f3007c612da2f0fe2004d696f45 (patch)
tree01a3503b5c72cd78971d8dc304d80835d76201cf /packages/kernel/src/runtime
parent51a88160fbb8e06d93f7507b5e3e4cca80e98902 (diff)
downloaddispatch-e56b591d56ea3f3007c612da2f0fe2004d696f45.tar.gz
dispatch-e56b591d56ea3f3007c612da2f0fe2004d696f45.zip
fix(kernel): expose getProviders/getTools on HostAPI (CR-2) + runTurn uses input tabId/turnId (CR-3); simplify orchestrator wiring (167 tests)
Diffstat (limited to 'packages/kernel/src/runtime')
-rw-r--r--packages/kernel/src/runtime/run-turn.test.ts30
-rw-r--r--packages/kernel/src/runtime/run-turn.ts4
2 files changed, 32 insertions, 2 deletions
diff --git a/packages/kernel/src/runtime/run-turn.test.ts b/packages/kernel/src/runtime/run-turn.test.ts
index f63a0a8..1ea6406 100644
--- a/packages/kernel/src/runtime/run-turn.test.ts
+++ b/packages/kernel/src/runtime/run-turn.test.ts
@@ -52,6 +52,36 @@ const userMessage: ChatMessage = {
};
describe("runTurn", () => {
+ it("emits events with the tabId and turnId from input", async () => {
+ const provider = createFakeProvider([
+ [
+ { type: "text-delta", delta: "hi" },
+ { type: "usage", usage: { inputTokens: 1, outputTokens: 1 } },
+ { type: "finish", reason: "stop" },
+ ],
+ ]);
+
+ const { events, emit } = createCollectingEmit();
+
+ await runTurn({
+ provider,
+ messages: [userMessage],
+ tools: [],
+ dispatch: { maxConcurrent: 1, eager: false },
+ tabId: "conv-42",
+ turnId: "turn-99",
+ emit,
+ });
+
+ expect(events.length).toBeGreaterThan(0);
+ for (const event of events) {
+ expect(event.tabId).toBe("conv-42");
+ if (event.type !== "status") {
+ expect(event.turnId).toBe("turn-99");
+ }
+ }
+ });
+
it("text-only turn emits correct events and returns correct result", async () => {
const provider = createFakeProvider([
[
diff --git a/packages/kernel/src/runtime/run-turn.ts b/packages/kernel/src/runtime/run-turn.ts
index 46b1465..919491a 100644
--- a/packages/kernel/src/runtime/run-turn.ts
+++ b/packages/kernel/src/runtime/run-turn.ts
@@ -217,8 +217,8 @@ export async function runTurn(input: RunTurnInput): Promise<RunTurnResult> {
toolMap.set(tool.name, tool);
}
- const tabId = "";
- const turnId = "";
+ const tabId = input.tabId;
+ const turnId = input.turnId;
const signal = input.signal ?? new AbortController().signal;
for (let step = 0; step < MAX_STEPS; step++) {