@qduc/term2 0.18.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/dist/agent.d.ts +9 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +7 -1
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app.d.ts.map +1 -1
  6. package/dist/app.js +3 -2
  7. package/dist/app.js.map +1 -1
  8. package/dist/cli.js +9 -5
  9. package/dist/cli.js.map +1 -1
  10. package/dist/commands/retry-failed-turn-command.d.ts +6 -0
  11. package/dist/commands/retry-failed-turn-command.d.ts.map +1 -0
  12. package/dist/commands/retry-failed-turn-command.js +12 -0
  13. package/dist/commands/retry-failed-turn-command.js.map +1 -0
  14. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  15. package/dist/components/layout/BackgroundTaskManager.js +4 -0
  16. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  17. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  18. package/dist/components/layout/BackgroundTasksPanel.js +11 -1
  19. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  20. package/dist/components/layout/BottomArea.d.ts +6 -0
  21. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  22. package/dist/components/layout/BottomArea.js +15 -5
  23. package/dist/components/layout/BottomArea.js.map +1 -1
  24. package/dist/components/layout/StatusBar.d.ts +6 -0
  25. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  26. package/dist/components/layout/StatusBar.js +17 -4
  27. package/dist/components/layout/StatusBar.js.map +1 -1
  28. package/dist/components/message/CommandGroupSummary.js +4 -5
  29. package/dist/components/message/CommandGroupSummary.js.map +1 -1
  30. package/dist/components/message/MessageList.d.ts.map +1 -1
  31. package/dist/components/message/MessageList.js +33 -10
  32. package/dist/components/message/MessageList.js.map +1 -1
  33. package/dist/components/message/command-grouping.d.ts +7 -6
  34. package/dist/components/message/command-grouping.d.ts.map +1 -1
  35. package/dist/components/message/command-grouping.js +35 -15
  36. package/dist/components/message/command-grouping.js.map +1 -1
  37. package/dist/components/message/command-message-helpers.d.ts +5 -5
  38. package/dist/contracts/conversation.d.ts +2 -0
  39. package/dist/contracts/conversation.d.ts.map +1 -1
  40. package/dist/contracts/conversation.js.map +1 -1
  41. package/dist/contracts/run-termination.d.ts +7 -0
  42. package/dist/contracts/run-termination.d.ts.map +1 -0
  43. package/dist/contracts/run-termination.js +2 -0
  44. package/dist/contracts/run-termination.js.map +1 -0
  45. package/dist/contracts/streamed-model-turn.d.ts +4 -0
  46. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  47. package/dist/hooks/conversation-ui-reducer.d.ts +7 -0
  48. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  49. package/dist/hooks/conversation-ui-reducer.js +6 -0
  50. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  51. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  52. package/dist/hooks/settings-completion-config.js +0 -2
  53. package/dist/hooks/settings-completion-config.js.map +1 -1
  54. package/dist/hooks/use-app-commands.d.ts +2 -1
  55. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  56. package/dist/hooks/use-app-commands.js +4 -1
  57. package/dist/hooks/use-app-commands.js.map +1 -1
  58. package/dist/hooks/use-conversation.d.ts +5 -0
  59. package/dist/hooks/use-conversation.d.ts.map +1 -1
  60. package/dist/hooks/use-conversation.js +29 -4
  61. package/dist/hooks/use-conversation.js.map +1 -1
  62. package/dist/hooks/use-model-selection.d.ts +2 -0
  63. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  64. package/dist/hooks/use-model-selection.js +3 -3
  65. package/dist/hooks/use-model-selection.js.map +1 -1
  66. package/dist/lib/agent-client.d.ts +18 -0
  67. package/dist/lib/agent-client.d.ts.map +1 -1
  68. package/dist/lib/agent-client.js +68 -23
  69. package/dist/lib/agent-client.js.map +1 -1
  70. package/dist/lib/agent-configuration.d.ts +8 -0
  71. package/dist/lib/agent-configuration.d.ts.map +1 -1
  72. package/dist/lib/agent-configuration.js +6 -0
  73. package/dist/lib/agent-configuration.js.map +1 -1
  74. package/dist/lib/agent-factory.d.ts +8 -0
  75. package/dist/lib/agent-factory.d.ts.map +1 -1
  76. package/dist/lib/agent-factory.js +2 -0
  77. package/dist/lib/agent-factory.js.map +1 -1
  78. package/dist/providers/aborted-stream-recorder.d.ts +26 -1
  79. package/dist/providers/aborted-stream-recorder.d.ts.map +1 -1
  80. package/dist/providers/aborted-stream-recorder.js +133 -0
  81. package/dist/providers/aborted-stream-recorder.js.map +1 -1
  82. package/dist/providers/ai-sdk-streamed-model.d.ts +5 -0
  83. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  84. package/dist/providers/ai-sdk-streamed-model.js +90 -1
  85. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  86. package/dist/providers/codex-compact.d.ts +5 -4
  87. package/dist/providers/codex-compact.d.ts.map +1 -1
  88. package/dist/providers/codex-compact.js +5 -4
  89. package/dist/providers/codex-compact.js.map +1 -1
  90. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  91. package/dist/providers/codex-responses-model.js +103 -20
  92. package/dist/providers/codex-responses-model.js.map +1 -1
  93. package/dist/providers/codex.provider.d.ts +1 -0
  94. package/dist/providers/codex.provider.d.ts.map +1 -1
  95. package/dist/providers/codex.provider.js +59 -3
  96. package/dist/providers/codex.provider.js.map +1 -1
  97. package/dist/providers/fetch/logging-middleware.d.ts +1 -0
  98. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -1
  99. package/dist/providers/fetch/logging-middleware.js +24 -1
  100. package/dist/providers/fetch/logging-middleware.js.map +1 -1
  101. package/dist/providers/openai-chat-completions-model.d.ts.map +1 -1
  102. package/dist/providers/openai-chat-completions-model.js +99 -2
  103. package/dist/providers/openai-chat-completions-model.js.map +1 -1
  104. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  105. package/dist/providers/openai-responses-model.js +21 -13
  106. package/dist/providers/openai-responses-model.js.map +1 -1
  107. package/dist/providers/retrying-model.d.ts +5 -1
  108. package/dist/providers/retrying-model.d.ts.map +1 -1
  109. package/dist/providers/retrying-model.js +29 -6
  110. package/dist/providers/retrying-model.js.map +1 -1
  111. package/dist/providers/websocket-abort-race.d.ts +13 -0
  112. package/dist/providers/websocket-abort-race.d.ts.map +1 -0
  113. package/dist/providers/websocket-abort-race.js +34 -0
  114. package/dist/providers/websocket-abort-race.js.map +1 -0
  115. package/dist/services/agent-runtime/application-run-loop.d.ts +7 -2
  116. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  117. package/dist/services/agent-runtime/application-run-loop.js +48 -8
  118. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  119. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js +3 -3
  120. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js.map +1 -1
  121. package/dist/services/agent-runtime/executor.d.ts.map +1 -1
  122. package/dist/services/agent-runtime/executor.js +2 -0
  123. package/dist/services/agent-runtime/executor.js.map +1 -1
  124. package/dist/services/agent-runtime/types.d.ts +2 -2
  125. package/dist/services/agent-runtime/types.d.ts.map +1 -1
  126. package/dist/services/agent-stream.d.ts +13 -0
  127. package/dist/services/agent-stream.d.ts.map +1 -1
  128. package/dist/services/agent-stream.js +56 -0
  129. package/dist/services/agent-stream.js.map +1 -1
  130. package/dist/services/background-task-activity.d.ts +7 -0
  131. package/dist/services/background-task-activity.d.ts.map +1 -1
  132. package/dist/services/background-task-activity.js +17 -0
  133. package/dist/services/background-task-activity.js.map +1 -1
  134. package/dist/services/conversation/conversation-events.d.ts +36 -3
  135. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  136. package/dist/services/conversation/conversation-events.js +30 -1
  137. package/dist/services/conversation/conversation-events.js.map +1 -1
  138. package/dist/services/conversation/conversation-orchestrator.d.ts +2 -0
  139. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  140. package/dist/services/conversation/conversation-orchestrator.js +39 -1
  141. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  142. package/dist/services/conversation/conversation-orchestrator.types.d.ts +4 -0
  143. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  144. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  145. package/dist/services/conversation/conversation-result-builder.js +9 -5
  146. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  147. package/dist/services/conversation/conversation-service.d.ts +2 -0
  148. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  149. package/dist/services/conversation/conversation-service.js +14 -2
  150. package/dist/services/conversation/conversation-service.js.map +1 -1
  151. package/dist/services/conversation/session-browser.d.ts +3 -0
  152. package/dist/services/conversation/session-browser.d.ts.map +1 -1
  153. package/dist/services/conversation/session-browser.js +42 -40
  154. package/dist/services/conversation/session-browser.js.map +1 -1
  155. package/dist/services/conversation-agent-client.d.ts +3 -0
  156. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  157. package/dist/services/logging/provider-traffic.d.ts +6 -1
  158. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  159. package/dist/services/logging/provider-traffic.js +29 -4
  160. package/dist/services/logging/provider-traffic.js.map +1 -1
  161. package/dist/services/memory/memory-store.d.ts.map +1 -1
  162. package/dist/services/memory/memory-store.js +3 -1
  163. package/dist/services/memory/memory-store.js.map +1 -1
  164. package/dist/services/models/model-catalog-session.d.ts +1 -2
  165. package/dist/services/models/model-catalog-session.d.ts.map +1 -1
  166. package/dist/services/retry/committed-tool-continuation.d.ts +4 -0
  167. package/dist/services/retry/committed-tool-continuation.d.ts.map +1 -0
  168. package/dist/services/retry/committed-tool-continuation.js +12 -0
  169. package/dist/services/retry/committed-tool-continuation.js.map +1 -0
  170. package/dist/services/retry/in-loop-model-retry.d.ts.map +1 -1
  171. package/dist/services/retry/in-loop-model-retry.js +9 -0
  172. package/dist/services/retry/in-loop-model-retry.js.map +1 -1
  173. package/dist/services/retry/provider-failure-classification.d.ts +12 -0
  174. package/dist/services/retry/provider-failure-classification.d.ts.map +1 -0
  175. package/dist/services/retry/provider-failure-classification.js +55 -0
  176. package/dist/services/retry/provider-failure-classification.js.map +1 -0
  177. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  178. package/dist/services/retry/retry-classifier.js +68 -0
  179. package/dist/services/retry/retry-classifier.js.map +1 -1
  180. package/dist/services/retry/retry-contracts.d.ts +24 -3
  181. package/dist/services/retry/retry-contracts.d.ts.map +1 -1
  182. package/dist/services/retry/retry-event-presenter.d.ts.map +1 -1
  183. package/dist/services/retry/retry-event-presenter.js +14 -4
  184. package/dist/services/retry/retry-event-presenter.js.map +1 -1
  185. package/dist/services/retry/retry-recovery-budget.d.ts +51 -0
  186. package/dist/services/retry/retry-recovery-budget.d.ts.map +1 -0
  187. package/dist/services/retry/retry-recovery-budget.js +84 -0
  188. package/dist/services/retry/retry-recovery-budget.js.map +1 -0
  189. package/dist/services/service-interfaces.d.ts +67 -3
  190. package/dist/services/service-interfaces.d.ts.map +1 -1
  191. package/dist/services/session/background-check-in-scheduler.d.ts +20 -4
  192. package/dist/services/session/background-check-in-scheduler.d.ts.map +1 -1
  193. package/dist/services/session/background-check-in-scheduler.js +108 -8
  194. package/dist/services/session/background-check-in-scheduler.js.map +1 -1
  195. package/dist/services/session/continuation-recovery-handler.d.ts +1 -0
  196. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  197. package/dist/services/session/continuation-recovery-handler.js +42 -0
  198. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  199. package/dist/services/session/continuation-state.d.ts +4 -1
  200. package/dist/services/session/continuation-state.d.ts.map +1 -1
  201. package/dist/services/session/continuation-state.js +5 -1
  202. package/dist/services/session/continuation-state.js.map +1 -1
  203. package/dist/services/session/initial-turn-recovery-handler.d.ts +3 -0
  204. package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
  205. package/dist/services/session/initial-turn-recovery-handler.js +70 -0
  206. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  207. package/dist/services/session/session-composition.d.ts.map +1 -1
  208. package/dist/services/session/session-composition.js +5 -1
  209. package/dist/services/session/session-composition.js.map +1 -1
  210. package/dist/services/session/session-tool-tracker.d.ts +6 -0
  211. package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
  212. package/dist/services/session/session-tool-tracker.js +17 -0
  213. package/dist/services/session/session-tool-tracker.js.map +1 -1
  214. package/dist/services/session/terminal-result-collector.d.ts.map +1 -1
  215. package/dist/services/session/terminal-result-collector.js +3 -0
  216. package/dist/services/session/terminal-result-collector.js.map +1 -1
  217. package/dist/services/session/turn-attempt-factory.d.ts +2 -0
  218. package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
  219. package/dist/services/session/turn-attempt-factory.js +1 -0
  220. package/dist/services/session/turn-attempt-factory.js.map +1 -1
  221. package/dist/services/session/turn-attempt.d.ts +6 -0
  222. package/dist/services/session/turn-attempt.d.ts.map +1 -1
  223. package/dist/services/session/turn-attempt.js +16 -0
  224. package/dist/services/session/turn-attempt.js.map +1 -1
  225. package/dist/services/session/turn-workflow.d.ts +1 -1
  226. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  227. package/dist/services/session/turn-workflow.js +83 -19
  228. package/dist/services/session/turn-workflow.js.map +1 -1
  229. package/dist/services/settings/settings-schema.d.ts +0 -4
  230. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  231. package/dist/services/settings/settings-schema.js +1 -5
  232. package/dist/services/settings/settings-schema.js.map +1 -1
  233. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  234. package/dist/services/settings/settings-sources.js +0 -1
  235. package/dist/services/settings/settings-sources.js.map +1 -1
  236. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +1 -1
  237. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  238. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +0 -1
  239. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  240. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  241. package/dist/services/subagents/execution-runner.js +39 -4
  242. package/dist/services/subagents/execution-runner.js.map +1 -1
  243. package/dist/services/subagents/nested-runner.d.ts.map +1 -1
  244. package/dist/services/subagents/nested-runner.js +23 -7
  245. package/dist/services/subagents/nested-runner.js.map +1 -1
  246. package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
  247. package/dist/services/subagents/subagent-async-registry.js +28 -2
  248. package/dist/services/subagents/subagent-async-registry.js.map +1 -1
  249. package/dist/services/subagents/subagent-notification-store.d.ts +2 -2
  250. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  251. package/dist/services/subagents/subagent-notification-store.js +3 -2
  252. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  253. package/dist/services/subagents/types.d.ts +31 -8
  254. package/dist/services/subagents/types.d.ts.map +1 -1
  255. package/dist/services/subagents/types.js +11 -0
  256. package/dist/services/subagents/types.js.map +1 -1
  257. package/dist/services/subagents/utils.d.ts.map +1 -1
  258. package/dist/services/subagents/utils.js +3 -0
  259. package/dist/services/subagents/utils.js.map +1 -1
  260. package/dist/test-helpers/terminal-e2e.d.ts +2 -0
  261. package/dist/test-helpers/terminal-e2e.d.ts.map +1 -1
  262. package/dist/test-helpers/terminal-e2e.js +13 -6
  263. package/dist/test-helpers/terminal-e2e.js.map +1 -1
  264. package/dist/test-helpers/vitest-network-guard.d.ts +2 -0
  265. package/dist/test-helpers/vitest-network-guard.d.ts.map +1 -0
  266. package/dist/test-helpers/vitest-network-guard.js +24 -0
  267. package/dist/test-helpers/vitest-network-guard.js.map +1 -0
  268. package/dist/tools/agent/configure-task-check-in.d.ts +17 -0
  269. package/dist/tools/agent/configure-task-check-in.d.ts.map +1 -0
  270. package/dist/tools/agent/configure-task-check-in.js +74 -0
  271. package/dist/tools/agent/configure-task-check-in.js.map +1 -0
  272. package/dist/tools/agent/run-subagent-async.d.ts +12 -2
  273. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  274. package/dist/tools/agent/run-subagent-async.js +47 -5
  275. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  276. package/dist/tools/agent/run-subagent.d.ts +15 -0
  277. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  278. package/dist/tools/agent/run-subagent.js +24 -2
  279. package/dist/tools/agent/run-subagent.js.map +1 -1
  280. package/dist/tools/file/read-file.d.ts.map +1 -1
  281. package/dist/tools/file/read-file.js +48 -0
  282. package/dist/tools/file/read-file.js.map +1 -1
  283. package/dist/tools/format-helpers.d.ts.map +1 -1
  284. package/dist/tools/format-helpers.js +7 -0
  285. package/dist/tools/format-helpers.js.map +1 -1
  286. package/dist/tools/memory/memory-tools.js +1 -1
  287. package/dist/tools/memory/memory-tools.js.map +1 -1
  288. package/dist/tools/session-rollover/session-rollover-tool.d.ts.map +1 -1
  289. package/dist/tools/session-rollover/session-rollover-tool.js +1 -0
  290. package/dist/tools/session-rollover/session-rollover-tool.js.map +1 -1
  291. package/dist/tools/system/shell.d.ts +12 -0
  292. package/dist/tools/system/shell.d.ts.map +1 -1
  293. package/dist/tools/system/shell.js +22 -2
  294. package/dist/tools/system/shell.js.map +1 -1
  295. package/dist/tools/types.d.ts +4 -0
  296. package/dist/tools/types.d.ts.map +1 -1
  297. package/dist/tools/types.js.map +1 -1
  298. package/dist/utils/ai/token-usage.d.ts +5 -0
  299. package/dist/utils/ai/token-usage.d.ts.map +1 -1
  300. package/dist/utils/ai/token-usage.js +37 -0
  301. package/dist/utils/ai/token-usage.js.map +1 -1
  302. package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
  303. package/dist/utils/conversation/conversation-event-handler.js +23 -1
  304. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  305. package/dist/utils/settings-command.d.ts.map +1 -1
  306. package/dist/utils/settings-command.js +0 -5
  307. package/dist/utils/settings-command.js.map +1 -1
  308. package/dist/utils/streaming/streaming-session-factory.d.ts +7 -0
  309. package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
  310. package/dist/utils/streaming/streaming-session-factory.js +65 -9
  311. package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
  312. package/dist/utils/streaming/streaming-speed-tracker.d.ts +125 -0
  313. package/dist/utils/streaming/streaming-speed-tracker.d.ts.map +1 -0
  314. package/dist/utils/streaming/streaming-speed-tracker.js +265 -0
  315. package/dist/utils/streaming/streaming-speed-tracker.js.map +1 -0
  316. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"openai-responses-model.js","sourceRoot":"","sources":["../../source/providers/openai-responses-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-responses-model.js","sourceRoot":"","sources":["../../source/providers/openai-responses-model.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,11 @@ type RetryingModelOptions = {
5
5
  loggingService?: Pick<ILoggingService, 'warn' | 'info'>;
6
6
  sleep?: (delayMs: number) => Promise<void>;
7
7
  random?: () => number;
8
- onRetry?: () => void;
8
+ onRetry?: (info?: {
9
+ attempt: number;
10
+ delayMs: number;
11
+ error: unknown;
12
+ }) => void;
9
13
  };
10
14
  /** Decorates one application-owned streamed turn with pre-event retries. */
11
15
  export declare class RetryingModel implements StreamedModelTurn {
@@ -1 +1 @@
1
- {"version":3,"file":"retrying-model.d.ts","sourceRoot":"","sources":["../../source/providers/retrying-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAOzE,KAAK,oBAAoB,GAAG;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACxD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAsCF,4EAA4E;AAC5E,qBAAa,aAAc,YAAW,iBAAiB;;IAIzC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAqB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAA/E,YAA6B,KAAK,EAAE,iBAAiB,EAAmB,OAAO,EAAE,oBAAoB,EAQpG;IAED,IAAI,YAAY,IAAI,iBAAiB,CAEpC;IAED,iFAAiF;IACjF,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAE5C;IAEM,MAAM,CAAC,OAAO,EAAE,wBAAwB,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAiBtF;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAED,cAAc,CACZ,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACvE,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAK9D;CAqCF"}
1
+ {"version":3,"file":"retrying-model.d.ts","sourceRoot":"","sources":["../../source/providers/retrying-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAYzE,KAAK,oBAAoB,GAAG;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACxD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACjF,CAAC;AAsCF,4EAA4E;AAC5E,qBAAa,aAAc,YAAW,iBAAiB;;IAIzC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAqB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAA/E,YAA6B,KAAK,EAAE,iBAAiB,EAAmB,OAAO,EAAE,oBAAoB,EAQpG;IAED,IAAI,YAAY,IAAI,iBAAiB,CAEpC;IAED,iFAAiF;IACjF,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAE5C;IAEM,MAAM,CAAC,OAAO,EAAE,wBAAwB,GAAG,aAAa,CAAC,sBAAsB,CAAC,CA8BtF;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAED,cAAc,CACZ,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACvE,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAK9D;CAiDF"}
@@ -1,5 +1,7 @@
1
+ import { describeError, isAbortLikeError } from '../utils/error-helpers.js';
1
2
  import { isNetworkProtocolError } from '../services/retry/retry-error-classification.js';
2
3
  import { classifyUpstreamRetryableError, computeUpstreamRetryDelayMs, } from '../services/retry/upstream-retry-policy.js';
4
+ import { RetryRecoveryBudgetExhaustedError, } from '../services/retry/retry-recovery-budget.js';
3
5
  /** Watches a signal and rejects with an AbortError when it fires. */
4
6
  function abortError() {
5
7
  return Object.assign(new Error('The operation was aborted.'), { name: 'AbortError' });
@@ -52,9 +54,17 @@ export class RetryingModel {
52
54
  this.options.onRetry = callback;
53
55
  }
54
56
  async *stream(request) {
57
+ let lastError;
55
58
  for (let attempt = 0;; attempt++) {
56
59
  let committed = false;
57
60
  try {
61
+ // The first dispatch is ordinary turn/tool-loop work. The recovery
62
+ // envelope accounts only for a provider retry after a failed dispatch;
63
+ // session-level fresh replays claim their dispatch at the recovery
64
+ // boundary before entering this wrapper.
65
+ if (attempt > 0 && request.recoveryBudget && !request.recoveryBudget.claimPhysicalAttempt()) {
66
+ throw new RetryRecoveryBudgetExhaustedError(lastError);
67
+ }
58
68
  for await (const event of this.model.stream(request)) {
59
69
  committed = true;
60
70
  yield event;
@@ -62,11 +72,17 @@ export class RetryingModel {
62
72
  return;
63
73
  }
64
74
  catch (error) {
65
- if (committed || !this.#canRetry(error, attempt)) {
75
+ if (committed || isAbortLikeError(error) || !this.#canRetry(error, attempt)) {
66
76
  this.#logExhaustion(error, attempt);
67
77
  throw error;
68
78
  }
69
- await this.#backoff(request.signal, error, attempt + 1);
79
+ lastError = error;
80
+ const budget = request.recoveryBudget;
81
+ budget?.noteRetryableFailure();
82
+ const retryAttempt = attempt + 1;
83
+ await this.#backoff(request.signal, error, retryAttempt, budget);
84
+ if (request.signal?.aborted)
85
+ throw abortError();
70
86
  }
71
87
  }
72
88
  }
@@ -82,20 +98,27 @@ export class RetryingModel {
82
98
  #canRetry(error, attempt) {
83
99
  return attempt < this.options.retryAttempts && this.#isRetryable(error);
84
100
  }
85
- async #backoff(signal, error, attemptNumber) {
101
+ async #backoff(signal, error, attemptNumber, budget) {
102
+ const upstream = classifyUpstreamRetryableError(error);
86
103
  const delayMs = computeUpstreamRetryDelayMs({
104
+ retryAfterMs: upstream.retryAfterMs,
87
105
  attemptIndex: attemptNumber - 1,
88
106
  random: this.#random,
89
107
  });
108
+ const remainingMs = budget?.remainingMs();
109
+ if (remainingMs !== undefined && delayMs > remainingMs) {
110
+ this.#logExhaustion(error, attemptNumber - 1);
111
+ throw error;
112
+ }
90
113
  this.options.loggingService?.warn('Retrying model request after upstream failure', {
91
114
  eventType: 'retry.model_transport',
92
115
  category: 'retry',
93
116
  attempt: attemptNumber,
94
117
  maxRetries: this.options.retryAttempts,
95
118
  delayMs,
96
- error: error instanceof Error ? error.message : String(error),
119
+ error: describeError(error),
97
120
  });
98
- this.options.onRetry?.();
121
+ this.options.onRetry?.({ attempt: attemptNumber, delayMs, error });
99
122
  await sleepOrAbort(this.#sleep, delayMs, signal);
100
123
  }
101
124
  #logExhaustion(error, attempt) {
@@ -106,7 +129,7 @@ export class RetryingModel {
106
129
  category: 'retry',
107
130
  attempts: attempt + 1,
108
131
  maxRetries: this.options.retryAttempts,
109
- error: error instanceof Error ? error.message : String(error),
132
+ error: describeError(error),
110
133
  });
111
134
  }
112
135
  #isRetryable(error) {
@@ -1 +1 @@
1
- {"version":3,"file":"retrying-model.js","sourceRoot":"","sources":["../../source/providers/retrying-model.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,4CAA4C,CAAC;AAUpD,qEAAqE;AACrE,SAAS,UAAU;IACjB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AACxF,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,YAAY,CACzB,KAAyC,EACzC,OAAe,EACf,MAA+B;IAE/B,IAAI,MAAM,EAAE,OAAO;QAAE,MAAM,UAAU,EAAE,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CACjB,GAAG,EAAE;YACH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC;QACZ,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4EAA4E;AAC5E,MAAM,OAAO,aAAa;IAIK,KAAK;IAAsC,OAAO;IAHtE,MAAM,CAAqC;IAC3C,OAAO,CAAe;IAE/B,YAA6B,KAAwB,EAAmB,OAA6B;qBAAxE,KAAK;uBAAsC,OAAO;QAC7E,IAAI,CAAC,MAAM;YACT,OAAO,CAAC,KAAK;gBACb,CAAC,CAAC,OAAO,EAAE,EAAE,CACX,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAC5B,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;IAC/C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,iFAAiF;IACjF,gBAAgB,CAAC,QAAqB;QACpC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,OAAiC;QAC7C,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;YAClC,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrD,SAAS,GAAG,IAAI,CAAC;oBACjB,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;oBACjD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBACpC,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAO,IAAI,CAAC,KAAyC,CAAC,KAAK,EAAE,EAAE,CAAC;IAClE,CAAC;IAED,cAAc,CACZ,OAAwE;QAExE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,KAAc,EAAE,OAAe;QACvC,OAAO,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAA+B,EAAE,KAAc,EAAE,aAAqB;QACnF,MAAM,OAAO,GAAG,2BAA2B,CAAC;YAC1C,YAAY,EAAE,aAAa,GAAG,CAAC;YAC/B,MAAM,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,+CAA+C,EAAE;YACjF,SAAS,EAAE,uBAAuB;YAClC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YACtC,OAAO;YACP,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACzB,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,cAAc,CAAC,KAAc,EAAE,OAAe;QAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAAE,OAAO;QACtC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,mCAAmC,EAAE;YACrE,SAAS,EAAE,iCAAiC;YAC5C,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,OAAO,GAAG,CAAC;YACrB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YACtC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,KAAc;QACzB,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,8BAA8B,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;IAC1F,CAAC;CACF"}
1
+ {"version":3,"file":"retrying-model.js","sourceRoot":"","sources":["../../source/providers/retrying-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * A WebSocket message iterator only settles its pending `next()` promise when
3
+ * the socket itself emits an event. A cancellation `AbortSignal` does not
4
+ * touch the socket, so cancelling mid-turn left the iterator (and everything
5
+ * awaiting it, up through `cancel_run`) suspended forever. This races the
6
+ * iterator's pending promise against the signal so cancellation always
7
+ * settles the wait, without closing or otherwise touching the underlying
8
+ * socket — that remains the caller's responsibility.
9
+ */
10
+ export declare function raceWebSocketAbort<T>(promise: Promise<T>, signal: AbortSignal | undefined): Promise<T>;
11
+ /** Same `AbortError` shape the run loop and retry layer already check for (`error.name === 'AbortError'`). */
12
+ export declare function webSocketAbortError(reason?: unknown): Error;
13
+ //# sourceMappingURL=websocket-abort-race.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-abort-race.d.ts","sourceRoot":"","sources":["../../source/providers/websocket-abort-race.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAiBtG;AAED,8GAA8G;AAC9G,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,CAK3D"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * A WebSocket message iterator only settles its pending `next()` promise when
3
+ * the socket itself emits an event. A cancellation `AbortSignal` does not
4
+ * touch the socket, so cancelling mid-turn left the iterator (and everything
5
+ * awaiting it, up through `cancel_run`) suspended forever. This races the
6
+ * iterator's pending promise against the signal so cancellation always
7
+ * settles the wait, without closing or otherwise touching the underlying
8
+ * socket — that remains the caller's responsibility.
9
+ */
10
+ export function raceWebSocketAbort(promise, signal) {
11
+ if (!signal)
12
+ return promise;
13
+ if (signal.aborted)
14
+ return Promise.reject(webSocketAbortError(signal.reason));
15
+ return new Promise((resolve, reject) => {
16
+ const onAbort = () => reject(webSocketAbortError(signal.reason));
17
+ signal.addEventListener('abort', onAbort, { once: true });
18
+ promise.then((value) => {
19
+ signal.removeEventListener('abort', onAbort);
20
+ resolve(value);
21
+ }, (error) => {
22
+ signal.removeEventListener('abort', onAbort);
23
+ reject(error);
24
+ });
25
+ });
26
+ }
27
+ /** Same `AbortError` shape the run loop and retry layer already check for (`error.name === 'AbortError'`). */
28
+ export function webSocketAbortError(reason) {
29
+ // Never mutate a shared reason object (e.g. a signal's DOMException, which
30
+ // other listeners may also read); always hand back a fresh, owned error.
31
+ const message = reason instanceof Error ? reason.message : 'The operation was aborted.';
32
+ return Object.assign(new Error(message), { name: 'AbortError', cause: reason });
33
+ }
34
+ //# sourceMappingURL=websocket-abort-race.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-abort-race.js","sourceRoot":"","sources":["../../source/providers/websocket-abort-race.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAI,OAAmB,EAAE,MAA+B;IACxF,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IAC5B,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CACV,CAAC,KAAK,EAAE,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8GAA8G;AAC9G,MAAM,UAAU,mBAAmB,CAAC,MAAgB;IAClD,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,OAAO,GAAG,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC;IACxF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAClF,CAAC"}
@@ -3,6 +3,7 @@ import type { JsonSchemaDefinition } from '../../contracts/model-types.js';
3
3
  import { type ContinuationHandle } from '../../contracts/continuation-handle.js';
4
4
  import { type AgentStream } from '../agent-stream.js';
5
5
  import type { StreamedModelTurn, StreamedModelTurnInput, ContextCompactionSessionState, StreamedModelTurnRequest } from '../../contracts/streamed-model-turn.js';
6
+ import type { RetryRecoveryBudget } from '../retry/retry-recovery-budget.js';
6
7
  import type { ToolExecutionLifecyclePort, ToolRegistry } from '../../tools/types.js';
7
8
  import type { Term2HookScope } from '../hooks/hook-contracts.js';
8
9
  import { ApprovalLedger } from './tool-invocation-context.js';
@@ -74,6 +75,8 @@ export interface ApplicationBoundaryCompaction {
74
75
  }
75
76
  export interface ApplicationRunLoopOptions {
76
77
  readonly signal?: AbortSignal;
78
+ /** Shared automatic retry/recovery capability for this logical turn. */
79
+ readonly recoveryBudget?: RetryRecoveryBudget;
77
80
  /** Existing provider response to continue from on the first model turn. */
78
81
  readonly previousResponseId?: string | null;
79
82
  /** Skip previous_response_id and transport history compression for the next model request. */
@@ -111,8 +114,10 @@ export interface ApplicationRunLoopOptions {
111
114
  readonly requestPreparation?: ApplicationRequestPreparation;
112
115
  /** Application-owned local compaction evaluated at each request boundary. */
113
116
  readonly boundaryCompaction?: ApplicationBoundaryCompaction;
114
- /** Synchronous request-boundary observation, before any optional compaction await. */
115
- readonly onRequestBoundary?: (history: readonly ProviderInputItem[], onReminder: (text: string) => void) => void;
117
+ /** Synchronous request-boundary policy, before any optional compaction await. */
118
+ readonly onRequestBoundary?: (history: readonly ProviderInputItem[], onReminder: (text: string) => void) => {
119
+ deferCompaction?: boolean;
120
+ } | void;
116
121
  /** Per-request output and deadline guard; model settings provide the normal runtime defaults. */
117
122
  readonly generationGuard?: GenerationGuardOptions;
118
123
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"application-run-loop.d.ts","sourceRoot":"","sources":["../../../source/services/agent-runtime/application-run-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application-run-loop.d.ts","sourceRoot":"","sources":["../../../source/services/agent-runtime/application-run-loop.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { isCancellationError, isHarnessInvariantError } from '../../lib/harness-
7
7
  import { ApprovalLedger } from './tool-invocation-context.js';
8
8
  import { RunBudget, isRunBudgetInteraction, } from './run-budget.js';
9
9
  import { addTokenUsage, normalizeUsage } from '../../utils/ai/token-usage.js';
10
+ import { extractAiSdkUpstreamProvider } from '../../providers/ai-sdk-streamed-model.js';
10
11
  import { computeModelCost } from '../../services/cost/model-cost.js';
11
12
  import { getCatalogPricingVersion, getModelPricing } from '../../services/cost/pricing.js';
12
13
  import { GenerationGuard, GenerationGuardError, GenerationStreamDeadlines, } from './generation-guard.js';
@@ -286,6 +287,7 @@ export class ApplicationRunLoop {
286
287
  this.#releasePendingSteers({ reason: 'superseded_by_new_turn' });
287
288
  const state = {
288
289
  agent,
290
+ recoveryBudget: options.recoveryBudget,
289
291
  input: normalizeInput(input),
290
292
  history: normalizeHistory(input),
291
293
  // A response ID is usable only after its provider origin is recorded.
@@ -473,6 +475,7 @@ export class ApplicationRunLoop {
473
475
  interruptions: [],
474
476
  state: createContinuationHandle(state),
475
477
  rawResponses: [],
478
+ terminalCause: undefined,
476
479
  get runUsage() {
477
480
  return state.usage;
478
481
  },
@@ -606,8 +609,8 @@ export class ApplicationRunLoop {
606
609
  this.#evaluateRunBudget(state, stream, queue);
607
610
  if (state.pendingRunBudgetInteraction)
608
611
  return this.#pauseForRunBudgetInteraction(state, stream, queue);
609
- options.onRequestBoundary?.(state.history, (text) => this.#queuePendingSystemNotice(text));
610
- if (options.boundaryCompaction) {
612
+ const boundaryDecision = options.onRequestBoundary?.(state.history, (text) => this.#queuePendingSystemNotice(text));
613
+ if (options.boundaryCompaction && !boundaryDecision?.deferCompaction) {
611
614
  const compactionStartedAt = Date.now();
612
615
  const compaction = await options.boundaryCompaction.compact({
613
616
  history: state.history,
@@ -735,6 +738,7 @@ export class ApplicationRunLoop {
735
738
  }
736
739
  : {}),
737
740
  ...(options.signal ? { signal: options.signal } : {}),
741
+ ...(state.recoveryBudget ? { recoveryBudget: state.recoveryBudget } : {}),
738
742
  };
739
743
  activeRequest = request;
740
744
  const generationGuard = new GenerationGuard({
@@ -830,11 +834,7 @@ export class ApplicationRunLoop {
830
834
  const decision = classifyInLoopModelRetry(error, attempt, maxRetries, Math.random, {
831
835
  previousResponseId: activeRequest?.previousResponseId,
832
836
  });
833
- if (decision.retryable && !options.signal?.aborted) {
834
- attempt++;
835
- state.input.splice(inputLengthBefore);
836
- state.history.splice(historyLengthBefore);
837
- state.criticalWrapUpDispatched = criticalWrapUpDispatchedBefore;
837
+ const rollbackProvisionalAttempt = () => {
838
838
  stream.output.splice(outputLengthBefore);
839
839
  if (stream.newItems !== stream.output) {
840
840
  stream.newItems.splice(newItemsLengthBefore);
@@ -848,6 +848,13 @@ export class ApplicationRunLoop {
848
848
  reasoningDeltas: provisionalReasoningDeltas,
849
849
  });
850
850
  }
851
+ };
852
+ if (decision.retryable && !options.signal?.aborted) {
853
+ attempt++;
854
+ state.input.splice(inputLengthBefore);
855
+ state.history.splice(historyLengthBefore);
856
+ state.criticalWrapUpDispatched = criticalWrapUpDispatchedBefore;
857
+ rollbackProvisionalAttempt();
851
858
  if (decision.kind === 'chain_recovery') {
852
859
  state.disableChainingForAttempt = true;
853
860
  state.responseId = undefined;
@@ -863,6 +870,12 @@ export class ApplicationRunLoop {
863
870
  await (this.#deps.waitBeforeModelRetry ?? sleepWithAbort)(decision.delayMs, options.signal);
864
871
  continue;
865
872
  }
873
+ // Session recovery owns full-history rebuild for a chained delta.
874
+ // Retract this cycle's provisional tokens so a later chain_recovery
875
+ // does not append a second answer after a half-sentence.
876
+ if (!decision.retryable && decision.reason === 'chained_delta_not_self_contained') {
877
+ rollbackProvisionalAttempt();
878
+ }
866
879
  // Dispatch began, but no terminal completion was accepted. Record an
867
880
  // unpriced marker so the summary stays honest (partial) rather than
868
881
  // appearing exact. Observational only: the error still propagates.
@@ -893,6 +906,8 @@ export class ApplicationRunLoop {
893
906
  if (criticalWrapUp)
894
907
  return finish(stream, state, queue);
895
908
  await this.#dispatchToolCalls(state, stream, queue, streamedToolCalls, toolContext);
909
+ if (state.terminateAfterToolExecution)
910
+ return finish(stream, state, queue);
896
911
  if (state.pendingApprovals && state.pendingApprovals.length > 0) {
897
912
  stream.interruptions = state.pendingApprovals.map((item) => item.interruption);
898
913
  this.#turnPaused = true;
@@ -917,8 +932,17 @@ export class ApplicationRunLoop {
917
932
  state.responseProviderId = undefined;
918
933
  }
919
934
  let normalizedCompletionUsage;
935
+ const upstreamProvider = extractAiSdkUpstreamProvider(finalCompletion.providerMetadata);
920
936
  if (finalCompletion.usage !== undefined) {
921
937
  normalizedCompletionUsage = normalizeModelUsage(finalCompletion.usage);
938
+ if (upstreamProvider) {
939
+ if (normalizedCompletionUsage) {
940
+ normalizedCompletionUsage.upstream_provider = upstreamProvider;
941
+ }
942
+ else {
943
+ normalizedCompletionUsage = { upstream_provider: upstreamProvider };
944
+ }
945
+ }
922
946
  if (normalizedCompletionUsage) {
923
947
  const accumulated = addTokenUsage(normalizeModelUsage(state.usage), normalizedCompletionUsage);
924
948
  state.usage = {
@@ -942,6 +966,9 @@ export class ApplicationRunLoop {
942
966
  state.usage = finalCompletion.usage;
943
967
  }
944
968
  }
969
+ else if (upstreamProvider) {
970
+ normalizedCompletionUsage = { upstream_provider: upstreamProvider };
971
+ }
945
972
  else {
946
973
  normalizedCompletionUsage = undefined;
947
974
  }
@@ -1011,8 +1038,12 @@ export class ApplicationRunLoop {
1011
1038
  const assistantText = finalCompletion.output
1012
1039
  .filter((item) => item.type === 'message')
1013
1040
  .flatMap((item) => item.content)
1041
+ // Whitespace-only output (e.g. a background-notification acknowledgment)
1042
+ // must not enter the canonical history: the truthy check used to let
1043
+ // "\n\n" through, accumulating junk in model context.
1014
1044
  .map((part) => part.text)
1015
- .join('');
1045
+ .join('')
1046
+ .trim();
1016
1047
  if (assistantText) {
1017
1048
  stream.finalOutput = assistantText;
1018
1049
  const item = {
@@ -1035,6 +1066,8 @@ export class ApplicationRunLoop {
1035
1066
  if (!state.criticalWrapUpPending && toolCalls.length > 0) {
1036
1067
  await this.#dispatchToolCalls(state, stream, queue, toolCalls, toolContext);
1037
1068
  }
1069
+ if (state.terminateAfterToolExecution)
1070
+ return finish(stream, state, queue);
1038
1071
  // A critical subagent gets exactly this final tool-free model call.
1039
1072
  if (criticalWrapUp)
1040
1073
  return finish(stream, state, queue);
@@ -1197,6 +1230,11 @@ export class ApplicationRunLoop {
1197
1230
  batchId,
1198
1231
  settlementOrder: group.map((entry) => entry.event.id),
1199
1232
  });
1233
+ if (group.some((entry) => entry.definition?.terminateAfterExecution)) {
1234
+ state.terminateAfterToolExecution = true;
1235
+ state.toolPlan = undefined;
1236
+ return;
1237
+ }
1200
1238
  }
1201
1239
  }
1202
1240
  async #invokePlannedTool(entry, toolContext, state) {
@@ -1304,6 +1342,7 @@ export class ApplicationRunLoop {
1304
1342
  }
1305
1343
  if (event.type === 'budget_stage' && event.stage === 'critical' && state.wrapUpOnCriticalRunBudget) {
1306
1344
  state.criticalWrapUpPending = true;
1345
+ state.terminalCause = 'budget_exhausted';
1307
1346
  }
1308
1347
  if (!state.wrapUpOnCriticalRunBudget &&
1309
1348
  !state.pendingRunBudgetInteraction &&
@@ -1354,6 +1393,7 @@ function outputPush(stream, queue, item) {
1354
1393
  }
1355
1394
  function finish(stream, state, queue) {
1356
1395
  stream.history = state.history;
1396
+ stream.terminalCause = state.terminalCause;
1357
1397
  if (state.supportsConversationChaining &&
1358
1398
  state.responseId &&
1359
1399
  state.responseProviderId !== undefined &&