@koda-sl/baker-bridge 0.122.0-dev.3613db443 → 0.122.0-dev.71ff4e44a

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 (146) hide show
  1. package/README.md +27 -4
  2. package/dist/broker/baker-api.d.ts +23 -0
  3. package/dist/broker/baker-api.d.ts.map +1 -0
  4. package/dist/broker/baker-api.js +55 -0
  5. package/dist/broker/baker-api.js.map +1 -0
  6. package/dist/broker/broker-client.d.ts +10 -0
  7. package/dist/broker/broker-client.d.ts.map +1 -0
  8. package/dist/broker/broker-client.js +60 -0
  9. package/dist/broker/broker-client.js.map +1 -0
  10. package/dist/broker/ca.d.ts +38 -0
  11. package/dist/broker/ca.d.ts.map +1 -0
  12. package/dist/broker/ca.js +80 -0
  13. package/dist/broker/ca.js.map +1 -0
  14. package/dist/broker/ca.test.d.ts +2 -0
  15. package/dist/broker/ca.test.d.ts.map +1 -0
  16. package/dist/broker/ca.test.js +58 -0
  17. package/dist/broker/ca.test.js.map +1 -0
  18. package/dist/broker/credential-cache.d.ts +24 -0
  19. package/dist/broker/credential-cache.d.ts.map +1 -0
  20. package/dist/broker/credential-cache.js +69 -0
  21. package/dist/broker/credential-cache.js.map +1 -0
  22. package/dist/broker/credential-cache.test.d.ts +2 -0
  23. package/dist/broker/credential-cache.test.d.ts.map +1 -0
  24. package/dist/broker/credential-cache.test.js +120 -0
  25. package/dist/broker/credential-cache.test.js.map +1 -0
  26. package/dist/broker/credential-text.d.ts +45 -0
  27. package/dist/broker/credential-text.d.ts.map +1 -0
  28. package/dist/broker/credential-text.js +103 -0
  29. package/dist/broker/credential-text.js.map +1 -0
  30. package/dist/broker/credential-text.test.d.ts +2 -0
  31. package/dist/broker/credential-text.test.d.ts.map +1 -0
  32. package/dist/broker/credential-text.test.js +54 -0
  33. package/dist/broker/credential-text.test.js.map +1 -0
  34. package/dist/broker/env.d.ts +19 -0
  35. package/dist/broker/env.d.ts.map +1 -0
  36. package/dist/broker/env.js +16 -0
  37. package/dist/broker/env.js.map +1 -0
  38. package/dist/broker/main.d.ts +3 -0
  39. package/dist/broker/main.d.ts.map +1 -0
  40. package/dist/broker/main.js +51 -0
  41. package/dist/broker/main.js.map +1 -0
  42. package/dist/broker/proxy.d.ts +24 -0
  43. package/dist/broker/proxy.d.ts.map +1 -0
  44. package/dist/broker/proxy.integration.test.d.ts +2 -0
  45. package/dist/broker/proxy.integration.test.d.ts.map +1 -0
  46. package/dist/broker/proxy.integration.test.js +201 -0
  47. package/dist/broker/proxy.integration.test.js.map +1 -0
  48. package/dist/broker/proxy.js +147 -0
  49. package/dist/broker/proxy.js.map +1 -0
  50. package/dist/broker/rewrite.d.ts +44 -0
  51. package/dist/broker/rewrite.d.ts.map +1 -0
  52. package/dist/broker/rewrite.js +291 -0
  53. package/dist/broker/rewrite.js.map +1 -0
  54. package/dist/broker/rewrite.test.d.ts +2 -0
  55. package/dist/broker/rewrite.test.d.ts.map +1 -0
  56. package/dist/broker/rewrite.test.js +171 -0
  57. package/dist/broker/rewrite.test.js.map +1 -0
  58. package/dist/broker/socket-service.d.ts +18 -0
  59. package/dist/broker/socket-service.d.ts.map +1 -0
  60. package/dist/broker/socket-service.js +103 -0
  61. package/dist/broker/socket-service.js.map +1 -0
  62. package/dist/broker/socket-service.test.d.ts +2 -0
  63. package/dist/broker/socket-service.test.d.ts.map +1 -0
  64. package/dist/broker/socket-service.test.js +73 -0
  65. package/dist/broker/socket-service.test.js.map +1 -0
  66. package/dist/broker/token-bucket.d.ts +9 -0
  67. package/dist/broker/token-bucket.d.ts.map +1 -0
  68. package/dist/broker/token-bucket.js +18 -0
  69. package/dist/broker/token-bucket.js.map +1 -0
  70. package/dist/broker/usage-reporter.d.ts +18 -0
  71. package/dist/broker/usage-reporter.d.ts.map +1 -0
  72. package/dist/broker/usage-reporter.js +31 -0
  73. package/dist/broker/usage-reporter.js.map +1 -0
  74. package/dist/broker/usage-reporter.test.d.ts +2 -0
  75. package/dist/broker/usage-reporter.test.d.ts.map +1 -0
  76. package/dist/broker/usage-reporter.test.js +20 -0
  77. package/dist/broker/usage-reporter.test.js.map +1 -0
  78. package/dist/hono/agent-session.d.ts +3 -0
  79. package/dist/hono/agent-session.d.ts.map +1 -1
  80. package/dist/hono/agent-session.js +15 -0
  81. package/dist/hono/agent-session.js.map +1 -1
  82. package/dist/hono/agent.d.ts +2 -0
  83. package/dist/hono/agent.d.ts.map +1 -1
  84. package/dist/hono/agent.js +10 -2
  85. package/dist/hono/agent.js.map +1 -1
  86. package/dist/hono/avatar-casting.d.ts +1 -0
  87. package/dist/hono/avatar-casting.d.ts.map +1 -1
  88. package/dist/hono/avatar-casting.js +15 -2
  89. package/dist/hono/avatar-casting.js.map +1 -1
  90. package/dist/hono/avatar-casting.test.js +5 -0
  91. package/dist/hono/avatar-casting.test.js.map +1 -1
  92. package/dist/hono/baker-ui-tool-schemas.test.js +6 -0
  93. package/dist/hono/baker-ui-tool-schemas.test.js.map +1 -1
  94. package/dist/hono/bridge-job.d.ts +15 -1
  95. package/dist/hono/bridge-job.d.ts.map +1 -1
  96. package/dist/hono/bridge-job.js +85 -9
  97. package/dist/hono/bridge-job.js.map +1 -1
  98. package/dist/hono/bridge-job.test.js +145 -1
  99. package/dist/hono/bridge-job.test.js.map +1 -1
  100. package/dist/hono/connection-input.d.ts +11 -1
  101. package/dist/hono/connection-input.d.ts.map +1 -1
  102. package/dist/hono/connection-input.js +30 -5
  103. package/dist/hono/connection-input.js.map +1 -1
  104. package/dist/hono/connection-input.test.js +28 -8
  105. package/dist/hono/connection-input.test.js.map +1 -1
  106. package/dist/hono/convex.d.ts +8 -0
  107. package/dist/hono/convex.d.ts.map +1 -1
  108. package/dist/hono/convex.js +8 -0
  109. package/dist/hono/convex.js.map +1 -1
  110. package/dist/hono/credential-input.d.ts +39 -0
  111. package/dist/hono/credential-input.d.ts.map +1 -0
  112. package/dist/hono/credential-input.js +78 -0
  113. package/dist/hono/credential-input.js.map +1 -0
  114. package/dist/hono/credential-scrub.d.ts +41 -0
  115. package/dist/hono/credential-scrub.d.ts.map +1 -0
  116. package/dist/hono/credential-scrub.js +152 -0
  117. package/dist/hono/credential-scrub.js.map +1 -0
  118. package/dist/hono/credential-scrub.test.d.ts +2 -0
  119. package/dist/hono/credential-scrub.test.d.ts.map +1 -0
  120. package/dist/hono/credential-scrub.test.js +105 -0
  121. package/dist/hono/credential-scrub.test.js.map +1 -0
  122. package/dist/hono/latitude-telemetry.d.ts.map +1 -1
  123. package/dist/hono/latitude-telemetry.js +8 -2
  124. package/dist/hono/latitude-telemetry.js.map +1 -1
  125. package/dist/hono/prompt-context.d.ts +8 -1
  126. package/dist/hono/prompt-context.d.ts.map +1 -1
  127. package/dist/hono/prompt-context.js +45 -7
  128. package/dist/hono/prompt-context.js.map +1 -1
  129. package/dist/hono/prompt-context.test.js +35 -1
  130. package/dist/hono/prompt-context.test.js.map +1 -1
  131. package/dist/hono/relay.d.ts +10 -1
  132. package/dist/hono/relay.d.ts.map +1 -1
  133. package/dist/hono/relay.js +6 -0
  134. package/dist/hono/relay.js.map +1 -1
  135. package/dist/hono/server.d.ts.map +1 -1
  136. package/dist/hono/server.js +22 -0
  137. package/dist/hono/server.js.map +1 -1
  138. package/dist/hono/tag-input.d.ts +106 -3
  139. package/dist/hono/tag-input.d.ts.map +1 -1
  140. package/dist/hono/tag-input.js +20 -9
  141. package/dist/hono/tag-input.js.map +1 -1
  142. package/dist/hono/tag-input.test.js +19 -1
  143. package/dist/hono/tag-input.test.js.map +1 -1
  144. package/dist/hono/types.d.ts +8 -0
  145. package/dist/hono/types.d.ts.map +1 -1
  146. package/package.json +5 -2
@@ -1 +1 @@
1
- {"version":3,"file":"avatar-casting.test.js","sourceRoot":"","sources":["../../src/hono/avatar-casting.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEnF,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,IAAI,GAAG,qBAAqB,CAAC;YACjC,MAAM,EAAE,UAAU;YAClB,YAAY,EAAE,QAAQ;YACtB,MAAM,EAAE,2BAA2B;SACpC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAEjG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"avatar-casting.test.js","sourceRoot":"","sources":["../../src/hono/avatar-casting.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEnF,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,IAAI,GAAG,qBAAqB,CAAC;YACjC,MAAM,EAAE,UAAU;YAClB,YAAY,EAAE,QAAQ;YACtB,MAAM,EAAE,2BAA2B;SACpC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAEjG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnH,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import { describe, expect, it } from "vitest";
2
2
  import { z } from "zod";
3
3
  import { avatarCastingToolShape, createAvatarCastingTool } from "./avatar-casting.js";
4
4
  import { connectionInputToolShape, createConnectionInputTool } from "./connection-input.js";
5
+ import { createCredentialInputTool, credentialInputToolShape } from "./credential-input.js";
5
6
  import { createFlowInputTool, flowInputToolShape } from "./flow-input.js";
6
7
  import { createTagInputTool, tagInputToolShape } from "./tag-input.js";
7
8
  /**
@@ -26,6 +27,7 @@ const TOOL_SHAPES = {
26
27
  // Added a record after this test existed, and emptied the server again: every
27
28
  // tool `baker_ui` hosts is here, or the next one does the same.
28
29
  request_avatar_casting: avatarCastingToolShape,
30
+ request_credential: credentialInputToolShape,
29
31
  };
30
32
  describe("baker_ui tool input schemas", () => {
31
33
  it.each(Object.entries(TOOL_SHAPES))("%s converts without propertyNames", (_name, shape) => {
@@ -48,6 +50,9 @@ describe("baker_ui tool input schemas", () => {
48
50
  ],
49
51
  connections: [{ platform: "google-tag-manager", reason: "to read the container" }],
50
52
  avatarHandle: "marta",
53
+ label: "Shopify admin token",
54
+ reason: "so I can update the theme",
55
+ allowedHosts: ["acme.myshopify.com"],
51
56
  resolution: { results: [] },
52
57
  });
53
58
  expect(parsed.success).toBe(true);
@@ -69,6 +74,7 @@ describe("baker_ui blocking tools", () => {
69
74
  ["request_flow_input", createFlowInputTool],
70
75
  ["request_connection", createConnectionInputTool],
71
76
  ["request_avatar_casting", createAvatarCastingTool],
77
+ ["request_credential", createCredentialInputTool],
72
78
  ])("%s always reaches the bridge's permission callback", (_name, create) => {
73
79
  expect(create()._meta).toMatchObject({ "anthropic/requiresUserInteraction": true });
74
80
  });
@@ -1 +1 @@
1
- {"version":3,"file":"baker-ui-tool-schemas.test.js","sourceRoot":"","sources":["../../src/hono/baker-ui-tool-schemas.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baker-ui-tool-schemas.test.js","sourceRoot":"","sources":["../../src/hono/baker-ui-tool-schemas.test.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { AttachedTo } from "./attachments.ts";
5
5
  import { type AvatarCastingRequest, type AvatarCastingResult } from "./avatar-casting.ts";
6
6
  import { type ConnectionInputRequest, type ConnectionInputResolution } from "./connection-input.ts";
7
7
  import { type ContextUsage } from "./context-usage.ts";
8
+ import { type CredentialInputRequest, type CredentialInputResult } from "./credential-input.ts";
8
9
  import { type FlowInputRequestInput, type FlowInputResolution, readRawFlowTree } from "./flow-input.ts";
9
10
  import { type McpServersProvider } from "./mcp-servers.ts";
10
11
  import { type DirtySessionReason } from "./session-continuity.ts";
@@ -13,7 +14,7 @@ import { type UsageBaseline } from "./session-usage-baseline.ts";
13
14
  import { type TagChangeInput, type TagChangeResolution } from "./tag-input.ts";
14
15
  import { type TurnEventRecorder } from "./turn-events.ts";
15
16
  import { type TurnModelUsage } from "./turn-model-usage.ts";
16
- import type { ChatAttachment, CurrentReference, DispatchHistorySnapshot, DispatchSender, ReviewTurn } from "./types.ts";
17
+ import type { ChatAttachment, CurrentReference, DispatchHistorySnapshot, DispatchSender, PromptCredential, ReviewTurn } from "./types.ts";
17
18
  export type BridgeJob = {
18
19
  threadId: string;
19
20
  turnId: string;
@@ -23,6 +24,7 @@ export type BridgeJob = {
23
24
  continuedAttachments?: ChatAttachment[];
24
25
  history?: DispatchHistorySnapshot;
25
26
  currentReference?: CurrentReference;
27
+ credentials?: PromptCredential[];
26
28
  currentSender?: DispatchSender;
27
29
  planMode?: boolean;
28
30
  unattended?: boolean;
@@ -75,6 +77,10 @@ export type PendingFlowInput = {
75
77
  resolve: (resolution: FlowInputResolution) => void;
76
78
  reject: (reason: Error) => void;
77
79
  };
80
+ export type PendingCredentialInput = {
81
+ resolve: (result: CredentialInputResult) => void;
82
+ reject: (reason: Error) => void;
83
+ };
78
84
  export type PendingAvatarCasting = {
79
85
  resolve: (result: AvatarCastingResult) => void;
80
86
  reject: (reason: Error) => void;
@@ -107,6 +113,7 @@ export type BridgeJobControls = {
107
113
  pendingTagInputs: Map<string, PendingTagInput>;
108
114
  pendingFlowInputs: Map<string, PendingFlowInput>;
109
115
  pendingConnectionInputs: Map<string, PendingConnectionInput>;
116
+ pendingCredentialInputs: Map<string, PendingCredentialInput>;
110
117
  pendingAvatarCastings: Map<string, PendingAvatarCasting>;
111
118
  /**
112
119
  * Reload the running query's MCP servers from Convex, set by the query that is
@@ -167,6 +174,10 @@ export type BridgeJobRelay = {
167
174
  connections: ConnectionInputRequest[];
168
175
  }): Promise<boolean>;
169
176
  connectionInputResolved(target: CallbackTarget): Promise<void>;
177
+ credentialInputRequest(target: CallbackTarget, request: {
178
+ toolUseId: string;
179
+ } & CredentialInputRequest): Promise<boolean>;
180
+ credentialInputResolved(target: CallbackTarget): Promise<void>;
170
181
  avatarCastingRequest(target: CallbackTarget, request: {
171
182
  toolUseId: string;
172
183
  } & AvatarCastingRequest): Promise<boolean>;
@@ -240,6 +251,7 @@ type BridgeJobExecutorDependencies = {
240
251
  stallTimeoutMs?: number;
241
252
  stallCheckIntervalMs?: number;
242
253
  turnEndSettleMs?: number;
254
+ turnEndWakeMs?: number;
243
255
  turnEndExitGuardMs?: number;
244
256
  /**
245
257
  * Where the harness's own behaviour is recorded. Injected so a test can assert
@@ -333,6 +345,7 @@ export declare class BridgeJobExecutor {
333
345
  private readonly stallCheckIntervalMs;
334
346
  private readonly recordTurnEvent;
335
347
  private readonly turnEndSettleMs;
348
+ private readonly turnEndWakeMs;
336
349
  private readonly turnEndExitGuardMs;
337
350
  private readonly now;
338
351
  private readonly readUsageBaseline;
@@ -458,6 +471,7 @@ export declare class BridgeJobExecutor {
458
471
  */
459
472
  private flowNodeTargetRefusals;
460
473
  private handleConnectionInputRequest;
474
+ private handleCredentialInputRequest;
461
475
  private handlePlanReview;
462
476
  /**
463
477
  * Runs the casting the created avatar is owed, then lets the original call proceed.
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-job.d.ts","sourceRoot":"","sources":["../../src/hono/bridge-job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-job.d.ts","sourceRoot":"","sources":["../../src/hono/bridge-job.ts"],"names":[],"mappings":"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"}
@@ -13,13 +13,15 @@ import { AVATAR_CASTING_TOOL_NAME, normalizeAvatarCastingToolInput, } from "./av
13
13
  import { asksForAvatarFace, FACE_QUESTION_MESSAGE } from "./avatar-face-question.js";
14
14
  import { CONNECTION_INPUT_TOOL_NAME, CONNECTION_PLATFORMS, connectedButNotLoaded, normalizeConnectionInputToolInput, toolsConnected, } from "./connection-input.js";
15
15
  import { messageContextTokens, pickContextWindow, streamEventContextUsage, turnContextUsage, } from "./context-usage.js";
16
+ import { CREDENTIAL_INPUT_TOOL_NAME, normalizeCredentialInputToolInput, } from "./credential-input.js";
17
+ import { credentialScrubHooks } from "./credential-scrub.js";
16
18
  import { FLOW_INPUT_TOOL_NAME, nodeTargetRefusals, normalizeFlowInputToolInput, readRawFlowTree, sanitizeFlowRequests, } from "./flow-input.js";
17
19
  import { writesInventedLogo } from "./invented-logo.js";
18
20
  import { installedLatitudeHook, latitudeTelemetryFor } from "./latitude-telemetry.js";
19
21
  import { composioScopesToInvalidate, failedCustomServers, reportMcpInvalid, serversConnectedWithNoTools, } from "./mcp-servers.js";
20
22
  import { agentModelOverride, autoCompactWindowForModel, betasForModel, contextWindowForModel, } from "./model-capabilities.js";
21
23
  import { BEDROCK_SERVABLE_CAPABILITIES, buildAgentExtraBody, EXTRA_BODY_ENV, MODEL_CAPABILITIES_ENV, } from "./openrouter-session.js";
22
- import { currentReferenceReminder } from "./prompt-context.js";
24
+ import { credentialReminder, currentReferenceReminder } from "./prompt-context.js";
23
25
  import { bridgeRuntimeFiles } from "./runtime-files.js";
24
26
  import { applyCurrentSenderAttribution, buildCleanBoundary, buildRehydratedPrompt, compactionRetryAttempt, emptyInProgressSession, isContextOverflowError, isResumeSessionError, observeInProgressSession, prepareSessionAttempt, stallContinuationAttempt, } from "./session-continuity.js";
25
27
  import { readSessionSkills } from "./session-skills.js";
@@ -220,6 +222,16 @@ export function reviewQueryOptions(job) {
220
222
  ? { outputFormat: { type: "json_schema", schema: job.review.outputSchema }, hooks: reviewOutputHooks() }
221
223
  : {};
222
224
  }
225
+ /**
226
+ * Every job's tool results pass through the credential scrub, appended after
227
+ * any other PostToolUse hook so its rewrite is the one the SDK keeps.
228
+ */
229
+ function withCredentialScrub(options) {
230
+ const scrub = credentialScrubHooks();
231
+ const hooks = { ...(options.hooks ?? {}) };
232
+ hooks.PostToolUse = [...(hooks.PostToolUse ?? []), ...(scrub.PostToolUse ?? [])];
233
+ return { ...options, hooks };
234
+ }
223
235
  /**
224
236
  * The review runs on Baker's own OpenRouter credential and its own read-only
225
237
  * key, both replacing whatever the Runtime was started with — the client never
@@ -246,6 +258,12 @@ export const REVIEW_DEBUG_LOG = "/tmp/baker-review-cli.jsonl";
246
258
  // briefly; model activity cancels it (the CLI clearly isn't idle). Turns that
247
259
  // never ran a task skip the delay entirely.
248
260
  const DEFAULT_TURN_END_SETTLE_MS = 1_000;
261
+ // When the last task settles after the clean result, the CLI wakes the model on
262
+ // it and streams nothing until the woken turn's first token — seconds, and 30+
263
+ // on a slow route. Ending input inside that silence strands the woken turn on a
264
+ // closed channel, and the CLI's exit at its result kills anything it backgrounds
265
+ // (dev, Oct 2026: a render). A settle that wakes nobody waits this long once.
266
+ const DEFAULT_TURN_END_WAKE_MS = 45_000;
249
267
  // After input ends, a healthy idle CLI exits within seconds. If the stream is
250
268
  // still open past this window with no messages arriving, the CLI is wedged —
251
269
  // close the query so the turn can finish instead of hanging to the watchdog.
@@ -289,6 +307,13 @@ function refuseMalformedCall(toolName, input, userText, priorUserText) {
289
307
  }
290
308
  return null;
291
309
  }
310
+ /**
311
+ * Whether this Runtime has Credentials: the backend sets `BAKER_CREDENTIALS=1`
312
+ * alongside the credential broker's proxy env. Read per turn, not at import.
313
+ */
314
+ function credentialsEnabled() {
315
+ return process.env.BAKER_CREDENTIALS === "1";
316
+ }
292
317
  /** Blocking prompts: every tool that would leave a card the backend parks on. */
293
318
  function deniedUnattendedPrompt(toolName) {
294
319
  return (toolName === "AskUserQuestion" ||
@@ -296,6 +321,7 @@ function deniedUnattendedPrompt(toolName) {
296
321
  toolName === TAG_INPUT_TOOL_NAME ||
297
322
  toolName === FLOW_INPUT_TOOL_NAME ||
298
323
  toolName === CONNECTION_INPUT_TOOL_NAME ||
324
+ toolName === CREDENTIAL_INPUT_TOOL_NAME ||
299
325
  toolName === AVATAR_CASTING_TOOL_NAME);
300
326
  }
301
327
  export class StreamStallError extends Error {
@@ -817,7 +843,7 @@ beforeEndInput) {
817
843
  }, timings.exitGuardMs);
818
844
  exitGuard.unref?.();
819
845
  };
820
- const scheduleEnd = () => {
846
+ const scheduleEnd = (delayMs = timings.settleMs) => {
821
847
  if (settleTimer) {
822
848
  return;
823
849
  }
@@ -829,7 +855,7 @@ beforeEndInput) {
829
855
  endInput();
830
856
  return;
831
857
  }
832
- settleTimer = setTimeout(endInput, timings.settleMs);
858
+ settleTimer = setTimeout(endInput, delayMs);
833
859
  settleTimer.unref?.();
834
860
  };
835
861
  return {
@@ -895,7 +921,7 @@ beforeEndInput) {
895
921
  // second result) would strand the turn until the watchdog. An emptied
896
922
  // background_tasks_changed level counts as a settle the same way.
897
923
  if (lastWasTaskLifecycle && cleanResultSeen && !hasInFlightWork()) {
898
- scheduleEnd();
924
+ scheduleEnd(timings.wakeMs);
899
925
  }
900
926
  },
901
927
  hasInFlightWork,
@@ -988,6 +1014,7 @@ export class BridgeJobExecutor {
988
1014
  stallCheckIntervalMs;
989
1015
  recordTurnEvent;
990
1016
  turnEndSettleMs;
1017
+ turnEndWakeMs;
991
1018
  turnEndExitGuardMs;
992
1019
  now;
993
1020
  readUsageBaseline;
@@ -1006,6 +1033,7 @@ export class BridgeJobExecutor {
1006
1033
  this.stallCheckIntervalMs = dependencies.stallCheckIntervalMs ?? DEFAULT_STALL_CHECK_INTERVAL_MS;
1007
1034
  this.recordTurnEvent = dependencies.recordTurnEvent ?? recordTurnEvent;
1008
1035
  this.turnEndSettleMs = dependencies.turnEndSettleMs ?? DEFAULT_TURN_END_SETTLE_MS;
1036
+ this.turnEndWakeMs = dependencies.turnEndWakeMs ?? DEFAULT_TURN_END_WAKE_MS;
1009
1037
  this.turnEndExitGuardMs = dependencies.turnEndExitGuardMs ?? DEFAULT_TURN_END_EXIT_GUARD_MS;
1010
1038
  this.now = dependencies.now ?? Date.now;
1011
1039
  this.readUsageBaseline =
@@ -1087,7 +1115,11 @@ export class BridgeJobExecutor {
1087
1115
  const verbatim = verbatimSlashCommand(job.prompt) ??
1088
1116
  leadingSkillCommand(job.prompt, (await readSessionSkills(bridgeRuntimeFiles.projectRoot())) ?? []);
1089
1117
  let requestPrompt = verbatim ?? applyCurrentSenderAttribution(job.prompt, job.currentSender);
1090
- const reminder = verbatim === null ? currentReferenceReminder(job.currentReference) : undefined;
1118
+ const reminders = [
1119
+ verbatim === null ? currentReferenceReminder(job.currentReference) : undefined,
1120
+ credentialReminder(job.credentials ?? [], credentialsEnabled()),
1121
+ ].filter((text) => text !== undefined);
1122
+ const reminder = reminders.length > 0 ? reminders.join("\n\n") : undefined;
1091
1123
  if (job.attachments && job.attachments.length > 0) {
1092
1124
  requestPrompt += await this.prepareAttachments(job.attachments, "message");
1093
1125
  }
@@ -1364,7 +1396,7 @@ export class BridgeJobExecutor {
1364
1396
  if (!servers) {
1365
1397
  return notReady;
1366
1398
  }
1367
- const result = await settleWithin(query.setMcpServers({ ...servers, baker_ui: createBakerUiServer() }), MCP_RELOAD_TIMEOUT_MS);
1399
+ const result = await settleWithin(query.setMcpServers({ ...servers, baker_ui: createBakerUiServer({ credentials: credentialsEnabled() }) }), MCP_RELOAD_TIMEOUT_MS);
1368
1400
  const failed = Object.keys(result?.errors ?? {});
1369
1401
  if (failed.length > 0) {
1370
1402
  console.error(`[mcp] reload after a connection could not start ${failed.join(", ")}`);
@@ -1467,6 +1499,15 @@ export class BridgeJobExecutor {
1467
1499
  if (toolName === CONNECTION_INPUT_TOOL_NAME) {
1468
1500
  return this.handleConnectionInputRequest(job, controls, input, opts.toolUseID, opts.signal);
1469
1501
  }
1502
+ if (toolName === CREDENTIAL_INPUT_TOOL_NAME) {
1503
+ if (!credentialsEnabled()) {
1504
+ return Promise.resolve({
1505
+ behavior: "deny",
1506
+ message: "Saved credentials are not available in this workspace. Ask the user to share what you need another way, and never ask them to paste a password or key into the chat.",
1507
+ });
1508
+ }
1509
+ return this.handleCredentialInputRequest(job, controls, input, opts.toolUseID, opts.signal);
1510
+ }
1470
1511
  if (toolName === AVATAR_CASTING_TOOL_NAME) {
1471
1512
  return this.handleAvatarCastingRequest(job, controls, input, opts.toolUseID, opts.signal);
1472
1513
  }
@@ -1537,7 +1578,7 @@ export class BridgeJobExecutor {
1537
1578
  settingSources: ["project"],
1538
1579
  // `baker_ui` hosts in-process interactive dashboard tools (secure tag
1539
1580
  // form). Always present; HTTP (Composio) servers merge alongside it.
1540
- mcpServers: { ...(mcpServers ?? {}), baker_ui: createBakerUiServer() },
1581
+ mcpServers: { ...(mcpServers ?? {}), baker_ui: createBakerUiServer({ credentials: credentialsEnabled() }) },
1541
1582
  // Only send the key when there is something in it: the SDK forwards
1542
1583
  // `settings` to the CLI whenever it is present, so an empty object still
1543
1584
  // becomes a `--settings {}` flag tier for the CLI to parse.
@@ -1550,7 +1591,7 @@ export class BridgeJobExecutor {
1550
1591
  // the workspace could not be read; omit rather than allowlist nothing.
1551
1592
  ...(skills ? { skills } : {}),
1552
1593
  disallowedTools: disallowedToolsFor(job),
1553
- ...reviewQueryOptions(job),
1594
+ ...withCredentialScrub(reviewQueryOptions(job)),
1554
1595
  ...(job.planMode ? { permissionMode: "plan" } : {}),
1555
1596
  canUseTool: (toolName, input, opts) => this.routeToolUse(job, controls, toolName, input, opts),
1556
1597
  // No `fallbackModel`, and no server-side refusal `fallbacks` in the extra
@@ -1575,6 +1616,10 @@ export class BridgeJobExecutor {
1575
1616
  // system-reminder repeatedly pushed the agent toward that ephemeral
1576
1617
  // backlog instead of the product's own Tasks (`baker actions`).
1577
1618
  CLAUDE_CODE_ENABLE_TASKS: "0",
1619
+ // The CLI clamps any Bash timeout to 10 minutes unless told otherwise;
1620
+ // the workspace's `inject-timeouts` hook gives a render up to 30, and at
1621
+ // the clamp the render was moved to the background mid-repair.
1622
+ BASH_MAX_TIMEOUT_MS: String(30 * 60_000),
1578
1623
  // `citty` writes ANSI escapes into `baker --help` unconditionally —
1579
1624
  // they are never TTY-gated, so every help read the agent does inside
1580
1625
  // the sandbox pays ~5-10% of its tokens on colour codes it can't see.
@@ -1649,7 +1694,7 @@ export class BridgeJobExecutor {
1649
1694
  // A reading that answers after the query drained (past its timeout) belongs
1650
1695
  // to a query already folded into the turn — and a retry reuses `state`.
1651
1696
  let drained = false;
1652
- const turnEnd = createTurnEndController(job, query, closeQuery, { settleMs: this.turnEndSettleMs, exitGuardMs: this.turnEndExitGuardMs }, this.recordTurnEvent, async () => {
1697
+ const turnEnd = createTurnEndController(job, query, closeQuery, { settleMs: this.turnEndSettleMs, wakeMs: this.turnEndWakeMs, exitGuardMs: this.turnEndExitGuardMs }, this.recordTurnEvent, async () => {
1653
1698
  const reading = await query.usage?.();
1654
1699
  if (reading && !drained) {
1655
1700
  settledCostUsd = recordCumulativeUsage(state, reading);
@@ -1757,6 +1802,7 @@ export class BridgeJobExecutor {
1757
1802
  controls.pendingTagInputs.size > 0 ||
1758
1803
  controls.pendingFlowInputs.size > 0 ||
1759
1804
  controls.pendingConnectionInputs.size > 0 ||
1805
+ controls.pendingCredentialInputs.size > 0 ||
1760
1806
  controls.pendingAvatarCastings.size > 0,
1761
1807
  onStall: () => {
1762
1808
  console.error(`[BridgeJob] no stream data for ${this.stallTimeoutMs}ms while awaiting the model — closing query for retry (thread ${job.threadId})`);
@@ -2265,6 +2311,36 @@ export class BridgeJobExecutor {
2265
2311
  : decision.value;
2266
2312
  return { behavior: "allow", updatedInput: { connections, resolution } };
2267
2313
  }
2314
+ async handleCredentialInputRequest(job, controls, input, toolUseId, signal) {
2315
+ const target = { threadId: job.threadId, turnId: job.turnId };
2316
+ const request = normalizeCredentialInputToolInput(input);
2317
+ if (!request) {
2318
+ return {
2319
+ behavior: "deny",
2320
+ message: "request_credential requires { label, reason, allowedHosts: [...] } (and optionally a lowercase `name`). Retry with that shape.",
2321
+ };
2322
+ }
2323
+ const posted = await this.relay.credentialInputRequest(target, { toolUseId, ...request });
2324
+ if (!posted) {
2325
+ console.error(`[request_credential] failed to post credential-input-request for ${toolUseId} — denying`);
2326
+ return {
2327
+ behavior: "deny",
2328
+ message: "The credential request could not be delivered to the dashboard — retry request_credential in a moment.",
2329
+ };
2330
+ }
2331
+ const decision = await this.awaitPromptDecision({
2332
+ label: "request_credential",
2333
+ signal,
2334
+ controls,
2335
+ pending: controls.pendingCredentialInputs,
2336
+ toolUseId,
2337
+ });
2338
+ if (decision.kind === "unanswered") {
2339
+ return { behavior: "deny", message: PROMPT_UNANSWERED_MESSAGE };
2340
+ }
2341
+ void this.relay.credentialInputResolved(target);
2342
+ return { behavior: "allow", updatedInput: { ...request, resolution: decision.value } };
2343
+ }
2268
2344
  async handlePlanReview(job, controls, input, toolUseId, signal) {
2269
2345
  const target = { threadId: job.threadId, turnId: job.turnId };
2270
2346
  controls.markEvent?.();