@pentoshi/clai 3.9.2 → 3.9.4

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 (407) hide show
  1. package/dist/agent/compaction-attempt.d.ts +22 -0
  2. package/dist/agent/compaction-attempt.js +69 -0
  3. package/dist/agent/compaction-attempt.js.map +1 -0
  4. package/dist/agent/compaction-summary.d.ts +27 -0
  5. package/dist/agent/compaction-summary.js +62 -0
  6. package/dist/agent/compaction-summary.js.map +1 -1
  7. package/dist/agent/context-breakdown.d.ts +2 -0
  8. package/dist/agent/context-breakdown.js +37 -0
  9. package/dist/agent/context-breakdown.js.map +1 -1
  10. package/dist/agent/context-manager.d.ts +7 -1
  11. package/dist/agent/context-manager.js +64 -15
  12. package/dist/agent/context-manager.js.map +1 -1
  13. package/dist/agent/continue-orient.d.ts +8 -0
  14. package/dist/agent/continue-orient.js +26 -3
  15. package/dist/agent/continue-orient.js.map +1 -1
  16. package/dist/agent/durable-envelope.d.ts +39 -0
  17. package/dist/agent/durable-envelope.js +195 -0
  18. package/dist/agent/durable-envelope.js.map +1 -0
  19. package/dist/agent/events.d.ts +21 -0
  20. package/dist/agent/loop-guard.d.ts +13 -5
  21. package/dist/agent/loop-guard.js +114 -1
  22. package/dist/agent/loop-guard.js.map +1 -1
  23. package/dist/agent/outcomes.d.ts +29 -0
  24. package/dist/agent/outcomes.js +118 -3
  25. package/dist/agent/outcomes.js.map +1 -1
  26. package/dist/agent/plan-decision.js +8 -3
  27. package/dist/agent/plan-decision.js.map +1 -1
  28. package/dist/agent/plan-tool.d.ts +5 -0
  29. package/dist/agent/plan-tool.js +166 -6
  30. package/dist/agent/plan-tool.js.map +1 -1
  31. package/dist/agent/reliability-policy.d.ts +11 -6
  32. package/dist/agent/reliability-policy.js +19 -13
  33. package/dist/agent/reliability-policy.js.map +1 -1
  34. package/dist/agent/request-budget.d.ts +24 -0
  35. package/dist/agent/request-budget.js +59 -0
  36. package/dist/agent/request-budget.js.map +1 -0
  37. package/dist/agent/responder-context.js +2 -2
  38. package/dist/agent/responder-context.js.map +1 -1
  39. package/dist/agent/responder-parent.d.ts +30 -0
  40. package/dist/agent/responder-parent.js +82 -0
  41. package/dist/agent/responder-parent.js.map +1 -0
  42. package/dist/agent/runner.d.ts +15 -2
  43. package/dist/agent/runner.js +766 -213
  44. package/dist/agent/runner.js.map +1 -1
  45. package/dist/agent/scope-context.d.ts +5 -0
  46. package/dist/agent/scope-context.js +7 -1
  47. package/dist/agent/scope-context.js.map +1 -1
  48. package/dist/agent/session-policy.js +1 -0
  49. package/dist/agent/session-policy.js.map +1 -1
  50. package/dist/agent/stop-summary.js +13 -7
  51. package/dist/agent/stop-summary.js.map +1 -1
  52. package/dist/agent/task-analyzer.js +7 -3
  53. package/dist/agent/task-analyzer.js.map +1 -1
  54. package/dist/agent/task-evidence.js +2 -0
  55. package/dist/agent/task-evidence.js.map +1 -1
  56. package/dist/agent/task-sync.d.ts +11 -0
  57. package/dist/agent/task-sync.js +31 -0
  58. package/dist/agent/task-sync.js.map +1 -1
  59. package/dist/agent/tool-call-parser.d.ts +6 -13
  60. package/dist/agent/tool-call-parser.js +186 -82
  61. package/dist/agent/tool-call-parser.js.map +1 -1
  62. package/dist/agent/tool-history.d.ts +8 -2
  63. package/dist/agent/tool-history.js +8 -1
  64. package/dist/agent/tool-history.js.map +1 -1
  65. package/dist/agent/turn-outcome.d.ts +4 -1
  66. package/dist/agent/turn-outcome.js +16 -2
  67. package/dist/agent/turn-outcome.js.map +1 -1
  68. package/dist/app/adapters/agent-event-adapter.js +27 -0
  69. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  70. package/dist/app/adapters/current-agent-adapter.js +1 -0
  71. package/dist/app/adapters/current-agent-adapter.js.map +1 -1
  72. package/dist/app/adapters/current-interactive-sessions-adapter.d.ts +4 -0
  73. package/dist/app/adapters/current-interactive-sessions-adapter.js +11 -0
  74. package/dist/app/adapters/current-interactive-sessions-adapter.js.map +1 -0
  75. package/dist/app/adapters/current-jobs-adapter.js +4 -3
  76. package/dist/app/adapters/current-jobs-adapter.js.map +1 -1
  77. package/dist/app/adapters/current-store-adapter.js +4 -3
  78. package/dist/app/adapters/current-store-adapter.js.map +1 -1
  79. package/dist/app/adapters/current-updates-adapter.d.ts +1 -1
  80. package/dist/app/adapters/current-updates-adapter.js +34 -5
  81. package/dist/app/adapters/current-updates-adapter.js.map +1 -1
  82. package/dist/app/adapters/quiet-meta-tools.js +2 -1
  83. package/dist/app/adapters/quiet-meta-tools.js.map +1 -1
  84. package/dist/app/controllers/cancel-all-result.d.ts +8 -0
  85. package/dist/app/controllers/cancel-all-result.js +32 -0
  86. package/dist/app/controllers/cancel-all-result.js.map +1 -0
  87. package/dist/app/controllers/job-controller.d.ts +4 -3
  88. package/dist/app/controllers/job-controller.js +9 -6
  89. package/dist/app/controllers/job-controller.js.map +1 -1
  90. package/dist/app/controllers/plan-controller.js +14 -0
  91. package/dist/app/controllers/plan-controller.js.map +1 -1
  92. package/dist/app/controllers/responder-settlement.js +2 -2
  93. package/dist/app/controllers/responder-settlement.js.map +1 -1
  94. package/dist/app/controllers/session-compact-helper.d.ts +23 -1
  95. package/dist/app/controllers/session-compact-helper.js +117 -7
  96. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  97. package/dist/app/controllers/session-context-usage.d.ts +24 -0
  98. package/dist/app/controllers/session-context-usage.js +89 -0
  99. package/dist/app/controllers/session-context-usage.js.map +1 -0
  100. package/dist/app/controllers/session-controller.d.ts +25 -17
  101. package/dist/app/controllers/session-controller.js +142 -128
  102. package/dist/app/controllers/session-controller.js.map +1 -1
  103. package/dist/app/controllers/session-prompt-queue.d.ts +3 -0
  104. package/dist/app/controllers/session-prompt-queue.js +20 -1
  105. package/dist/app/controllers/session-prompt-queue.js.map +1 -1
  106. package/dist/app/controllers/session-responder.js +16 -6
  107. package/dist/app/controllers/session-responder.js.map +1 -1
  108. package/dist/app/controllers/session-turn-request.d.ts +18 -0
  109. package/dist/app/controllers/session-turn-request.js +31 -0
  110. package/dist/app/controllers/session-turn-request.js.map +1 -0
  111. package/dist/app/controllers/turn-continuation.d.ts +14 -0
  112. package/dist/app/controllers/turn-continuation.js +46 -0
  113. package/dist/app/controllers/turn-continuation.js.map +1 -0
  114. package/dist/app/events/app-event.d.ts +21 -0
  115. package/dist/app/events/app-event.js +1 -0
  116. package/dist/app/events/app-event.js.map +1 -1
  117. package/dist/app/ports/agent-port.d.ts +7 -0
  118. package/dist/app/ports/interactive-sessions-port.d.ts +21 -0
  119. package/dist/app/ports/interactive-sessions-port.js +9 -0
  120. package/dist/app/ports/interactive-sessions-port.js.map +1 -0
  121. package/dist/app/ports/jobs-port.d.ts +4 -3
  122. package/dist/app/ports/persistence-port.d.ts +11 -0
  123. package/dist/app/ports/updates-port.d.ts +8 -0
  124. package/dist/attachments/service.js +13 -2
  125. package/dist/attachments/service.js.map +1 -1
  126. package/dist/commands/providers.js +13 -10
  127. package/dist/commands/providers.js.map +1 -1
  128. package/dist/commands/update.d.ts +4 -0
  129. package/dist/commands/update.js +14 -0
  130. package/dist/commands/update.js.map +1 -1
  131. package/dist/index.js +21 -8
  132. package/dist/index.js.map +1 -1
  133. package/dist/interactive-session/artifact-writer.d.ts +54 -0
  134. package/dist/interactive-session/artifact-writer.js +161 -0
  135. package/dist/interactive-session/artifact-writer.js.map +1 -0
  136. package/dist/interactive-session/cleanup.d.ts +36 -0
  137. package/dist/interactive-session/cleanup.js +157 -0
  138. package/dist/interactive-session/cleanup.js.map +1 -0
  139. package/dist/interactive-session/config.d.ts +118 -0
  140. package/dist/interactive-session/config.js +141 -0
  141. package/dist/interactive-session/config.js.map +1 -0
  142. package/dist/interactive-session/input-policy.d.ts +41 -0
  143. package/dist/interactive-session/input-policy.js +163 -0
  144. package/dist/interactive-session/input-policy.js.map +1 -0
  145. package/dist/interactive-session/manager.d.ts +107 -0
  146. package/dist/interactive-session/manager.js +927 -0
  147. package/dist/interactive-session/manager.js.map +1 -0
  148. package/dist/interactive-session/output-store.d.ts +81 -0
  149. package/dist/interactive-session/output-store.js +239 -0
  150. package/dist/interactive-session/output-store.js.map +1 -0
  151. package/dist/interactive-session/output-view.d.ts +20 -0
  152. package/dist/interactive-session/output-view.js +142 -0
  153. package/dist/interactive-session/output-view.js.map +1 -0
  154. package/dist/interactive-session/recovery-journal.d.ts +55 -0
  155. package/dist/interactive-session/recovery-journal.js +115 -0
  156. package/dist/interactive-session/recovery-journal.js.map +1 -0
  157. package/dist/interactive-session/registry.d.ts +59 -0
  158. package/dist/interactive-session/registry.js +170 -0
  159. package/dist/interactive-session/registry.js.map +1 -0
  160. package/dist/interactive-session/runtime.d.ts +107 -0
  161. package/dist/interactive-session/runtime.js +191 -0
  162. package/dist/interactive-session/runtime.js.map +1 -0
  163. package/dist/interactive-session/session-runtime.d.ts +50 -0
  164. package/dist/interactive-session/session-runtime.js +63 -0
  165. package/dist/interactive-session/session-runtime.js.map +1 -0
  166. package/dist/interactive-session/streaming-redactor.d.ts +53 -0
  167. package/dist/interactive-session/streaming-redactor.js +263 -0
  168. package/dist/interactive-session/streaming-redactor.js.map +1 -0
  169. package/dist/interactive-session/telemetry.d.ts +30 -0
  170. package/dist/interactive-session/telemetry.js +47 -0
  171. package/dist/interactive-session/telemetry.js.map +1 -0
  172. package/dist/interactive-session/transport-factory.d.ts +8 -0
  173. package/dist/interactive-session/transport-factory.js +16 -0
  174. package/dist/interactive-session/transport-factory.js.map +1 -0
  175. package/dist/interactive-session/transport-node-pty.d.ts +49 -0
  176. package/dist/interactive-session/transport-node-pty.js +219 -0
  177. package/dist/interactive-session/transport-node-pty.js.map +1 -0
  178. package/dist/interactive-session/transport-pipe.d.ts +9 -0
  179. package/dist/interactive-session/transport-pipe.js +215 -0
  180. package/dist/interactive-session/transport-pipe.js.map +1 -0
  181. package/dist/interactive-session/transport.d.ts +104 -0
  182. package/dist/interactive-session/transport.js +89 -0
  183. package/dist/interactive-session/transport.js.map +1 -0
  184. package/dist/interactive-session/types.d.ts +254 -0
  185. package/dist/interactive-session/types.js +191 -0
  186. package/dist/interactive-session/types.js.map +1 -0
  187. package/dist/llm/adapters/anthropic-tools.d.ts +14 -1
  188. package/dist/llm/adapters/anthropic-tools.js +36 -5
  189. package/dist/llm/adapters/anthropic-tools.js.map +1 -1
  190. package/dist/llm/adapters/gemini-tools.d.ts +3 -1
  191. package/dist/llm/adapters/gemini-tools.js +5 -2
  192. package/dist/llm/adapters/gemini-tools.js.map +1 -1
  193. package/dist/llm/adapters/ollama-tools.js +8 -3
  194. package/dist/llm/adapters/ollama-tools.js.map +1 -1
  195. package/dist/llm/adapters/openai-tools.js +8 -1
  196. package/dist/llm/adapters/openai-tools.js.map +1 -1
  197. package/dist/llm/agentrouter.js +2 -0
  198. package/dist/llm/agentrouter.js.map +1 -1
  199. package/dist/llm/anthropic.d.ts +8 -0
  200. package/dist/llm/anthropic.js +68 -9
  201. package/dist/llm/anthropic.js.map +1 -1
  202. package/dist/llm/aws-mantle.js +60 -12
  203. package/dist/llm/aws-mantle.js.map +1 -1
  204. package/dist/llm/bynara.js +2 -0
  205. package/dist/llm/bynara.js.map +1 -1
  206. package/dist/llm/capabilities.d.ts +7 -0
  207. package/dist/llm/capabilities.js +22 -0
  208. package/dist/llm/capabilities.js.map +1 -1
  209. package/dist/llm/gemini.d.ts +3 -0
  210. package/dist/llm/gemini.js +71 -11
  211. package/dist/llm/gemini.js.map +1 -1
  212. package/dist/llm/groq.d.ts +20 -1
  213. package/dist/llm/groq.js +32 -4
  214. package/dist/llm/groq.js.map +1 -1
  215. package/dist/llm/http.d.ts +29 -0
  216. package/dist/llm/http.js +122 -29
  217. package/dist/llm/http.js.map +1 -1
  218. package/dist/llm/kimchi.js +2 -0
  219. package/dist/llm/kimchi.js.map +1 -1
  220. package/dist/llm/nvidia.js +2 -0
  221. package/dist/llm/nvidia.js.map +1 -1
  222. package/dist/llm/ollama.d.ts +5 -0
  223. package/dist/llm/ollama.js +53 -6
  224. package/dist/llm/ollama.js.map +1 -1
  225. package/dist/llm/openai.js +2 -0
  226. package/dist/llm/openai.js.map +1 -1
  227. package/dist/llm/openrouter.js +2 -0
  228. package/dist/llm/openrouter.js.map +1 -1
  229. package/dist/llm/qwen-cloud.js +2 -0
  230. package/dist/llm/qwen-cloud.js.map +1 -1
  231. package/dist/llm/router.d.ts +16 -0
  232. package/dist/llm/router.js +79 -23
  233. package/dist/llm/router.js.map +1 -1
  234. package/dist/llm/sampling.d.ts +32 -0
  235. package/dist/llm/sampling.js +48 -0
  236. package/dist/llm/sampling.js.map +1 -0
  237. package/dist/llm/stream-progress.d.ts +4 -0
  238. package/dist/llm/stream-progress.js +43 -0
  239. package/dist/llm/stream-progress.js.map +1 -0
  240. package/dist/llm/system-messages.d.ts +29 -0
  241. package/dist/llm/system-messages.js +51 -0
  242. package/dist/llm/system-messages.js.map +1 -0
  243. package/dist/llm/token-usage.d.ts +4 -1
  244. package/dist/llm/token-usage.js +56 -4
  245. package/dist/llm/token-usage.js.map +1 -1
  246. package/dist/llm/tool-protocol.js +30 -0
  247. package/dist/llm/tool-protocol.js.map +1 -1
  248. package/dist/os/process-identity.d.ts +46 -0
  249. package/dist/os/process-identity.js +147 -0
  250. package/dist/os/process-identity.js.map +1 -0
  251. package/dist/os/process-tree.d.ts +15 -0
  252. package/dist/os/process-tree.js +77 -0
  253. package/dist/os/process-tree.js.map +1 -0
  254. package/dist/prompts/embedded.js +1 -1
  255. package/dist/prompts/embedded.js.map +1 -1
  256. package/dist/prompts/system.agent.md +13 -12
  257. package/dist/repl/prompt-line.d.ts +5 -0
  258. package/dist/repl/prompt-line.js +7 -1
  259. package/dist/repl/prompt-line.js.map +1 -1
  260. package/dist/repl.js +71 -41
  261. package/dist/repl.js.map +1 -1
  262. package/dist/safety/classifier.js +98 -44
  263. package/dist/safety/classifier.js.map +1 -1
  264. package/dist/safety/engagement-policy.d.ts +8 -0
  265. package/dist/safety/engagement-policy.js +52 -7
  266. package/dist/safety/engagement-policy.js.map +1 -1
  267. package/dist/safety/patterns.d.ts +44 -0
  268. package/dist/safety/patterns.js +168 -37
  269. package/dist/safety/patterns.js.map +1 -1
  270. package/dist/store/config.d.ts +9 -1
  271. package/dist/store/config.js +51 -1
  272. package/dist/store/config.js.map +1 -1
  273. package/dist/store/history-index.d.ts +12 -0
  274. package/dist/store/history-index.js +47 -18
  275. package/dist/store/history-index.js.map +1 -1
  276. package/dist/store/history.d.ts +5 -2
  277. package/dist/store/history.js +153 -62
  278. package/dist/store/history.js.map +1 -1
  279. package/dist/store/plan.d.ts +81 -5
  280. package/dist/store/plan.js +406 -46
  281. package/dist/store/plan.js.map +1 -1
  282. package/dist/store/redaction-cache.d.ts +12 -0
  283. package/dist/store/redaction-cache.js +51 -0
  284. package/dist/store/redaction-cache.js.map +1 -0
  285. package/dist/store/responder-settlement.d.ts +5 -1
  286. package/dist/store/responder-settlement.js +42 -30
  287. package/dist/store/responder-settlement.js.map +1 -1
  288. package/dist/store/scope.js +36 -27
  289. package/dist/store/scope.js.map +1 -1
  290. package/dist/store/task-transitions.d.ts +19 -0
  291. package/dist/store/task-transitions.js +46 -0
  292. package/dist/store/task-transitions.js.map +1 -0
  293. package/dist/tools/capabilities.js +33 -18
  294. package/dist/tools/capabilities.js.map +1 -1
  295. package/dist/tools/command-intent.d.ts +24 -0
  296. package/dist/tools/command-intent.js +158 -4
  297. package/dist/tools/command-intent.js.map +1 -1
  298. package/dist/tools/definitions.d.ts +5 -1
  299. package/dist/tools/definitions.js +257 -21
  300. package/dist/tools/definitions.js.map +1 -1
  301. package/dist/tools/fs.d.ts +16 -0
  302. package/dist/tools/fs.js +122 -46
  303. package/dist/tools/fs.js.map +1 -1
  304. package/dist/tools/image.js +1 -1
  305. package/dist/tools/image.js.map +1 -1
  306. package/dist/tools/interactive-session-tools.d.ts +11 -0
  307. package/dist/tools/interactive-session-tools.js +261 -0
  308. package/dist/tools/interactive-session-tools.js.map +1 -0
  309. package/dist/tools/jobs.d.ts +78 -4
  310. package/dist/tools/jobs.js +486 -127
  311. package/dist/tools/jobs.js.map +1 -1
  312. package/dist/tools/net-ping-sweep.d.ts +3 -1
  313. package/dist/tools/net-ping-sweep.js +64 -26
  314. package/dist/tools/net-ping-sweep.js.map +1 -1
  315. package/dist/tools/nmap-runner.js +5 -2
  316. package/dist/tools/nmap-runner.js.map +1 -1
  317. package/dist/tools/pdf.js +50 -7
  318. package/dist/tools/pdf.js.map +1 -1
  319. package/dist/tools/registry.js +158 -96
  320. package/dist/tools/registry.js.map +1 -1
  321. package/dist/tools/shell.d.ts +24 -2
  322. package/dist/tools/shell.js +113 -28
  323. package/dist/tools/shell.js.map +1 -1
  324. package/dist/tools/tool-types.d.ts +2 -0
  325. package/dist/tools/validate.d.ts +8 -5
  326. package/dist/tools/validate.js +177 -7
  327. package/dist/tools/validate.js.map +1 -1
  328. package/dist/tools/wordlists.js +69 -17
  329. package/dist/tools/wordlists.js.map +1 -1
  330. package/dist/tui/state.d.ts +4 -0
  331. package/dist/tui/state.js +88 -2
  332. package/dist/tui/state.js.map +1 -1
  333. package/dist/tui-v2/actions/keymap.js +3 -8
  334. package/dist/tui-v2/actions/keymap.js.map +1 -1
  335. package/dist/tui-v2/app/App.js +52 -4
  336. package/dist/tui-v2/app/App.js.map +1 -1
  337. package/dist/tui-v2/app/commands/config-commands.js +5 -2
  338. package/dist/tui-v2/app/commands/config-commands.js.map +1 -1
  339. package/dist/tui-v2/app/commands/picker-commands.js +3 -0
  340. package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
  341. package/dist/tui-v2/app/plan-lifecycle.d.ts +1 -1
  342. package/dist/tui-v2/app/plan-lifecycle.js +2 -1
  343. package/dist/tui-v2/app/plan-lifecycle.js.map +1 -1
  344. package/dist/tui-v2/bootstrap/composition-root.d.ts +3 -0
  345. package/dist/tui-v2/bootstrap/composition-root.js +3 -0
  346. package/dist/tui-v2/bootstrap/composition-root.js.map +1 -1
  347. package/dist/tui-v2/bootstrap/start-tui-v2.js +10 -0
  348. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  349. package/dist/tui-v2/components/composer/composer-input-box.d.ts +1 -1
  350. package/dist/tui-v2/components/composer/composer-input-box.js +12 -3
  351. package/dist/tui-v2/components/composer/composer-input-box.js.map +1 -1
  352. package/dist/tui-v2/components/jobs/jobs-panel.js +19 -6
  353. package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
  354. package/dist/tui-v2/components/plan/plan-view.js +9 -6
  355. package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
  356. package/dist/tui-v2/components/status/status-line.d.ts +15 -0
  357. package/dist/tui-v2/components/status/status-line.js +33 -25
  358. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  359. package/dist/tui-v2/components/transcript/assistant-message.js +17 -9
  360. package/dist/tui-v2/components/transcript/assistant-message.js.map +1 -1
  361. package/dist/tui-v2/components/transcript/compacted-row.js +49 -22
  362. package/dist/tui-v2/components/transcript/compacted-row.js.map +1 -1
  363. package/dist/tui-v2/components/transcript/intro-card.js +3 -0
  364. package/dist/tui-v2/components/transcript/intro-card.js.map +1 -1
  365. package/dist/tui-v2/components/transcript/thinking-block.js +2 -1
  366. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  367. package/dist/tui-v2/components/transcript/transcript-view.js +27 -2
  368. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  369. package/dist/tui-v2/components/transcript/use-transcript-selection.js +57 -6
  370. package/dist/tui-v2/components/transcript/use-transcript-selection.js.map +1 -1
  371. package/dist/tui-v2/composer/composer-editor.js +12 -6
  372. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  373. package/dist/tui-v2/rendering/incremental-strip.d.ts +11 -0
  374. package/dist/tui-v2/rendering/incremental-strip.js +89 -0
  375. package/dist/tui-v2/rendering/incremental-strip.js.map +1 -0
  376. package/dist/tui-v2/rendering/plan-view.d.ts +12 -0
  377. package/dist/tui-v2/rendering/plan-view.js +71 -2
  378. package/dist/tui-v2/rendering/plan-view.js.map +1 -1
  379. package/dist/tui-v2/rendering/streaming-markdown.d.ts +25 -0
  380. package/dist/tui-v2/rendering/streaming-markdown.js +108 -0
  381. package/dist/tui-v2/rendering/streaming-markdown.js.map +1 -0
  382. package/dist/tui-v2/rendering/thinking-tail.d.ts +5 -0
  383. package/dist/tui-v2/rendering/thinking-tail.js +26 -0
  384. package/dist/tui-v2/rendering/thinking-tail.js.map +1 -0
  385. package/dist/tui-v2/state/transcript-hydrate.js +6 -2
  386. package/dist/tui-v2/state/transcript-hydrate.js.map +1 -1
  387. package/dist/tui-v2/state/transcript-reducer.js +146 -25
  388. package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
  389. package/dist/tui-v2/state/transcript-types.d.ts +6 -0
  390. package/dist/tui-v2/state/transcript-types.js +17 -0
  391. package/dist/tui-v2/state/transcript-types.js.map +1 -1
  392. package/dist/types.d.ts +34 -0
  393. package/dist/types.js.map +1 -1
  394. package/dist/ui/intro-header.d.ts +1 -0
  395. package/dist/ui/intro-header.js +10 -13
  396. package/dist/ui/intro-header.js.map +1 -1
  397. package/dist/ui/markdown.js +9 -2
  398. package/dist/ui/markdown.js.map +1 -1
  399. package/dist/ui/mentions.d.ts +5 -0
  400. package/dist/ui/mentions.js +66 -7
  401. package/dist/ui/mentions.js.map +1 -1
  402. package/dist/ui/thinking.d.ts +5 -1
  403. package/dist/ui/thinking.js +3 -2
  404. package/dist/ui/thinking.js.map +1 -1
  405. package/dist/version.generated.d.ts +2 -2
  406. package/dist/version.generated.js +2 -2
  407. package/package.json +2 -1
@@ -1,18 +1,20 @@
1
- import { compactMessagesWithSummary, estimateMessagesTokens, isCompactionMemoryMessage, } from "../../agent/context-manager.js";
1
+ import { estimateMessagesTokens, isCompactionMemoryMessage, } from "../../agent/context-manager.js";
2
2
  import { repairToolProtocol } from "../../agent/tool-history.js";
3
- import { applyUsageToSnapshot, formatContextChip, modelContextWindow, snapshotFromEstimate, } from "../../llm/token-usage.js";
3
+ import { formatContextChip, snapshotFromEstimate, } from "../../llm/token-usage.js";
4
+ import { compactedUsageSnapshot, recordUsageSnapshot, resolveContextUsageSnapshot, restoredUsageSnapshot, createContextProjector, } from "./session-context-usage.js";
4
5
  import { createSessionPolicy } from "../../agent/session-policy.js";
5
- import { resolveTurnInput } from "../../attachments/service.js";
6
+ import { previousTurnSignal } from "./turn-continuation.js";
7
+ import { buildTurnRequest } from "./session-turn-request.js";
6
8
  import { generateSessionTitle } from "../../agent/session-title.js";
7
9
  import { clearTextOnlyModels } from "../../llm/tool-protocol.js";
8
10
  import { getConfig, getProviderModel } from "../../store/config.js";
9
11
  import { beginSessionWorkspace, getActiveSessionWorkspace } from "../../store/session-workspace.js";
10
- import { materializeHistoryImages } from "../../store/history.js";
11
- import { summarizeForSessionCompact } from "./session-compact-helper.js";
12
+ import { runSessionCompaction, } from "./session-compact-helper.js";
12
13
  import { settlePersistedResponderResults } from "./responder-settlement.js";
13
- import { asSessionId, } from "../events/app-event.js";
14
- import { EventSequencer, } from "../events/sequencer.js";
14
+ import { asSessionId } from "../events/app-event.js";
15
+ import { EventSequencer } from "../events/sequencer.js";
15
16
  import { OutputSpool } from "../events/event-buffer.js";
17
+ import { mergeCancelAllResult } from "./cancel-all-result.js";
16
18
  import { TurnController } from "./turn-controller.js";
17
19
  import { CompositeDisposable } from "./disposable.js";
18
20
  import { persistedContextUsage, SessionPersistenceQueue, } from "./session-persistence.js";
@@ -32,6 +34,14 @@ function pathBackedMessages(messages) {
32
34
  return images.length > 0 ? { ...rest, images } : rest;
33
35
  });
34
36
  }
37
+ const IDLE_RESPONDER_STATE = {
38
+ mode: "off",
39
+ running: 0,
40
+ ready: 0,
41
+ delivered: 0,
42
+ archived: 0,
43
+ failed: 0,
44
+ };
35
45
  export class SessionController {
36
46
  deps;
37
47
  spool = new OutputSpool();
@@ -63,6 +73,12 @@ export class SessionController {
63
73
  static AUTOSAVE_MIN_MS = 15_000;
64
74
  /** Last known context / session token totals for the status strip. */
65
75
  contextUsage;
76
+ /** Bumped by reset/history load/dispose so late callbacks can be ignored. */
77
+ lifecycleGeneration = 0;
78
+ lastTurnResult;
79
+ restoredPreviousTurn;
80
+ activeTurnGeneration;
81
+ projectContext = createContextProjector((snapshot) => formatContextChip(snapshot, { compact: false }));
66
82
  constructor(deps) {
67
83
  this.deps = deps;
68
84
  this.sessionIdValue = asSessionId(deps.sessionId ?? mintSessionId());
@@ -87,6 +103,7 @@ export class SessionController {
87
103
  notifyState: () => this.notifyState(),
88
104
  notice: (text) => this.notice("info", text),
89
105
  runTurn: (prompt, options) => this.runTurn(prompt, options),
106
+ lastTurnResult: () => this.lastTurnResult,
90
107
  });
91
108
  if (deps.jobs) {
92
109
  this.responder = new SessionResponder({
@@ -123,7 +140,7 @@ export class SessionController {
123
140
  return this.sessionIdValue;
124
141
  }
125
142
  getState() {
126
- const contextUsage = this.resolveContextUsage();
143
+ const { contextUsage, contextChip } = this.contextUsageProjection();
127
144
  return {
128
145
  sessionId: this.sessionIdValue,
129
146
  mode: this.mode,
@@ -133,60 +150,32 @@ export class SessionController {
133
150
  compacting: this.compactingFlag,
134
151
  historyLength: this.history.length,
135
152
  queued: this.prompts.snapshot(),
136
- responder: this.responder?.getState() ?? {
137
- mode: "off",
138
- running: 0,
139
- ready: 0,
140
- delivered: 0,
141
- archived: 0,
142
- failed: 0,
143
- },
153
+ responder: this.responder?.getState() ?? IDLE_RESPONDER_STATE,
144
154
  title: this.sessionTitle,
145
155
  contextUsage,
146
- contextChip: contextUsage
147
- ? formatContextChip(contextUsage, { compact: false })
148
- : undefined,
156
+ contextChip,
149
157
  };
150
158
  }
151
- /**
152
- * Prefer last API prompt_tokens as context fill (exact); otherwise estimate
153
- * from current history so the footer always has a number.
154
- */
159
+ contextUsageProjection() {
160
+ return this.projectContext(this.usageTarget, this.history, this.contextUsage);
161
+ }
162
+ get usageTarget() {
163
+ return { provider: this.provider, model: this.model };
164
+ }
155
165
  resolveContextUsage() {
156
- const limit = modelContextWindow(this.model, this.provider);
157
- if (this.contextUsage?.exact && this.contextUsage.contextTokens > 0) {
158
- return { ...this.contextUsage, contextLimit: limit };
159
- }
160
- if (this.history.length === 0 && !this.contextUsage)
161
- return undefined;
162
- return snapshotFromEstimate(this.history, this.model, this.provider, this.contextUsage);
166
+ return resolveContextUsageSnapshot(this.usageTarget, this.history, this.contextUsage);
163
167
  }
164
168
  /** Record provider-reported usage (from agent token-usage events). */
165
169
  recordTokenUsage(usage, model) {
166
- const limit = modelContextWindow(model ?? this.model, this.provider);
167
- this.contextUsage = applyUsageToSnapshot(this.contextUsage, usage, limit);
170
+ const target = { provider: this.provider, model: model ?? this.model };
171
+ this.contextUsage = recordUsageSnapshot(target, this.contextUsage, usage);
168
172
  if (model)
169
173
  this.model = model;
170
174
  this.notifyState();
171
175
  }
172
- /**
173
- * After /compact or auto-compact: history was replaced with a short memory
174
- * + recent turns. Drop stale exact prompt_tokens so the footer shows the
175
- * live context size until the next API usage report.
176
- */
176
+ /** After /compact or auto-compact, report the post-compaction context size. */
177
177
  noteContextCompacted(afterTokens) {
178
- const limit = modelContextWindow(this.model, this.provider);
179
- const estimated = typeof afterTokens === "number" && afterTokens > 0
180
- ? afterTokens
181
- : estimateMessagesTokens(this.history);
182
- this.contextUsage = {
183
- contextTokens: estimated,
184
- contextLimit: limit,
185
- lastCompletionTokens: 0,
186
- sessionPromptTokens: this.contextUsage?.sessionPromptTokens ?? 0,
187
- sessionCompletionTokens: this.contextUsage?.sessionCompletionTokens ?? 0,
188
- exact: false,
189
- };
178
+ this.contextUsage = compactedUsageSnapshot(this.usageTarget, this.contextUsage, this.history, afterTokens);
190
179
  this.notifyState();
191
180
  }
192
181
  /** After history loads, estimate fill until the next API usage report. */
@@ -221,14 +210,13 @@ export class SessionController {
221
210
  * autosaves update the resumed history row).
222
211
  */
223
212
  loadHistory(messages, options = {}) {
224
- if (this.turn.running)
225
- this.turn.abort();
226
- this.responder?.invalidateWake();
213
+ this.beginLifecycleGeneration();
227
214
  // Deep-copy then heal broken assistant/tool pairs from aborted turns so
228
215
  // /history resume + "continue" never dies on invalid native tool protocol.
229
216
  const healed = messages.map((m) => ({ ...m }));
230
217
  repairToolProtocol(healed);
231
218
  this.history = healed;
219
+ this.restoredPreviousTurn = options.previousTurn;
232
220
  this.prompts.clear();
233
221
  this.spool.clear();
234
222
  // Keep the resumed session's existing title; only refresh after the user
@@ -238,25 +226,18 @@ export class SessionController {
238
226
  this.titleInFlight = false;
239
227
  // Prefer the exact snapshot saved during the live turn; only estimate when
240
228
  // older sessions have no usage payload (would otherwise drop 39k → ~11k).
241
- if (options.contextUsage &&
242
- options.contextUsage.contextTokens > 0) {
243
- const cu = options.contextUsage;
244
- this.contextUsage = {
245
- contextTokens: cu.contextTokens,
246
- contextLimit: typeof cu.contextLimit === "number" && cu.contextLimit > 0
247
- ? cu.contextLimit
248
- : modelContextWindow(this.model, this.provider),
249
- lastCompletionTokens: cu.lastCompletionTokens ?? 0,
250
- sessionPromptTokens: cu.sessionPromptTokens ?? 0,
251
- sessionCompletionTokens: cu.sessionCompletionTokens ?? 0,
252
- exact: cu.exact === true,
253
- };
229
+ const restored = restoredUsageSnapshot(this.usageTarget, options.contextUsage);
230
+ if (restored) {
231
+ this.contextUsage = restored;
254
232
  }
255
233
  else {
256
234
  this.contextUsage = undefined;
257
235
  this.refreshEstimatedContext();
258
236
  }
259
237
  if (options.sessionId) {
238
+ if (options.sessionId !== this.sessionIdValue) {
239
+ this.fenceInteractiveOwner(this.sessionIdValue);
240
+ }
260
241
  this.sessionIdValue = asSessionId(options.sessionId);
261
242
  this.sequencer.rebind(this.sessionIdValue);
262
243
  this.policy = createSessionPolicy(this.sessionIdValue);
@@ -289,10 +270,9 @@ export class SessionController {
289
270
  * history row.
290
271
  */
291
272
  reset(options = {}) {
292
- if (this.turn.running)
293
- this.turn.abort();
294
- this.responder?.invalidateWake();
273
+ this.beginLifecycleGeneration();
295
274
  this.history = [];
275
+ this.restoredPreviousTurn = undefined;
296
276
  this.prompts.clear();
297
277
  this.sessionTitle = undefined;
298
278
  this.titledAtUserCount = 0;
@@ -300,6 +280,7 @@ export class SessionController {
300
280
  this.contextUsage = undefined;
301
281
  this.spool.clear();
302
282
  if (options.mintNewId) {
283
+ this.fenceInteractiveOwner(this.sessionIdValue);
303
284
  this.sessionIdValue = asSessionId(mintSessionId());
304
285
  this.sequencer.rebind(this.sessionIdValue);
305
286
  this.persistence.newSession();
@@ -327,52 +308,46 @@ export class SessionController {
327
308
  throw new Error("compaction already in progress");
328
309
  const cfg = getConfig();
329
310
  const provider = this.provider ?? cfg.defaultProvider;
330
- const model = this.model ?? cfg.defaultModel;
311
+ const history = [...this.history];
331
312
  const persist = options.persist !== false;
332
- const historySnapshot = [...this.history];
313
+ const generation = this.lifecycleGeneration;
314
+ const abortController = new AbortController();
333
315
  this.compactingFlag = true;
334
- const compactAc = new AbortController();
335
- this.compactAbort = compactAc;
316
+ this.compactAbort = abortController;
336
317
  if (signal?.aborted)
337
- compactAc.abort();
318
+ abortController.abort();
338
319
  else
339
- signal?.addEventListener("abort", () => compactAc.abort(), { once: true });
320
+ signal?.addEventListener("abort", () => abortController.abort(), { once: true });
340
321
  this.notifyState();
341
322
  try {
342
- const result = await compactMessagesWithSummary(historySnapshot, (prompt) => summarizeForSessionCompact(prompt, {
343
- provider,
344
- model,
345
- signal: compactAc.signal,
323
+ return await runSessionCompaction({
324
+ history,
325
+ sessionTranscript,
326
+ keepRecent,
327
+ signal: abortController.signal,
346
328
  purpose: options.purpose,
347
- }), { budgetTokens: 0, keepRecent, purpose: options.purpose }, sessionTranscript);
348
- this.history = result.messages;
349
- if (result.summarized)
350
- this.noteContextCompacted(result.afterTokens);
351
- this.notifyState();
352
- if (persist && result.summarized && result.after !== result.before) {
353
- // Re-compaction can encounter legacy memory in resumed histories.
354
- // Emit the newest inserted memory, never an older retained snapshot.
355
- const memo = [...result.messages]
356
- .reverse()
357
- .find((message) => isCompactionMemoryMessage(message))?.content ??
358
- "Compacted context";
359
- this.deps.emit(this.sequencer.build("compacted", {
360
- summary: memo,
361
- beforeTokens: result.beforeTokens,
362
- afterTokens: result.afterTokens,
363
- }, undefined));
364
- await this.persistNow();
365
- }
366
- return result;
329
+ provider,
330
+ model: this.model ?? cfg.defaultModel,
331
+ persist,
332
+ compactionId: String(this.sequencer.ids.message()),
333
+ sequencer: this.sequencer,
334
+ emit: this.deps.emit,
335
+ isCurrent: () => generation === this.lifecycleGeneration,
336
+ commit: (result) => {
337
+ this.history = result.messages;
338
+ if (result.summarized)
339
+ this.noteContextCompacted(result.afterTokens);
340
+ this.notifyState();
341
+ },
342
+ persistNow: () => this.persistNow(),
343
+ });
367
344
  }
368
345
  finally {
369
- this.compactingFlag = false;
370
- this.compactAbort = undefined;
346
+ if (generation === this.lifecycleGeneration) {
347
+ this.compactingFlag = false;
348
+ this.compactAbort = undefined;
349
+ }
371
350
  this.notifyState();
372
- // Becoming idle after compaction is an idle transition just like a turn
373
- // ending: a responder completion that arrived while compactingFlag was
374
- // set had its wake suppressed by isBusy(). Re-arm it here or the agent
375
- // stays stranded (job exited, no wake, no delivery) until the next turn.
376
351
  this.responder?.scheduleWake();
377
352
  }
378
353
  }
@@ -383,6 +358,12 @@ export class SessionController {
383
358
  history: this.history,
384
359
  });
385
360
  }
361
+ continuationCheckpoint() {
362
+ if (this.activeTurnGeneration === this.lifecycleGeneration) {
363
+ return { status: "error", reason: "the previous process stopped before the turn settled" };
364
+ }
365
+ return previousTurnSignal(this.lastTurnResult) ?? this.restoredPreviousTurn;
366
+ }
386
367
  async persistNow(name) {
387
368
  if (this.deps.noHistory || getConfig().privateMode) {
388
369
  this.settlePersistedResponderResults();
@@ -401,6 +382,7 @@ export class SessionController {
401
382
  sessionId: this.sessionIdValue,
402
383
  name: name ?? this.sessionTitle,
403
384
  transcript: this.deps.getTranscriptSnapshot?.(),
385
+ previousTurn: this.continuationCheckpoint() ?? null,
404
386
  ...(contextUsage ? { contextUsage } : {}),
405
387
  });
406
388
  this.settlePersistedResponderResults();
@@ -459,10 +441,19 @@ export class SessionController {
459
441
  this.compactAbort?.abort(); // cancel in-flight /compact alongside the turn
460
442
  this.prompts.clear(true);
461
443
  this.notifyState();
462
- if (!this.deps.jobs) {
463
- return { ok: true, output: "Turn cancelled; no background-job service is configured." };
464
- }
465
- return this.deps.jobs.cancelAll(this.sessionIdValue);
444
+ const [jobs, interactive] = await Promise.all([
445
+ this.deps.jobs?.cancelAll(this.sessionIdValue),
446
+ this.deps.interactiveSessions?.cancelOwner(this.sessionIdValue),
447
+ ]);
448
+ return mergeCancelAllResult(jobs, interactive);
449
+ }
450
+ /**
451
+ * Fence the outgoing owner id and start one tracked teardown before that id is
452
+ * rebound or released, so no new operation can enter the old owner and the old
453
+ * owner never becomes reachable through the new conversation context.
454
+ */
455
+ fenceInteractiveOwner(ownerId) {
456
+ void this.deps.interactiveSessions?.beginCloseOwner(ownerId).catch(() => undefined);
466
457
  }
467
458
  enqueue(prompt, opts) {
468
459
  this.prompts.enqueue(prompt, opts);
@@ -516,33 +507,32 @@ export class SessionController {
516
507
  const config = getConfig();
517
508
  const provider = this.provider ?? config.defaultProvider;
518
509
  const model = this.model ?? getProviderModel(provider);
519
- const resolved = resolveTurnInput({
510
+ const checkpoint = this.continuationCheckpoint();
511
+ const built = buildTurnRequest({
520
512
  prompt,
521
513
  mode: this.mode,
522
514
  provider,
523
515
  model,
524
- });
525
- if (resolved.fallbackReason)
526
- this.notice("info", resolved.fallbackReason);
527
- const request = {
528
- prompt: resolved.prompt,
529
- mode: resolved.mode,
530
- provider: resolved.provider,
531
- model: resolved.model,
532
- history: opts?.materializeHistoryImages === false
533
- ? this.history
534
- : materializeHistoryImages(this.history),
535
- attachments: resolved.attachments,
536
- images: resolved.images,
516
+ history: this.history,
517
+ materializeImages: opts?.materializeHistoryImages !== false,
537
518
  ...(opts?.displayPrompt !== undefined
538
519
  ? { displayPrompt: opts.displayPrompt }
539
520
  : {}),
540
- };
521
+ ...(checkpoint ? { previousTurn: checkpoint } : {}),
522
+ });
523
+ if (built.fallbackReason)
524
+ this.notice("info", built.fallbackReason);
525
+ const request = built.request;
526
+ const turnGeneration = this.lifecycleGeneration;
527
+ this.activeTurnGeneration = turnGeneration;
541
528
  const pending = this.turn.run(request, {
542
529
  confirm: this.deps.confirm,
543
530
  requestSecret: this.deps.requestSecret,
544
531
  session: this.policy,
545
532
  onMessages: (messages) => {
533
+ // A later reset/load owns the session; ignore late callbacks.
534
+ if (turnGeneration !== this.lifecycleGeneration)
535
+ return;
546
536
  this.history = pathBackedMessages(messages);
547
537
  this.notifyState();
548
538
  // Periodic durable snapshot so Esc/kill mid-run does not wipe tools.
@@ -552,15 +542,24 @@ export class SessionController {
552
542
  });
553
543
  this.notifyState();
554
544
  const result = await pending;
545
+ if (this.activeTurnGeneration === turnGeneration) {
546
+ this.activeTurnGeneration = undefined;
547
+ }
555
548
  this.notifyState();
556
549
  this.responder?.scheduleWake();
550
+ const sameGeneration = turnGeneration === this.lifecycleGeneration;
551
+ if (sameGeneration) {
552
+ this.lastTurnResult = result;
553
+ this.restoredPreviousTurn = undefined;
554
+ }
557
555
  try {
558
- if (result.status === "completed" ||
559
- result.status === "aborted" ||
560
- result.status === "error") {
556
+ if (sameGeneration &&
557
+ (result.status === "completed" ||
558
+ result.status === "aborted" ||
559
+ result.status === "error")) {
561
560
  await this.persistNow();
562
561
  }
563
- if (result.status === "completed") {
562
+ if (sameGeneration && result.status === "completed") {
564
563
  void this.maybeRefreshTitle();
565
564
  }
566
565
  for (const listener of this.turnEndListeners)
@@ -593,8 +592,23 @@ export class SessionController {
593
592
  this.autosaveInFlight = false;
594
593
  });
595
594
  }
596
- dispose() {
595
+ /** Fence the previous lifecycle: running turn, compaction and title. */
596
+ beginLifecycleGeneration() {
597
+ this.lifecycleGeneration += 1;
598
+ this.lastTurnResult = undefined;
599
+ this.restoredPreviousTurn = undefined;
600
+ if (this.turn.running)
601
+ this.turn.abort();
602
+ this.compactAbort?.abort();
603
+ this.compactAbort = undefined;
604
+ this.compactingFlag = false;
605
+ this.titleInFlight = false;
597
606
  this.responder?.invalidateWake();
607
+ }
608
+ dispose() {
609
+ this.beginLifecycleGeneration();
610
+ // Teardown is awaited later by cancellation or application shutdown.
611
+ this.fenceInteractiveOwner(this.sessionIdValue);
598
612
  this.turnEndListeners.clear();
599
613
  this.stateListeners.clear();
600
614
  this.disposables.dispose();
@@ -1 +1 @@
1
- {"version":3,"file":"session-controller.js","sourceRoot":"","sources":["../../../src/app/controllers/session-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-controller.js","sourceRoot":"","sources":["../../../src/app/controllers/session-controller.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ interface SessionPromptQueueDeps {
8
8
  readonly notifyState: () => void;
9
9
  readonly notice: (text: string) => void;
10
10
  readonly runTurn: (prompt: string, options?: TurnDisplayOptions) => Promise<TurnResult>;
11
+ /** Structured result of the last settled turn, whoever started it. */
12
+ readonly lastTurnResult?: (() => TurnResult | undefined) | undefined;
11
13
  }
12
14
  export declare class SessionPromptQueue {
13
15
  private readonly deps;
@@ -27,6 +29,7 @@ export declare class SessionPromptQueue {
27
29
  reorder(fromIndex: number, toIndex: number): void;
28
30
  sendNow(index: number): void;
29
31
  continue(): Promise<void>;
32
+ private continuationGate;
30
33
  submit(prompt: string, options?: TurnDisplayOptions): Promise<TurnResult>;
31
34
  drain(): Promise<TurnResult[]>;
32
35
  private consumeDisplay;
@@ -1,3 +1,8 @@
1
+ import { queueContinuationDecision, } from "./turn-continuation.js";
2
+ function pausedQueueNotice(decision) {
3
+ const reason = decision.reason ?? "the turn did not succeed";
4
+ return `queued prompts paused because ${reason}. Send or edit them when ready.`;
5
+ }
1
6
  export class SessionPromptQueue {
2
7
  deps;
3
8
  items = [];
@@ -84,10 +89,16 @@ export class SessionPromptQueue {
84
89
  while (!this.deps.isRunning()) {
85
90
  let next;
86
91
  if (this.priorityPrompt !== undefined) {
92
+ // An explicit steer always runs, whatever the previous turn did.
87
93
  next = this.priorityPrompt;
88
94
  this.priorityPrompt = undefined;
89
95
  }
90
96
  else if (this.items.length > 0) {
97
+ const gate = this.continuationGate();
98
+ if (!gate.proceed) {
99
+ this.deps.notice(pausedQueueNotice(gate));
100
+ break;
101
+ }
91
102
  next = this.items.shift();
92
103
  this.deps.notifyState();
93
104
  }
@@ -103,6 +114,10 @@ export class SessionPromptQueue {
103
114
  this.continuing = false;
104
115
  }
105
116
  }
117
+ continuationGate() {
118
+ const last = this.deps.lastTurnResult?.();
119
+ return last ? queueContinuationDecision(last) : { proceed: true };
120
+ }
106
121
  async submit(prompt, options) {
107
122
  if (this.deps.isRunning()) {
108
123
  throw new Error("a turn is already running; enqueue() while busy");
@@ -123,8 +138,12 @@ export class SessionPromptQueue {
123
138
  this.deps.notifyState();
124
139
  const result = await this.deps.runTurn(next);
125
140
  results.push(result);
126
- if (result.status !== "completed")
141
+ const decision = queueContinuationDecision(result);
142
+ if (!decision.proceed) {
143
+ if (this.items.length > 0)
144
+ this.deps.notice(pausedQueueNotice(decision));
127
145
  break;
146
+ }
128
147
  }
129
148
  return results;
130
149
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-prompt-queue.js","sourceRoot":"","sources":["../../../src/app/controllers/session-prompt-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-prompt-queue.js","sourceRoot":"","sources":["../../../src/app/controllers/session-prompt-queue.ts"],"names":[],"mappings":"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"}