@0xmaxma/claude-gateway 2.0.3 → 2.0.5

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 (254) hide show
  1. package/README.md +11 -1
  2. package/dist/agent/builtin-commands.d.ts +1 -1
  3. package/dist/agent/builtin-commands.d.ts.map +1 -1
  4. package/dist/agent/builtin-commands.js +3 -2
  5. package/dist/agent/builtin-commands.js.map +1 -1
  6. package/dist/agent/runner.d.ts +109 -9
  7. package/dist/agent/runner.d.ts.map +1 -1
  8. package/dist/agent/runner.js +211 -135
  9. package/dist/agent/runner.js.map +1 -1
  10. package/dist/agent/skill-learning/index.d.ts.map +1 -1
  11. package/dist/agent/skill-learning/index.js +27 -8
  12. package/dist/agent/skill-learning/index.js.map +1 -1
  13. package/dist/agent/skill-learning/reviewer.d.ts +3 -1
  14. package/dist/agent/skill-learning/reviewer.d.ts.map +1 -1
  15. package/dist/agent/skill-learning/reviewer.js +6 -2
  16. package/dist/agent/skill-learning/reviewer.js.map +1 -1
  17. package/dist/agent/turn-stream.d.ts +3 -1
  18. package/dist/agent/turn-stream.d.ts.map +1 -1
  19. package/dist/agent/turn-stream.js +8 -4
  20. package/dist/agent/turn-stream.js.map +1 -1
  21. package/dist/api/gateway-router.d.ts +2 -0
  22. package/dist/api/gateway-router.d.ts.map +1 -1
  23. package/dist/api/gateway-router.js +229 -12
  24. package/dist/api/gateway-router.js.map +1 -1
  25. package/dist/api/router.js +11 -11
  26. package/dist/api/router.js.map +1 -1
  27. package/dist/api/slack-webhook-router.js +1 -1
  28. package/dist/api/slack-webhook-router.js.map +1 -1
  29. package/dist/api/voice-router.d.ts +1 -0
  30. package/dist/api/voice-router.d.ts.map +1 -1
  31. package/dist/api/voice-router.js +129 -7
  32. package/dist/api/voice-router.js.map +1 -1
  33. package/dist/config/claude-settings.d.ts +14 -0
  34. package/dist/config/claude-settings.d.ts.map +1 -1
  35. package/dist/config/claude-settings.js +20 -0
  36. package/dist/config/claude-settings.js.map +1 -1
  37. package/dist/orchestration/agent-cli-session.d.ts +46 -0
  38. package/dist/orchestration/agent-cli-session.d.ts.map +1 -0
  39. package/dist/orchestration/agent-cli-session.js +121 -0
  40. package/dist/orchestration/agent-cli-session.js.map +1 -0
  41. package/dist/orchestration/agent-tool-schemas.d.ts +6 -0
  42. package/dist/orchestration/agent-tool-schemas.d.ts.map +1 -0
  43. package/dist/orchestration/agent-tool-schemas.js +23 -0
  44. package/dist/orchestration/agent-tool-schemas.js.map +1 -0
  45. package/dist/orchestration/bridge.d.ts +7 -3
  46. package/dist/orchestration/bridge.d.ts.map +1 -1
  47. package/dist/orchestration/bridge.js +93 -66
  48. package/dist/orchestration/bridge.js.map +1 -1
  49. package/dist/orchestration/browser-voice.d.ts +14 -0
  50. package/dist/orchestration/browser-voice.d.ts.map +1 -0
  51. package/dist/orchestration/browser-voice.js +30 -0
  52. package/dist/orchestration/browser-voice.js.map +1 -0
  53. package/dist/orchestration/channel-input-media.d.ts +6 -0
  54. package/dist/orchestration/channel-input-media.d.ts.map +1 -1
  55. package/dist/orchestration/channel-input-media.js +35 -11
  56. package/dist/orchestration/channel-input-media.js.map +1 -1
  57. package/dist/orchestration/channel-media-error.d.ts +11 -0
  58. package/dist/orchestration/channel-media-error.d.ts.map +1 -0
  59. package/dist/orchestration/channel-media-error.js +38 -0
  60. package/dist/orchestration/channel-media-error.js.map +1 -0
  61. package/dist/orchestration/channel-media.d.ts +1 -1
  62. package/dist/orchestration/channel-media.d.ts.map +1 -1
  63. package/dist/orchestration/channel-media.js +37 -7
  64. package/dist/orchestration/channel-media.js.map +1 -1
  65. package/dist/orchestration/context-footprint.d.ts +14 -0
  66. package/dist/orchestration/context-footprint.d.ts.map +1 -0
  67. package/dist/orchestration/context-footprint.js +57 -0
  68. package/dist/orchestration/context-footprint.js.map +1 -0
  69. package/dist/orchestration/conversation-intake.d.ts +1 -1
  70. package/dist/orchestration/conversation-intake.d.ts.map +1 -1
  71. package/dist/orchestration/conversation-intake.js +1 -1
  72. package/dist/orchestration/dashboard-reader-worker.d.ts +2 -0
  73. package/dist/orchestration/dashboard-reader-worker.d.ts.map +1 -0
  74. package/dist/orchestration/dashboard-reader-worker.js +155 -0
  75. package/dist/orchestration/dashboard-reader-worker.js.map +1 -0
  76. package/dist/orchestration/dashboard-reader.d.ts +15 -0
  77. package/dist/orchestration/dashboard-reader.d.ts.map +1 -0
  78. package/dist/orchestration/dashboard-reader.js +87 -0
  79. package/dist/orchestration/dashboard-reader.js.map +1 -0
  80. package/dist/orchestration/decision-context.d.ts +15 -0
  81. package/dist/orchestration/decision-context.d.ts.map +1 -0
  82. package/dist/orchestration/decision-context.js +57 -0
  83. package/dist/orchestration/decision-context.js.map +1 -0
  84. package/dist/orchestration/delivery.d.ts +3 -0
  85. package/dist/orchestration/delivery.d.ts.map +1 -1
  86. package/dist/orchestration/delivery.js +14 -5
  87. package/dist/orchestration/delivery.js.map +1 -1
  88. package/dist/orchestration/display-stream.d.ts +21 -2
  89. package/dist/orchestration/display-stream.d.ts.map +1 -1
  90. package/dist/orchestration/display-stream.js +61 -8
  91. package/dist/orchestration/display-stream.js.map +1 -1
  92. package/dist/orchestration/inference-errors.d.ts.map +1 -1
  93. package/dist/orchestration/inference-errors.js +56 -3
  94. package/dist/orchestration/inference-errors.js.map +1 -1
  95. package/dist/orchestration/mutation-recovery.d.ts +12 -0
  96. package/dist/orchestration/mutation-recovery.d.ts.map +1 -0
  97. package/dist/orchestration/mutation-recovery.js +41 -0
  98. package/dist/orchestration/mutation-recovery.js.map +1 -0
  99. package/dist/orchestration/native-compact.d.ts +5 -0
  100. package/dist/orchestration/native-compact.d.ts.map +1 -0
  101. package/dist/orchestration/native-compact.js +29 -0
  102. package/dist/orchestration/native-compact.js.map +1 -0
  103. package/dist/orchestration/notification-mailbox.d.ts +3 -1
  104. package/dist/orchestration/notification-mailbox.d.ts.map +1 -1
  105. package/dist/orchestration/notification-mailbox.js +4 -2
  106. package/dist/orchestration/notification-mailbox.js.map +1 -1
  107. package/dist/orchestration/process-turn.d.ts +15 -2
  108. package/dist/orchestration/process-turn.d.ts.map +1 -1
  109. package/dist/orchestration/process-turn.js +103 -16
  110. package/dist/orchestration/process-turn.js.map +1 -1
  111. package/dist/orchestration/progress-review.d.ts +8 -18
  112. package/dist/orchestration/progress-review.d.ts.map +1 -1
  113. package/dist/orchestration/progress-review.js +12 -14
  114. package/dist/orchestration/progress-review.js.map +1 -1
  115. package/dist/orchestration/provider-message.d.ts +7 -0
  116. package/dist/orchestration/provider-message.d.ts.map +1 -0
  117. package/dist/orchestration/provider-message.js +63 -0
  118. package/dist/orchestration/provider-message.js.map +1 -0
  119. package/dist/orchestration/response-errors.d.ts +6 -0
  120. package/dist/orchestration/response-errors.d.ts.map +1 -0
  121. package/dist/orchestration/response-errors.js +88 -0
  122. package/dist/orchestration/response-errors.js.map +1 -0
  123. package/dist/orchestration/response-schema.d.ts +33 -0
  124. package/dist/orchestration/response-schema.d.ts.map +1 -0
  125. package/dist/orchestration/response-schema.js +61 -0
  126. package/dist/orchestration/response-schema.js.map +1 -0
  127. package/dist/orchestration/runtime.d.ts +69 -0
  128. package/dist/orchestration/runtime.d.ts.map +1 -1
  129. package/dist/orchestration/runtime.js +347 -98
  130. package/dist/orchestration/runtime.js.map +1 -1
  131. package/dist/orchestration/skills.d.ts.map +1 -1
  132. package/dist/orchestration/skills.js +3 -2
  133. package/dist/orchestration/skills.js.map +1 -1
  134. package/dist/orchestration/source-policy.d.ts +1 -1
  135. package/dist/orchestration/source-policy.d.ts.map +1 -1
  136. package/dist/orchestration/source-policy.js +1 -1
  137. package/dist/orchestration/speech.d.ts +15 -17
  138. package/dist/orchestration/speech.d.ts.map +1 -1
  139. package/dist/orchestration/speech.js +90 -30
  140. package/dist/orchestration/speech.js.map +1 -1
  141. package/dist/orchestration/store.d.ts +19 -0
  142. package/dist/orchestration/store.d.ts.map +1 -1
  143. package/dist/orchestration/store.js +44 -1
  144. package/dist/orchestration/store.js.map +1 -1
  145. package/dist/orchestration/tasks/driver.d.ts.map +1 -1
  146. package/dist/orchestration/tasks/driver.js +8 -3
  147. package/dist/orchestration/tasks/driver.js.map +1 -1
  148. package/dist/orchestration/tasks/pool.d.ts.map +1 -1
  149. package/dist/orchestration/tasks/pool.js +8 -4
  150. package/dist/orchestration/tasks/pool.js.map +1 -1
  151. package/dist/orchestration/tasks/service.d.ts +48 -1
  152. package/dist/orchestration/tasks/service.d.ts.map +1 -1
  153. package/dist/orchestration/tasks/service.js +41 -17
  154. package/dist/orchestration/tasks/service.js.map +1 -1
  155. package/dist/orchestration/token-ledger.d.ts +125 -0
  156. package/dist/orchestration/token-ledger.d.ts.map +1 -0
  157. package/dist/orchestration/token-ledger.js +232 -0
  158. package/dist/orchestration/token-ledger.js.map +1 -0
  159. package/dist/orchestration/token-usage.d.ts +46 -0
  160. package/dist/orchestration/token-usage.d.ts.map +1 -0
  161. package/dist/orchestration/token-usage.js +102 -0
  162. package/dist/orchestration/token-usage.js.map +1 -0
  163. package/dist/orchestration/tool-activity.d.ts.map +1 -1
  164. package/dist/orchestration/tool-activity.js +5 -3
  165. package/dist/orchestration/tool-activity.js.map +1 -1
  166. package/dist/orchestration/tool-name.d.ts +10 -0
  167. package/dist/orchestration/tool-name.d.ts.map +1 -0
  168. package/dist/orchestration/tool-name.js +14 -0
  169. package/dist/orchestration/tool-name.js.map +1 -0
  170. package/dist/orchestration/transcript-checkpoint.d.ts +14 -0
  171. package/dist/orchestration/transcript-checkpoint.d.ts.map +1 -0
  172. package/dist/orchestration/transcript-checkpoint.js +83 -0
  173. package/dist/orchestration/transcript-checkpoint.js.map +1 -0
  174. package/dist/orchestration/unanswered-inputs.d.ts +6 -0
  175. package/dist/orchestration/unanswered-inputs.d.ts.map +1 -0
  176. package/dist/orchestration/unanswered-inputs.js +18 -0
  177. package/dist/orchestration/unanswered-inputs.js.map +1 -0
  178. package/dist/session/process.d.ts +10 -0
  179. package/dist/session/process.d.ts.map +1 -1
  180. package/dist/session/process.js +91 -9
  181. package/dist/session/process.js.map +1 -1
  182. package/dist/session/request-tool-capture.d.ts +31 -0
  183. package/dist/session/request-tool-capture.d.ts.map +1 -0
  184. package/dist/session/request-tool-capture.js +194 -0
  185. package/dist/session/request-tool-capture.js.map +1 -0
  186. package/dist/session/runtime-profile.d.ts +7 -3
  187. package/dist/session/runtime-profile.d.ts.map +1 -1
  188. package/dist/session/runtime-profile.js +3 -1
  189. package/dist/session/runtime-profile.js.map +1 -1
  190. package/dist/session/store.d.ts +7 -0
  191. package/dist/session/store.d.ts.map +1 -1
  192. package/dist/session/store.js +27 -0
  193. package/dist/session/store.js.map +1 -1
  194. package/dist/shell/tailer.d.ts +7 -5
  195. package/dist/shell/tailer.d.ts.map +1 -1
  196. package/dist/shell/tailer.js +6 -17
  197. package/dist/shell/tailer.js.map +1 -1
  198. package/dist/ui/cli-viewer-ui.js +1 -1
  199. package/dist/ui/dashboard-client.d.ts +3 -0
  200. package/dist/ui/dashboard-client.d.ts.map +1 -0
  201. package/dist/ui/dashboard-client.js +188 -0
  202. package/dist/ui/dashboard-client.js.map +1 -0
  203. package/dist/ui/dashboard-presentation.d.ts +9 -0
  204. package/dist/ui/dashboard-presentation.d.ts.map +1 -0
  205. package/dist/ui/dashboard-presentation.js +56 -0
  206. package/dist/ui/dashboard-presentation.js.map +1 -0
  207. package/dist/ui/dashboard-range.d.ts +5 -0
  208. package/dist/ui/dashboard-range.d.ts.map +1 -0
  209. package/dist/ui/dashboard-range.js +20 -0
  210. package/dist/ui/dashboard-range.js.map +1 -0
  211. package/dist/ui/dashboard-theme.d.ts +4 -0
  212. package/dist/ui/dashboard-theme.d.ts.map +1 -0
  213. package/dist/ui/dashboard-theme.js +485 -0
  214. package/dist/ui/dashboard-theme.js.map +1 -0
  215. package/dist/ui/token-report-client.d.ts +3 -0
  216. package/dist/ui/token-report-client.d.ts.map +1 -0
  217. package/dist/ui/token-report-client.js +34 -0
  218. package/dist/ui/token-report-client.js.map +1 -0
  219. package/dist/ui/token-report.d.ts +89 -0
  220. package/dist/ui/token-report.d.ts.map +1 -0
  221. package/dist/ui/token-report.js +200 -0
  222. package/dist/ui/token-report.js.map +1 -0
  223. package/dist/ui/web-ui.d.ts.map +1 -1
  224. package/dist/ui/web-ui.js +124 -181
  225. package/dist/ui/web-ui.js.map +1 -1
  226. package/dist/voice/replay.d.ts +8 -0
  227. package/dist/voice/replay.d.ts.map +1 -0
  228. package/dist/voice/replay.js +48 -0
  229. package/dist/voice/replay.js.map +1 -0
  230. package/dist/voice/session.d.ts +9 -0
  231. package/dist/voice/session.d.ts.map +1 -1
  232. package/dist/voice/session.js +72 -14
  233. package/dist/voice/session.js.map +1 -1
  234. package/mcp/lazy-connector.test.ts +58 -0
  235. package/mcp/lazy-connector.ts +67 -0
  236. package/mcp/lazy-tools.test.ts +152 -0
  237. package/mcp/lazy-tools.ts +41 -0
  238. package/mcp/server.ts +53 -34
  239. package/mcp/tools/discord/commands.ts +2 -0
  240. package/mcp/tools/discord/inbound.ts +1 -1
  241. package/mcp/tools/discord/receiver-server.ts +1 -1
  242. package/mcp/tools/discord/types.ts +1 -1
  243. package/mcp/tools/receiver-spool.test.ts +8 -2
  244. package/mcp/tools/receiver-spool.ts +198 -25
  245. package/mcp/tools/tasks/module.ts +1 -12
  246. package/mcp/tools/telegram/media-group.ts +3 -3
  247. package/mcp/tools/telegram/receiver-server.ts +15 -15
  248. package/mcp/types.ts +1 -1
  249. package/package.json +2 -1
  250. package/resource/dashboard/OFL.txt +93 -0
  251. package/resource/dashboard/poppins-300.woff2 +0 -0
  252. package/resource/dashboard/poppins-400.woff2 +0 -0
  253. package/resource/dashboard/poppins-500.woff2 +0 -0
  254. package/resource/dashboard/poppins-600.woff2 +0 -0
@@ -0,0 +1,12 @@
1
+ /** Match only corrected spawn validation failures within one decision. No inference,
2
+ * replay or authorization change: the later action must have actually committed. */
3
+ export interface MutationAttempt {
4
+ actionId: string;
5
+ tool: string;
6
+ args: Record<string, unknown>;
7
+ committed?: boolean;
8
+ errorCode?: string;
9
+ }
10
+ export declare function retryableMutation(tool: string, code?: string): boolean;
11
+ export declare function unresolvedMutations(attempts: MutationAttempt[]): boolean;
12
+ //# sourceMappingURL=mutation-recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-recovery.d.ts","sourceRoot":"","sources":["../../src/orchestration/mutation-recovery.ts"],"names":[],"mappings":"AAAA;oFACoF;AACpF,MAAM,WAAW,eAAe;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAAE;AAC5I,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAGtE;AAcD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,OAAO,CAaxE"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.retryableMutation = retryableMutation;
4
+ exports.unresolvedMutations = unresolvedMutations;
5
+ function retryableMutation(tool, code) {
6
+ return tool === 'task_spawn' ? ['INVALID_INPUT', 'UNKNOWN_SKILL', 'ACKNOWLEDGEMENT_REQUIRED'].includes(code ?? '')
7
+ : tool === 'task_update' && ['INVALID_INPUT', 'REVISION_CONFLICT', 'ACKNOWLEDGEMENT_REQUIRED'].includes(code ?? '');
8
+ }
9
+ function updateIdentity(a) {
10
+ if (typeof a.task_id !== 'string' || !a.task_id || typeof a.instruction !== 'string' || !a.instruction.trim())
11
+ return;
12
+ return JSON.stringify([a.task_id, a.instruction, a.mode]);
13
+ }
14
+ function spawnIdentity(a) {
15
+ if (typeof a.title !== 'string' || !a.title.trim())
16
+ return;
17
+ // Titles and predecessor IDs do not identify a unique assignment. The brief
18
+ // must match too unless the caller explicitly references the rejected action.
19
+ const continuation = typeof a.continue_task_id === 'string' && a.continue_task_id ? a.continue_task_id : null;
20
+ if (typeof a.instructions !== 'string' || !a.instructions.trim())
21
+ return;
22
+ return JSON.stringify([a.title, continuation, a.instructions,
23
+ a.continuation_policy ?? 'after_success', a.context_refs ?? []]);
24
+ }
25
+ function unresolvedMutations(attempts) {
26
+ return attempts.some((attempt, index) => {
27
+ if (attempt.committed)
28
+ return false;
29
+ if (!retryableMutation(attempt.tool, attempt.errorCode))
30
+ return true;
31
+ const identify = attempt.tool === 'task_update' ? updateIdentity : spawnIdentity;
32
+ const identity = identify(attempt.args);
33
+ // Invalid required fields cannot form an identity, but the bridge's explicit
34
+ // retry reference still identifies the rejected command being corrected.
35
+ return !attempts.slice(index + 1).some(next => next.actionId !== attempt.actionId &&
36
+ next.committed && next.tool === attempt.tool &&
37
+ (attempt.tool !== 'task_update' || !attempt.args.task_id || next.args.task_id === attempt.args.task_id) &&
38
+ (next.args.retry_of === attempt.actionId || (identity !== undefined && identify(next.args) === identity)));
39
+ });
40
+ }
41
+ //# sourceMappingURL=mutation-recovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-recovery.js","sourceRoot":"","sources":["../../src/orchestration/mutation-recovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { SessionProcess } from '../session/process';
2
+ import { ProcessTurn } from './process-turn';
3
+ /** The CLI owns context compaction. Never replace gateway chat history. */
4
+ export declare function startNativeCompact(process: SessionProcess, alreadyStarted?: boolean): ProcessTurn;
5
+ //# sourceMappingURL=native-compact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-compact.d.ts","sourceRoot":"","sources":["../../src/orchestration/native-compact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAoB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG/D,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,UAAQ,GAAG,WAAW,CAiB/F"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.startNativeCompact = startNativeCompact;
4
+ const process_turn_1 = require("./process-turn");
5
+ const types_1 = require("./types");
6
+ /** The CLI owns context compaction. Never replace gateway chat history. */
7
+ function startNativeCompact(process, alreadyStarted = false) {
8
+ let compacted = false;
9
+ const observe = (line) => {
10
+ try {
11
+ const event = JSON.parse(line);
12
+ if (event.type === 'system' && event.subtype === 'compact_boundary')
13
+ compacted = true;
14
+ }
15
+ catch { /* Ignore non-protocol output. */ }
16
+ };
17
+ process.on('output', observe);
18
+ const turn = (0, process_turn_1.startProcessTurn)(process, '/compact', 300000, undefined, undefined, [], undefined, undefined, alreadyStarted);
19
+ const result = turn.result.then(result => {
20
+ if (result.interrupted)
21
+ throw new types_1.OrchestrationError('INTERRUPTED', 'Context compaction was stopped.');
22
+ if (!compacted)
23
+ throw new types_1.OrchestrationError('COMPACT_NOT_CONFIRMED', 'Claude Code did not confirm context compaction. The context may be too short, or this CLI version may not support /compact.');
24
+ return result;
25
+ }).finally(() => process.off('output', observe));
26
+ void result.catch(() => { });
27
+ return { ...turn, result };
28
+ }
29
+ //# sourceMappingURL=native-compact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-compact.js","sourceRoot":"","sources":["../../src/orchestration/native-compact.ts"],"names":[],"mappings":";;AAKA,gDAiBC;AArBD,iDAA+D;AAC/D,mCAA6C;AAE7C,2EAA2E;AAC3E,SAAgB,kBAAkB,CAAC,OAAuB,EAAE,cAAc,GAAG,KAAK;IAChF,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,kBAAkB;gBAAE,SAAS,GAAG,IAAI,CAAC;QACxF,CAAC;QAAC,MAAM,CAAC,CAAC,iCAAiC,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAA,+BAAgB,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAC3H,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACvC,IAAI,MAAM,CAAC,WAAW;YAAE,MAAM,IAAI,0BAAkB,CAAC,aAAa,EAAE,iCAAiC,CAAC,CAAC;QACvG,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,0BAAkB,CAAC,uBAAuB,EAAE,6HAA6H,CAAC,CAAC;QACrM,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAC,GAAG,IAAI,EAAE,MAAM,EAAC,CAAC;AAC3B,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { OrchestrationStore } from './store';
2
2
  /** Retry reports, never task execution. Decisions/inputs retain the retry clock
3
- * across restarts, including failed reports written before this implementation. */
3
+ * across restarts, including failed reports written before this implementation.
4
+ * Prolonged outages back off to one hour instead of retrying every five minutes.
5
+ * User inputs bypass this automatic-report scheduler. */
4
6
  export declare function pendingReports(store: OrchestrationStore, activeSessions: string[], scheduled: string[], automatic: boolean, now?: number): import("./store").Row[];
5
7
  //# sourceMappingURL=notification-mailbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification-mailbox.d.ts","sourceRoot":"","sources":["../../src/orchestration/notification-mailbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C;mFACmF;AACnF,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAa,2BAuB5I"}
1
+ {"version":3,"file":"notification-mailbox.d.ts","sourceRoot":"","sources":["../../src/orchestration/notification-mailbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C;;;yDAGyD;AACzD,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAa,2BAuB5I"}
@@ -2,7 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pendingReports = pendingReports;
4
4
  /** Retry reports, never task execution. Decisions/inputs retain the retry clock
5
- * across restarts, including failed reports written before this implementation. */
5
+ * across restarts, including failed reports written before this implementation.
6
+ * Prolonged outages back off to one hour instead of retrying every five minutes.
7
+ * User inputs bypass this automatic-report scheduler. */
6
8
  function pendingReports(store, activeSessions, scheduled, automatic, now = Date.now()) {
7
9
  return store.all(`WITH candidates AS (
8
10
  SELECT n.id notification_id,c.*,i.id previous_input_id,i.input_seq previous_seq,
@@ -23,7 +25,7 @@ function pendingReports(store, activeSessions, scheduled, automatic, now = Date.
23
25
  ), eligible AS (
24
26
  SELECT *,ROW_NUMBER() OVER (PARTITION BY id ORDER BY notification_id) position FROM candidates
25
27
  WHERE decision_state IS NULL OR decision_state='completed' OR (decision_state='failed'
26
- AND ended_at+MIN(300000,5000*(1 << MIN(6,attempts-1)))<=?)
28
+ AND ended_at+MIN(3600000,5000*(1 << MIN(10,attempts-1)))<=?)
27
29
  ) SELECT * FROM eligible WHERE position=1 ORDER BY notification_id LIMIT 20`, JSON.stringify(activeSessions), automatic ? 1 : 0, JSON.stringify(scheduled), now);
28
30
  }
29
31
  //# sourceMappingURL=notification-mailbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification-mailbox.js","sourceRoot":"","sources":["../../src/orchestration/notification-mailbox.ts"],"names":[],"mappings":";;AAIA,wCAuBC;AAzBD;mFACmF;AACnF,SAAgB,cAAc,CAAC,KAAyB,EAAE,cAAwB,EAAE,SAAmB,EAAE,SAAkB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC3I,OAAO,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;8EAoB2D,EAC5E,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"notification-mailbox.js","sourceRoot":"","sources":["../../src/orchestration/notification-mailbox.ts"],"names":[],"mappings":";;AAMA,wCAuBC;AA3BD;;;yDAGyD;AACzD,SAAgB,cAAc,CAAC,KAAyB,EAAE,cAAwB,EAAE,SAAmB,EAAE,SAAkB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC3I,OAAO,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;8EAoB2D,EAC5E,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;AACrF,CAAC"}
@@ -1,7 +1,9 @@
1
+ import { TokenUsage, RequestUsage } from './token-usage';
1
2
  import { TurnObservation } from './execution-observation';
2
3
  import type { InputImage } from '../session/input-image';
3
4
  import { SessionProcess } from '../session/process';
4
5
  export interface TurnTimeoutPolicy {
6
+ onUsage?: (metrics: ManagedTurnMetrics) => void;
5
7
  startupTimeoutMs: number;
6
8
  firstResponseTimeoutMs: number;
7
9
  idleTimeoutMs: number;
@@ -10,7 +12,7 @@ export interface TurnTimeoutPolicy {
10
12
  onObservation?: (value: TurnObservation) => void;
11
13
  }
12
14
  export interface TurnTimeoutDetails {
13
- phase: 'startup' | 'first_response' | 'idle' | 'total';
15
+ phase: 'startup' | 'first_response' | 'compaction' | 'idle' | 'total';
14
16
  elapsedMs: number;
15
17
  idleMs: number;
16
18
  }
@@ -30,6 +32,17 @@ export interface ManagedTurnMetrics {
30
32
  inputTokens: number;
31
33
  totalTokens: number;
32
34
  startedAt: number;
35
+ endedAt?: number;
36
+ usage?: TokenUsage | null;
37
+ requests?: RequestUsage[];
38
+ loadedTools?: string[] | null;
39
+ usedTools?: string[];
40
+ contextTools?: string[] | null;
41
+ schemaCoverage?: {
42
+ measured: number;
43
+ total: number;
44
+ };
45
+ model?: string;
33
46
  }
34
- export declare function startProcessTurn(process: SessionProcess, prompt: string, timeoutMs: number | undefined, onText?: (text: string) => void, onMetrics?: (metrics: ManagedTurnMetrics) => void, images?: readonly InputImage[], policy?: TurnTimeoutPolicy, onStructured?: (chunk: string) => void): ProcessTurn;
47
+ export declare function startProcessTurn(process: SessionProcess, prompt: string, timeoutMs: number | undefined, onText?: (text: string) => void, onMetrics?: (metrics: ManagedTurnMetrics) => void, images?: readonly InputImage[], policy?: TurnTimeoutPolicy, onStructured?: (chunk: string) => void, alreadyStarted?: boolean): ProcessTurn;
35
48
  //# sourceMappingURL=process-turn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"process-turn.d.ts","sourceRoot":"","sources":["../../src/orchestration/process-turn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,eAAe,EAAe,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,WAAW,iBAAiB;IAAG,gBAAgB,EAAE,MAAM,CAAC;IAAC,sBAAsB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CAAE;AAC/N,MAAM,WAAW,kBAAkB;IAAG,KAAK,EAAE,SAAS,GAAG,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAAE;AAClI,MAAM,WAAW,aAAa;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;CAAE;AACtE,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AACD;8EAC8E;AAC9E,MAAM,WAAW,kBAAkB;IAAG,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;CAAE;AACvH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,EAAE,MAAM,GAAE,SAAS,UAAU,EAAO,EAAE,MAAM,CAAC,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW,CAoJ1T"}
1
+ {"version":3,"file":"process-turn.d.ts","sourceRoot":"","sources":["../../src/orchestration/process-turn.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAe,eAAe,EAAe,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,WAAW,iBAAiB;IAAG,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,sBAAsB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CAAE;AAChR,MAAM,WAAW,kBAAkB;IAAG,KAAK,EAAE,SAAS,GAAG,gBAAgB,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAAE;AACjJ,MAAM,WAAW,aAAa;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;CAAE;AACtE,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AACD;8EAC8E;AAC9E,MAAM,WAAW,kBAAkB;IAAG,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAAC,cAAc,CAAC,EAAE;QAAC,QAAQ,EAAC,MAAM,CAAC;QAAA,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CAAE;AAgBrV,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,EAAE,MAAM,GAAE,SAAS,UAAU,EAAO,EAAE,MAAM,CAAC,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,cAAc,UAAQ,GAAG,WAAW,CAwMlV"}
@@ -1,9 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.startProcessTurn = startProcessTurn;
4
+ const provider_message_1 = require("./provider-message");
5
+ const tool_name_1 = require("./tool-name");
6
+ const token_usage_1 = require("./token-usage");
4
7
  const execution_observation_1 = require("./execution-observation");
5
8
  const types_1 = require("./types");
6
- function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetrics, images = [], policy, onStructured) {
9
+ function providerErrorText(value, codes, depth = 0, budget = { nodes: 256 }) {
10
+ if (depth >= 8 || --budget.nodes < 0)
11
+ return '';
12
+ if (typeof value === 'string')
13
+ return value.slice(0, 4096);
14
+ if (Array.isArray(value))
15
+ return value.slice(0, 32).map(item => providerErrorText(item, codes, depth + 1, budget)).filter(Boolean).join(' ').slice(0, 4096);
16
+ if (value && typeof value === 'object') {
17
+ const entry = value;
18
+ for (const code of [entry.code, entry.type, entry.error]) {
19
+ if (typeof code === 'string' && /^[a-z][a-z0-9_]{0,79}$/i.test(code) && codes.length < 32)
20
+ codes.push(code.toLowerCase());
21
+ }
22
+ const status = /^[1-5]\d{2}$/.test(String(entry.status)) ? `HTTP ${entry.status}` : undefined;
23
+ return [entry.code, entry.type, status, entry.message, entry.error].map(item => providerErrorText(item, codes, depth + 1, budget)).filter(Boolean).join(' ').slice(0, 4096);
24
+ }
25
+ if (typeof value === 'number')
26
+ return String(value);
27
+ return '';
28
+ }
29
+ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetrics, images = [], policy, onStructured, alreadyStarted = false) {
7
30
  let resolveAccepted, rejectAccepted;
8
31
  let resolveResult, rejectResult;
9
32
  const accepted = new Promise((resolve, reject) => { resolveAccepted = resolve; rejectAccepted = reject; });
@@ -12,7 +35,11 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
12
35
  void accepted.catch(() => { });
13
36
  void result.catch(() => { });
14
37
  let structuredIndex;
38
+ let finalCapturePending = false;
15
39
  let settled = false, stopped = false, text = '', streamed = false, apiErrorText = '';
40
+ let apiErrorCodes = [];
41
+ let providerMessage;
42
+ const usageCollector = new token_usage_1.TurnUsageCollector();
16
43
  const startedAt = Date.now();
17
44
  const tools = new Set();
18
45
  let inputTokens = 0, totalTokens = 0, recorded = false;
@@ -60,10 +87,11 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
60
87
  const cleanup = () => { if (!recorded) {
61
88
  recorded = true;
62
89
  try {
63
- onMetrics?.({ toolIds: [...tools], inputTokens, totalTokens, startedAt });
90
+ const measured = usageCollector.snapshot();
91
+ onMetrics?.({ toolIds: [...tools], inputTokens: measured.usage ? measured.usage.inputTokens + measured.usage.cacheCreationTokens + measured.usage.cacheReadTokens : inputTokens, totalTokens: measured.usage?.totalTokens ?? totalTokens, startedAt, endedAt: Date.now(), ...measured });
64
92
  }
65
93
  catch { /* telemetry must not break delivery */ }
66
- } clearTimeout(timer); clearTimeout(phaseTimer); clearInterval(observationTimer); process.off('output', output); process.off('exit', exit); };
94
+ } clearTimeout(timer); clearTimeout(phaseTimer); clearInterval(observationTimer); process.off('output', output); process.off('request-tools', schemaOutput); process.off('exit', exit); process.off('startup-error', startupError); };
67
95
  const fail = (error) => { if (settled)
68
96
  return; settled = true; cleanup(); rejectAccepted(error); rejectResult(error); };
69
97
  const publish = (chunk) => {
@@ -77,8 +105,9 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
77
105
  return false;
78
106
  }
79
107
  };
108
+ const startupError = (error) => { fail(error); void process.stop(); };
80
109
  const exit = () => {
81
- if (settled)
110
+ if (settled || finalCapturePending)
82
111
  return;
83
112
  if (stopped) {
84
113
  settled = true;
@@ -86,9 +115,22 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
86
115
  rejectAccepted(new types_1.OrchestrationError('INTERRUPTED'));
87
116
  resolveResult({ text, interrupted: true });
88
117
  }
118
+ else if (apiErrorText)
119
+ fail(Object.assign(new types_1.OrchestrationError('INFERENCE_FAILED', apiErrorText), { providerCodes: apiErrorCodes, providerMessage }));
89
120
  else
90
121
  fail(new types_1.OrchestrationError('PROCESS_EXITED'));
91
122
  };
123
+ const schemaOutput = (value) => {
124
+ if (settled)
125
+ return;
126
+ usageCollector.observeSchemas(value);
127
+ try {
128
+ const measured = usageCollector.snapshot();
129
+ policy?.onUsage?.({ toolIds: [...tools], inputTokens: measured.usage?.inputTokens ?? 0, totalTokens: measured.usage?.totalTokens ?? 0, startedAt, ...measured });
130
+ }
131
+ catch { }
132
+ };
133
+ process.on('request-tools', schemaOutput);
92
134
  const output = (line) => {
93
135
  let event;
94
136
  if (settled)
@@ -99,15 +141,42 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
99
141
  catch {
100
142
  return;
101
143
  }
144
+ if (event.type === 'result' && !event.gatewaySchemasFlushed && typeof process.flushToolSchemas === 'function') {
145
+ finalCapturePending = true;
146
+ void process.flushToolSchemas(usageCollector.snapshot().requests.map(r => r.id)).then(values => { for (const value of values)
147
+ usageCollector.observeSchemas(value); }).catch(() => { }).finally(() => { finalCapturePending = false; output(JSON.stringify({ ...event, gatewaySchemasFlushed: true })); });
148
+ return;
149
+ }
150
+ usageCollector.observe(event);
151
+ if ((event.type === 'assistant' && event.message?.usage) || (event.type === 'system' && event.subtype === 'init') || (event.type === 'stream_event' && event.event?.type === 'message_stop')) {
152
+ try {
153
+ const measured = usageCollector.snapshot();
154
+ policy?.onUsage?.({ toolIds: [...tools], inputTokens: measured.usage ? measured.usage.inputTokens + measured.usage.cacheCreationTokens + measured.usage.cacheReadTokens : 0, totalTokens: measured.usage?.totalTokens ?? 0, startedAt, ...measured });
155
+ }
156
+ catch { /* Usage persistence must not terminate inference. */ }
157
+ }
102
158
  const blocks = Array.isArray(event.message?.content) ? event.message.content : [];
103
- if (event.type === 'assistant' && (event.isApiErrorMessage || event.error)) {
104
- apiErrorText = blocks.filter((block) => block.type === 'text').map((block) => block.text).join('\n').slice(0, 4096);
159
+ const isProviderError = event.type === 'assistant' && (event.isApiErrorMessage || event.error);
160
+ if (isProviderError) {
161
+ apiErrorCodes = [];
162
+ providerMessage = blocks.filter((block) => block.type === 'text' && typeof block.text === 'string').map((block) => block.text).join('\n') || (0, provider_message_1.structuredProviderMessage)(event.error);
163
+ apiErrorText = providerErrorText({ error: event.error, message: blocks.filter((block) => block.type === 'text').map((block) => block.text) }, apiErrorCodes);
164
+ }
165
+ // A successful retry supersedes the earlier provider failure. Do not blame
166
+ // a later process crash/terminal error on an already-recovered request.
167
+ const resumedDelta = event.type === 'stream_event' ? event.event?.delta : undefined;
168
+ if (!isProviderError && ((event.type === 'assistant' && blocks.length > 0)
169
+ || (resumedDelta && ['text_delta', 'thinking_delta', 'input_json_delta'].includes(resumedDelta.type)
170
+ && (resumedDelta.text || resumedDelta.thinking || resumedDelta.partial_json)))) {
171
+ apiErrorText = '';
172
+ apiErrorCodes = [];
173
+ providerMessage = undefined;
105
174
  }
106
175
  for (const block of blocks) {
107
176
  if (block.type === 'tool_use' && typeof block.id === 'string' && !activeTools.has(block.id) && activeTools.size < 2000)
108
177
  activeTools.set(block.id, -1);
109
178
  if (block.type === 'tool_use' && typeof block.id === 'string' && typeof block.name === 'string' && toolNames.size < 2000)
110
- toolNames.set(block.id, block.name.slice(0, 128));
179
+ toolNames.set(block.id, (0, tool_name_1.executionTool)(block).name.slice(0, 128));
111
180
  if (block.type === 'tool_result') {
112
181
  const name = toolNames.get(block.tool_use_id);
113
182
  if (name)
@@ -144,6 +213,16 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
144
213
  if (policy) {
145
214
  if (event.type === 'system' && event.subtype === 'init' && phase === 'startup')
146
215
  arm('first_response', policy.firstResponseTimeoutMs);
216
+ // Compaction is a separate model request whose tokens are not streamed to
217
+ // the parent. Do not kill it with the first-answer silence timer. The
218
+ // caller's hard deadline remains in force, including repeated status events.
219
+ if (event.type === 'system' && event.subtype === 'status' && event.status === 'compacting' && phase !== 'compaction') {
220
+ arm('compaction', timeoutMs ?? policy.firstResponseTimeoutMs);
221
+ }
222
+ if (phase === 'compaction' && event.type === 'system' &&
223
+ (event.subtype === 'compact_boundary' || (event.subtype === 'status' && event.status === null))) {
224
+ arm('first_response', policy.firstResponseTimeoutMs);
225
+ }
147
226
  // Ignore keepalives, status chatter and stderr. Only actual inference or
148
227
  // tool-result progress renews the silence budget. Worker tool_progress
149
228
  // must refer to an active tool and advance; generic keepalives do not count.
@@ -167,10 +246,13 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
167
246
  if (event.type === 'system' && event.subtype === 'init' && process.runtimeProfile) {
168
247
  const role = process.runtimeProfile.role;
169
248
  const allowed = role === 'agent'
170
- ? /^(mcp__gateway__(capabilities_list|memory_(get|search)|task_(spawn|status|cancel|update|answer|question)))$/
171
- : /^(Read|Glob|Grep|Bash|Edit|Write|Skill|mcp__gateway__(browser_[a-z_]+|generate_image|generate_video|share_file|share_image|memory_(get|search|shared_(get|create|update|delete))|task_(report_progress|request_input|stage_file|memory_append)))$/;
172
- if (!Array.isArray(event.tools) || event.tools.some((name) => typeof name !== 'string' || (!(role === 'worker' && process.runtimeProfile?.hostExecution) && !(role === 'agent' && process.runtimeProfile?.responseSchema && name === 'StructuredOutput') && !(role === 'agent' && process.runtimeProfile?.semanticIntake && name === 'mcp__gateway__conversation_intake') && !process.isSpawnedConnectorTool?.(name) && !allowed.test(name)))) {
173
- fail(new types_1.OrchestrationError('PROFILE_INVENTORY_MISMATCH'));
249
+ ? /^(mcp__gateway__(capabilities_list|conversation_intake|memory_(get|search)|task_(spawn|status|cancel|update|answer|question)))$/
250
+ : /^(Read|Glob|Grep|Bash|Edit|Write|Skill|mcp__gateway__(tool_search|tool_call|browser_[a-z_]+|generate_image|generate_video|share_file|share_image|memory_(get|search|shared_(get|create|update|delete))|task_(report_progress|request_input|stage_file|memory_append)))$/;
251
+ if (!Array.isArray(event.tools) || event.tools.some((name) => typeof name !== 'string' || (!(role === 'worker' && process.runtimeProfile?.hostExecution) && !(role === 'agent' && process.runtimeProfile?.responseSchema && name === 'StructuredOutput') && !process.isSpawnedConnectorTool?.(name) && !allowed.test(name)))) {
252
+ const rejectedTools = Array.isArray(event.tools) ? event.tools.filter((name) => typeof name !== 'string' ||
253
+ (!(role === 'worker' && process.runtimeProfile?.hostExecution) && !(role === 'agent' && process.runtimeProfile?.responseSchema && name === 'StructuredOutput') && !process.isSpawnedConnectorTool?.(name) && !allowed.test(name)))
254
+ .slice(0, 100).map((name) => typeof name === 'string' ? name.replace(/[^a-zA-Z0-9_.:-]/g, '?').slice(0, 160) : '<invalid-name>') : ['<missing-inventory>'];
255
+ fail(Object.assign(new types_1.OrchestrationError('PROFILE_INVENTORY_MISMATCH'), { rejectedTools }));
174
256
  void process.stop();
175
257
  return;
176
258
  }
@@ -193,10 +275,14 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
193
275
  }
194
276
  if (event.type === 'result') {
195
277
  if (event.is_error) {
196
- const detail = String(event.result || (Array.isArray(event.errors) ? event.errors.join(' ') : '') || apiErrorText || text || 'Inference failed');
197
- const code = /provider capacity is fully in use|overloaded_error/i.test(detail) ? 'PROVIDER_CAPACITY'
198
- : /API Error:\s*503/i.test(detail) ? 'PROVIDER_UNAVAILABLE' : 'INFERENCE_FAILED';
199
- fail(new types_1.OrchestrationError(code, detail));
278
+ const providerCodes = [...apiErrorCodes];
279
+ const detail = [apiErrorText, providerErrorText([event.result, event.errors], providerCodes)].filter(Boolean).join(' ').slice(0, 4096) || 'Inference failed';
280
+ const terminalCode = event.subtype === 'error_max_turns' ? 'MODEL_MAX_TURNS'
281
+ : event.subtype === 'error_max_budget_usd' ? 'MODEL_BUDGET_EXCEEDED'
282
+ : event.subtype === 'error_max_structured_output_retries' ? 'MODEL_OUTPUT_INVALID' : undefined;
283
+ const code = terminalCode ?? (/provider capacity is fully in use|overloaded_error/i.test(detail) ? 'PROVIDER_CAPACITY'
284
+ : /\b(?:API Error:|HTTP)\s*503\b/i.test(detail) ? 'PROVIDER_UNAVAILABLE' : 'INFERENCE_FAILED');
285
+ fail(Object.assign(new types_1.OrchestrationError(code, detail), { providerCodes, providerMessage: providerMessage || (0, provider_message_1.structuredProviderMessage)(event.result) || (0, provider_message_1.structuredProviderMessage)(event.errors) }));
200
286
  return;
201
287
  }
202
288
  if (process.runtimeProfile?.responseSchema && event.structured_output && typeof event.structured_output === 'object') {
@@ -236,7 +322,8 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
236
322
  arm('startup', policy.startupTimeoutMs);
237
323
  process.on('output', output);
238
324
  process.on('exit', exit);
239
- void process.start().then(() => {
325
+ process.on('startup-error', startupError);
326
+ void (alreadyStarted ? Promise.resolve() : process.start()).then(() => {
240
327
  if (stopped || settled)
241
328
  return process.stop();
242
329
  process.sendMessage(prompt, images);
@@ -1 +1 @@
1
- {"version":3,"file":"process-turn.js","sourceRoot":"","sources":["../../src/orchestration/process-turn.ts"],"names":[],"mappings":";;AAgBA,4CAoJC;AApKD,mEAAoF;AAGpF,mCAA6C;AAa7C,SAAgB,gBAAgB,CAAC,OAAuB,EAAE,MAAc,EAAE,SAA6B,EAAE,SAAiC,GAAG,EAAE,GAAE,CAAC,EAAE,SAAiD,EAAE,SAAgC,EAAE,EAAE,MAA0B,EAAE,YAAsC;IAC3S,IAAI,eAA4B,EAAE,cAAuC,CAAC;IAC1E,IAAI,aAA+C,EAAE,YAAqC,CAAC;IAC3F,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,eAAe,GAAG,OAAO,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACjH,MAAM,MAAM,GAAG,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpH,oEAAoE;IACpE,KAAK,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAAC,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC3D,IAAI,eAAmC,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,YAAY,GAAG,EAAE,CAAC;IACrF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAAC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAAC,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IACtH,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,IAAI,QAAiC,CAAC;IACtC,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,OAAO;YAAE,OAAO;QACpB,IAAI,CAAC;YAAC,MAAM,EAAE,aAAa,EAAE,CAAC,EAAC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAC,cAAc,IAAI,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,sCAAsC,CAAC,CAAC;IACjS,CAAC,CAAC;IACF,IAAI,WAAsC,CAAC;IAC3C,IAAI,KAAK,GAAgC,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;IAC/E,IAAI,UAAqD,CAAC;IAC1D,MAAM,MAAM,GAAG,CAAC,MAAmC,EAAE,EAAE;QACrD,IAAI,OAAO;YAAE,OAAO;QACpB,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACjF,MAAM,OAAO,GAAuB,EAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAC,cAAc,EAAC,CAAC;QACxH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,0BAAkB,CAAC,SAAS,CAAC,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;QAC3E,KAAK,IAAI,EAAE,CAAC;IACd,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,CAAC,IAAiC,EAAE,MAAc,EAAE,EAAE;QAChE,KAAK,GAAG,IAAI,CAAC;QAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC;YACzD,uEAAuE;YACvE,oEAAoE;YACpE,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAAC,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC;QACF,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAC,QAAQ,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC;YAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,uCAAuC,CAAC,CAAC;IAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7U,MAAM,IAAI,GAAG,CAAC,KAAY,EAAE,EAAE,GAAG,IAAI,OAAO;QAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/H,MAAM,OAAO,GAAG,CAAC,KAAa,EAAW,EAAE;QACzC,IAAI,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QACnC,MAAM,CAAC;YAAC,IAAI,CAAC,IAAI,0BAAkB,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAAC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;IAC3G,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,OAAO;YAAE,OAAO;QACpB,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;YAAC,OAAO,EAAE,CAAC;YAAC,cAAc,CAAC,IAAI,0BAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;YAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;;YACzI,IAAI,CAAC,IAAI,0BAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;QAC9B,IAAI,KAA0B,CAAC;QAC/B,IAAI,OAAO;YAAE,OAAO;QACpB,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO;QAAC,CAAC;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3E,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAChI,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,GAAG,IAAI;gBAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACtJ,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,GAAG,IAAI;gBAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,CAAC;YAC3K,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC9C,IAAI,IAAI;oBAAE,QAAQ,GAAG,IAAA,mCAAW,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC1D,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QACrI,IAAI,OAAO,EAAE,IAAI,KAAK,UAAU,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/J,IAAI,OAAO,EAAE,IAAI,KAAK,UAAU,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,GAAG,IAAI;YAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,CAAC;QACtL,IAAI,OAAO,CAAC,cAAc,EAAE,cAAc,IAAI,OAAO,EAAE,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB;YAAE,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QACvJ,IAAI,eAAe,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,eAAe,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAChK,IAAI,CAAC;gBAAC,YAAY,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAAC,IAAI,CAAC,KAAc,CAAC,CAAC;gBAAC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;QAC5I,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe;YAAE,eAAe,GAAG,SAAS,CAAC;QACtJ,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,MAAM,EAAE,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;eAC/F,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,oBAAoB,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAE,EAAE,CAAC;YACvH,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC/D,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS;gBAAE,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACrI,yEAAyE;YACzE,uEAAuE;YACvE,6EAA6E;YAC7E,yEAAyE;YACzE,wDAAwD;YACxD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;mBACrH,CAAC,KAAK,IAAI,CAAC,YAAY,EAAC,gBAAgB,EAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;mBACjJ,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC;YAC1I,IAAI,QAAQ,IAAI,YAAY;gBAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE;YAAE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI;gBAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1J,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;QAClD,IAAI,KAAK,EAAE,CAAC;YAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QACtN,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAClF,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO;gBAC9B,CAAC,CAAC,6GAA6G;gBAC/G,CAAC,CAAC,mPAAmP,CAAC;YACxP,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,cAAc,IAAI,IAAI,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,cAAc,IAAI,IAAI,KAAK,mCAAmC,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvb,IAAI,CAAC,IAAI,0BAAkB,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBAC3D,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;gBAAC,OAAO;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,eAAe,CAAC;YAAE,eAAe,EAAE,CAAC;QAC9H,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;YAC/E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAAC,QAAQ,GAAG,IAAI,CAAC;gBAAC,IAAI,IAAI,KAAK,CAAC;gBAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;oBAAE,OAAO;YAAC,CAAC;QACjG,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,0BAAkB,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAAC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC1H,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,YAAY,IAAI,IAAI,IAAI,kBAAkB,CAAC,CAAC;gBACjJ,MAAM,IAAI,GAAG,qDAAqD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB;oBACnG,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBACnF,IAAI,CAAC,IAAI,0BAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;gBAAC,OAAO;YACrD,CAAC;YACD,IAAI,OAAO,CAAC,cAAc,EAAE,cAAc,IAAI,KAAK,CAAC,iBAAiB,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBACrH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACjD,CAAC;iBAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM;gBAAE,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YACjF,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;gBAAC,IAAI,CAAC,IAAI,0BAAkB,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAAC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC1H,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,OAAO;YAChD,eAAe,EAAE,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;YAAC,OAAO,EAAE,CAAC;YAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,GAAkB,EAAE;QAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,GAAG,IAAI,CAAC;YACf,8DAA8D;YAC9D,OAAO,CAAC,SAAS,EAAE,CAAC;YAAC,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IACjG,IAAI,MAAM;QAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAC7B,IAAI,OAAO,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;QAC9C,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"process-turn.js","sourceRoot":"","sources":["../../src/orchestration/process-turn.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,18 @@
1
1
  import { OrchestrationStore } from './store';
2
- export declare const PROGRESS_REVIEW_SCHEMA: {
3
- type: string;
4
- additionalProperties: boolean;
5
- properties: {
6
- notify_user: {
7
- type: string;
8
- };
9
- display_text: {
10
- type: string;
11
- maxLength: number;
12
- };
13
- spoken_text: {
14
- type: string;
15
- maxLength: number;
16
- };
17
- };
18
- required: string[];
19
- };
20
2
  export declare const PROGRESS_REVIEW_OVERLAY = "This is an internal progress review, not a request to send a message on every check. Inspect the task and offer scoped advice if needed. Independently decide whether the user needs a new update: a meaningful milestone, changed plan, concrete blocker, or decision they need to make. Routine tool activity, elapsed time, unchanged work and rephrasing the previous report are not new progress. Compare with the previously communicated updates provided as data. If nothing meaningful is new, return {\"notify_user\":false,\"display_text\":\"\",\"spoken_text\":\"\"}. Otherwise return {\"notify_user\":true,\"display_text\":\"natural concise first-person update containing only new information\",\"spoken_text\":\"short spoken version in the same language\"}. This three-field schema overrides the ordinary two-field speech format for this internal review only. Never announce the review, supervision, forwarding advice, or silence decision. Do not send a reassurance that the task is not stuck. A planned next step is not a completed milestone. User questions and completion/failure/input-request notifications are handled separately and must not be suppressed by this policy.";
21
3
  export declare function isProgressReview(store: OrchestrationStore, decisionId: string): boolean;
22
4
  export declare function recentCommunicatedProgress(store: OrchestrationStore, conversationId: string): string[];
5
+ /** A review turn's decision, and WHY it is silent.
6
+ * 'reported' — a new update to publish.
7
+ * 'silent' — the model explicitly chose not to notify; nothing was lost.
8
+ * 'duplicate' — a valid update that repeats one already communicated.
9
+ * 'unparsed' — no valid decision could be read at all. The update (if any) is dropped,
10
+ * so the caller MUST surface it rather than treat it as a quiet review. */
11
+ export type ProgressReviewOutcome = 'reported' | 'silent' | 'duplicate' | 'unparsed';
23
12
  export declare function progressReviewResult(raw: string, previous: string[]): {
24
13
  display: string;
25
14
  spoken: string;
26
15
  silent: boolean;
16
+ outcome: ProgressReviewOutcome;
27
17
  };
28
18
  //# sourceMappingURL=progress-review.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress-review.d.ts","sourceRoot":"","sources":["../../src/orchestration/progress-review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAI7C,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;CAOlC,CAAC;AACF,eAAO,MAAM,uBAAuB,ypCAAqoC,CAAC;AAE1qC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAIvF;AACD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAItG;AACD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAe1H"}
1
+ {"version":3,"file":"progress-review.d.ts","sourceRoot":"","sources":["../../src/orchestration/progress-review.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAM7C,eAAO,MAAM,uBAAuB,ypCAAqoC,CAAC;AAE1qC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAIvF;AACD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAItG;AACD;;;;;yFAKyF;AACzF,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AACrF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,qBAAqB,CAAA;CAAE,CAkB1J"}
@@ -1,19 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PROGRESS_REVIEW_OVERLAY = exports.PROGRESS_REVIEW_SCHEMA = void 0;
3
+ exports.PROGRESS_REVIEW_OVERLAY = void 0;
4
4
  exports.isProgressReview = isProgressReview;
5
5
  exports.recentCommunicatedProgress = recentCommunicatedProgress;
6
6
  exports.progressReviewResult = progressReviewResult;
7
+ const response_schema_1 = require("./response-schema");
7
8
  // Internal reviews may choose silence. They must finish before any prose/TTS
8
- // is published, so a partial draft or a control JSON object cannot leak.
9
- exports.PROGRESS_REVIEW_SCHEMA = {
10
- type: 'object', additionalProperties: false,
11
- properties: {
12
- notify_user: { type: 'boolean' },
13
- display_text: { type: 'string', maxLength: 16000 },
14
- spoken_text: { type: 'string', maxLength: 600 },
15
- }, required: ['notify_user', 'display_text', 'spoken_text'],
16
- };
9
+ // is published, so a partial draft or a control JSON object cannot leak. The field
10
+ // contract is carried by the invariant ORCHESTRATION_RESPONSE_SCHEMA declared on every
11
+ // turn; this overlay is the per-turn text that asks for notify_user on a review turn.
17
12
  exports.PROGRESS_REVIEW_OVERLAY = `This is an internal progress review, not a request to send a message on every check. Inspect the task and offer scoped advice if needed. Independently decide whether the user needs a new update: a meaningful milestone, changed plan, concrete blocker, or decision they need to make. Routine tool activity, elapsed time, unchanged work and rephrasing the previous report are not new progress. Compare with the previously communicated updates provided as data. If nothing meaningful is new, return {"notify_user":false,"display_text":"","spoken_text":""}. Otherwise return {"notify_user":true,"display_text":"natural concise first-person update containing only new information","spoken_text":"short spoken version in the same language"}. This three-field schema overrides the ordinary two-field speech format for this internal review only. Never announce the review, supervision, forwarding advice, or silence decision. Do not send a reassurance that the task is not stuck. A planned next step is not a completed milestone. User questions and completion/failure/input-request notifications are handled separately and must not be suppressed by this policy.`;
18
13
  function isProgressReview(store, decisionId) {
19
14
  const tasks = store.all(`SELECT t.state,t.snapshot_json FROM notifications n JOIN tasks t ON t.id=n.task_id
@@ -32,17 +27,20 @@ function progressReviewResult(raw, previous) {
32
27
  try {
33
28
  const value = JSON.parse(candidate);
34
29
  if (value.notify_user === false)
35
- return { display: '', spoken: '', silent: true };
30
+ return { display: '', spoken: '', silent: true, outcome: 'silent' };
36
31
  if (value.notify_user !== true || typeof value.display_text !== 'string' || !value.display_text.trim())
37
32
  continue;
38
33
  const display = value.display_text.trim();
39
34
  const canonical = (s) => s.normalize('NFKC').replace(/\s+/g, ' ').trim();
40
35
  if (previous.some(text => canonical(text) === canonical(display)))
41
- return { display: '', spoken: '', silent: true };
42
- return { display, spoken: typeof value.spoken_text === 'string' && value.spoken_text.length <= 600 ? value.spoken_text.trim() : '', silent: false };
36
+ return { display: '', spoken: '', silent: true, outcome: 'duplicate' };
37
+ return { display, spoken: typeof value.spoken_text === 'string' && value.spoken_text.length <= response_schema_1.SPOKEN_TEXT_LIMIT ? value.spoken_text.trim() : '', silent: false, outcome: 'reported' };
43
38
  }
44
39
  catch { /* Only an explicit valid reporting decision can publish. */ }
45
40
  }
46
- return { display: '', spoken: '', silent: true };
41
+ // Still fail closed unvalidated review prose must never reach the user or TTS — but
42
+ // report it as 'unparsed' so the caller can log the dropped update. Silently treating a
43
+ // malformed review as a deliberate silence is exactly the no-silent-failures violation.
44
+ return { display: '', spoken: '', silent: true, outcome: 'unparsed' };
47
45
  }
48
46
  //# sourceMappingURL=progress-review.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress-review.js","sourceRoot":"","sources":["../../src/orchestration/progress-review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress-review.js","sourceRoot":"","sources":["../../src/orchestration/progress-review.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** Display provider text without interpreting its language, reset syntax or wording. */
2
+ export declare function sanitizeProviderMessage(text: string): string | undefined;
3
+ /** Only typed error envelopes supply provider display text, never ordinary replies. */
4
+ export declare function structuredProviderMessage(value: unknown, depth?: number, budget?: {
5
+ nodes: number;
6
+ }, errorEnvelope?: boolean): string | undefined;
7
+ //# sourceMappingURL=provider-message.d.ts.map