@koda-sl/baker-bridge 0.149.0-dev.3d350da58 → 0.149.0-dev.7e6763861

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 (60) hide show
  1. package/README.md +21 -29
  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 +2 -15
  10. package/dist/hono/agent.js.map +1 -1
  11. package/dist/hono/bridge-job.d.ts +7 -19
  12. package/dist/hono/bridge-job.d.ts.map +1 -1
  13. package/dist/hono/bridge-job.js +113 -27
  14. package/dist/hono/bridge-job.js.map +1 -1
  15. package/dist/hono/bridge-job.test.js +153 -76
  16. package/dist/hono/bridge-job.test.js.map +1 -1
  17. package/dist/hono/served-model.d.ts +23 -0
  18. package/dist/hono/served-model.d.ts.map +1 -0
  19. package/dist/hono/served-model.js +82 -0
  20. package/dist/hono/served-model.js.map +1 -0
  21. package/dist/hono/served-model.test.d.ts +2 -0
  22. package/dist/hono/served-model.test.d.ts.map +1 -0
  23. package/dist/hono/served-model.test.js +29 -0
  24. package/dist/hono/served-model.test.js.map +1 -0
  25. package/dist/hono/session-continuity.d.ts +24 -0
  26. package/dist/hono/session-continuity.d.ts.map +1 -1
  27. package/dist/hono/session-continuity.integration.test.js +200 -5
  28. package/dist/hono/session-continuity.integration.test.js.map +1 -1
  29. package/dist/hono/session-continuity.js +94 -7
  30. package/dist/hono/session-continuity.js.map +1 -1
  31. package/dist/hono/session-store.d.ts +2 -0
  32. package/dist/hono/session-store.d.ts.map +1 -1
  33. package/dist/hono/session-store.js +6 -0
  34. package/dist/hono/session-store.js.map +1 -1
  35. package/dist/hono/session-usage-baseline.d.ts +1 -0
  36. package/dist/hono/session-usage-baseline.d.ts.map +1 -1
  37. package/dist/hono/session-usage-baseline.js +17 -4
  38. package/dist/hono/session-usage-baseline.js.map +1 -1
  39. package/dist/hono/turn-events.d.ts +1 -1
  40. package/dist/hono/turn-events.d.ts.map +1 -1
  41. package/dist/hono/turn-events.js.map +1 -1
  42. package/dist/hono/types.d.ts +0 -6
  43. package/dist/hono/types.d.ts.map +1 -1
  44. package/package.json +1 -1
  45. package/dist/hono/cli-sync.d.ts +0 -8
  46. package/dist/hono/cli-sync.d.ts.map +0 -1
  47. package/dist/hono/cli-sync.js +0 -93
  48. package/dist/hono/cli-sync.js.map +0 -1
  49. package/dist/hono/cli-sync.test.d.ts +0 -2
  50. package/dist/hono/cli-sync.test.d.ts.map +0 -1
  51. package/dist/hono/cli-sync.test.js +0 -81
  52. package/dist/hono/cli-sync.test.js.map +0 -1
  53. package/dist/hono/main-sync.d.ts +0 -19
  54. package/dist/hono/main-sync.d.ts.map +0 -1
  55. package/dist/hono/main-sync.js +0 -147
  56. package/dist/hono/main-sync.js.map +0 -1
  57. package/dist/hono/main-sync.test.d.ts +0 -2
  58. package/dist/hono/main-sync.test.d.ts.map +0 -1
  59. package/dist/hono/main-sync.test.js +0 -124
  60. package/dist/hono/main-sync.test.js.map +0 -1
@@ -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
  return input.reminder ? { reminder: input.reminder } : {};
78
92
  }
@@ -202,7 +216,70 @@ export function observeInProgressSession(inProgress, msg) {
202
216
  ...(sessionId ? { sessionId, sawSessionId: true } : {}),
203
217
  };
204
218
  }
205
- return next;
219
+ return observeCancelPoint(next, msg, sessionId);
220
+ }
221
+ // Subagent messages (`parent_tool_use_id` set) live in their own transcripts, so
222
+ // only the main conversation's entries can be a place to resume it.
223
+ function observeCancelPoint(inProgress, msg, sessionId) {
224
+ if ((msg.type !== "assistant" && msg.type !== "user") || msg.parent_tool_use_id || !msg.uuid || !sessionId) {
225
+ return inProgress;
226
+ }
227
+ const blocks = Array.isArray(msg.message.content) ? msg.message.content : [];
228
+ const blockIds = (type) => blocks.flatMap((block) => {
229
+ if (block.type !== type) {
230
+ return [];
231
+ }
232
+ const id = block.type === "tool_use" ? block.id : block.type === "tool_result" ? block.tool_use_id : undefined;
233
+ return typeof id === "string" ? [id] : [];
234
+ });
235
+ let pending = inProgress.pendingToolUseIds ?? [];
236
+ let complete;
237
+ if (msg.type === "assistant") {
238
+ const calls = blockIds("tool_use");
239
+ pending = [...pending, ...calls];
240
+ complete = calls.length === 0 && blocks.some((block) => block.type === "text");
241
+ }
242
+ else {
243
+ const answered = blockIds("tool_result");
244
+ pending = pending.filter((id) => !answered.includes(id));
245
+ complete = answered.length > 0;
246
+ }
247
+ return {
248
+ ...inProgress,
249
+ pendingToolUseIds: pending,
250
+ ...(complete && pending.length === 0 ? { cancelPoint: { sessionId, uuid: msg.uuid } } : {}),
251
+ };
252
+ }
253
+ /**
254
+ * Where the next turn resumes after this one was cancelled: the cancelled turn's
255
+ * own session, up to the last entry it completed. A cancel stops the turn, not
256
+ * the conversation, so what the turn already read stays in it; only the tool
257
+ * call still waiting for its result is dropped, since a session ending on an
258
+ * unanswered tool call cannot be resumed. Before the turn completed anything,
259
+ * the session it resumed still holds, because every turn runs in a fork and
260
+ * never writes to it — but that session never received the cancelled request,
261
+ * so the request rides along as `unansweredRequest`. Undefined when the turn
262
+ * resumed no session: the next turn is rebuilt from the chat history, which
263
+ * has the request.
264
+ */
265
+ export function buildCancelBoundary(input) {
266
+ const point = input.inProgress.cancelPoint;
267
+ if (point) {
268
+ return { version: 2, sessionId: point.sessionId, resumeSessionAt: point.uuid, updatedAtMs: input.nowMs };
269
+ }
270
+ if (!input.resumed || !input.request) {
271
+ return undefined;
272
+ }
273
+ return {
274
+ version: 2,
275
+ sessionId: input.resumed.sessionId,
276
+ ...(input.resumed.resumeSessionAt ? { resumeSessionAt: input.resumed.resumeSessionAt } : {}),
277
+ // Raw requests only, oldest first: the next prompt adds the section headers once.
278
+ unansweredRequest: input.resumed.unansweredRequest
279
+ ? `${input.resumed.unansweredRequest}\n\n${input.request}`
280
+ : input.request,
281
+ updatedAtMs: input.nowMs,
282
+ };
206
283
  }
207
284
  export function buildCleanBoundary(input) {
208
285
  if (!input.inProgress.sawCleanResult || !input.inProgress.sessionId) {
@@ -248,7 +325,17 @@ export function applyCurrentSenderAttribution(content, sender) {
248
325
  }
249
326
  return `[Current speaker: ${formatSenderLabel(sender)}]\n\n${content}`;
250
327
  }
328
+ // The CLI refuses a resume as an error result, before the model is asked
329
+ // anything: a session file that is gone, or a resume point it never wrote.
330
+ const CLI_RESUME_REFUSALS = ["no conversation found with session id", "no message found with message.uuid of"];
331
+ export function isCliResumeRefusal(error) {
332
+ const message = errorMessage(error).toLowerCase();
333
+ return CLI_RESUME_REFUSALS.some((refusal) => message.includes(refusal));
334
+ }
251
335
  export function isResumeSessionError(error) {
336
+ if (isCliResumeRefusal(error)) {
337
+ return true;
338
+ }
252
339
  const message = errorMessage(error).toLowerCase();
253
340
  if (!message.includes("session") && !message.includes("resume")) {
254
341
  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":"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"}
@@ -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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/hono/session-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/hono/session-store.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ export declare function parseUsageBaseline(transcript: string, sessionId: string
32
32
  * The project directory is found rather than derived, so the CLI's cwd-to-name
33
33
  * encoding stays the CLI's.
34
34
  */
35
+ export declare function sessionTranscriptPath(sessionId: string, configDir: string): Promise<string | undefined>;
35
36
  export declare function readUsageBaseline(sessionId: string, configDir: string): Promise<UsageBaseline | undefined>;
36
37
  /**
37
38
  * A result's totals minus the baseline its session restored.
@@ -1 +1 @@
1
- {"version":3,"file":"session-usage-baseline.d.ts","sourceRoot":"","sources":["../../src/hono/session-usage-baseline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAChD,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAOF,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAYnG;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAiBhH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAAA;CAAE,EACpF,QAAQ,EAAE,aAAa,GAAG,SAAS,GAClC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAAA;CAAE,CAazE"}
1
+ {"version":3,"file":"session-usage-baseline.d.ts","sourceRoot":"","sources":["../../src/hono/session-usage-baseline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAChD,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAOF,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAYnG;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkB7G;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAUhH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAAA;CAAE,EACpF,QAAQ,EAAE,aAAa,GAAG,SAAS,GAClC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAAA;CAAE,CAazE"}
@@ -1,4 +1,4 @@
1
- import { readdir, readFile } from "node:fs/promises";
1
+ import { access, readdir, readFile } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
3
  const TOKEN_FIELDS = ["inputTokens", "outputTokens", "cacheReadInputTokens", "cacheCreationInputTokens"];
4
4
  // Floating-point slack when deciding whether a total is below its baseline.
@@ -22,7 +22,7 @@ export function parseUsageBaseline(transcript, sessionId) {
22
22
  * The project directory is found rather than derived, so the CLI's cwd-to-name
23
23
  * encoding stays the CLI's.
24
24
  */
25
- export async function readUsageBaseline(sessionId, configDir) {
25
+ export async function sessionTranscriptPath(sessionId, configDir) {
26
26
  const projectsDir = join(configDir, "projects");
27
27
  let projects;
28
28
  try {
@@ -32,9 +32,10 @@ export async function readUsageBaseline(sessionId, configDir) {
32
32
  return undefined;
33
33
  }
34
34
  for (const project of projects) {
35
+ const path = join(projectsDir, project, `${sessionId}.jsonl`);
35
36
  try {
36
- const transcript = await readFile(join(projectsDir, project, `${sessionId}.jsonl`), "utf8");
37
- return parseUsageBaseline(transcript, sessionId);
37
+ await access(path);
38
+ return path;
38
39
  }
39
40
  catch {
40
41
  // Not in this project directory.
@@ -42,6 +43,18 @@ export async function readUsageBaseline(sessionId, configDir) {
42
43
  }
43
44
  return undefined;
44
45
  }
46
+ export async function readUsageBaseline(sessionId, configDir) {
47
+ const path = await sessionTranscriptPath(sessionId, configDir);
48
+ if (!path) {
49
+ return undefined;
50
+ }
51
+ try {
52
+ return parseUsageBaseline(await readFile(path, "utf8"), sessionId);
53
+ }
54
+ catch {
55
+ return undefined;
56
+ }
57
+ }
45
58
  /**
46
59
  * A result's totals minus the baseline its session restored.
47
60
  *
@@ -1 +1 @@
1
- {"version":3,"file":"session-usage-baseline.js","sourceRoot":"","sources":["../../src/hono/session-usage-baseline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-usage-baseline.js","sourceRoot":"","sources":["../../src/hono/session-usage-baseline.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  * One line per event, appended next to the relay errors. Fail-open in the same
12
12
  * way and for the same reason: telemetry must never be able to end a turn.
13
13
  */
14
- export type TurnEventName = "session" | "stall" | "stall_retry" | "watchdog_abort" | "dirty_session" | "control_deny" | "compaction" | "model_refusal" | "turn_end";
14
+ export type TurnEventName = "session" | "stall" | "stall_retry" | "watchdog_abort" | "dirty_session" | "cancel_resume_point" | "control_deny" | "compaction" | "model_refusal" | "api_error" | "turn_end";
15
15
  export type TurnEvent = {
16
16
  timestamp: string;
17
17
  threadId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"turn-events.d.ts","sourceRoot":"","sources":["../../src/hono/turn-events.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GAGrB,SAAS,GACT,OAAO,GACP,aAAa,GACb,gBAAgB,GAChB,eAAe,GACf,cAAc,GACd,YAAY,GACZ,eAAe,GACf,UAAU,CAAC;AAEf,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,GAAG,SAAS,CAQZ;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,KAAK,IAAI,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,iBAI7B,CAAC"}
1
+ {"version":3,"file":"turn-events.d.ts","sourceRoot":"","sources":["../../src/hono/turn-events.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GAGrB,SAAS,GACT,OAAO,GACP,aAAa,GACb,gBAAgB,GAChB,eAAe,GAEf,qBAAqB,GACrB,cAAc,GACd,YAAY,GACZ,eAAe,GAGf,WAAW,GACX,UAAU,CAAC;AAEf,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,GAAG,SAAS,CAQZ;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,KAAK,IAAI,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,iBAI7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"turn-events.js","sourceRoot":"","sources":["../../src/hono/turn-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAqC1E,MAAM,UAAU,cAAc,CAAC,KAM9B;IACC,OAAO;QACL,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;QACtD,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/D,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;KAChE,CAAC;AACJ,CAAC;AASD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,KAAK,EAAE,EAAE;IAC1D,KAAK,gBAAgB,CAAC,WAAW,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACvG,6CAA6C;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"turn-events.js","sourceRoot":"","sources":["../../src/hono/turn-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA0C1E,MAAM,UAAU,cAAc,CAAC,KAM9B;IACC,OAAO;QACL,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;QACtD,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/D,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;KAChE,CAAC;AACJ,CAAC;AASD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,KAAK,EAAE,EAAE;IAC1D,KAAK,gBAAgB,CAAC,WAAW,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACvG,6CAA6C;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -84,12 +84,6 @@ export interface AsyncMessageRequest {
84
84
  * time out and park the thread forever. See `deniedUnattendedPrompt`.
85
85
  */
86
86
  unattended?: boolean;
87
- /**
88
- * The CLI release this turn should run: an exact version, or `latest` where
89
- * the deployment pins none. Never sent on a Session review, which keeps the
90
- * CLI the Session ran.
91
- */
92
- cliVersion?: string;
93
87
  /**
94
88
  * This turn is the platform's own read-only Session review, running inside the
95
89
  * finished Session's Runtime. Present only on a thread whose runtime kind is
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hono/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hono/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koda-sl/baker-bridge",
3
- "version": "0.149.0-dev.3d350da58",
3
+ "version": "0.149.0-dev.7e6763861",
4
4
  "description": "HTTP server wrapping the Claude Agent SDK. Persists chat events to Convex; the dashboard subscribes via Convex realtime",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,8 +0,0 @@
1
- type Run = (command: string, args: readonly string[], timeoutMs: number) => Promise<string>;
2
- export declare function cliKeeper(options?: {
3
- run?: Run;
4
- now?: () => number;
5
- waitMs?: number;
6
- }): (wanted: string) => Promise<void>;
7
- export {};
8
- //# sourceMappingURL=cli-sync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-sync.d.ts","sourceRoot":"","sources":["../../src/hono/cli-sync.ts"],"names":[],"mappings":"AA4BA,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAO5F,wBAAgB,SAAS,CACvB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/D,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAiEnC"}
@@ -1,93 +0,0 @@
1
- import { execFile } from "node:child_process";
2
- import { promisify } from "node:util";
3
- /**
4
- * Keeps the Runtime's `baker` CLI on the release Convex names for each turn.
5
- *
6
- * The CLI is a global install made once, when the Runtime activates, while the
7
- * workspace is brought up to date with main before every turn (`main-sync.ts`).
8
- * Main's skills and tool docs describe the CLI main released, so a Runtime that
9
- * lived through a release read docs for commands its CLI did not have. So,
10
- * before a turn, a CLI on another release is replaced with the one named.
11
- *
12
- * Best effort and bounded: the turn waits at most `waitMs` and then runs on
13
- * whatever CLI is installed; an install still going finishes on its own, and a
14
- * failed one is not retried for a while, so a broken registry costs a turn
15
- * nothing past the first wait.
16
- */
17
- const execFileAsync = promisify(execFile);
18
- const CLI_PACKAGE = "@koda-sl/baker-cli";
19
- const VERSION = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/;
20
- const WAIT_MS = 60_000;
21
- const READ_TIMEOUT_MS = 15_000;
22
- // Long enough for any real install; killing npm mid-install could leave no CLI at all.
23
- const INSTALL_TIMEOUT_MS = 300_000;
24
- const LATEST_TTL_MS = 5 * 60_000;
25
- const RETRY_AFTER_MS = 10 * 60_000;
26
- async function runCommand(command, args, timeoutMs) {
27
- const { stdout } = await execFileAsync(command, args, { timeout: timeoutMs });
28
- return stdout;
29
- }
30
- export function cliKeeper(options = {}) {
31
- const run = options.run ?? runCommand;
32
- const now = options.now ?? Date.now;
33
- const waitMs = options.waitMs ?? WAIT_MS;
34
- let installed;
35
- let latest;
36
- const failedAt = new Map();
37
- let inFlight;
38
- const read = async (command, args) => {
39
- const version = (await run(command, args, READ_TIMEOUT_MS)).trim();
40
- return VERSION.test(version) ? version : undefined;
41
- };
42
- const resolve = async (wanted) => {
43
- if (wanted !== "latest") {
44
- return VERSION.test(wanted) ? wanted : undefined;
45
- }
46
- if (latest === undefined || now() - latest.at >= LATEST_TTL_MS) {
47
- const version = await read("npm", ["view", `${CLI_PACKAGE}@latest`, "version", "--prefer-online"]);
48
- latest = version === undefined ? undefined : { version, at: now() };
49
- }
50
- return latest?.version;
51
- };
52
- const sync = async (wanted) => {
53
- const target = await resolve(wanted);
54
- if (target === undefined) {
55
- return;
56
- }
57
- installed ??= await read("baker", ["--version"]);
58
- const failed = failedAt.get(target);
59
- if (installed === target || (failed !== undefined && now() - failed < RETRY_AFTER_MS)) {
60
- return;
61
- }
62
- try {
63
- await run("npm", ["install", "-g", `${CLI_PACKAGE}@${target}`], INSTALL_TIMEOUT_MS);
64
- }
65
- finally {
66
- installed = await read("baker", ["--version"]).catch(() => undefined);
67
- }
68
- if (installed !== target) {
69
- failedAt.set(target, now());
70
- }
71
- };
72
- return async (wanted) => {
73
- inFlight ??= sync(wanted)
74
- .catch((error) => {
75
- const target = VERSION.test(wanted) ? wanted : latest?.version;
76
- if (target !== undefined) {
77
- failedAt.set(target, now());
78
- }
79
- console.error(`[cli-sync] could not bring the CLI to ${wanted}`, error);
80
- })
81
- .finally(() => {
82
- inFlight = undefined;
83
- });
84
- let timer;
85
- const bound = new Promise((done) => {
86
- timer = setTimeout(done, waitMs);
87
- timer.unref?.();
88
- });
89
- await Promise.race([inFlight, bound]);
90
- clearTimeout(timer);
91
- };
92
- }
93
- //# sourceMappingURL=cli-sync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-sync.js","sourceRoot":"","sources":["../../src/hono/cli-sync.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cli-sync.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-sync.test.d.ts","sourceRoot":"","sources":["../../src/hono/cli-sync.test.ts"],"names":[],"mappings":""}
@@ -1,81 +0,0 @@
1
- import { afterEach, describe, expect, it, vi } from "vitest";
2
- import { cliKeeper } from "./cli-sync.js";
3
- function sandbox(installed, latest = "0.500.0") {
4
- return { installed, latest, installs: [] };
5
- }
6
- // The process boundary: `baker --version`, `npm view` and `npm install -g` as a Runtime answers them.
7
- function runIn(box) {
8
- return (command, args) => {
9
- if (command === "baker") {
10
- return Promise.resolve(`${box.installed}\n`);
11
- }
12
- if (args[0] === "view") {
13
- return Promise.resolve(`${box.latest}\n`);
14
- }
15
- const spec = args.at(-1) ?? "";
16
- box.installs.push(spec);
17
- if (box.failInstall) {
18
- return Promise.reject(new Error("npm ERR! 404 Not Found"));
19
- }
20
- box.installed = spec.replace("@koda-sl/baker-cli@", "");
21
- return Promise.resolve("");
22
- };
23
- }
24
- afterEach(() => {
25
- vi.useRealTimers();
26
- });
27
- describe("cliKeeper", () => {
28
- it("installs the release a turn names when the Runtime runs another", async () => {
29
- const box = sandbox("0.400.0");
30
- await cliKeeper({ run: runIn(box) })("0.412.0");
31
- expect(box.installs).toEqual(["@koda-sl/baker-cli@0.412.0"]);
32
- expect(box.installed).toBe("0.412.0");
33
- });
34
- it("leaves a CLI already on that release alone", async () => {
35
- const box = sandbox("0.412.0");
36
- await cliKeeper({ run: runIn(box) })("0.412.0");
37
- expect(box.installs).toEqual([]);
38
- });
39
- it("takes the registry's latest release where the deployment pins none", async () => {
40
- const box = sandbox("0.400.0", "0.501.0");
41
- await cliKeeper({ run: runIn(box) })("latest");
42
- expect(box.installs).toEqual(["@koda-sl/baker-cli@0.501.0"]);
43
- });
44
- it("keeps the old CLI and lets the turn run when the install fails, without retrying it every turn", async () => {
45
- const box = { ...sandbox("0.400.0"), failInstall: true };
46
- const keep = cliKeeper({ run: runIn(box) });
47
- await expect(keep("0.412.0")).resolves.toBeUndefined();
48
- await keep("0.412.0");
49
- expect(box.installed).toBe("0.400.0");
50
- expect(box.installs).toHaveLength(1);
51
- });
52
- it("refuses a release that is not a version", async () => {
53
- const box = sandbox("0.400.0");
54
- await cliKeeper({ run: runIn(box) })("0.412.0 && curl evil");
55
- expect(box.installs).toEqual([]);
56
- });
57
- it("holds the turn no longer than its bound while a slow install finishes on its own", async () => {
58
- vi.useFakeTimers();
59
- let finishInstall = () => undefined;
60
- const run = async (command) => {
61
- if (command === "baker") {
62
- return "0.400.0";
63
- }
64
- await new Promise((resolve) => {
65
- finishInstall = resolve;
66
- });
67
- return "";
68
- };
69
- let released = false;
70
- const turn = cliKeeper({ run, waitMs: 1_000 })("0.412.0").then(() => {
71
- released = true;
72
- });
73
- await vi.advanceTimersByTimeAsync(999);
74
- expect(released).toBe(false);
75
- await vi.advanceTimersByTimeAsync(1);
76
- await turn;
77
- expect(released).toBe(true);
78
- finishInstall();
79
- });
80
- });
81
- //# sourceMappingURL=cli-sync.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-sync.test.js","sourceRoot":"","sources":["../../src/hono/cli-sync.test.ts"],"names":[],"mappings":"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"}