@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,4 +1,5 @@
1
1
  import { truncatePreview } from '../subagents/utils.js';
2
+ import { BACKGROUND_SHELL_QUIET_AFTER_MS, BACKGROUND_SUBAGENT_QUIET_AFTER_MS, normalizeBackgroundTaskActivity, } from '../background-task-activity.js';
2
3
  const DEFAULT_TICK_MS = 30_000;
3
4
  function checkInKey(target) {
4
5
  return `${target.kind}:${target.id}`;
@@ -6,7 +7,7 @@ function checkInKey(target) {
6
7
  function taskTarget(task) {
7
8
  return task.kind === 'shell' ? { kind: 'shell', id: task.jobId } : { kind: 'subagent', id: task.runId };
8
9
  }
9
- function taskDetails(task, deps) {
10
+ function taskDetails(task, deps, now) {
10
11
  if (task.kind === 'shell') {
11
12
  const job = deps.getShellJob?.(task.jobId);
12
13
  const rawTail = deps.getShellOutputTail?.(task.jobId, 400)?.trim();
@@ -15,6 +16,18 @@ function taskDetails(task, deps) {
15
16
  kind: 'shell',
16
17
  id: task.jobId,
17
18
  command: task.command,
19
+ ...(job?.lastObservation || job?.lastActivityAt !== undefined
20
+ ? {
21
+ activity: normalizeBackgroundTaskActivity({
22
+ status: job?.status ?? task.status,
23
+ ...(job?.lastObservation === undefined
24
+ ? { lastActivityAt: job?.lastActivityAt }
25
+ : { lastObservation: job.lastObservation }),
26
+ now,
27
+ quietAfterMs: BACKGROUND_SHELL_QUIET_AFTER_MS,
28
+ }),
29
+ }
30
+ : {}),
18
31
  ...(job?.status ? { status: job.status } : {}),
19
32
  ...(job?.lastObservation ? { lastObservation: job.lastObservation } : {}),
20
33
  ...(outputTail ? { outputTail } : {}),
@@ -32,6 +45,26 @@ function taskDetails(task, deps) {
32
45
  ...(task.name !== undefined ? { name: task.name } : {}),
33
46
  role: task.role,
34
47
  task: task.task,
48
+ ...(subagentStatus?.lastObservation || subagentStatus?.lastActivityAt !== undefined
49
+ ? {
50
+ activity: normalizeBackgroundTaskActivity({
51
+ status: subagentStatus.status,
52
+ activityState: subagentStatus.status === 'awaiting_approval' || subagentStatus.status === 'waiting_for_answer'
53
+ ? 'waiting'
54
+ : subagentStatus.activityState,
55
+ waitingReason: subagentStatus.status === 'awaiting_approval'
56
+ ? 'approval'
57
+ : subagentStatus.status === 'waiting_for_answer'
58
+ ? 'answer'
59
+ : subagentStatus.waitingReason,
60
+ ...(subagentStatus.lastObservation === undefined
61
+ ? { lastActivityAt: subagentStatus.lastActivityAt }
62
+ : { lastObservation: subagentStatus.lastObservation }),
63
+ now,
64
+ quietAfterMs: BACKGROUND_SUBAGENT_QUIET_AFTER_MS,
65
+ }),
66
+ }
67
+ : {}),
35
68
  ...(subagentStatus?.activityState ? { activityState: subagentStatus.activityState } : {}),
36
69
  ...(subagentStatus?.waitingReason ? { waitingReason: subagentStatus.waitingReason } : {}),
37
70
  ...(subagentStatus?.toolCounts && Object.keys(subagentStatus.toolCounts).length > 0
@@ -53,9 +86,9 @@ function taskDetails(task, deps) {
53
86
  * notification pipeline (see docs/plans/background-work-control/agent-checkin.md).
54
87
  *
55
88
  * Owns no execution state of its own — `getRunningTasks` reads the unified
56
- * task snapshot the notification store already maintains. Per-task due time
57
- * and check-in count live only here, keyed by `${kind}:${id}`, and are
58
- * dropped the moment a task leaves the running snapshot (settled or evicted),
89
+ * task snapshot the notification store already maintains. Per-task due time,
90
+ * policy overrides, and check-in count live only here, keyed by `${kind}:${id}`,
91
+ * and are dropped the moment a task leaves the running snapshot (settled or evicted),
59
92
  * so a reused id after a task's lifecycle epoch bumps starts a fresh count.
60
93
  */
61
94
  export class BackgroundCheckInScheduler {
@@ -69,6 +102,7 @@ export class BackgroundCheckInScheduler {
69
102
  #clearInterval;
70
103
  #timer;
71
104
  #progress = new Map();
105
+ #policies = new Map();
72
106
  constructor(deps) {
73
107
  this.#getRunningTasks = deps.getRunningTasks;
74
108
  this.#emit = deps.emit;
@@ -82,6 +116,63 @@ export class BackgroundCheckInScheduler {
82
116
  this.#timer = setIntervalFn(() => this.tick(), deps.tickMs ?? DEFAULT_TICK_MS);
83
117
  this.#timer.unref?.();
84
118
  }
119
+ setTaskPolicy(target, policy) {
120
+ const key = checkInKey(target);
121
+ const existing = this.#policies.get(key) ?? {};
122
+ if (policy.enabled !== undefined)
123
+ existing.enabled = policy.enabled;
124
+ if (policy.intervalMs !== undefined)
125
+ existing.intervalMs = policy.intervalMs;
126
+ if (policy.nextDueAt !== undefined)
127
+ existing.nextDueAt = policy.nextDueAt;
128
+ this.#policies.set(key, existing);
129
+ }
130
+ getTaskPolicy(target) {
131
+ return this.#policies.get(checkInKey(target));
132
+ }
133
+ resolveTarget(targetNameOrId) {
134
+ const trimmed = targetNameOrId.trim();
135
+ if (!trimmed)
136
+ return undefined;
137
+ const running = this.#getRunningTasks().filter((t) => t.status === 'running');
138
+ for (const task of running) {
139
+ if (task.kind === 'shell' && task.jobId === trimmed) {
140
+ return { kind: 'shell', id: task.jobId };
141
+ }
142
+ if (task.kind === 'subagent') {
143
+ if (task.runId === trimmed || task.name === trimmed) {
144
+ return { kind: 'subagent', id: task.runId };
145
+ }
146
+ }
147
+ }
148
+ return undefined;
149
+ }
150
+ configureTaskCheckIn(targetNameOrId, options) {
151
+ const target = this.resolveTarget(targetNameOrId);
152
+ if (!target) {
153
+ return { ok: false, error: `No active running background task found matching "${targetNameOrId}".` };
154
+ }
155
+ const nextDueAt = options.nextDueInMs !== undefined ? this.#now() + options.nextDueInMs : undefined;
156
+ this.setTaskPolicy(target, {
157
+ enabled: options.enabled,
158
+ intervalMs: options.intervalMs,
159
+ nextDueAt,
160
+ });
161
+ const changes = [];
162
+ if (options.enabled !== undefined) {
163
+ changes.push(options.enabled ? 'check-ins enabled' : 'check-ins muted');
164
+ }
165
+ if (options.intervalMs !== undefined) {
166
+ changes.push(`interval set to ${Math.round(options.intervalMs / 1000)}s`);
167
+ }
168
+ if (options.nextDueInMs !== undefined) {
169
+ changes.push(`next check-in in ${Math.round(options.nextDueInMs / 1000)}s`);
170
+ }
171
+ return {
172
+ ok: true,
173
+ message: `Check-in updated for ${target.kind} task "${target.id}": ${changes.join(', ')}.`,
174
+ };
175
+ }
85
176
  /** Exposed for tests; production callers rely on the internal timer. */
86
177
  tick() {
87
178
  const settings = this.#getSettings();
@@ -91,20 +182,29 @@ export class BackgroundCheckInScheduler {
91
182
  if (!liveKeys.has(key))
92
183
  this.#progress.delete(key);
93
184
  }
185
+ for (const key of this.#policies.keys()) {
186
+ if (!liveKeys.has(key))
187
+ this.#policies.delete(key);
188
+ }
94
189
  if (!settings.enabled)
95
190
  return;
96
191
  const now = this.#now();
97
192
  for (const task of runningTasks) {
98
193
  const target = taskTarget(task);
99
194
  const key = checkInKey(target);
195
+ const policy = this.#policies.get(key);
196
+ if (policy?.enabled === false)
197
+ continue;
100
198
  const progress = this.#progress.get(key);
101
- const dueAt = (progress?.lastCheckInAt ?? task.startedAt) + settings.intervalMs;
199
+ const interval = policy?.intervalMs ?? settings.intervalMs;
200
+ const dueAt = policy?.nextDueAt ?? (progress?.lastCheckInAt ?? task.startedAt) + interval;
102
201
  if (now < dueAt)
103
202
  continue;
104
203
  const checkInIndex = (progress?.checkInCount ?? 0) + 1;
105
- if (checkInIndex > settings.maxCheckInsPerTask)
106
- continue;
107
204
  this.#progress.set(key, { lastCheckInAt: now, checkInCount: checkInIndex });
205
+ if (policy?.nextDueAt !== undefined) {
206
+ policy.nextDueAt = undefined;
207
+ }
108
208
  this.#emit({
109
209
  type: 'background_check_in_due',
110
210
  target,
@@ -114,7 +214,7 @@ export class BackgroundCheckInScheduler {
114
214
  getSubagentStatus: this.#getSubagentStatus,
115
215
  getShellJob: this.#getShellJob,
116
216
  getShellOutputTail: this.#getShellOutputTail,
117
- }),
217
+ }, now),
118
218
  });
119
219
  }
120
220
  }
@@ -1 +1 @@
1
- {"version":3,"file":"background-check-in-scheduler.js","sourceRoot":"","sources":["../../../source/services/session/background-check-in-scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"background-check-in-scheduler.js","sourceRoot":"","sources":["../../../source/services/session/background-check-in-scheduler.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export type ContinuationRecoveryHandlerDeps = {
19
19
  retryEventPresenter: RetryEventPresenter;
20
20
  resolveRetryLimit: () => number;
21
21
  toolTracker: SessionToolTracker;
22
+ provider?: string;
22
23
  };
23
24
  export type ContinuationRecoveryResult = {
24
25
  kind: 'stale';
@@ -1 +1 @@
1
- {"version":3,"file":"continuation-recovery-handler.d.ts","sourceRoot":"","sources":["../../../source/services/session/continuation-recovery-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,MAAM,+BAA+B,GAAG;IAC5C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,sBAAsB,CAAC;IACxC,cAAc,EAAE,iCAAiC,CAAC;IAClD,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,iBAAiB,EAAE,MAAM,MAAM,CAAC;IAChC,WAAW,EAAE,kBAAkB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEN,qBAAa,2BAA2B;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,+BAA+B,EAAI;IAE/D,MAAM,CAAC,GAAG,EAAE;QACjB,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,iBAAiB,CAAC;KAC1B,GAAG,cAAc,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAyFtE;CACF"}
1
+ {"version":3,"file":"continuation-recovery-handler.d.ts","sourceRoot":"","sources":["../../../source/services/session/continuation-recovery-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,MAAM,MAAM,+BAA+B,GAAG;IAC5C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,sBAAsB,CAAC;IACxC,cAAc,EAAE,iCAAiC,CAAC;IAClD,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,iBAAiB,EAAE,MAAM,MAAM,CAAC;IAChC,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEN,qBAAa,2BAA2B;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,+BAA+B,EAAI;IAE/D,MAAM,CAAC,GAAG,EAAE;QACjB,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,iBAAiB,CAAC;KAC1B,GAAG,cAAc,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAqItE;CACF"}
@@ -1,3 +1,5 @@
1
+ import { classifyProviderFailure } from '../retry/provider-failure-classification.js';
2
+ import { skipsAutomaticReplayClaim } from '../retry/committed-tool-continuation.js';
1
3
  export class ContinuationRecoveryHandler {
2
4
  deps;
3
5
  constructor(deps) {
@@ -7,10 +9,12 @@ export class ContinuationRecoveryHandler {
7
9
  const { error, state } = ctx;
8
10
  const maxTransientRetries = this.deps.resolveRetryLimit();
9
11
  const retryStream = state.lastStream;
12
+ const committedToolContinuation = this.deps.toolTracker.inspectCommittedToolContinuation?.();
10
13
  const classified = this.deps.retryClassifier.classify({
11
14
  error,
12
15
  retryCounts: state.retryCounts,
13
16
  stream: retryStream,
17
+ committedToolContinuation,
14
18
  maxTransientRetries,
15
19
  });
16
20
  if (classified.kind === 'chain_recovery') {
@@ -19,6 +23,13 @@ export class ContinuationRecoveryHandler {
19
23
  if (classified.kind === 'unrecoverable') {
20
24
  return { kind: 'terminated' };
21
25
  }
26
+ // model_retry (hallucination/parsing/behavior detection) has its own
27
+ // pre-existing maxModelRetries cap and must not draw against or be capped
28
+ // by the shared transport-recovery envelope; see the matching comment in
29
+ // initial-turn-recovery-handler.ts.
30
+ if (classified.kind === 'transient' || classified.kind === 'chain_recovery') {
31
+ state.recoveryBudget.noteRetryableFailure();
32
+ }
22
33
  const presentation = this.deps.retryEventPresenter.present({
23
34
  failure: classified,
24
35
  maxTransientRetries,
@@ -49,6 +60,37 @@ export class ContinuationRecoveryHandler {
49
60
  stream: retryStream,
50
61
  };
51
62
  const transientDelayMs = classified.kind === 'transient' || classified.kind === 'chain_recovery' ? classified.delayMs : undefined;
63
+ // Only retry_fresh draws against the automatic-replay budget; replay_turn
64
+ // comes exclusively from model_retry, excluded for the reason above.
65
+ if (plan.kind === 'retry_fresh' &&
66
+ ((!skipsAutomaticReplayClaim(classified, committedToolContinuation) &&
67
+ !state.recoveryBudget.claimAutomaticReplay()) ||
68
+ !state.recoveryBudget.claimPhysicalAttempt())) {
69
+ // Refusing the plan must still settle open tool calls truthfully and
70
+ // clear the provider chain, exactly like an ordinary termination does --
71
+ // see the matching comment in initial-turn-recovery-handler.ts.
72
+ const terminateResult = this.deps.recoveryExecutor.apply({
73
+ plan: { kind: 'terminate', events: [] },
74
+ state: recoveryState,
75
+ retryCounts: state.retryCounts,
76
+ });
77
+ if (terminateResult.kind === 'terminated') {
78
+ for (const event of terminateResult.events) {
79
+ yield event;
80
+ }
81
+ }
82
+ const providerName = this.deps.provider ?? 'provider';
83
+ yield {
84
+ type: 'retry_exhausted',
85
+ provider: providerName,
86
+ errorKind: classifyProviderFailure(error).errorKind,
87
+ attempts: state.recoveryBudget.physicalAttempts,
88
+ maxAttempts: state.recoveryBudget.maxPhysicalAttempts,
89
+ message: `Could not reach ${providerName} after ${state.recoveryBudget.physicalAttempts} attempts. No model response was received.`,
90
+ canRetry: true,
91
+ };
92
+ return { kind: 'terminated' };
93
+ }
52
94
  const recoveryResult = this.deps.recoveryExecutor.apply({
53
95
  plan,
54
96
  state: recoveryState,
@@ -1 +1 @@
1
- {"version":3,"file":"continuation-recovery-handler.js","sourceRoot":"","sources":["../../../source/services/session/continuation-recovery-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"continuation-recovery-handler.js","sourceRoot":"","sources":["../../../source/services/session/continuation-recovery-handler.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import type { GenerationToken } from '../generation-guard.js';
9
9
  import type { PersistedAssistantTurnItem } from '../conversation/conversation-persistence-types.js';
10
10
  import type { AssistantJournalItemLogEvent } from '../logging/conversation-log-events.js';
11
11
  import type { AbortedApprovalContext } from '../approval/approval-state.js';
12
+ import { RetryRecoveryBudget } from '../retry/retry-recovery-budget.js';
12
13
  export interface PreparedContinuation {
13
14
  state: ContinuationHandle;
14
15
  interruption: unknown;
@@ -52,7 +53,9 @@ export declare class ContinuationState {
52
53
  retryCounts: RetryCounts;
53
54
  lastStream: AgentStream | null;
54
55
  currentResumePreviousResponseId: string | null | undefined;
55
- constructor(token: number);
56
+ /** Shared with the initial attempt that started this logical turn, when one exists. */
57
+ readonly recoveryBudget: RetryRecoveryBudget;
58
+ constructor(token: number, recoveryBudget?: RetryRecoveryBudget);
56
59
  initializeFrom(prepared: PreparedContinuation, currentCallIds: string[]): void;
57
60
  advanceFromPlan(nextState: ContinuationHandle, _nextInterruption: unknown, nextInputMode: 'delta' | 'full_history' | undefined, mergedEmittedIds: Set<string>, journalSnapshot: AssistantJournalItemLogEvent[], currentCallIds: string[]): void;
58
61
  setLastStream(stream: AgentStream | null): void;
@@ -1 +1 @@
1
- {"version":3,"file":"continuation-state.d.ts","sourceRoot":"","sources":["../../../source/services/session/continuation-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"continuation-state.d.ts","sourceRoot":"","sources":["../../../source/services/session/continuation-state.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { RetryRecoveryBudget } from '../retry/retry-recovery-budget.js';
1
2
  export class ContinuationState {
2
3
  token;
3
4
  currentState;
@@ -12,8 +13,11 @@ export class ContinuationState {
12
13
  retryCounts;
13
14
  lastStream;
14
15
  currentResumePreviousResponseId;
15
- constructor(token) {
16
+ /** Shared with the initial attempt that started this logical turn, when one exists. */
17
+ recoveryBudget;
18
+ constructor(token, recoveryBudget) {
16
19
  this.token = token;
20
+ this.recoveryBudget = recoveryBudget ?? new RetryRecoveryBudget();
17
21
  this.currentState = { kind: 'continuation' };
18
22
  this.currentCallIds = [];
19
23
  this.source = 'continueRunStream';
@@ -1 +1 @@
1
- {"version":3,"file":"continuation-state.js","sourceRoot":"","sources":["../../../source/services/session/continuation-state.ts"],"names":[],"mappings":"AA6CA,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAS;IACd,YAAY,CAAqB;IACjC,cAAc,CAAW;IACzB,MAAM,CAAsB;IAC5B,oBAAoB,CAAc;IAClC,eAAe,CAAiC;IAChD,SAAS,CAA2B;IACpC,eAAe,CAAmB;IAClC,yBAAyB,CAAmB;IAC5C,mBAAmB,CAAgC;IACnD,WAAW,CAAc;IACzB,UAAU,CAAqB;IAC/B,+BAA+B,CAA4B;IAE3D,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG;YACjB,mBAAmB,EAAE,CAAC;YACtB,wBAAwB,EAAE,CAAC;YAC3B,eAAe,EAAE,CAAC;YAClB,uBAAuB,EAAE,CAAC;SAC3B,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,+BAA+B,GAAG,SAAS,CAAC;IACnD,CAAC;IAED,cAAc,CAAC,QAA8B,EAAE,cAAwB;QACrE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,2BAA2B,CAAC;QACjE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;QAChD,IAAI,CAAC,yBAAyB,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnH,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,eAAe,CACb,SAA6B,EAC7B,iBAA0B,EAC1B,aAAmD,EACnD,gBAA6B,EAC7B,eAA+C,EAC/C,cAAwB;QAExB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC;IACnD,CAAC;IAED,aAAa,CAAC,MAA0B;QACtC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IAED,kBAAkB,CAAC,KAAkC;QACnD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,4BAA4B,CAAC,QAA0B;QACrD,IAAI,CAAC,yBAAyB,GAAG,QAAQ,CAAC;IAC5C,CAAC;IAED,sBAAsB,CAAC,KAA+C;QACpE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,cAAc,CAAC,MAAmB;QAChC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED,2BAA2B,CAAC,EAA6B;QACvD,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC;IAC5C,CAAC;IAED,kBAAkB,CAAC,QAAwC;QACzD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;CACF"}
1
+ {"version":3,"file":"continuation-state.js","sourceRoot":"","sources":["../../../source/services/session/continuation-state.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import type { RetryEventPresenter } from '../retry/retry-event-presenter.js';
10
10
  import type { NextRunInstruction } from '../retry/retry-contracts.js';
11
11
  import type { SessionInputPlanner } from './session-input-planner.js';
12
12
  import type { TurnAttempt } from './turn-attempt.js';
13
+ import type { SessionToolTracker } from './session-tool-tracker.js';
13
14
  export type InitialTurnRecoveryResult = {
14
15
  kind: 'run';
15
16
  instruction: NextRunInstruction;
@@ -32,6 +33,8 @@ export type InitialTurnRecoveryHandlerDeps = {
32
33
  retryClassifier: DefaultRetryClassifier;
33
34
  retryEventPresenter: RetryEventPresenter;
34
35
  sessionId: string;
36
+ provider?: string;
37
+ toolTracker?: Pick<SessionToolTracker, 'inspectCommittedToolContinuation'>;
35
38
  };
36
39
  export declare class InitialTurnRecoveryHandler {
37
40
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"initial-turn-recovery-handler.d.ts","sourceRoot":"","sources":["../../../source/services/session/initial-turn-recovery-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAiB,MAAM,6BAA6B,CAAC;AAErF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,kBAAkB,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,GACpG;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,MAAM,MAAM,8BAA8B,GAAG;IAC3C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,wBAAwB,EAAE,OAAO,CAAC;IAClC,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,cAAc,EAAE,iCAAiC,CAAC;IAClD,eAAe,EAAE,sBAAsB,CAAC;IACxC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,0BAA0B;;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,8BAA8B,EAAI;IAE9D,MAAM,CAAC,GAAG,EAAE;QACjB,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,EAAE,WAAW,CAAC;QACrB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;KAC5B,GAAG,cAAc,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,IAAI,CAAC,CA2IrE;CAaF"}
1
+ {"version":3,"file":"initial-turn-recovery-handler.d.ts","sourceRoot":"","sources":["../../../source/services/session/initial-turn-recovery-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAiB,MAAM,6BAA6B,CAAC;AAIrF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,kBAAkB,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,GACpG;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,MAAM,MAAM,8BAA8B,GAAG;IAC3C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,wBAAwB,EAAE,OAAO,CAAC;IAClC,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,cAAc,EAAE,iCAAiC,CAAC;IAClD,eAAe,EAAE,sBAAsB,CAAC;IACxC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,CAAC;CAC5E,CAAC;AAEF,qBAAa,0BAA0B;;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,8BAA8B,EAAI;IAE9D,MAAM,CAAC,GAAG,EAAE;QACjB,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,EAAE,WAAW,CAAC;QACrB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;KAC5B,GAAG,cAAc,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAsNrE;CAaF"}
@@ -1,4 +1,7 @@
1
1
  import { describeError } from '../../utils/error-helpers.js';
2
+ import { classifyProviderFailure } from '../retry/provider-failure-classification.js';
3
+ import { isRetryRecoveryBudgetExhaustedError } from '../retry/retry-recovery-budget.js';
4
+ import { skipsAutomaticReplayClaim } from '../retry/committed-tool-continuation.js';
2
5
  export class InitialTurnRecoveryHandler {
3
6
  deps;
4
7
  constructor(deps) {
@@ -9,10 +12,13 @@ export class InitialTurnRecoveryHandler {
9
12
  if (!this.deps.generationGuard.isCurrent(attempt.token)) {
10
13
  return { kind: 'stale' };
11
14
  }
15
+ const committedToolContinuation = this.deps.toolTracker?.inspectCommittedToolContinuation();
12
16
  let classified = this.deps.retryClassifier.classify({
13
17
  error,
14
18
  retryCounts: attempt.retryCounts,
15
19
  stream,
20
+ hasCommittedOutput: attempt.modelEventSeen,
21
+ committedToolContinuation,
16
22
  maxTransientRetries: attempt.maxTransientRetries,
17
23
  maxModelRetries: attempt.maxModelRetries,
18
24
  });
@@ -36,6 +42,12 @@ export class InitialTurnRecoveryHandler {
36
42
  classified = { kind: 'unrecoverable' };
37
43
  }
38
44
  if (classified.kind === 'unrecoverable') {
45
+ const providerFailure = classifyProviderFailure(error);
46
+ const exhausted = !stream &&
47
+ (isRetryRecoveryBudgetExhaustedError(error) ||
48
+ (providerFailure.retryable &&
49
+ providerFailure.errorKind !== 'authentication' &&
50
+ providerFailure.errorKind !== 'cancelled'));
39
51
  const droppedUserMessage = attempt.addedUserMessage && !stream
40
52
  ? { text: attempt.turn.text, imageCount: attempt.turn.images?.length ?? 0 }
41
53
  : undefined;
@@ -64,6 +76,18 @@ export class InitialTurnRecoveryHandler {
64
76
  for (const event of recoveryResult.events) {
65
77
  yield event;
66
78
  }
79
+ if (exhausted) {
80
+ const providerName = this.deps.provider ?? 'provider';
81
+ yield {
82
+ type: 'retry_exhausted',
83
+ provider: providerName,
84
+ errorKind: providerFailure.errorKind,
85
+ attempts: Math.max(1, attempt.retryCounts.transientRetryCount + 1),
86
+ maxAttempts: attempt.maxTransientRetries + 1,
87
+ message: `Could not reach ${providerName} after ${Math.max(1, attempt.retryCounts.transientRetryCount + 1)} attempts. No model response was received.`,
88
+ canRetry: true,
89
+ };
90
+ }
67
91
  yield {
68
92
  type: 'error',
69
93
  message: describeError(error),
@@ -92,6 +116,15 @@ export class InitialTurnRecoveryHandler {
92
116
  if (classified.kind === 'chain_recovery') {
93
117
  this.deps.breakChaining?.();
94
118
  }
119
+ // model_retry (hallucination/parsing/behavior detection) is a distinct,
120
+ // pre-existing retry policy with its own maxModelRetries cap. It is not a
121
+ // provider transport failure, so it must not draw against or be capped by
122
+ // the shared transport-recovery envelope -- doing so silently truncated
123
+ // an established, independently-tested retry count (see the regression
124
+ // test this comment sits next to in initial-turn-recovery-handler.test.ts).
125
+ if (classified.kind === 'transient' || classified.kind === 'chain_recovery') {
126
+ attempt.recoveryBudget.noteRetryableFailure();
127
+ }
95
128
  attempt.advanceRetry(this.deps.recoveryPolicy.nextRetryCounts(attempt.retryCounts, classified));
96
129
  const plan = this.deps.recoveryPolicy.plan({
97
130
  failure: classified,
@@ -106,6 +139,43 @@ export class InitialTurnRecoveryHandler {
106
139
  addedUserMessage: attempt.addedUserMessage,
107
140
  stream,
108
141
  };
142
+ // Only retry_fresh (service_tier_fallback/transient/chain_recovery/
143
+ // transport_downgrade) draws against the automatic-replay budget.
144
+ // replay_turn is produced exclusively by model_retry, which is excluded
145
+ // for the same reason noted above.
146
+ if (plan.kind === 'retry_fresh' &&
147
+ ((!skipsAutomaticReplayClaim(classified, committedToolContinuation) &&
148
+ !attempt.recoveryBudget.claimAutomaticReplay()) ||
149
+ !attempt.recoveryBudget.claimPhysicalAttempt())) {
150
+ // Refusing the plan must still go through the same settlement path a
151
+ // normal termination does -- open tool calls settle truthfully (not as
152
+ // blind failures), and the chain is cleared so the next turn cannot
153
+ // send a text-only continuation against a response still awaiting tool
154
+ // output. Returning 'terminated' directly here (the original bug)
155
+ // skipped all of that.
156
+ const terminateResult = this.deps.recoveryExecutor.apply({
157
+ plan: { kind: 'terminate', events: [] },
158
+ state: recoveryState,
159
+ retryCounts: attempt.retryCounts,
160
+ maxModelRetries: attempt.maxModelRetries,
161
+ });
162
+ if (terminateResult.kind === 'terminated') {
163
+ for (const event of terminateResult.events) {
164
+ yield event;
165
+ }
166
+ }
167
+ yield {
168
+ type: 'retry_exhausted',
169
+ provider: this.deps.provider ?? 'provider',
170
+ errorKind: classifyProviderFailure(error).errorKind,
171
+ attempts: attempt.recoveryBudget.physicalAttempts,
172
+ maxAttempts: attempt.recoveryBudget.maxPhysicalAttempts,
173
+ message: `Could not reach ${this.deps.provider ?? 'provider'} after ${attempt.recoveryBudget.physicalAttempts} attempts. No model response was received.`,
174
+ canRetry: true,
175
+ };
176
+ this.#logFailure(error);
177
+ return { kind: 'terminated' };
178
+ }
109
179
  const result = this.deps.recoveryExecutor.apply({
110
180
  plan,
111
181
  state: recoveryState,
@@ -1 +1 @@
1
- {"version":3,"file":"initial-turn-recovery-handler.js","sourceRoot":"","sources":["../../../source/services/session/initial-turn-recovery-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initial-turn-recovery-handler.js","sourceRoot":"","sources":["../../../source/services/session/initial-turn-recovery-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-composition.d.ts","sourceRoot":"","sources":["../../../source/services/session/session-composition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-composition.d.ts","sourceRoot":"","sources":["../../../source/services/session/session-composition.ts"],"names":[],"mappings":"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"}