@koda-sl/baker-bridge 0.154.0-dev.db7cf2f5d → 0.154.0-dev.eb1bb1bf7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +35 -3
  2. package/dist/hono/agent-session.d.ts +0 -1
  3. package/dist/hono/agent-session.d.ts.map +1 -1
  4. package/dist/hono/agent-session.js +0 -7
  5. package/dist/hono/agent-session.js.map +1 -1
  6. package/dist/hono/agent-session.test.js +1 -7
  7. package/dist/hono/agent-session.test.js.map +1 -1
  8. package/dist/hono/agent.d.ts.map +1 -1
  9. package/dist/hono/agent.js +10 -10
  10. package/dist/hono/agent.js.map +1 -1
  11. package/dist/hono/agent.test.js +24 -0
  12. package/dist/hono/agent.test.js.map +1 -1
  13. package/dist/hono/bridge-job.d.ts +20 -1
  14. package/dist/hono/bridge-job.d.ts.map +1 -1
  15. package/dist/hono/bridge-job.js +71 -6
  16. package/dist/hono/bridge-job.js.map +1 -1
  17. package/dist/hono/bridge-job.test.js +102 -0
  18. package/dist/hono/bridge-job.test.js.map +1 -1
  19. package/dist/hono/convex.d.ts +2 -1
  20. package/dist/hono/convex.d.ts.map +1 -1
  21. package/dist/hono/convex.js +4 -0
  22. package/dist/hono/convex.js.map +1 -1
  23. package/dist/hono/main-sync.d.ts +7 -0
  24. package/dist/hono/main-sync.d.ts.map +1 -1
  25. package/dist/hono/main-sync.js +39 -0
  26. package/dist/hono/main-sync.js.map +1 -1
  27. package/dist/hono/main-sync.test.js +29 -1
  28. package/dist/hono/main-sync.test.js.map +1 -1
  29. package/dist/hono/publish-handoff.d.ts +12 -1
  30. package/dist/hono/publish-handoff.d.ts.map +1 -1
  31. package/dist/hono/publish-handoff.js +86 -0
  32. package/dist/hono/publish-handoff.js.map +1 -1
  33. package/dist/hono/publish-handoff.test.js +76 -1
  34. package/dist/hono/publish-handoff.test.js.map +1 -1
  35. package/dist/hono/relay.d.ts +10 -1
  36. package/dist/hono/relay.d.ts.map +1 -1
  37. package/dist/hono/relay.js +4 -0
  38. package/dist/hono/relay.js.map +1 -1
  39. package/dist/hono/relay.test.js +11 -0
  40. package/dist/hono/relay.test.js.map +1 -1
  41. package/dist/hono/served-model.d.ts +23 -0
  42. package/dist/hono/served-model.d.ts.map +1 -0
  43. package/dist/hono/served-model.js +82 -0
  44. package/dist/hono/served-model.js.map +1 -0
  45. package/dist/hono/served-model.test.d.ts +2 -0
  46. package/dist/hono/served-model.test.d.ts.map +1 -0
  47. package/dist/hono/served-model.test.js +29 -0
  48. package/dist/hono/served-model.test.js.map +1 -0
  49. package/dist/hono/session-continuity.d.ts +24 -0
  50. package/dist/hono/session-continuity.d.ts.map +1 -1
  51. package/dist/hono/session-continuity.integration.test.js +201 -5
  52. package/dist/hono/session-continuity.integration.test.js.map +1 -1
  53. package/dist/hono/session-continuity.js +94 -7
  54. package/dist/hono/session-continuity.js.map +1 -1
  55. package/dist/hono/session-store.d.ts +2 -0
  56. package/dist/hono/session-store.d.ts.map +1 -1
  57. package/dist/hono/session-store.js +6 -0
  58. package/dist/hono/session-store.js.map +1 -1
  59. package/dist/hono/session-usage-baseline.d.ts +1 -0
  60. package/dist/hono/session-usage-baseline.d.ts.map +1 -1
  61. package/dist/hono/session-usage-baseline.js +17 -4
  62. package/dist/hono/session-usage-baseline.js.map +1 -1
  63. package/dist/hono/turn-events.d.ts +1 -1
  64. package/dist/hono/turn-events.d.ts.map +1 -1
  65. package/dist/hono/turn-events.js.map +1 -1
  66. package/dist/hono/types.d.ts +26 -0
  67. package/dist/hono/types.d.ts.map +1 -1
  68. package/dist/review/digest.d.ts +35 -0
  69. package/dist/review/digest.d.ts.map +1 -1
  70. package/dist/review/digest.js +171 -27
  71. package/dist/review/digest.js.map +1 -1
  72. package/dist/review/digest.test.js +130 -1
  73. package/dist/review/digest.test.js.map +1 -1
  74. package/package.json +1 -1
@@ -36,11 +36,16 @@ class FakeQuery {
36
36
  steps;
37
37
  closeCalls = 0;
38
38
  blocked = new Deferred();
39
+ permissionOutcomes = [];
39
40
  closed = false;
40
41
  releaseBlock;
42
+ options;
41
43
  constructor(steps) {
42
44
  this.steps = steps;
43
45
  }
46
+ bind(options) {
47
+ this.options = options;
48
+ }
44
49
  close() {
45
50
  this.closeCalls += 1;
46
51
  this.closed = true;
@@ -66,6 +71,19 @@ class FakeQuery {
66
71
  }
67
72
  continue;
68
73
  }
74
+ if (isPermissionStep(step)) {
75
+ const decision = this.options?.canUseTool?.(step.toolName, step.input, {
76
+ signal: new AbortController().signal,
77
+ toolUseID: step.toolUseId,
78
+ requestId: `request_${step.toolUseId}`,
79
+ });
80
+ this.blocked.resolve();
81
+ this.permissionOutcomes.push(await decision?.catch((error) => error));
82
+ if (this.closed) {
83
+ return;
84
+ }
85
+ continue;
86
+ }
69
87
  await Promise.resolve();
70
88
  yield step;
71
89
  }
@@ -85,6 +103,7 @@ class FakeSdk {
85
103
  if (!next) {
86
104
  throw new Error("No fake SDK query queued");
87
105
  }
106
+ next.bind(input.options);
88
107
  return next;
89
108
  }
90
109
  }
@@ -179,7 +198,7 @@ describe("bridge session continuity integration", () => {
179
198
  expect(harness.callbacks.completes).toContainEqual(expect.objectContaining({ threadId: "thread_tool_batch", isError: false }));
180
199
  expect(visibleCallbackText(harness.callbacks)).not.toMatch(/API Error: 400 due to tool use concurrency/i);
181
200
  });
182
- it("aborts during a dirty tool batch, clears continuity, and rehydrates the next turn without resume", async () => {
201
+ it("a cancel before the turn completed anything keeps the previous turn's boundary for the next turn", async () => {
183
202
  const harness = await createHarness();
184
203
  await harness.writeSessionFile("thread_abort_dirty", {
185
204
  version: 2,
@@ -203,7 +222,10 @@ describe("bridge session continuity integration", () => {
203
222
  });
204
223
  expect(harness.abortSession("thread_abort_dirty")).toBe(true);
205
224
  await firstTurn;
206
- await expect(harness.readSessionFile("thread_abort_dirty")).resolves.toBeUndefined();
225
+ await expect(harness.readSessionFile("thread_abort_dirty")).resolves.toMatchObject({
226
+ sessionId: "session_prior_abort",
227
+ resumeSessionAt: "assistant_prior_abort",
228
+ });
207
229
  expect(dirtyQuery.closeCalls).toBeGreaterThan(0);
208
230
  await harness.processAsync({
209
231
  threadId: "thread_abort_dirty",
@@ -211,8 +233,124 @@ describe("bridge session continuity integration", () => {
211
233
  prompt: "Continue after abort",
212
234
  history: history([{ role: "user", text: "Start tool work", createdAt: 1 }]),
213
235
  });
214
- expect(harness.sdk.queries[1]?.options).not.toHaveProperty("resume");
215
- expect(await promptText(harness.sdk.queries[1]?.prompt)).toContain("Current user request\nContinue after abort");
236
+ expect(harness.sdk.queries[1]?.options).toMatchObject({
237
+ resume: "session_prior_abort",
238
+ forkSession: true,
239
+ resumeSessionAt: "assistant_prior_abort",
240
+ });
241
+ const nextPrompt = await promptText(harness.sdk.queries[1]?.prompt);
242
+ expect(nextPrompt).toContain("Start tool work");
243
+ expect(nextPrompt).toContain("Continue after abort");
244
+ });
245
+ it("two quick cancels in a row carry both stopped requests under one current request", async () => {
246
+ const harness = await createHarness();
247
+ await harness.writeSessionFile("thread_abort_twice", {
248
+ version: 2,
249
+ sessionId: "session_prior_twice",
250
+ resumeSessionAt: "assistant_prior_twice",
251
+ updatedAtMs: 100,
252
+ });
253
+ const firstQuery = harness.sdk.enqueue(systemSession("session_first_stop"), { type: "block" });
254
+ const secondQuery = harness.sdk.enqueue(systemSession("session_second_stop"), { type: "block" });
255
+ harness.sdk.enqueue(resultMessage("session_after_twice", 0.2));
256
+ const firstTurn = harness.processAsync({
257
+ threadId: "thread_abort_twice",
258
+ turnId: "turn_twice_1",
259
+ prompt: "Make a video ad",
260
+ history: history([]),
261
+ });
262
+ await firstQuery.blocked.promise;
263
+ expect(harness.abortSession("thread_abort_twice")).toBe(true);
264
+ await firstTurn;
265
+ const secondTurn = harness.processAsync({
266
+ threadId: "thread_abort_twice",
267
+ turnId: "turn_twice_2",
268
+ prompt: "Make it thirty seconds",
269
+ history: history([{ role: "user", text: "Make a video ad", createdAt: 1 }]),
270
+ });
271
+ await secondQuery.blocked.promise;
272
+ expect(harness.abortSession("thread_abort_twice")).toBe(true);
273
+ await secondTurn;
274
+ await harness.processAsync({
275
+ threadId: "thread_abort_twice",
276
+ turnId: "turn_twice_3",
277
+ prompt: "And use the summer palette",
278
+ history: history([
279
+ { role: "user", text: "Make a video ad", createdAt: 1 },
280
+ { role: "user", text: "Make it thirty seconds", createdAt: 2 },
281
+ ]),
282
+ });
283
+ const thirdPrompt = await promptText(harness.sdk.queries[2]?.prompt);
284
+ expect(thirdPrompt.match(/--- Current user request/g)).toHaveLength(1);
285
+ expect(thirdPrompt.indexOf("Make a video ad")).toBeLessThan(thirdPrompt.indexOf("Make it thirty seconds"));
286
+ expect(thirdPrompt.indexOf("Make it thirty seconds")).toBeLessThan(thirdPrompt.indexOf("--- Current user request"));
287
+ expect(thirdPrompt.split("--- Current user request")[1]).toContain("And use the summer palette");
288
+ });
289
+ it("resumes a cancelled turn's own session at the last entry it completed, dropping the unanswered tool call", async () => {
290
+ const harness = await createHarness();
291
+ await harness.writeSessionFile("thread_cancel_keeps_work", {
292
+ version: 2,
293
+ sessionId: "session_prior_cancel",
294
+ resumeSessionAt: "assistant_prior_cancel",
295
+ updatedAtMs: 100,
296
+ });
297
+ const cancelledQuery = harness.sdk.enqueue(systemSession("session_cancelled"), toolUseMessage("assistant_read", "toolu_read", "session_cancelled"), toolResultMessage("user_read_result", "toolu_read", "session_cancelled"), toolUseMessage("assistant_second_read", "toolu_second_read", "session_cancelled"), { type: "block" });
298
+ harness.sdk.enqueue(resultMessage("session_after_cancel", 0.2));
299
+ const cancelledTurn = harness.processAsync({
300
+ threadId: "thread_cancel_keeps_work",
301
+ turnId: "turn_cancel_1",
302
+ prompt: "Read the account",
303
+ history: history([]),
304
+ });
305
+ await cancelledQuery.blocked.promise;
306
+ expect(harness.abortSession("thread_cancel_keeps_work")).toBe(true);
307
+ await cancelledTurn;
308
+ await harness.processAsync({
309
+ threadId: "thread_cancel_keeps_work",
310
+ turnId: "turn_cancel_2",
311
+ prompt: "Only the Valencia account",
312
+ history: history([{ role: "user", text: "Read the account", createdAt: 1 }]),
313
+ });
314
+ expect(harness.sdk.queries[1]?.options).toMatchObject({
315
+ resume: "session_cancelled",
316
+ forkSession: true,
317
+ resumeSessionAt: "user_read_result",
318
+ });
319
+ expect(await promptText(harness.sdk.queries[1]?.prompt)).not.toContain("Current user request");
320
+ expect(harness.callbacks.contexts).toContainEqual(expect.objectContaining({ turnId: "turn_cancel_2", source: "local_resume" }));
321
+ });
322
+ it("a plan approval that replaces the turn waiting on ExitPlanMode resumes it with the planning reads kept", async () => {
323
+ const harness = await createHarness();
324
+ const planningQuery = harness.sdk.enqueue(systemSession("session_planning"), toolUseMessage("assistant_plan_read", "toolu_plan_read", "session_planning"), toolResultMessage("user_plan_read_result", "toolu_plan_read", "session_planning"), toolUseMessage("assistant_exit_plan", "toolu_exit_plan", "session_planning", "ExitPlanMode"), {
325
+ type: "permission",
326
+ toolName: "ExitPlanMode",
327
+ toolUseId: "toolu_exit_plan",
328
+ input: { plan: "1. Pause the campaign" },
329
+ });
330
+ harness.sdk.enqueue(resultMessage("session_implementing", 0.3));
331
+ const planningTurn = harness.processAsync({
332
+ threadId: "thread_plan_approval",
333
+ turnId: "turn_plan_1",
334
+ prompt: "Plan the campaign changes",
335
+ history: history([]),
336
+ planMode: true,
337
+ });
338
+ await harness.planReviewPosted;
339
+ await harness.processAsync({
340
+ threadId: "thread_plan_approval",
341
+ turnId: "turn_plan_2",
342
+ prompt: "I approve the plan below. Plan mode is over — implement it now.",
343
+ history: history([{ role: "user", text: "Plan the campaign changes", createdAt: 1 }]),
344
+ });
345
+ await planningTurn;
346
+ expect(harness.sdk.queries[0]?.options).toMatchObject({ permissionMode: "plan" });
347
+ expect(planningQuery.permissionOutcomes).toEqual([new Error("ExitPlanMode aborted")]);
348
+ expect(harness.sdk.queries[1]?.options).toMatchObject({
349
+ resume: "session_planning",
350
+ forkSession: true,
351
+ resumeSessionAt: "user_plan_read_result",
352
+ });
353
+ expect(harness.callbacks.completes).toContainEqual(expect.objectContaining({ turnId: "turn_plan_2", isError: false }));
216
354
  });
217
355
  it("replacement during a dirty stream does not resume the replaced turn's in-progress session", async () => {
218
356
  const harness = await createHarness();
@@ -244,7 +382,11 @@ describe("bridge session continuity integration", () => {
244
382
  resumeSessionAt: "assistant_prior_replace",
245
383
  });
246
384
  expect(dirtyQuery.closeCalls).toBeGreaterThan(0);
247
- expect(harness.sdk.queries[1]?.options).not.toHaveProperty("resume");
385
+ expect(harness.sdk.queries[1]?.options).toMatchObject({
386
+ resume: "session_prior_replace",
387
+ resumeSessionAt: "assistant_prior_replace",
388
+ });
389
+ expect(await promptText(harness.sdk.queries[1]?.prompt)).toContain("Start long work");
248
390
  await expect(harness.readSessionFile("thread_replace_dirty")).resolves.toMatchObject({
249
391
  version: 2,
250
392
  sessionId: "session_replacement",
@@ -283,6 +425,27 @@ describe("bridge session continuity integration", () => {
283
425
  expect(harness.sdk.queries[1]?.options).not.toHaveProperty("resume");
284
426
  expect(await promptText(harness.sdk.queries[1]?.prompt)).toContain("Current user request\nRecover");
285
427
  });
428
+ it("rebuilds the turn from history when the CLI cannot find the entry the boundary resumes at", async () => {
429
+ const harness = await createHarness();
430
+ await harness.writeSessionFile("thread_missing_entry", {
431
+ version: 2,
432
+ sessionId: "session_cancelled_unflushed",
433
+ resumeSessionAt: "user_unflushed_result",
434
+ updatedAtMs: 100,
435
+ });
436
+ harness.sdk.enqueue(errorResult("session_refused_resume", 0, ["No message found with message.uuid of: user_unflushed_result"]));
437
+ harness.sdk.enqueue(assistantMessage("assistant_rebuilt", "Rebuilt", "session_rebuilt"), resultMessage("session_rebuilt", 0.2));
438
+ await harness.processAsync({
439
+ threadId: "thread_missing_entry",
440
+ turnId: "turn_missing_entry",
441
+ prompt: "Carry on",
442
+ history: history([{ role: "user", text: "Read the account", createdAt: 1 }]),
443
+ });
444
+ expect(harness.sdk.queries).toHaveLength(2);
445
+ expect(harness.sdk.queries[1]?.options).not.toHaveProperty("resume");
446
+ expect(await promptText(harness.sdk.queries[1]?.prompt)).toContain("Current user request\nCarry on");
447
+ expect(harness.callbacks.completes).toContainEqual(expect.objectContaining({ turnId: "turn_missing_entry", isError: false }));
448
+ });
286
449
  it("clears legacy session files and does not resume them", async () => {
287
450
  const harness = await createHarness();
288
451
  await harness.writeSessionFile("thread_legacy_dirty", { sessionId: "session_legacy_dirty" });
@@ -312,6 +475,7 @@ async function createHarness() {
312
475
  await mkdir(projectRoot, { recursive: true });
313
476
  const sdk = new FakeSdk();
314
477
  const callbacks = { streamText: [], events: [], contexts: [], completes: [] };
478
+ const planReviewPosted = new Deferred();
315
479
  vi.doMock("./env.ts", () => ({
316
480
  env: {
317
481
  BAKER_CONVEX_SITE_URL: "https://example.convex.site",
@@ -366,8 +530,14 @@ async function createHarness() {
366
530
  postHeartbeat: vi.fn(() => Promise.resolve(true)),
367
531
  postInputRequest: vi.fn(() => Promise.resolve(true)),
368
532
  postInputResolved: vi.fn(() => Promise.resolve(true)),
533
+ postPlanReview: vi.fn(() => {
534
+ planReviewPosted.resolve();
535
+ return Promise.resolve(true);
536
+ }),
537
+ postPlanResolved: vi.fn(() => Promise.resolve(true)),
369
538
  postTagInputRequest: vi.fn(() => Promise.resolve(true)),
370
539
  postTagInputResolved: vi.fn(() => Promise.resolve(true)),
540
+ postToolOutcomes: vi.fn(() => Promise.resolve(true)),
371
541
  recordContextSource: vi.fn((threadId, source, metadata, turnId) => {
372
542
  callbacks.contexts.push({ threadId, source, metadata, turnId });
373
543
  return Promise.resolve(true);
@@ -395,6 +565,7 @@ async function createHarness() {
395
565
  return {
396
566
  sdk,
397
567
  callbacks,
568
+ planReviewPosted: planReviewPosted.promise,
398
569
  processAsync,
399
570
  abortSession,
400
571
  async readSessionFile(threadId) {
@@ -459,6 +630,28 @@ function assistantMessage(uuid, text, sessionId) {
459
630
  },
460
631
  };
461
632
  }
633
+ function toolUseMessage(uuid, toolUseId, sessionId, toolName = "Bash") {
634
+ return {
635
+ type: "assistant",
636
+ uuid,
637
+ session_id: sessionId,
638
+ parent_tool_use_id: null,
639
+ message: {
640
+ role: "assistant",
641
+ content: [{ type: "tool_use", id: toolUseId, name: toolName, input: { command: "baker ads meta campaigns" } }],
642
+ stop_reason: "tool_use",
643
+ },
644
+ };
645
+ }
646
+ function toolResultMessage(uuid, toolUseId, sessionId) {
647
+ return {
648
+ type: "user",
649
+ uuid,
650
+ session_id: sessionId,
651
+ parent_tool_use_id: null,
652
+ message: { role: "user", content: [{ type: "tool_result", tool_use_id: toolUseId, content: "3 campaigns" }] },
653
+ };
654
+ }
462
655
  function toolUseEvent(toolUseId, toolName, sessionId) {
463
656
  return {
464
657
  type: "stream_event",
@@ -472,6 +665,9 @@ function toolUseEvent(toolUseId, toolName, sessionId) {
472
665
  function isBlockStep(step) {
473
666
  return "type" in step && step.type === "block";
474
667
  }
668
+ function isPermissionStep(step) {
669
+ return "type" in step && step.type === "permission";
670
+ }
475
671
  function visibleCallbackText(callbacks) {
476
672
  return JSON.stringify([callbacks.streamText, callbacks.events, callbacks.completes]);
477
673
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-continuity.integration.test.js","sourceRoot":"","sources":["../../src/hono/session-continuity.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-continuity.integration.test.js","sourceRoot":"","sources":["../../src/hono/session-continuity.integration.test.ts"],"names":[],"mappings":"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"}
@@ -37,10 +37,15 @@ export function prepareSessionAttempt(input) {
37
37
  contextSource: "detached_publish",
38
38
  };
39
39
  }
40
+ // A verbatim command (`/compact`, a workspace skill) must stay the leading
41
+ // token, so nothing may be put in front of it.
42
+ const leadingCommand = input.leadingCommand === true || isVerbatimSlashCommandPrompt(input.requestPrompt);
40
43
  if (input.loaded?.kind === "clean") {
41
44
  const boundary = input.loaded.boundary;
42
45
  return {
43
- prompt: input.requestPrompt,
46
+ prompt: boundary.unansweredRequest && !leadingCommand
47
+ ? withUnansweredRequest(input.requestPrompt, boundary.unansweredRequest)
48
+ : input.requestPrompt,
44
49
  ...reminderOf(input),
45
50
  attemptedRehydration: false,
46
51
  usedBoundary: boundary,
@@ -52,11 +57,9 @@ export function prepareSessionAttempt(input) {
52
57
  contextSource: "local_resume",
53
58
  };
54
59
  }
55
- // A verbatim command (`/compact`, a workspace skill) must stay the leading
56
- // token. If there is no live session to resume, a history preamble would push
57
- // it off the front, so send it bare — with no boundary there is nothing to
58
- // compact anyway, and a skill works from the workspace, not the transcript.
59
- const leadingCommand = input.leadingCommand === true || isVerbatimSlashCommandPrompt(input.requestPrompt);
60
+ // If there is no live session to resume, a history preamble would push a
61
+ // leading command off the front, so send it bare — with no boundary there is
62
+ // nothing to compact anyway, and a skill works from the workspace, not the transcript.
60
63
  if (shouldRehydrate(input.history) && !leadingCommand) {
61
64
  return {
62
65
  prompt: buildRehydratedPrompt(input.requestPrompt, input.history),
@@ -73,6 +76,17 @@ export function prepareSessionAttempt(input) {
73
76
  resumeOptions: {},
74
77
  };
75
78
  }
79
+ // The resumed session ends before a request the user stopped before it was
80
+ // answered; a follow-up ("and keep it under two minutes") only means something with it.
81
+ function withUnansweredRequest(requestPrompt, unansweredRequest) {
82
+ return [
83
+ "--- Earlier request, stopped by the user before you answered it",
84
+ unansweredRequest,
85
+ "",
86
+ "--- Current user request",
87
+ requestPrompt,
88
+ ].join("\n");
89
+ }
76
90
  function reminderOf(input) {
77
91
  if (!input.reminder) {
78
92
  return {};
@@ -206,7 +220,70 @@ export function observeInProgressSession(inProgress, msg) {
206
220
  ...(sessionId ? { sessionId, sawSessionId: true } : {}),
207
221
  };
208
222
  }
209
- return next;
223
+ return observeCancelPoint(next, msg, sessionId);
224
+ }
225
+ // Subagent messages (`parent_tool_use_id` set) live in their own transcripts, so
226
+ // only the main conversation's entries can be a place to resume it.
227
+ function observeCancelPoint(inProgress, msg, sessionId) {
228
+ if ((msg.type !== "assistant" && msg.type !== "user") || msg.parent_tool_use_id || !msg.uuid || !sessionId) {
229
+ return inProgress;
230
+ }
231
+ const blocks = Array.isArray(msg.message.content) ? msg.message.content : [];
232
+ const blockIds = (type) => blocks.flatMap((block) => {
233
+ if (block.type !== type) {
234
+ return [];
235
+ }
236
+ const id = block.type === "tool_use" ? block.id : block.type === "tool_result" ? block.tool_use_id : undefined;
237
+ return typeof id === "string" ? [id] : [];
238
+ });
239
+ let pending = inProgress.pendingToolUseIds ?? [];
240
+ let complete;
241
+ if (msg.type === "assistant") {
242
+ const calls = blockIds("tool_use");
243
+ pending = [...pending, ...calls];
244
+ complete = calls.length === 0 && blocks.some((block) => block.type === "text");
245
+ }
246
+ else {
247
+ const answered = blockIds("tool_result");
248
+ pending = pending.filter((id) => !answered.includes(id));
249
+ complete = answered.length > 0;
250
+ }
251
+ return {
252
+ ...inProgress,
253
+ pendingToolUseIds: pending,
254
+ ...(complete && pending.length === 0 ? { cancelPoint: { sessionId, uuid: msg.uuid } } : {}),
255
+ };
256
+ }
257
+ /**
258
+ * Where the next turn resumes after this one was cancelled: the cancelled turn's
259
+ * own session, up to the last entry it completed. A cancel stops the turn, not
260
+ * the conversation, so what the turn already read stays in it; only the tool
261
+ * call still waiting for its result is dropped, since a session ending on an
262
+ * unanswered tool call cannot be resumed. Before the turn completed anything,
263
+ * the session it resumed still holds, because every turn runs in a fork and
264
+ * never writes to it — but that session never received the cancelled request,
265
+ * so the request rides along as `unansweredRequest`. Undefined when the turn
266
+ * resumed no session: the next turn is rebuilt from the chat history, which
267
+ * has the request.
268
+ */
269
+ export function buildCancelBoundary(input) {
270
+ const point = input.inProgress.cancelPoint;
271
+ if (point) {
272
+ return { version: 2, sessionId: point.sessionId, resumeSessionAt: point.uuid, updatedAtMs: input.nowMs };
273
+ }
274
+ if (!input.resumed || !input.request) {
275
+ return undefined;
276
+ }
277
+ return {
278
+ version: 2,
279
+ sessionId: input.resumed.sessionId,
280
+ ...(input.resumed.resumeSessionAt ? { resumeSessionAt: input.resumed.resumeSessionAt } : {}),
281
+ // Raw requests only, oldest first: the next prompt adds the section headers once.
282
+ unansweredRequest: input.resumed.unansweredRequest
283
+ ? `${input.resumed.unansweredRequest}\n\n${input.request}`
284
+ : input.request,
285
+ updatedAtMs: input.nowMs,
286
+ };
210
287
  }
211
288
  export function buildCleanBoundary(input) {
212
289
  if (!input.inProgress.sawCleanResult || !input.inProgress.sessionId) {
@@ -252,7 +329,17 @@ export function applyCurrentSenderAttribution(content, sender) {
252
329
  }
253
330
  return `[Current speaker: ${formatSenderLabel(sender)}]\n\n${content}`;
254
331
  }
332
+ // The CLI refuses a resume as an error result, before the model is asked
333
+ // anything: a session file that is gone, or a resume point it never wrote.
334
+ const CLI_RESUME_REFUSALS = ["no conversation found with session id", "no message found with message.uuid of"];
335
+ export function isCliResumeRefusal(error) {
336
+ const message = errorMessage(error).toLowerCase();
337
+ return CLI_RESUME_REFUSALS.some((refusal) => message.includes(refusal));
338
+ }
255
339
  export function isResumeSessionError(error) {
340
+ if (isCliResumeRefusal(error)) {
341
+ return true;
342
+ }
256
343
  const message = errorMessage(error).toLowerCase();
257
344
  if (!message.includes("session") && !message.includes("resume")) {
258
345
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"session-continuity.js","sourceRoot":"","sources":["../../src/hono/session-continuity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-continuity.js","sourceRoot":"","sources":["../../src/hono/session-continuity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAuC3F,MAAM,UAAU,sBAAsB;IACpC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KASrC;IACC,4DAA4D;IAC5D,EAAE;IACF,0EAA0E;IAC1E,4EAA4E;IAC5E,uEAAuE;IACvE,6EAA6E;IAC7E,yEAAyE;IACzE,sEAAsE;IACtE,+EAA+E;IAC/E,8EAA8E;IAC9E,0BAA0B;IAC1B,EAAE;IACF,2EAA2E;IAC3E,2EAA2E;IAC3E,+EAA+E;IAC/E,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,qDAAqD;IACrD,EAAE;IACF,yEAAyE;IACzE,2EAA2E;IAC3E,6BAA6B;IAC7B,IAAI,sBAAsB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QAChD,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,aAAa;YAC3B,GAAG,UAAU,CAAC,KAAK,CAAC;YACpB,oBAAoB,EAAE,KAAK;YAC3B,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,kBAAkB;SAClC,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,+CAA+C;IAC/C,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,KAAK,IAAI,IAAI,4BAA4B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAE1G,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvC,OAAO;YACL,MAAM,EACJ,QAAQ,CAAC,iBAAiB,IAAI,CAAC,cAAc;gBAC3C,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,iBAAiB,CAAC;gBACxE,CAAC,CAAC,KAAK,CAAC,aAAa;YACzB,GAAG,UAAU,CAAC,KAAK,CAAC;YACpB,oBAAoB,EAAE,KAAK;YAC3B,YAAY,EAAE,QAAQ;YACtB,aAAa,EAAE;gBACb,MAAM,EAAE,QAAQ,CAAC,SAAS;gBAC1B,WAAW,EAAE,IAAI;gBACjB,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnF;YACD,aAAa,EAAE,cAAc;SAC9B,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,6EAA6E;IAC7E,uFAAuF;IACvF,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtD,OAAO;YACL,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;YACjE,GAAG,UAAU,CAAC,KAAK,CAAC;YACpB,oBAAoB,EAAE,IAAI;YAC1B,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,4BAA4B;SAC5C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,aAAa;QAC3B,GAAG,UAAU,CAAC,KAAK,CAAC;QACpB,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE,EAAE;KAClB,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,wFAAwF;AACxF,SAAS,qBAAqB,CAAC,aAAqB,EAAE,iBAAyB;IAC7E,OAAO;QACL,iEAAiE;QACjE,iBAAiB;QACjB,EAAE;QACF,0BAA0B;QAC1B,aAAa;KACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAGnB;IACC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAClG,CAAC;AAED,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,iEAAiE;AACjE,MAAM,CAAC,MAAM,mBAAmB,GAC9B,yGAAyG;IACzG,2FAA2F,CAAC;AAE9F;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAuB,EAAE,UAA6B;IAC7F,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO;QACL,MAAM,EAAE,mBAAmB;QAC3B,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE;QAClE,4EAA4E;QAC5E,2EAA2E;QAC3E,yEAAyE;QACzE,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,8EAA8E;AAC9E,oFAAoF;AACpF,MAAM,CAAC,MAAM,yBAAyB,GACpC,iGAAiG;IACjG,4GAA4G;IAC5G,2FAA2F,CAAC;AAE9F;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAuB,EACvB,KAKC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,MAAM,EAAE,yBAAyB;QACjC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrG,oBAAoB,EAAE,KAAK;QAC3B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE;QACtE,aAAa,EAAE,oBAAoB;QACnC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,iFAAiF;AACjF,sEAAsE;AACtE,MAAM,CAAC,MAAM,wBAAwB,GACnC,iGAAiG;IACjG,kFAAkF,CAAC;AAErF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAuB,EAAE,UAA6B;IAC3F,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO;QACL,MAAM,EAAE,wBAAwB;QAChC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE;QAClE,WAAW,EAAE,IAAI;KAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,OAAO;IACL,mEAAmE;IACnE,6EAA6E;IAC7E,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACtC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAC3C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAC3C,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC1C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,UAA6B,EAAE,GAAe;IACrF,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAExC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACpD,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7D,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,GAAG;YACL,GAAG,IAAI;YACP,cAAc,EAAE,IAAI;YACpB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC;IACJ,CAAC;IAED,OAAO,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,iFAAiF;AACjF,oEAAoE;AACpE,SAAS,kBAAkB,CACzB,UAA6B,EAC7B,GAAe,EACf,SAA6B;IAE7B,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,kBAAkB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3G,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,QAAQ,GAAG,CAAC,IAAgC,EAAE,EAAE,CACpD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/G,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IACL,IAAI,OAAO,GAAG,UAAU,CAAC,iBAAiB,IAAI,EAAE,CAAC;IACjD,IAAI,QAAiB,CAAC;IACtB,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;QACjC,QAAQ,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QACzC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO;QACL,GAAG,UAAU;QACb,iBAAiB,EAAE,OAAO;QAC1B,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5F,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAKnC;IACC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;IAC3C,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAC3G,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;QAClC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,kFAAkF;QAClF,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,iBAAiB;YAChD,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,OAAO,KAAK,CAAC,OAAO,EAAE;YAC1D,CAAC,CAAC,KAAK,CAAC,OAAO;QACjB,WAAW,EAAE,KAAK,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAGlC;IACC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS;QACrC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,WAAW,EAAE,KAAK,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,OAAiC;IACtF,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,eAAe,iCAAiC,OAAO,EAAE,CAAC;AAC9E,CAAC;AAED,4EAA4E;AAC5E,sEAAsE;AACtE,+EAA+E;AAC/E,8EAA8E;AAC9E,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAClD,CAAC;AAED,iDAAiD;AACjD,gFAAgF;AAChF,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAAe,EAAE,MAAuB;IACpF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,qBAAqB,iBAAiB,CAAC,MAAM,CAAC,QAAQ,OAAO,EAAE,CAAC;AACzE,CAAC;AAED,yEAAyE;AACzE,2EAA2E;AAC3E,MAAM,mBAAmB,GAAG,CAAC,uCAAuC,EAAE,uCAAuC,CAAC,CAAC;AAE/G,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC1B,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAA4C;IACnE,OAAO,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAe;IACvC,IAAI,YAAY,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3F,OAAO,GAAG,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
@@ -4,6 +4,8 @@ export type ClaudeSessionBoundary = {
4
4
  sessionId: string;
5
5
  /** SDKAssistantMessage.uuid from the last accepted assistant message, if observed. */
6
6
  resumeSessionAt?: string;
7
+ /** The request of a turn cancelled before it completed anything: the session never received it. */
8
+ unansweredRequest?: string;
7
9
  updatedAtMs: number;
8
10
  };
9
11
  /** The turn a thread's bridge is running, and the Claude session it runs in — kept until the turn ends. */
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/hono/session-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAwC,MAAM,oBAAoB,CAAC;AAEnG,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,2GAA2G;AAC3G,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,qBAAqB,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AA2CpD,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAsBtG;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1G;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1E;AAeD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAC1D,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,+GAA+G;IAC/G,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,EACnD,KAAK,oDAAmB,GACvB,iBAAiB,CA8BnB;AAED,eAAO,MAAM,iBAAiB,mBAA8C,CAAC"}
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/hono/session-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAwC,MAAM,oBAAoB,CAAC;AAEnG,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mGAAmG;IACnG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,2GAA2G;AAC3G,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,qBAAqB,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAoDpD,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAsBtG;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1G;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1E;AAeD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAC1D,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,+GAA+G;IAC/G,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,EACnD,KAAK,oDAAmB,GACvB,iBAAiB,CA8BnB;AAED,eAAO,MAAM,iBAAiB,mBAA8C,CAAC"}
@@ -19,6 +19,11 @@ function isClaudeSessionBoundary(value) {
19
19
  if ("resumeSessionAt" in value && value.resumeSessionAt !== undefined && typeof value.resumeSessionAt !== "string") {
20
20
  return false;
21
21
  }
22
+ if ("unansweredRequest" in value &&
23
+ value.unansweredRequest !== undefined &&
24
+ typeof value.unansweredRequest !== "string") {
25
+ return false;
26
+ }
22
27
  return true;
23
28
  }
24
29
  function isLegacySessionRecord(value) {
@@ -29,6 +34,7 @@ function serializableBoundary(boundary) {
29
34
  version: 2,
30
35
  sessionId: boundary.sessionId,
31
36
  ...(boundary.resumeSessionAt ? { resumeSessionAt: boundary.resumeSessionAt } : {}),
37
+ ...(boundary.unansweredRequest ? { unansweredRequest: boundary.unansweredRequest } : {}),
32
38
  updatedAtMs: boundary.updatedAtMs,
33
39
  };
34
40
  }