@qduc/term2 0.18.0 → 0.19.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 (259) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +3 -2
  3. package/dist/app.js.map +1 -1
  4. package/dist/commands/retry-failed-turn-command.d.ts +6 -0
  5. package/dist/commands/retry-failed-turn-command.d.ts.map +1 -0
  6. package/dist/commands/retry-failed-turn-command.js +12 -0
  7. package/dist/commands/retry-failed-turn-command.js.map +1 -0
  8. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  9. package/dist/components/layout/BackgroundTaskManager.js +4 -0
  10. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  11. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  12. package/dist/components/layout/BackgroundTasksPanel.js +11 -1
  13. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  14. package/dist/components/layout/BottomArea.d.ts +6 -0
  15. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  16. package/dist/components/layout/BottomArea.js +14 -5
  17. package/dist/components/layout/BottomArea.js.map +1 -1
  18. package/dist/components/layout/StatusBar.d.ts +6 -0
  19. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  20. package/dist/components/layout/StatusBar.js +15 -4
  21. package/dist/components/layout/StatusBar.js.map +1 -1
  22. package/dist/components/message/CommandGroupSummary.js +4 -5
  23. package/dist/components/message/CommandGroupSummary.js.map +1 -1
  24. package/dist/components/message/MessageList.d.ts.map +1 -1
  25. package/dist/components/message/MessageList.js +15 -2
  26. package/dist/components/message/MessageList.js.map +1 -1
  27. package/dist/components/message/command-grouping.d.ts +1 -0
  28. package/dist/components/message/command-grouping.d.ts.map +1 -1
  29. package/dist/components/message/command-grouping.js +14 -7
  30. package/dist/components/message/command-grouping.js.map +1 -1
  31. package/dist/contracts/conversation.d.ts +2 -0
  32. package/dist/contracts/conversation.d.ts.map +1 -1
  33. package/dist/contracts/conversation.js.map +1 -1
  34. package/dist/contracts/run-termination.d.ts +7 -0
  35. package/dist/contracts/run-termination.d.ts.map +1 -0
  36. package/dist/contracts/run-termination.js +2 -0
  37. package/dist/contracts/run-termination.js.map +1 -0
  38. package/dist/contracts/streamed-model-turn.d.ts +4 -0
  39. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  40. package/dist/hooks/conversation-ui-reducer.d.ts +7 -0
  41. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  42. package/dist/hooks/conversation-ui-reducer.js +6 -0
  43. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  44. package/dist/hooks/use-app-commands.d.ts +2 -1
  45. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  46. package/dist/hooks/use-app-commands.js +4 -1
  47. package/dist/hooks/use-app-commands.js.map +1 -1
  48. package/dist/hooks/use-conversation.d.ts +5 -0
  49. package/dist/hooks/use-conversation.d.ts.map +1 -1
  50. package/dist/hooks/use-conversation.js +29 -4
  51. package/dist/hooks/use-conversation.js.map +1 -1
  52. package/dist/hooks/use-model-selection.d.ts +2 -0
  53. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  54. package/dist/hooks/use-model-selection.js +3 -3
  55. package/dist/hooks/use-model-selection.js.map +1 -1
  56. package/dist/lib/agent-client.d.ts.map +1 -1
  57. package/dist/lib/agent-client.js +49 -23
  58. package/dist/lib/agent-client.js.map +1 -1
  59. package/dist/providers/aborted-stream-recorder.d.ts +26 -1
  60. package/dist/providers/aborted-stream-recorder.d.ts.map +1 -1
  61. package/dist/providers/aborted-stream-recorder.js +133 -0
  62. package/dist/providers/aborted-stream-recorder.js.map +1 -1
  63. package/dist/providers/ai-sdk-streamed-model.d.ts +5 -0
  64. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  65. package/dist/providers/ai-sdk-streamed-model.js +90 -1
  66. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  67. package/dist/providers/codex-compact.d.ts +5 -4
  68. package/dist/providers/codex-compact.d.ts.map +1 -1
  69. package/dist/providers/codex-compact.js +5 -4
  70. package/dist/providers/codex-compact.js.map +1 -1
  71. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  72. package/dist/providers/codex-responses-model.js +103 -20
  73. package/dist/providers/codex-responses-model.js.map +1 -1
  74. package/dist/providers/codex.provider.d.ts +1 -0
  75. package/dist/providers/codex.provider.d.ts.map +1 -1
  76. package/dist/providers/codex.provider.js +59 -3
  77. package/dist/providers/codex.provider.js.map +1 -1
  78. package/dist/providers/fetch/logging-middleware.d.ts +1 -0
  79. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -1
  80. package/dist/providers/fetch/logging-middleware.js +24 -1
  81. package/dist/providers/fetch/logging-middleware.js.map +1 -1
  82. package/dist/providers/openai-chat-completions-model.d.ts.map +1 -1
  83. package/dist/providers/openai-chat-completions-model.js +99 -2
  84. package/dist/providers/openai-chat-completions-model.js.map +1 -1
  85. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  86. package/dist/providers/openai-responses-model.js +21 -13
  87. package/dist/providers/openai-responses-model.js.map +1 -1
  88. package/dist/providers/retrying-model.d.ts +5 -1
  89. package/dist/providers/retrying-model.d.ts.map +1 -1
  90. package/dist/providers/retrying-model.js +29 -6
  91. package/dist/providers/retrying-model.js.map +1 -1
  92. package/dist/providers/websocket-abort-race.d.ts +13 -0
  93. package/dist/providers/websocket-abort-race.d.ts.map +1 -0
  94. package/dist/providers/websocket-abort-race.js +34 -0
  95. package/dist/providers/websocket-abort-race.js.map +1 -0
  96. package/dist/services/agent-runtime/application-run-loop.d.ts +7 -2
  97. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  98. package/dist/services/agent-runtime/application-run-loop.js +48 -8
  99. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  100. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js +3 -3
  101. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js.map +1 -1
  102. package/dist/services/agent-runtime/executor.d.ts.map +1 -1
  103. package/dist/services/agent-runtime/executor.js +2 -0
  104. package/dist/services/agent-runtime/executor.js.map +1 -1
  105. package/dist/services/agent-runtime/types.d.ts +2 -2
  106. package/dist/services/agent-runtime/types.d.ts.map +1 -1
  107. package/dist/services/agent-stream.d.ts +13 -0
  108. package/dist/services/agent-stream.d.ts.map +1 -1
  109. package/dist/services/agent-stream.js +56 -0
  110. package/dist/services/agent-stream.js.map +1 -1
  111. package/dist/services/background-task-activity.d.ts +7 -0
  112. package/dist/services/background-task-activity.d.ts.map +1 -1
  113. package/dist/services/background-task-activity.js +17 -0
  114. package/dist/services/background-task-activity.js.map +1 -1
  115. package/dist/services/conversation/conversation-events.d.ts +36 -3
  116. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  117. package/dist/services/conversation/conversation-events.js +30 -1
  118. package/dist/services/conversation/conversation-events.js.map +1 -1
  119. package/dist/services/conversation/conversation-orchestrator.d.ts +2 -0
  120. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  121. package/dist/services/conversation/conversation-orchestrator.js +31 -0
  122. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  123. package/dist/services/conversation/conversation-orchestrator.types.d.ts +4 -0
  124. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  125. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  126. package/dist/services/conversation/conversation-result-builder.js +9 -5
  127. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  128. package/dist/services/conversation/conversation-service.d.ts +2 -0
  129. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  130. package/dist/services/conversation/conversation-service.js +14 -2
  131. package/dist/services/conversation/conversation-service.js.map +1 -1
  132. package/dist/services/conversation/session-browser.d.ts +1 -0
  133. package/dist/services/conversation/session-browser.d.ts.map +1 -1
  134. package/dist/services/conversation/session-browser.js +32 -38
  135. package/dist/services/conversation/session-browser.js.map +1 -1
  136. package/dist/services/conversation-agent-client.d.ts +3 -0
  137. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  138. package/dist/services/logging/provider-traffic.d.ts +6 -1
  139. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  140. package/dist/services/logging/provider-traffic.js +29 -4
  141. package/dist/services/logging/provider-traffic.js.map +1 -1
  142. package/dist/services/models/model-catalog-session.d.ts +1 -2
  143. package/dist/services/models/model-catalog-session.d.ts.map +1 -1
  144. package/dist/services/retry/committed-tool-continuation.d.ts +4 -0
  145. package/dist/services/retry/committed-tool-continuation.d.ts.map +1 -0
  146. package/dist/services/retry/committed-tool-continuation.js +12 -0
  147. package/dist/services/retry/committed-tool-continuation.js.map +1 -0
  148. package/dist/services/retry/in-loop-model-retry.d.ts.map +1 -1
  149. package/dist/services/retry/in-loop-model-retry.js +9 -0
  150. package/dist/services/retry/in-loop-model-retry.js.map +1 -1
  151. package/dist/services/retry/provider-failure-classification.d.ts +12 -0
  152. package/dist/services/retry/provider-failure-classification.d.ts.map +1 -0
  153. package/dist/services/retry/provider-failure-classification.js +55 -0
  154. package/dist/services/retry/provider-failure-classification.js.map +1 -0
  155. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  156. package/dist/services/retry/retry-classifier.js +68 -0
  157. package/dist/services/retry/retry-classifier.js.map +1 -1
  158. package/dist/services/retry/retry-contracts.d.ts +24 -3
  159. package/dist/services/retry/retry-contracts.d.ts.map +1 -1
  160. package/dist/services/retry/retry-event-presenter.d.ts.map +1 -1
  161. package/dist/services/retry/retry-event-presenter.js +14 -4
  162. package/dist/services/retry/retry-event-presenter.js.map +1 -1
  163. package/dist/services/retry/retry-recovery-budget.d.ts +51 -0
  164. package/dist/services/retry/retry-recovery-budget.d.ts.map +1 -0
  165. package/dist/services/retry/retry-recovery-budget.js +84 -0
  166. package/dist/services/retry/retry-recovery-budget.js.map +1 -0
  167. package/dist/services/service-interfaces.d.ts +67 -3
  168. package/dist/services/service-interfaces.d.ts.map +1 -1
  169. package/dist/services/session/background-check-in-scheduler.d.ts.map +1 -1
  170. package/dist/services/session/background-check-in-scheduler.js +35 -2
  171. package/dist/services/session/background-check-in-scheduler.js.map +1 -1
  172. package/dist/services/session/continuation-recovery-handler.d.ts +1 -0
  173. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  174. package/dist/services/session/continuation-recovery-handler.js +42 -0
  175. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  176. package/dist/services/session/continuation-state.d.ts +4 -1
  177. package/dist/services/session/continuation-state.d.ts.map +1 -1
  178. package/dist/services/session/continuation-state.js +5 -1
  179. package/dist/services/session/continuation-state.js.map +1 -1
  180. package/dist/services/session/initial-turn-recovery-handler.d.ts +3 -0
  181. package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
  182. package/dist/services/session/initial-turn-recovery-handler.js +70 -0
  183. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  184. package/dist/services/session/session-composition.d.ts.map +1 -1
  185. package/dist/services/session/session-composition.js +3 -0
  186. package/dist/services/session/session-composition.js.map +1 -1
  187. package/dist/services/session/session-tool-tracker.d.ts +6 -0
  188. package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
  189. package/dist/services/session/session-tool-tracker.js +17 -0
  190. package/dist/services/session/session-tool-tracker.js.map +1 -1
  191. package/dist/services/session/terminal-result-collector.d.ts.map +1 -1
  192. package/dist/services/session/terminal-result-collector.js +3 -0
  193. package/dist/services/session/terminal-result-collector.js.map +1 -1
  194. package/dist/services/session/turn-attempt-factory.d.ts +2 -0
  195. package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
  196. package/dist/services/session/turn-attempt-factory.js +1 -0
  197. package/dist/services/session/turn-attempt-factory.js.map +1 -1
  198. package/dist/services/session/turn-attempt.d.ts +6 -0
  199. package/dist/services/session/turn-attempt.d.ts.map +1 -1
  200. package/dist/services/session/turn-attempt.js +16 -0
  201. package/dist/services/session/turn-attempt.js.map +1 -1
  202. package/dist/services/session/turn-workflow.d.ts +1 -1
  203. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  204. package/dist/services/session/turn-workflow.js +83 -19
  205. package/dist/services/session/turn-workflow.js.map +1 -1
  206. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  207. package/dist/services/subagents/execution-runner.js +39 -4
  208. package/dist/services/subagents/execution-runner.js.map +1 -1
  209. package/dist/services/subagents/nested-runner.d.ts.map +1 -1
  210. package/dist/services/subagents/nested-runner.js +23 -7
  211. package/dist/services/subagents/nested-runner.js.map +1 -1
  212. package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
  213. package/dist/services/subagents/subagent-async-registry.js +28 -2
  214. package/dist/services/subagents/subagent-async-registry.js.map +1 -1
  215. package/dist/services/subagents/subagent-notification-store.d.ts +2 -2
  216. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  217. package/dist/services/subagents/subagent-notification-store.js +3 -2
  218. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  219. package/dist/services/subagents/types.d.ts +31 -8
  220. package/dist/services/subagents/types.d.ts.map +1 -1
  221. package/dist/services/subagents/types.js +11 -0
  222. package/dist/services/subagents/types.js.map +1 -1
  223. package/dist/services/subagents/utils.d.ts.map +1 -1
  224. package/dist/services/subagents/utils.js +3 -0
  225. package/dist/services/subagents/utils.js.map +1 -1
  226. package/dist/test-helpers/terminal-e2e.d.ts +2 -0
  227. package/dist/test-helpers/terminal-e2e.d.ts.map +1 -1
  228. package/dist/test-helpers/terminal-e2e.js +13 -6
  229. package/dist/test-helpers/terminal-e2e.js.map +1 -1
  230. package/dist/test-helpers/vitest-network-guard.d.ts +2 -0
  231. package/dist/test-helpers/vitest-network-guard.d.ts.map +1 -0
  232. package/dist/test-helpers/vitest-network-guard.js +24 -0
  233. package/dist/test-helpers/vitest-network-guard.js.map +1 -0
  234. package/dist/tools/agent/run-subagent-async.d.ts +1 -1
  235. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  236. package/dist/tools/agent/run-subagent-async.js +25 -4
  237. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  238. package/dist/tools/session-rollover/session-rollover-tool.d.ts.map +1 -1
  239. package/dist/tools/session-rollover/session-rollover-tool.js +1 -0
  240. package/dist/tools/session-rollover/session-rollover-tool.js.map +1 -1
  241. package/dist/tools/types.d.ts +4 -0
  242. package/dist/tools/types.d.ts.map +1 -1
  243. package/dist/tools/types.js.map +1 -1
  244. package/dist/utils/ai/token-usage.d.ts +3 -0
  245. package/dist/utils/ai/token-usage.d.ts.map +1 -1
  246. package/dist/utils/ai/token-usage.js +29 -0
  247. package/dist/utils/ai/token-usage.js.map +1 -1
  248. package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
  249. package/dist/utils/conversation/conversation-event-handler.js +23 -1
  250. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  251. package/dist/utils/streaming/streaming-session-factory.d.ts +4 -0
  252. package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
  253. package/dist/utils/streaming/streaming-session-factory.js +59 -9
  254. package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
  255. package/dist/utils/streaming/streaming-speed-tracker.d.ts +99 -0
  256. package/dist/utils/streaming/streaming-speed-tracker.d.ts.map +1 -0
  257. package/dist/utils/streaming/streaming-speed-tracker.js +214 -0
  258. package/dist/utils/streaming/streaming-speed-tracker.js.map +1 -0
  259. package/package.json +1 -1
@@ -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 &&
@@ -1 +1 @@
1
- {"version":3,"file":"application-run-loop.js","sourceRoot":"","sources":["../../../source/services/agent-runtime/application-run-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application-run-loop.js","sourceRoot":"","sources":["../../../source/services/agent-runtime/application-run-loop.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,10 @@ export class ContextMilestoneReminder {
12
12
  continue;
13
13
  this.#fired.add(milestone);
14
14
  reminders.push(`Context is at approximately ${estimate.renderedInputTokens} tokens (milestone: ${milestone}). ${config.autoBrief
15
- ? 'If the current task has reached a natural boundary, externalize state (docs/memory) and consider calling session_rollover with a handoff brief.'
16
- : 'If the current task has reached a natural boundary, consider calling session_rollover with a handoff brief.'}${compactionThreshold === undefined
15
+ ? 'You must decide now whether the current task has reached a natural boundary. If it has, externalize state (docs/memory) and call session_rollover with a handoff brief before doing more work.'
16
+ : 'You must decide now whether the current task has reached a natural boundary. If it has, call session_rollover with a handoff brief before doing more work.'}${compactionThreshold === undefined
17
17
  ? ''
18
- : ` Automatic compaction will trigger at approximately ${compactionThreshold} tokens.`}`);
18
+ : ` Automatic compaction is deferred for this request boundary only; if you continue, it may run at the next boundary after approximately ${compactionThreshold} tokens.`}`);
19
19
  }
20
20
  return reminders;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context-milestone-reminder.js","sourceRoot":"","sources":["../../../../source/services/agent-runtime/context-compaction/context-milestone-reminder.ts"],"names":[],"mappings":"AAQA,sFAAsF;AACtF,MAAM,OAAO,wBAAwB;IAC1B,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,OAAO,CAAC,QAAyB,EAAE,MAAsC,EAAE,mBAA4B;QACrG,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAE/B,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAS;YAC1F,IAAI,QAAQ,CAAC,mBAAmB,GAAG,SAAS;gBAAE,SAAS;YACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3B,SAAS,CAAC,IAAI,CACZ,+BAA+B,QAAQ,CAAC,mBAAmB,uBAAuB,SAAS,MACzF,MAAM,CAAC,SAAS;gBACd,CAAC,CAAC,iJAAiJ;gBACnJ,CAAC,CAAC,6GACN,GACE,mBAAmB,KAAK,SAAS;gBAC/B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,uDAAuD,mBAAmB,UAChF,EAAE,CACH,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"context-milestone-reminder.js","sourceRoot":"","sources":["../../../../source/services/agent-runtime/context-compaction/context-milestone-reminder.ts"],"names":[],"mappings":"AAQA,sFAAsF;AACtF,MAAM,OAAO,wBAAwB;IAC1B,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,OAAO,CAAC,QAAyB,EAAE,MAAsC,EAAE,mBAA4B;QACrG,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAE/B,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAS;YAC1F,IAAI,QAAQ,CAAC,mBAAmB,GAAG,SAAS;gBAAE,SAAS;YACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3B,SAAS,CAAC,IAAI,CACZ,+BAA+B,QAAQ,CAAC,mBAAmB,uBAAuB,SAAS,MACzF,MAAM,CAAC,SAAS;gBACd,CAAC,CAAC,gMAAgM;gBAClM,CAAC,CAAC,4JACN,GACE,mBAAmB,KAAK,SAAS;gBAC/B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,0IAA0I,mBAAmB,UACnK,EAAE,CACH,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../source/services/agent-runtime/executor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAmC,MAAM,YAAY,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAGhF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,kBAAkB,KAC3B,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AA4B3G;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAiB7F;AAaD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,oBAAoB,EAChC,MAAM,EAAE,eAAe,EACvB,SAAS,CAAC,EAAE,WAAW,EACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,GAC/D,UAAU,CA0FZ"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../source/services/agent-runtime/executor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAmC,MAAM,YAAY,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAGhF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,kBAAkB,KAC3B,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AA4B3G;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAiB7F;AAeD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,oBAAoB,EAChC,MAAM,EAAE,eAAe,EACvB,SAAS,CAAC,EAAE,WAAW,EACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,GAC/D,UAAU,CA0FZ"}
@@ -50,6 +50,8 @@ export function mapSubagentResultToRunResult(result) {
50
50
  }
51
51
  function mapSubagentStatusToErrorCode(status) {
52
52
  switch (status) {
53
+ case 'interrupted':
54
+ return 'budget_exhausted';
53
55
  case 'cancelled':
54
56
  return 'cancelled';
55
57
  case 'failed':