@koda-sl/baker-bridge 0.59.0 → 0.61.0

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 (47) hide show
  1. package/README.md +64 -15
  2. package/dist/hono/agent-session.d.ts +3 -1
  3. package/dist/hono/agent-session.d.ts.map +1 -1
  4. package/dist/hono/agent-session.js +20 -1
  5. package/dist/hono/agent-session.js.map +1 -1
  6. package/dist/hono/agent-session.test.js +78 -13
  7. package/dist/hono/agent-session.test.js.map +1 -1
  8. package/dist/hono/agent-tasks.d.ts +11 -0
  9. package/dist/hono/agent-tasks.d.ts.map +1 -1
  10. package/dist/hono/agent-tasks.js +37 -0
  11. package/dist/hono/agent-tasks.js.map +1 -1
  12. package/dist/hono/agent-tasks.test.js +42 -1
  13. package/dist/hono/agent-tasks.test.js.map +1 -1
  14. package/dist/hono/agent.d.ts.map +1 -1
  15. package/dist/hono/agent.js +43 -3
  16. package/dist/hono/agent.js.map +1 -1
  17. package/dist/hono/agent.test.js +29 -5
  18. package/dist/hono/agent.test.js.map +1 -1
  19. package/dist/hono/bridge-job.d.ts +12 -1
  20. package/dist/hono/bridge-job.d.ts.map +1 -1
  21. package/dist/hono/bridge-job.js +235 -21
  22. package/dist/hono/bridge-job.js.map +1 -1
  23. package/dist/hono/bridge-job.test.js +300 -1
  24. package/dist/hono/bridge-job.test.js.map +1 -1
  25. package/dist/hono/convex.d.ts +4 -1
  26. package/dist/hono/convex.d.ts.map +1 -1
  27. package/dist/hono/convex.js +31 -2
  28. package/dist/hono/convex.js.map +1 -1
  29. package/dist/hono/convex.test.js +11 -1
  30. package/dist/hono/convex.test.js.map +1 -1
  31. package/dist/hono/model-router.d.ts +1 -0
  32. package/dist/hono/model-router.d.ts.map +1 -1
  33. package/dist/hono/model-router.js +39 -6
  34. package/dist/hono/model-router.js.map +1 -1
  35. package/dist/hono/model-router.test.js +17 -1
  36. package/dist/hono/model-router.test.js.map +1 -1
  37. package/dist/hono/relay.d.ts +6 -1
  38. package/dist/hono/relay.d.ts.map +1 -1
  39. package/dist/hono/relay.js +11 -3
  40. package/dist/hono/relay.js.map +1 -1
  41. package/dist/hono/session-continuity.d.ts +6 -0
  42. package/dist/hono/session-continuity.d.ts.map +1 -1
  43. package/dist/hono/session-continuity.integration.test.js +25 -3
  44. package/dist/hono/session-continuity.integration.test.js.map +1 -1
  45. package/dist/hono/session-continuity.js +7 -1
  46. package/dist/hono/session-continuity.js.map +1 -1
  47. package/package.json +1 -1
@@ -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 { applyTaskLifecycleMessage } from "./agent-tasks.js";
4
+ import { applyInFlightTask, applyTaskLifecycleMessage } from "./agent-tasks.js";
5
5
  import { 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 { contextWindowForModel } from "./model-router.js";
8
+ import { autoCompactWindowForModel, 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";
@@ -66,6 +66,16 @@ const DEFAULT_STALL_CHECK_INTERVAL_MS = 15_000;
66
66
  // Retries resume the CLI session in place, so each one is cheap; past this the
67
67
  // upstream is genuinely down and the turn should fail legibly.
68
68
  const MAX_STALL_RETRIES = 2;
69
+ // When a clean result lands on a turn that ran tasks, a just-settled task's
70
+ // wake may still be queued inside the CLI — ending input immediately would
71
+ // close the control channel under that wake's tool calls. Hold the end-input
72
+ // briefly; model activity cancels it (the CLI clearly isn't idle). Turns that
73
+ // never ran a task skip the delay entirely.
74
+ const DEFAULT_TURN_END_SETTLE_MS = 1_000;
75
+ // After input ends, a healthy idle CLI exits within seconds. If the stream is
76
+ // still open past this window with no messages arriving, the CLI is wedged —
77
+ // close the query so the turn can finish instead of hanging to the watchdog.
78
+ const DEFAULT_TURN_END_EXIT_GUARD_MS = 60_000;
69
79
  // Agent-facing deny message when a blocking dashboard prompt (question, plan
70
80
  // review, tag/flow form) goes unanswered past the wait window. The turn must
71
81
  // end cleanly — never error — so the user can pick up with a normal message.
@@ -283,6 +293,142 @@ function controlChannelClosedError() {
283
293
  error.name = "ControlChannelClosed";
284
294
  return error;
285
295
  }
296
+ /** Content blocks of an assistant/user SDK message; [] for other shapes. */
297
+ function messageContentBlocks(msg) {
298
+ const content = msg.message?.content;
299
+ if (!Array.isArray(content)) {
300
+ return [];
301
+ }
302
+ return content.filter((block) => Boolean(block) && typeof block === "object");
303
+ }
304
+ /** Adds tool_use ids from assistant messages; removes them as tool_results come back. */
305
+ function trackPendingToolUses(pending, msg) {
306
+ if (msg.type === "assistant") {
307
+ for (const block of messageContentBlocks(msg)) {
308
+ if (block.type === "tool_use" && typeof block.id === "string") {
309
+ pending.add(block.id);
310
+ }
311
+ }
312
+ return;
313
+ }
314
+ if (msg.type === "user") {
315
+ for (const block of messageContentBlocks(msg)) {
316
+ if (block.type === "tool_result" && typeof block.tool_use_id === "string") {
317
+ pending.delete(block.tool_use_id);
318
+ }
319
+ }
320
+ }
321
+ }
322
+ // Decides when the turn is really over and the CLI may be told to exit.
323
+ //
324
+ // The prompt rides a held-open input stream (see `createHeldOpenQuery` in
325
+ // agent.ts), so the CLI's stdin — its tool-permission control channel — stays
326
+ // alive as long as the query does. That keeps background work healthy: a turn
327
+ // whose result message lands while subagents or backgrounded commands are
328
+ // still running (their completions wake the model again) would otherwise have
329
+ // its control channel severed at that first result, and every later
330
+ // permission-gated tool call across all of them would come back denied.
331
+ //
332
+ // Policy: end input once a clean result has landed and no tasks are in
333
+ // flight. That condition can become true at the result itself OR later, when
334
+ // the last held-open task settles — a settle is not guaranteed to wake the
335
+ // model into a second result, so it must re-arm the end on its own or the
336
+ // turn would strand in `for await` until the session watchdog. A turn that
337
+ // ran tasks waits a short settle window first — a just-settled task can have
338
+ // a wake queued inside the CLI — and only genuine model activity (assistant /
339
+ // user / stream deltas) cancels the pending end; passive trailing system
340
+ // events must not, or the end would never re-arm. After input ends, an exit
341
+ // guard closes the query if the CLI neither speaks nor exits, so a wedged
342
+ // process cannot hang the turn until the session watchdog.
343
+ function createTurnEndController(job, query, closeQuery, timings) {
344
+ const inFlightTasks = new Set();
345
+ let sawAnyTask = false;
346
+ let cleanResultSeen = false;
347
+ let lastWasTaskLifecycle = false;
348
+ let inputEnded = false;
349
+ let settleTimer;
350
+ let exitGuard;
351
+ const endInput = () => {
352
+ settleTimer = undefined;
353
+ // Fire-time guard: a task that started during the settle window keeps the
354
+ // channel open; a later settle re-arms the end.
355
+ if (inputEnded || inFlightTasks.size > 0) {
356
+ return;
357
+ }
358
+ inputEnded = true;
359
+ query.endInput?.();
360
+ exitGuard = setTimeout(() => {
361
+ console.error(`[BridgeJob] CLI did not exit after turn end — closing query (thread ${job.threadId})`);
362
+ closeQuery();
363
+ }, timings.exitGuardMs);
364
+ exitGuard.unref?.();
365
+ };
366
+ const scheduleEnd = () => {
367
+ if (settleTimer) {
368
+ return;
369
+ }
370
+ // Zero-delay fast path. Safe because a task spawned by this turn emits
371
+ // task_started strictly before the turn's concluding result (the tool
372
+ // dispatch that starts the task precedes the model's final response), so
373
+ // "no task ever seen at the result" really means no task exists.
374
+ if (!sawAnyTask) {
375
+ endInput();
376
+ return;
377
+ }
378
+ settleTimer = setTimeout(endInput, timings.settleMs);
379
+ settleTimer.unref?.();
380
+ };
381
+ return {
382
+ observeMessage: (msg) => {
383
+ lastWasTaskLifecycle = applyInFlightTask(inFlightTasks, msg);
384
+ // Only turns that ran a TRACKED task pay the settle delay; ambient
385
+ // (skip_transcript) housekeeping never wakes the model.
386
+ if (inFlightTasks.size > 0) {
387
+ sawAnyTask = true;
388
+ }
389
+ // Model activity (a wake starting, tools running) cancels a pending end;
390
+ // passive system events between the result and the CLI going idle do not.
391
+ const isModelActivity = msg.type === "assistant" || msg.type === "user" || msg.type === "stream_event";
392
+ if (settleTimer && (isModelActivity || inFlightTasks.size > 0)) {
393
+ clearTimeout(settleTimer);
394
+ settleTimer = undefined;
395
+ }
396
+ if (exitGuard) {
397
+ exitGuard.refresh();
398
+ }
399
+ },
400
+ maybeEndAfter: (msg) => {
401
+ if (inputEnded) {
402
+ return;
403
+ }
404
+ if (msg.type === "result" && !msg.is_error) {
405
+ cleanResultSeen = true;
406
+ if (inFlightTasks.size > 0) {
407
+ console.error(`[BridgeJob] result received with ${inFlightTasks.size} task(s) in flight — holding the turn open (thread ${job.threadId})`);
408
+ return;
409
+ }
410
+ scheduleEnd();
411
+ return;
412
+ }
413
+ // A settle that drains the set after a clean result is the other end
414
+ // signal — without this, a task settling silently (no model wake, no
415
+ // second result) would strand the turn until the watchdog.
416
+ if (lastWasTaskLifecycle && cleanResultSeen && inFlightTasks.size === 0) {
417
+ scheduleEnd();
418
+ }
419
+ },
420
+ dispose: () => {
421
+ if (settleTimer) {
422
+ clearTimeout(settleTimer);
423
+ settleTimer = undefined;
424
+ }
425
+ if (exitGuard) {
426
+ clearTimeout(exitGuard);
427
+ exitGuard = undefined;
428
+ }
429
+ },
430
+ };
431
+ }
286
432
  function classifyDirtyReason(error, controls) {
287
433
  if (controls.abortSignal.aborted || !controls.isActive()) {
288
434
  return "abort";
@@ -302,6 +448,8 @@ export class BridgeJobExecutor {
302
448
  askUserQuestionTimeoutMs;
303
449
  stallTimeoutMs;
304
450
  stallCheckIntervalMs;
451
+ turnEndSettleMs;
452
+ turnEndExitGuardMs;
305
453
  now;
306
454
  constructor(dependencies) {
307
455
  this.sdk = dependencies.sdk;
@@ -313,6 +461,8 @@ export class BridgeJobExecutor {
313
461
  this.askUserQuestionTimeoutMs = dependencies.askUserQuestionTimeoutMs ?? DEFAULT_ASK_USER_QUESTION_TIMEOUT_MS;
314
462
  this.stallTimeoutMs = dependencies.stallTimeoutMs ?? DEFAULT_STALL_TIMEOUT_MS;
315
463
  this.stallCheckIntervalMs = dependencies.stallCheckIntervalMs ?? DEFAULT_STALL_CHECK_INTERVAL_MS;
464
+ this.turnEndSettleMs = dependencies.turnEndSettleMs ?? DEFAULT_TURN_END_SETTLE_MS;
465
+ this.turnEndExitGuardMs = dependencies.turnEndExitGuardMs ?? DEFAULT_TURN_END_EXIT_GUARD_MS;
316
466
  this.now = dependencies.now ?? Date.now;
317
467
  }
318
468
  async execute(job, controls) {
@@ -495,21 +645,32 @@ export class BridgeJobExecutor {
495
645
  async runQueryOnce(job, controls, state, attempt, prepared) {
496
646
  let costUsd = 0;
497
647
  const mcpServers = await this.resolveMcpServers(job);
648
+ const autoCompactWindow = autoCompactWindowForModel(prepared.model);
649
+ const settings = {
650
+ // Left unset, the CLI's auto-compact threshold falls through to a remote
651
+ // client-data value or experiment gate, which can cap compaction under the
652
+ // window the CLI resolves for the model, with no change on our side and no
653
+ // warning to the user. Pinning it takes that threshold out of remote control.
654
+ // See `autoCompactWindowForModel` for the full chain and its ceiling.
655
+ ...(autoCompactWindow !== undefined ? { autoCompactWindow } : {}),
656
+ // SDK rejects autoMemoryDirectory from project settings for security; must use settings tier. Gate on BAKER_CHAT_ID so local dev never writes into the monorepo.
657
+ ...(process.env.BAKER_CHAT_ID
658
+ ? {
659
+ autoMemoryEnabled: true,
660
+ autoMemoryDirectory: bridgeRuntimeFiles.memoryDir(),
661
+ }
662
+ : {}),
663
+ };
498
664
  const options = {
499
665
  cwd: process.cwd(),
500
666
  settingSources: ["project"],
501
667
  // `baker_ui` hosts in-process interactive dashboard tools (secure tag
502
668
  // form). Always present; HTTP (Composio) servers merge alongside it.
503
669
  mcpServers: { ...(mcpServers ?? {}), baker_ui: createBakerUiServer() },
504
- // SDK rejects autoMemoryDirectory from project settings for security; must use settings tier. Gate on BAKER_CHAT_ID so local dev never writes into the monorepo.
505
- ...(process.env.BAKER_CHAT_ID
506
- ? {
507
- settings: {
508
- autoMemoryEnabled: true,
509
- autoMemoryDirectory: bridgeRuntimeFiles.memoryDir(),
510
- },
511
- }
512
- : {}),
670
+ // Only send the key when there is something in it: the SDK forwards
671
+ // `settings` to the CLI whenever it is present, so an empty object still
672
+ // becomes a `--settings {}` flag tier for the CLI to parse.
673
+ ...(Object.keys(settings).length > 0 ? { settings } : {}),
513
674
  includePartialMessages: true,
514
675
  plugins: bakerPlugins(),
515
676
  disallowedTools: ["CronCreate", "CronDelete", "CronList", "ScheduleWakeup"],
@@ -564,8 +725,19 @@ export class BridgeJobExecutor {
564
725
  try {
565
726
  costUsd = await this.drainQuery(job, controls, state, query, closeQuery);
566
727
  }
728
+ catch (error) {
729
+ // With a held-open input stream the CLI only exits when told to. An
730
+ // error path abandons the message loop, so nothing would ever pump the
731
+ // control channel again — kill the query or the CLI zombies in the
732
+ // sandbox with its subagents hanging on permission requests.
733
+ closeQuery();
734
+ throw error;
735
+ }
567
736
  finally {
568
737
  controls.abortSignal.removeEventListener("abort", closeQuery);
738
+ // Release the held-open input if the turn-end policy never fired (the
739
+ // stream ended on its own, or an error path closed the query). Idempotent.
740
+ query.endInput?.();
569
741
  }
570
742
  if (!controls.isActive()) {
571
743
  closeQuery();
@@ -581,11 +753,27 @@ export class BridgeJobExecutor {
581
753
  // in-progress session.
582
754
  async drainQuery(job, controls, state, query, closeQuery) {
583
755
  const stallDetector = this.createStallDetector(job, controls, closeQuery);
756
+ const turnEnd = createTurnEndController(job, query, closeQuery, {
757
+ settleMs: this.turnEndSettleMs,
758
+ exitGuardMs: this.turnEndExitGuardMs,
759
+ });
584
760
  let costUsd = 0;
761
+ // Errors thrown while HANDLING a message (control-channel breaker, error
762
+ // results) are real verdicts and must surface as-is; only errors from the
763
+ // stream itself may be reinterpreted as a stall.
764
+ let consumeError = false;
585
765
  try {
586
766
  for await (const msg of query) {
587
767
  stallDetector.observeMessage(msg);
588
- costUsd = await this.consumeSdkMessage(job, controls, state, msg, costUsd);
768
+ turnEnd.observeMessage(msg);
769
+ try {
770
+ costUsd = await this.consumeSdkMessage(job, controls, state, msg, costUsd);
771
+ }
772
+ catch (error) {
773
+ consumeError = true;
774
+ throw error;
775
+ }
776
+ turnEnd.maybeEndAfter(msg);
589
777
  if (!controls.isActive()) {
590
778
  closeQuery();
591
779
  break;
@@ -594,13 +782,14 @@ export class BridgeJobExecutor {
594
782
  }
595
783
  catch (error) {
596
784
  closeQuery();
597
- if (stallDetector.stalled() && controls.isActive()) {
785
+ if (!consumeError && stallDetector.stalled() && controls.isActive()) {
598
786
  throw new StreamStallError();
599
787
  }
600
788
  throw error;
601
789
  }
602
790
  finally {
603
791
  stallDetector.dispose();
792
+ turnEnd.dispose();
604
793
  }
605
794
  if (stallDetector.stalled() && controls.isActive()) {
606
795
  throw new StreamStallError();
@@ -608,16 +797,31 @@ export class BridgeJobExecutor {
608
797
  return costUsd;
609
798
  }
610
799
  // Stall detection: armed only while the CLI should be talking to the model —
611
- // right after a tool_result goes back (the next API request), between stream
612
- // deltas, and at query start (CLI boot + first request complete well inside
613
- // the stall window, and a retry that hangs before its first message must not
614
- // escape detection). Silence is legitimate during tool execution, compaction,
615
- // and blocking dashboard prompts, so those phases stay disarmed (the session
616
- // watchdog still backstops them). On stall the wedged query is closed so the
617
- // caller can retry by resuming the session.
800
+ // right after the LAST outstanding tool_result goes back (the next API
801
+ // request), between stream deltas, and at query start (CLI boot + first
802
+ // request complete well inside the stall window, and a retry that hangs
803
+ // before its first message must not escape detection). Silence is legitimate
804
+ // during tool execution, compaction, and blocking dashboard prompts, so
805
+ // those phases stay disarmed (the session watchdog still backstops them).
806
+ //
807
+ // "Tool execution" must account for PARALLEL tools: an assistant message can
808
+ // carry several tool_use blocks (and fan-out subagents interleave their own
809
+ // through the same stream), so one tool_result arriving while a sibling —
810
+ // e.g. a multi-minute canvas render — is still executing does NOT mean the
811
+ // model is being awaited. Arming on any tool_result used to misfire here:
812
+ // three quiet minutes into a healthy fan-out turn, the detector killed the
813
+ // CLI mid-render and the resume duplicated work. Track outstanding tool_use
814
+ // ids and arm only when none remain. The trade-off is deliberate: a model
815
+ // request that hangs WHILE a sibling tool still runs now waits for the
816
+ // session watchdog instead — a false negative recovers slowly, a false
817
+ // positive kills healthy work.
818
+ //
819
+ // On stall the wedged query is closed so the caller can retry by resuming
820
+ // the session.
618
821
  createStallDetector(job, controls, closeQuery) {
619
822
  let stalled = false;
620
823
  let awaitingModel = true;
824
+ const pendingToolUses = new Set();
621
825
  let lastMessageAt = this.now();
622
826
  const hasPendingPrompt = () => controls.pendingQuestions.size > 0 ||
623
827
  controls.pendingPlans.size > 0 ||
@@ -646,7 +850,8 @@ export class BridgeJobExecutor {
646
850
  return {
647
851
  observeMessage: (msg) => {
648
852
  lastMessageAt = this.now();
649
- awaitingModel = msg.type === "user" || msg.type === "stream_event";
853
+ trackPendingToolUses(pendingToolUses, msg);
854
+ awaitingModel = (msg.type === "user" || msg.type === "stream_event") && pendingToolUses.size === 0;
650
855
  },
651
856
  stalled: () => stalled,
652
857
  dispose: () => clearInterval(timer),
@@ -750,6 +955,15 @@ export class BridgeJobExecutor {
750
955
  // when the context fills mid-turn — the latter is exactly what leaves users
751
956
  // confused when the agent's answers shift, so it must not stay silent.
752
957
  if (isCompactingStatus(msg)) {
958
+ // Publish the occupancy that triggered this. Otherwise the only context
959
+ // reading we ever record is the one at turn end (`result`), which is taken
960
+ // *after* compaction has already shrunk the window — so a compaction that
961
+ // fired far too early leaves no trace, and "did it summarize prematurely?"
962
+ // becomes unanswerable from the data.
963
+ const contextUsage = turnContextUsage(state.lastMainRequestUsage, contextWindowForModel(state.model));
964
+ if (contextUsage) {
965
+ await this.relay.contextUsage(target, contextUsage);
966
+ }
753
967
  await this.relay.compaction(target, "compacting");
754
968
  return;
755
969
  }
@@ -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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"}