@koda-sl/baker-bridge 0.61.1-dev.874b4b32d → 0.65.0-dev.eaff19fc8

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.
@@ -1,11 +1,11 @@
1
1
  import { readdir, readFile, stat } from "node:fs/promises";
2
2
  import { homedir } from "node:os";
3
3
  import { isAbsolute, join, relative, resolve } from "node:path";
4
- import { applyInFlightTask, applyTaskLifecycleMessage } from "./agent-tasks.js";
5
- import { pickContextWindow, turnContextUsage } from "./context-usage.js";
4
+ import { applyInFlightTask, applyTaskLifecycleMessage, backgroundTaskSnapshot } from "./agent-tasks.js";
5
+ import { messageContextTokens, pickContextWindow, turnContextUsage, } from "./context-usage.js";
6
6
  import { FLOW_INPUT_TOOL_NAME, normalizeFlowInputToolInput, sanitizeFlowRequests, } from "./flow-input.js";
7
7
  import { composioScopesToInvalidate, reportMcpInvalid, } from "./mcp-servers.js";
8
- import { autoCompactWindowForModel, contextWindowForModel } from "./model-router.js";
8
+ import { autoCompactWindowForModel, betasForModel, contextWindowForModel } from "./model-router.js";
9
9
  import { bakerPlugins } from "./plugins.js";
10
10
  import { appendCurrentReferenceContext } from "./prompt-context.js";
11
11
  import { bridgeRuntimeFiles } from "./runtime-files.js";
@@ -288,9 +288,8 @@ export function isControlChannelDeny(msg) {
288
288
  return false;
289
289
  }
290
290
  function controlChannelClosedError() {
291
- const error = new Error("The sandbox tool control-channel closed mid-turn — work outlived the turn it was started in " +
292
- "(a backgrounded command or a subagent waking the model back up), so further tool calls were " +
293
- "denied. Retry: the next turn runs in a fresh session.");
291
+ const error = new Error("The sandbox tool control-channel closed mid-turn — a long-running command (e.g. a canvas render) " +
292
+ "outlived the turn, so further tool calls were denied. Retry: the next turn runs in a fresh session.");
294
293
  error.name = "ControlChannelClosed";
295
294
  return error;
296
295
  }
@@ -343,6 +342,13 @@ function trackPendingToolUses(pending, msg) {
343
342
  // process cannot hang the turn until the session watchdog.
344
343
  function createTurnEndController(job, query, closeQuery, timings) {
345
344
  const inFlightTasks = new Set();
345
+ // The background_tasks_changed LEVEL signal, tracked separately from the
346
+ // edge-paired set above: a foreground command the CLI auto-backgrounds emits
347
+ // no task_started/task_notification bookends, only this signal, and its ids
348
+ // must not be correlated with the edge stream (replace semantics, per-query
349
+ // reset — a fresh controller per query matches the per-process level).
350
+ let backgroundTaskCount = 0;
351
+ const hasInFlightWork = () => inFlightTasks.size > 0 || backgroundTaskCount > 0;
346
352
  let sawAnyTask = false;
347
353
  let cleanResultSeen = false;
348
354
  let lastWasTaskLifecycle = false;
@@ -353,7 +359,7 @@ function createTurnEndController(job, query, closeQuery, timings) {
353
359
  settleTimer = undefined;
354
360
  // Fire-time guard: a task that started during the settle window keeps the
355
361
  // channel open; a later settle re-arms the end.
356
- if (inputEnded || inFlightTasks.size > 0) {
362
+ if (inputEnded || hasInFlightWork()) {
357
363
  return;
358
364
  }
359
365
  inputEnded = true;
@@ -381,27 +387,25 @@ function createTurnEndController(job, query, closeQuery, timings) {
381
387
  };
382
388
  return {
383
389
  observeMessage: (msg) => {
384
- lastWasTaskLifecycle = applyInFlightTask(inFlightTasks, msg);
390
+ const backgroundIds = backgroundTaskSnapshot(msg);
391
+ if (backgroundIds) {
392
+ backgroundTaskCount = backgroundIds.length;
393
+ // An emptied level signal is a settle: it must be able to re-arm the
394
+ // end below, exactly like the last edge-tracked task settling.
395
+ lastWasTaskLifecycle = true;
396
+ }
397
+ else {
398
+ lastWasTaskLifecycle = applyInFlightTask(inFlightTasks, msg);
399
+ }
385
400
  // Only turns that ran a TRACKED task pay the settle delay; ambient
386
401
  // (skip_transcript) housekeeping never wakes the model.
387
- if (inFlightTasks.size > 0) {
402
+ if (hasInFlightWork()) {
388
403
  sawAnyTask = true;
389
404
  }
390
405
  // Model activity (a wake starting, tools running) cancels a pending end;
391
406
  // passive system events between the result and the CLI going idle do not.
392
407
  const isModelActivity = msg.type === "assistant" || msg.type === "user" || msg.type === "stream_event";
393
- // Activity after a clean result means the CLI woke into a NEW model turn —
394
- // a settled task's output going back to the model. That result no longer
395
- // describes an idle CLI, so the drain path below must stop treating it as
396
- // one and wait for the woken turn's own result. Without this, a wake that
397
- // lands just BEFORE the task settles closes stdin one settle later, while
398
- // the model is still on time-to-first-token: the woken turn then runs on a
399
- // severed control channel and its first permission-gated tool call comes
400
- // back "Tool permission request failed: AbortError: Stream closed".
401
- if (isModelActivity) {
402
- cleanResultSeen = false;
403
- }
404
- if (settleTimer && (isModelActivity || inFlightTasks.size > 0)) {
408
+ if (settleTimer && (isModelActivity || hasInFlightWork())) {
405
409
  clearTimeout(settleTimer);
406
410
  settleTimer = undefined;
407
411
  }
@@ -415,8 +419,8 @@ function createTurnEndController(job, query, closeQuery, timings) {
415
419
  }
416
420
  if (msg.type === "result" && !msg.is_error) {
417
421
  cleanResultSeen = true;
418
- if (inFlightTasks.size > 0) {
419
- console.error(`[BridgeJob] result received with ${inFlightTasks.size} task(s) in flight — holding the turn open (thread ${job.threadId})`);
422
+ if (hasInFlightWork()) {
423
+ console.error(`[BridgeJob] result received with ${inFlightTasks.size} task(s) and ${backgroundTaskCount} background command(s) in flight — holding the turn open (thread ${job.threadId})`);
420
424
  return;
421
425
  }
422
426
  scheduleEnd();
@@ -424,8 +428,9 @@ function createTurnEndController(job, query, closeQuery, timings) {
424
428
  }
425
429
  // A settle that drains the set after a clean result is the other end
426
430
  // signal — without this, a task settling silently (no model wake, no
427
- // second result) would strand the turn until the watchdog.
428
- if (lastWasTaskLifecycle && cleanResultSeen && inFlightTasks.size === 0) {
431
+ // second result) would strand the turn until the watchdog. An emptied
432
+ // background_tasks_changed level counts as a settle the same way.
433
+ if (lastWasTaskLifecycle && cleanResultSeen && !hasInFlightWork()) {
429
434
  scheduleEnd();
430
435
  }
431
436
  },
@@ -441,6 +446,21 @@ function createTurnEndController(job, query, closeQuery, timings) {
441
446
  },
442
447
  };
443
448
  }
449
+ // Track the occupancy of the last main-conversation request. The meter reads a
450
+ // single request's usage, not the turn's aggregate totals — and only from the
451
+ // main conversation, so subagent work never pollutes it. Some OpenRouter
452
+ // provider routes (observed: Amazon Bedrock) report all-zero usage on the
453
+ // assistant message; zero is never a real occupancy, so keep the previous
454
+ // reading rather than overwrite the meter with 0.
455
+ function trackMainRequestUsage(state, msg) {
456
+ if (msg.type !== "assistant" || msg.parent_tool_use_id || msg.subagent_type) {
457
+ return;
458
+ }
459
+ const usage = msg.message.usage;
460
+ if (usage && messageContextTokens(usage) > 0) {
461
+ state.lastMainRequestUsage = usage;
462
+ }
463
+ }
444
464
  function classifyDirtyReason(error, controls) {
445
465
  if (controls.abortSignal.aborted || !controls.isActive()) {
446
466
  return "abort";
@@ -658,6 +678,7 @@ export class BridgeJobExecutor {
658
678
  let costUsd = 0;
659
679
  const mcpServers = await this.resolveMcpServers(job);
660
680
  const autoCompactWindow = autoCompactWindowForModel(prepared.model);
681
+ const betas = betasForModel(prepared.model);
661
682
  const settings = {
662
683
  // Left unset, the CLI's auto-compact threshold falls through to a remote
663
684
  // client-data value or experiment gate, which can cap compaction under the
@@ -674,6 +695,11 @@ export class BridgeJobExecutor {
674
695
  : {}),
675
696
  };
676
697
  const options = {
698
+ // Lifts the CLI's context ceiling to the model's real 1M. Without it the CLI
699
+ // resolves 200k through the OpenRouter passthrough and compacts at a fifth of
700
+ // capacity, which also clamps the `autoCompactWindow` pin below to 200k. Not
701
+ // an API requirement — see `betasForModel`. Omitted for Haiku 4.5, genuinely 200k.
702
+ ...(betas ? { betas } : {}),
677
703
  cwd: process.cwd(),
678
704
  settingSources: ["project"],
679
705
  // `baker_ui` hosts in-process interactive dashboard tools (secure tag
@@ -887,15 +913,7 @@ export class BridgeJobExecutor {
887
913
  throw controlChannelClosedError();
888
914
  }
889
915
  }
890
- // Track the occupancy of the last main-conversation request. We read the
891
- // meter from a single request's usage, not the turn's aggregate totals —
892
- // and only from the main conversation, so subagent work never pollutes it.
893
- if (msg.type === "assistant" && !msg.parent_tool_use_id && !msg.subagent_type) {
894
- const usage = msg.message.usage;
895
- if (usage) {
896
- state.lastMainRequestUsage = usage;
897
- }
898
- }
916
+ trackMainRequestUsage(state, msg);
899
917
  if (msg.type === "result") {
900
918
  state.observedCostUsd = msg.total_cost_usd;
901
919
  // Surface how full the conversation's context is. Tokens come from the last
@@ -1070,10 +1088,14 @@ export class BridgeJobExecutor {
1070
1088
  pending: controls.pendingQuestions,
1071
1089
  toolUseId,
1072
1090
  });
1073
- void this.relay.inputResolved(target);
1074
1091
  if (decision.kind === "unanswered") {
1092
+ // Do NOT post input-resolved: the pending question must survive the live
1093
+ // wait ending, so the card stays up and the user's answer — whenever it
1094
+ // comes — dispatches a recovery turn (the backend parks the thread on
1095
+ // completion while a prompt is pending). The deny only ends this turn.
1075
1096
  return { behavior: "deny", message: PROMPT_UNANSWERED_MESSAGE };
1076
1097
  }
1098
+ void this.relay.inputResolved(target);
1077
1099
  // The SDK matches AskUserQuestion answers to questions by TEXT, so hand it
1078
1100
  // the documented `{ [questionText]: answer }` shape, not the dashboard's
1079
1101
  // positional `q{i}` keys — otherwise the tool reports "dismissed".
@@ -1113,10 +1135,11 @@ export class BridgeJobExecutor {
1113
1135
  pending: controls.pendingTagInputs,
1114
1136
  toolUseId,
1115
1137
  });
1116
- void this.relay.tagInputResolved(target);
1117
1138
  if (decision.kind === "unanswered") {
1139
+ // Keep the pending form alive past the live wait — see AskUserQuestion.
1118
1140
  return { behavior: "deny", message: PROMPT_UNANSWERED_MESSAGE };
1119
1141
  }
1142
+ void this.relay.tagInputResolved(target);
1120
1143
  // The MCP tool handler echoes `resolution` back as the tool result — the
1121
1144
  // redacted per-tab results are all the model ever sees.
1122
1145
  return { behavior: "allow", updatedInput: { changes: sanitizedChanges, resolution: decision.value } };
@@ -1150,10 +1173,11 @@ export class BridgeJobExecutor {
1150
1173
  pending: controls.pendingFlowInputs,
1151
1174
  toolUseId,
1152
1175
  });
1153
- void this.relay.flowInputResolved(target);
1154
1176
  if (decision.kind === "unanswered") {
1177
+ // Keep the pending form alive past the live wait — see AskUserQuestion.
1155
1178
  return { behavior: "deny", message: PROMPT_UNANSWERED_MESSAGE };
1156
1179
  }
1180
+ void this.relay.flowInputResolved(target);
1157
1181
  // The MCP tool handler echoes `resolution` — the redacted per-tab results are
1158
1182
  // all the model ever sees; secret values are written into the flow file by the
1159
1183
  // bridge's /flow-input-decision handler and never reach here.
@@ -1174,12 +1198,13 @@ export class BridgeJobExecutor {
1174
1198
  pending: controls.pendingPlans,
1175
1199
  toolUseId,
1176
1200
  });
1177
- void this.relay.planResolved(target);
1178
1201
  if (reviewed.kind === "unanswered") {
1179
1202
  // Deny WITHOUT interrupt (same invariant as plan rejection) so the turn
1180
- // ends cleanly; the user can approve with a normal message later.
1203
+ // ends cleanly — and keep the pending plan alive past the live wait so
1204
+ // the review card stays up and a later decision recovers the turn.
1181
1205
  return { behavior: "deny", message: PROMPT_UNANSWERED_MESSAGE };
1182
1206
  }
1207
+ void this.relay.planResolved(target);
1183
1208
  const decision = reviewed.value;
1184
1209
  if (decision.kind === "approve") {
1185
1210
  return { behavior: "allow", updatedInput: input };
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-job.js","sourceRoot":"","sources":["../../src/hono/bridge-job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-job.js","sourceRoot":"","sources":["../../src/hono/bridge-job.ts"],"names":[],"mappings":"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"}
@@ -484,6 +484,37 @@ describe("BridgeJobExecutor", () => {
484
484
  { target: { threadId: "thread_ctx", turnId: "turn_ctx" }, tokens: 96000, window: 200000 },
485
485
  ]);
486
486
  });
487
+ // Some OpenRouter provider routes (observed live: Amazon Bedrock) report
488
+ // all-zero usage on the assistant message. Zero is never a real occupancy —
489
+ // the meter must keep its previous reading, not reset to 0.
490
+ it("ignores an all-zero usage payload instead of overwriting the meter with 0", async () => {
491
+ const relay = recordingRelay();
492
+ const executor = createExecutor({
493
+ relay,
494
+ queryResults: [
495
+ scriptedMessages(assistantMessage("assistant_real", "Working.", "session_next", {
496
+ usage: { input_tokens: 5000, cache_read_input_tokens: 90000, cache_creation_input_tokens: 1000 },
497
+ }), assistantMessage("assistant_zero", "Done.", "session_next", {
498
+ usage: { input_tokens: 0, cache_read_input_tokens: 0, cache_creation_input_tokens: 0 },
499
+ }), resultMessage(0.02, "session_next", {
500
+ "claude-main": {
501
+ inputTokens: 5000,
502
+ outputTokens: 300,
503
+ cacheReadInputTokens: 90000,
504
+ cacheCreationInputTokens: 1000,
505
+ webSearchRequests: 0,
506
+ costUSD: 0.02,
507
+ contextWindow: 200000,
508
+ maxOutputTokens: 32000,
509
+ },
510
+ })),
511
+ ],
512
+ });
513
+ await executor.execute({ threadId: "thread_zero", turnId: "turn_zero", prompt: "hi", history: history([]) }, activeControls());
514
+ expect(relay.contextUsageUpdates).toEqual([
515
+ { target: { threadId: "thread_zero", turnId: "turn_zero" }, tokens: 96000, window: 200000 },
516
+ ]);
517
+ });
487
518
  it("ignores subagent request usage — only the main conversation drives the meter", async () => {
488
519
  const relay = recordingRelay();
489
520
  const executor = createExecutor({
@@ -734,6 +765,28 @@ describe("BridgeJobExecutor", () => {
734
765
  // Left unset, the CLI's compaction threshold falls through to a remotely-controlled
735
766
  // client-data value or experiment gate that can cap it well under the CLI's own
736
767
  // ceiling, with no change on our side and no warning to the user.
768
+ // Without this the CLI resolves 200k through the passthrough and compacts at a
769
+ // fifth of capacity — which also clamps the autoCompactWindow pin below to 200k.
770
+ it("requests the 1M context beta for a 1M model", async () => {
771
+ const queryInputs = [];
772
+ const executor = createExecutor({
773
+ queryInputs,
774
+ model: "claude-sonnet-5",
775
+ queryResults: [scriptedMessages(resultMessage(0, "session_beta"))],
776
+ });
777
+ await executor.execute({ threadId: "thread_beta", turnId: "turn_beta", prompt: "Hi", history: history([]) }, activeControls());
778
+ expect(queryInputs[0]?.options.betas).toEqual(["context-1m-2025-08-07"]);
779
+ });
780
+ it("sends no betas for a model that is genuinely 200k", async () => {
781
+ const queryInputs = [];
782
+ const executor = createExecutor({
783
+ queryInputs,
784
+ model: "claude-haiku-4-5",
785
+ queryResults: [scriptedMessages(resultMessage(0, "session_no_beta"))],
786
+ });
787
+ await executor.execute({ threadId: "thread_nobeta", turnId: "turn_nobeta", prompt: "Hi", history: history([]) }, activeControls());
788
+ expect(queryInputs[0]?.options).not.toHaveProperty("betas");
789
+ });
737
790
  it("pins the auto-compact window to the context window it resolved for the model", async () => {
738
791
  const queryInputs = [];
739
792
  const executor = createExecutor({
@@ -1130,6 +1183,11 @@ describe("BridgeJobExecutor", () => {
1130
1183
  });
1131
1184
  it("denies an unanswered AskUserQuestion gracefully instead of erroring the turn", async () => {
1132
1185
  const relay = recordingRelay();
1186
+ let inputResolvedCalls = 0;
1187
+ relay.inputResolved = () => {
1188
+ inputResolvedCalls += 1;
1189
+ return Promise.resolve();
1190
+ };
1133
1191
  let guardResult;
1134
1192
  const executor = new BridgeJobExecutor({
1135
1193
  sdk: {
@@ -1161,6 +1219,10 @@ describe("BridgeJobExecutor", () => {
1161
1219
  expect(guardResult.message).toContain("has not answered");
1162
1220
  expect(outcome).toMatchObject({ kind: "completed", costUsd: 0, model: "claude-test" });
1163
1221
  expect(controls.pendingQuestions.size).toBe(0);
1222
+ // The backend's pending question must SURVIVE the live wait ending: the
1223
+ // question card stays up indefinitely and a later answer dispatches a
1224
+ // recovery turn. Posting input-resolved here would clear it.
1225
+ expect(inputResolvedCalls).toBe(0);
1164
1226
  });
1165
1227
  it("blocks request_tag_input until resolved, strips secret prefill, and injects the redacted resolution", async () => {
1166
1228
  const relay = recordingRelay();
@@ -1717,8 +1779,6 @@ describe("BridgeJobExecutor turn end with background tasks", () => {
1717
1779
  // Mimics the real CLI on a held-open input stream: it emits its messages,
1718
1780
  // then stays alive until endInput() (stdin EOF) — and once input has ended,
1719
1781
  // it exits instead of producing further turns.
1720
- // A `{ pauseMs }` entry stands in for real CLI dead air (time-to-first-token
1721
- // after a wake) so settle-window timing can be exercised.
1722
1782
  function cliLikeQuery(endInputAt, ...messages) {
1723
1783
  let release;
1724
1784
  let inputEnded = false;
@@ -1740,11 +1800,6 @@ describe("BridgeJobExecutor turn end with background tasks", () => {
1740
1800
  if (inputEnded) {
1741
1801
  return;
1742
1802
  }
1743
- const pauseMs = message.pauseMs;
1744
- if (typeof pauseMs === "number") {
1745
- await new Promise((resolvePause) => setTimeout(resolvePause, pauseMs));
1746
- continue;
1747
- }
1748
1803
  await Promise.resolve();
1749
1804
  emitted += 1;
1750
1805
  yield message;
@@ -1753,13 +1808,6 @@ describe("BridgeJobExecutor turn end with background tasks", () => {
1753
1808
  },
1754
1809
  };
1755
1810
  }
1756
- function wakeMessage() {
1757
- return {
1758
- type: "user",
1759
- message: { role: "user", content: [{ type: "text", text: "Agent task completed" }] },
1760
- session_id: "session_bg",
1761
- };
1762
- }
1763
1811
  it("ends input at the first clean result when the turn ran no tasks", async () => {
1764
1812
  const endInputAt = { count: -1 };
1765
1813
  const executor = createExecutor({
@@ -1820,26 +1868,34 @@ describe("BridgeJobExecutor turn end with background tasks", () => {
1820
1868
  expect(outcome).toMatchObject({ kind: "completed", costUsd: 0.1 });
1821
1869
  expect(endInputAt.count).toBe(4);
1822
1870
  });
1823
- it("keeps input open while the model is awake on a settled task's result", async () => {
1824
- // The incident shape (chat r5719b3ac…): a backgrounded subagent's wake
1825
- // reaches the model BEFORE the CLI reports the task settled. The drain then
1826
- // read the earlier result as "CLI is idle" and closed stdin one settle later
1827
- // while the model was still spending 30+ seconds on time-to-first-token.
1828
- // The woken turn kept running on a severed control channel, so its first
1829
- // permission-gated tool call (Skill) came back "Tool permission request
1830
- // failed: AbortError: Stream closed".
1871
+ function backgroundTasksChanged(taskIds) {
1872
+ return {
1873
+ type: "system",
1874
+ subtype: "background_tasks_changed",
1875
+ tasks: taskIds.map((taskId) => ({ task_id: taskId, task_type: "local_bash", description: "render" })),
1876
+ session_id: "session_bg",
1877
+ };
1878
+ }
1879
+ // A long foreground command the CLI auto-backgrounds NEVER emits the
1880
+ // task_started/task_notification edge bookends — it surfaces only through the
1881
+ // background_tasks_changed level signal. Pairing edges alone missed it, so
1882
+ // input ended at the clean result, stdin closed under the still-running
1883
+ // command, and its follow-up tool calls all came back "Tool permission
1884
+ // request failed" — the production "control-channel closed mid-turn" error.
1885
+ it("holds the turn open past a result while the background-tasks level signal reports live work", async () => {
1831
1886
  const endInputAt = { count: -1 };
1832
1887
  const executor = createExecutor({
1833
1888
  turnEndSettleMs: 20,
1834
1889
  queryResults: [
1835
- cliLikeQuery(endInputAt, taskStarted("task_bg"), resultMessage(0.1, "session_bg"), wakeMessage(), taskSettled("task_bg"), { pauseMs: 80 }, assistantMessage("msg_wake", "Here is what I found", "session_bg"), resultMessage(0.3, "session_bg")),
1890
+ cliLikeQuery(endInputAt, backgroundTasksChanged(["bash_render"]), resultMessage(0.1, "session_bg"), backgroundTasksChanged([])),
1836
1891
  ],
1837
1892
  });
1838
- const outcome = await executor.execute({ threadId: "thread_wake", turnId: "turn_wake", prompt: "Explore then act", history: history([]) }, activeControls());
1839
- // Every message was consumed: the wake's own turn ran with the control
1840
- // channel intact and input ended only on the post-wake result.
1841
- expect(outcome).toMatchObject({ kind: "completed", costUsd: 0.3 });
1842
- expect(endInputAt.count).toBe(6);
1893
+ const outcome = await executor.execute({ threadId: "thread_level", turnId: "turn_level", prompt: "Render the video", history: history([]) }, activeControls());
1894
+ // All three messages were consumed before input ended: the result did not
1895
+ // close the channel while the level signal reported a live background task,
1896
+ // and the emptied level signal re-armed the end.
1897
+ expect(outcome).toMatchObject({ kind: "completed", costUsd: 0.1 });
1898
+ expect(endInputAt.count).toBe(3);
1843
1899
  });
1844
1900
  it("does not hold the turn open for ambient skip_transcript tasks", async () => {
1845
1901
  const endInputAt = { count: -1 };