@qduc/term2 0.12.0 → 0.13.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 (475) hide show
  1. package/README.md +6 -1
  2. package/dist/agent.d.ts +3 -0
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +38 -14
  5. package/dist/agent.js.map +1 -1
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +90 -17
  8. package/dist/app.js.map +1 -1
  9. package/dist/cli.js +34 -23
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/auto-approve-command.d.ts.map +1 -1
  12. package/dist/commands/auto-approve-command.js +12 -4
  13. package/dist/commands/auto-approve-command.js.map +1 -1
  14. package/dist/commands/copy-command.d.ts +3 -1
  15. package/dist/commands/copy-command.d.ts.map +1 -1
  16. package/dist/commands/copy-command.js +36 -9
  17. package/dist/commands/copy-command.js.map +1 -1
  18. package/dist/commands/sandbox-command.d.ts.map +1 -1
  19. package/dist/commands/sandbox-command.js +6 -1
  20. package/dist/commands/sandbox-command.js.map +1 -1
  21. package/dist/components/InputBox.d.ts +1 -2
  22. package/dist/components/InputBox.d.ts.map +1 -1
  23. package/dist/components/InputBox.js +5 -1
  24. package/dist/components/InputBox.js.map +1 -1
  25. package/dist/components/input/ApplicationInputSurface.d.ts +7 -2
  26. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  27. package/dist/components/input/ApplicationInputSurface.js +5 -1
  28. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  29. package/dist/components/input/CopyMenuSession.d.ts +16 -0
  30. package/dist/components/input/CopyMenuSession.d.ts.map +1 -0
  31. package/dist/components/input/CopyMenuSession.js +49 -0
  32. package/dist/components/input/CopyMenuSession.js.map +1 -0
  33. package/dist/components/input/FirstRunSetupPrompt.d.ts +9 -0
  34. package/dist/components/input/FirstRunSetupPrompt.d.ts.map +1 -0
  35. package/dist/components/input/FirstRunSetupPrompt.js +20 -0
  36. package/dist/components/input/FirstRunSetupPrompt.js.map +1 -0
  37. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  38. package/dist/components/input/MenuSurface.js +2 -1
  39. package/dist/components/input/MenuSurface.js.map +1 -1
  40. package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
  41. package/dist/components/input/ModelMenuSession.js +11 -1
  42. package/dist/components/input/ModelMenuSession.js.map +1 -1
  43. package/dist/components/input/ProviderMenuSession.d.ts.map +1 -1
  44. package/dist/components/input/ProviderMenuSession.js +8 -2
  45. package/dist/components/input/ProviderMenuSession.js.map +1 -1
  46. package/dist/components/input/SkillsMenuSession.d.ts +3 -0
  47. package/dist/components/input/SkillsMenuSession.d.ts.map +1 -1
  48. package/dist/components/input/SkillsMenuSession.js +6 -12
  49. package/dist/components/input/SkillsMenuSession.js.map +1 -1
  50. package/dist/components/input/SlashMenuSession.d.ts +11 -3
  51. package/dist/components/input/SlashMenuSession.d.ts.map +1 -1
  52. package/dist/components/input/SlashMenuSession.js +54 -42
  53. package/dist/components/input/SlashMenuSession.js.map +1 -1
  54. package/dist/components/input/menu-registry.d.ts.map +1 -1
  55. package/dist/components/input/menu-registry.js +2 -0
  56. package/dist/components/input/menu-registry.js.map +1 -1
  57. package/dist/components/input/menu-types.d.ts +7 -0
  58. package/dist/components/input/menu-types.d.ts.map +1 -1
  59. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  60. package/dist/components/layout/BackgroundTaskManager.js +28 -10
  61. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  62. package/dist/components/layout/BackgroundTasksPanel.d.ts +2 -1
  63. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  64. package/dist/components/layout/BackgroundTasksPanel.js +35 -10
  65. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  66. package/dist/components/layout/BottomArea.d.ts +16 -2
  67. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  68. package/dist/components/layout/BottomArea.js +7 -4
  69. package/dist/components/layout/BottomArea.js.map +1 -1
  70. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  71. package/dist/components/layout/StatusBar.js +66 -51
  72. package/dist/components/layout/StatusBar.js.map +1 -1
  73. package/dist/components/menu/CopyMenu.d.ts +9 -0
  74. package/dist/components/menu/CopyMenu.d.ts.map +1 -0
  75. package/dist/components/menu/CopyMenu.js +7 -0
  76. package/dist/components/menu/CopyMenu.js.map +1 -0
  77. package/dist/components/menu/ModelSelectionMenu.d.ts +1 -0
  78. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  79. package/dist/components/menu/ModelSelectionMenu.js +23 -6
  80. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  81. package/dist/components/menu/ProviderSelectionMenu.d.ts +1 -0
  82. package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
  83. package/dist/components/menu/ProviderSelectionMenu.js +12 -4
  84. package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
  85. package/dist/components/message/CommandMessage.js +4 -0
  86. package/dist/components/message/CommandMessage.js.map +1 -1
  87. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  88. package/dist/components/prompt/ApprovalPrompt.js +0 -25
  89. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  90. package/dist/context/InputContext.d.ts +1 -1
  91. package/dist/context/InputContext.d.ts.map +1 -1
  92. package/dist/context/InputContext.js +2 -0
  93. package/dist/context/InputContext.js.map +1 -1
  94. package/dist/contracts/application-stream.d.ts +6 -0
  95. package/dist/contracts/application-stream.d.ts.map +1 -1
  96. package/dist/hooks/conversation-ui-reducer.d.ts +6 -0
  97. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  98. package/dist/hooks/conversation-ui-reducer.js +3 -0
  99. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  100. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  101. package/dist/hooks/settings-completion-config.js +2 -0
  102. package/dist/hooks/settings-completion-config.js.map +1 -1
  103. package/dist/hooks/use-app-commands.d.ts +3 -1
  104. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  105. package/dist/hooks/use-app-commands.js +3 -2
  106. package/dist/hooks/use-app-commands.js.map +1 -1
  107. package/dist/hooks/use-app-keyboard-shortcuts.d.ts +7 -1
  108. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
  109. package/dist/hooks/use-app-keyboard-shortcuts.js +77 -7
  110. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
  111. package/dist/hooks/use-conversation.d.ts +6 -2
  112. package/dist/hooks/use-conversation.d.ts.map +1 -1
  113. package/dist/hooks/use-conversation.js +12 -2
  114. package/dist/hooks/use-conversation.js.map +1 -1
  115. package/dist/hooks/use-debounced-value.d.ts +13 -0
  116. package/dist/hooks/use-debounced-value.d.ts.map +1 -0
  117. package/dist/hooks/use-debounced-value.js +27 -0
  118. package/dist/hooks/use-debounced-value.js.map +1 -0
  119. package/dist/hooks/use-first-run-setup.d.ts +24 -0
  120. package/dist/hooks/use-first-run-setup.d.ts.map +1 -0
  121. package/dist/hooks/use-first-run-setup.js +114 -0
  122. package/dist/hooks/use-first-run-setup.js.map +1 -0
  123. package/dist/hooks/use-model-selection.d.ts +1 -0
  124. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  125. package/dist/hooks/use-model-selection.js +44 -1
  126. package/dist/hooks/use-model-selection.js.map +1 -1
  127. package/dist/hooks/use-provider-selection.d.ts +5 -1
  128. package/dist/hooks/use-provider-selection.d.ts.map +1 -1
  129. package/dist/hooks/use-provider-selection.js +37 -12
  130. package/dist/hooks/use-provider-selection.js.map +1 -1
  131. package/dist/hooks/use-slash-commands.d.ts +0 -1
  132. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  133. package/dist/hooks/use-slash-commands.js +1 -9
  134. package/dist/hooks/use-slash-commands.js.map +1 -1
  135. package/dist/lib/agent-chat-service.d.ts.map +1 -1
  136. package/dist/lib/agent-chat-service.js +9 -5
  137. package/dist/lib/agent-chat-service.js.map +1 -1
  138. package/dist/lib/agent-client.d.ts +7 -2
  139. package/dist/lib/agent-client.d.ts.map +1 -1
  140. package/dist/lib/agent-client.js +32 -3
  141. package/dist/lib/agent-client.js.map +1 -1
  142. package/dist/lib/agent-configuration.d.ts +3 -0
  143. package/dist/lib/agent-configuration.d.ts.map +1 -1
  144. package/dist/lib/agent-configuration.js +3 -0
  145. package/dist/lib/agent-configuration.js.map +1 -1
  146. package/dist/lib/agent-factory.d.ts +3 -0
  147. package/dist/lib/agent-factory.d.ts.map +1 -1
  148. package/dist/lib/agent-factory.js +6 -5
  149. package/dist/lib/agent-factory.js.map +1 -1
  150. package/dist/lib/input-owner.d.ts +3 -0
  151. package/dist/lib/input-owner.d.ts.map +1 -1
  152. package/dist/lib/input-owner.js +5 -0
  153. package/dist/lib/input-owner.js.map +1 -1
  154. package/dist/lib/subagent-bridge.d.ts +2 -0
  155. package/dist/lib/subagent-bridge.d.ts.map +1 -1
  156. package/dist/lib/subagent-bridge.js +4 -1
  157. package/dist/lib/subagent-bridge.js.map +1 -1
  158. package/dist/prompts/background-shell.d.ts +3 -0
  159. package/dist/prompts/background-shell.d.ts.map +1 -0
  160. package/dist/prompts/background-shell.js +11 -0
  161. package/dist/prompts/background-shell.js.map +1 -0
  162. package/dist/prompts/background-shell.ts +10 -0
  163. package/dist/prompts/orchestrator-prompt.test.ts +7 -0
  164. package/dist/prompts/orchestrator.md +1 -1
  165. package/dist/prompts/prompt-constructor.d.ts +1 -0
  166. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  167. package/dist/prompts/prompt-constructor.js +5 -1
  168. package/dist/prompts/prompt-constructor.js.map +1 -1
  169. package/dist/prompts/prompt-constructor.test.ts +16 -1
  170. package/dist/prompts/prompt-constructor.ts +7 -0
  171. package/dist/prompts/subagent-delegation.js +1 -1
  172. package/dist/prompts/subagent-delegation.ts +1 -1
  173. package/dist/prompts/subagents/worker.md +1 -1
  174. package/dist/providers/codex-auth.d.ts +6 -0
  175. package/dist/providers/codex-auth.d.ts.map +1 -0
  176. package/dist/providers/codex-auth.js +35 -0
  177. package/dist/providers/codex-auth.js.map +1 -0
  178. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  179. package/dist/providers/codex-responses-model.js +17 -8
  180. package/dist/providers/codex-responses-model.js.map +1 -1
  181. package/dist/providers/codex.provider.d.ts +2 -1
  182. package/dist/providers/codex.provider.d.ts.map +1 -1
  183. package/dist/providers/codex.provider.js +3 -28
  184. package/dist/providers/codex.provider.js.map +1 -1
  185. package/dist/providers/model-catalog/catalog.d.ts +35 -2
  186. package/dist/providers/model-catalog/catalog.d.ts.map +1 -1
  187. package/dist/providers/model-catalog/catalog.js +93 -29
  188. package/dist/providers/model-catalog/catalog.js.map +1 -1
  189. package/dist/providers/openai-chat-completions-model.d.ts +2 -1
  190. package/dist/providers/openai-chat-completions-model.d.ts.map +1 -1
  191. package/dist/providers/openai-chat-completions-model.js +223 -53
  192. package/dist/providers/openai-chat-completions-model.js.map +1 -1
  193. package/dist/providers/openai-compatible-lazy.d.ts.map +1 -1
  194. package/dist/providers/openai-compatible-lazy.js +2 -1
  195. package/dist/providers/openai-compatible-lazy.js.map +1 -1
  196. package/dist/providers/openai-compatible-middleware.d.ts.map +1 -1
  197. package/dist/providers/openai-compatible-middleware.js +1 -13
  198. package/dist/providers/openai-compatible-middleware.js.map +1 -1
  199. package/dist/providers/openai-compatible-response-normalizer.d.ts +5 -4
  200. package/dist/providers/openai-compatible-response-normalizer.d.ts.map +1 -1
  201. package/dist/providers/openai-compatible-response-normalizer.js +6 -17
  202. package/dist/providers/openai-compatible-response-normalizer.js.map +1 -1
  203. package/dist/providers/openai-compatible.provider.d.ts +1 -0
  204. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  205. package/dist/providers/openai-compatible.provider.js +13 -4
  206. package/dist/providers/openai-compatible.provider.js.map +1 -1
  207. package/dist/providers/provider-service.d.ts +1 -0
  208. package/dist/providers/provider-service.d.ts.map +1 -1
  209. package/dist/providers/provider-service.js +4 -0
  210. package/dist/providers/provider-service.js.map +1 -1
  211. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  212. package/dist/services/agent-runtime/application-run-loop.js +30 -8
  213. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  214. package/dist/services/agent-runtime/scope-resolver.d.ts.map +1 -1
  215. package/dist/services/agent-runtime/scope-resolver.js +2 -1
  216. package/dist/services/agent-runtime/scope-resolver.js.map +1 -1
  217. package/dist/services/agent-stream.d.ts.map +1 -1
  218. package/dist/services/agent-stream.js +2 -1
  219. package/dist/services/agent-stream.js.map +1 -1
  220. package/dist/services/approval/approval-decision-executor.d.ts.map +1 -1
  221. package/dist/services/approval/approval-decision-executor.js +5 -2
  222. package/dist/services/approval/approval-decision-executor.js.map +1 -1
  223. package/dist/services/approval/approval-decision-policy.d.ts.map +1 -1
  224. package/dist/services/approval/approval-decision-policy.js +0 -2
  225. package/dist/services/approval/approval-decision-policy.js.map +1 -1
  226. package/dist/services/approval/session-read-access.d.ts.map +1 -1
  227. package/dist/services/approval/session-read-access.js +2 -1
  228. package/dist/services/approval/session-read-access.js.map +1 -1
  229. package/dist/services/approval/shell-auto-approval-resolver.d.ts +1 -1
  230. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  231. package/dist/services/approval/shell-auto-approval-resolver.js +9 -1
  232. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  233. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  234. package/dist/services/approval/tool-approval-batch-coordinator.js +2 -1
  235. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  236. package/dist/services/conversation/conversation-admission-workflow.d.ts.map +1 -1
  237. package/dist/services/conversation/conversation-admission-workflow.js +20 -18
  238. package/dist/services/conversation/conversation-admission-workflow.js.map +1 -1
  239. package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
  240. package/dist/services/conversation/conversation-decoder.js +6 -0
  241. package/dist/services/conversation/conversation-decoder.js.map +1 -1
  242. package/dist/services/conversation/conversation-events.d.ts +31 -1
  243. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  244. package/dist/services/conversation/conversation-orchestrator.d.ts +2 -0
  245. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  246. package/dist/services/conversation/conversation-orchestrator.js +113 -1
  247. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  248. package/dist/services/conversation/conversation-orchestrator.types.d.ts +3 -1
  249. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  250. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  251. package/dist/services/conversation/conversation-replay.js +45 -0
  252. package/dist/services/conversation/conversation-replay.js.map +1 -1
  253. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  254. package/dist/services/conversation/conversation-result-builder.js +14 -2
  255. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  256. package/dist/services/conversation/conversation-store.d.ts +9 -0
  257. package/dist/services/conversation/conversation-store.d.ts.map +1 -1
  258. package/dist/services/conversation/conversation-store.js +15 -3
  259. package/dist/services/conversation/conversation-store.js.map +1 -1
  260. package/dist/services/cost/model-cost.d.ts +13 -2
  261. package/dist/services/cost/model-cost.d.ts.map +1 -1
  262. package/dist/services/cost/model-cost.js +1 -0
  263. package/dist/services/cost/model-cost.js.map +1 -1
  264. package/dist/services/cost/pricing.d.ts.map +1 -1
  265. package/dist/services/cost/pricing.js +26 -20
  266. package/dist/services/cost/pricing.js.map +1 -1
  267. package/dist/services/execution-context.d.ts +31 -0
  268. package/dist/services/execution-context.d.ts.map +1 -1
  269. package/dist/services/execution-context.js +59 -0
  270. package/dist/services/execution-context.js.map +1 -1
  271. package/dist/services/file-service.d.ts.map +1 -1
  272. package/dist/services/file-service.js +12 -3
  273. package/dist/services/file-service.js.map +1 -1
  274. package/dist/services/large-uncached-input-guard.d.ts +26 -1
  275. package/dist/services/large-uncached-input-guard.d.ts.map +1 -1
  276. package/dist/services/large-uncached-input-guard.js +73 -38
  277. package/dist/services/large-uncached-input-guard.js.map +1 -1
  278. package/dist/services/logging/conversation-log-events.d.ts +14 -1
  279. package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
  280. package/dist/services/logging/conversation-log-events.js.map +1 -1
  281. package/dist/services/logging/conversation-logger.d.ts.map +1 -1
  282. package/dist/services/logging/conversation-logger.js +11 -0
  283. package/dist/services/logging/conversation-logger.js.map +1 -1
  284. package/dist/services/logging/logging-contract.d.ts.map +1 -1
  285. package/dist/services/logging/logging-contract.js +4 -0
  286. package/dist/services/logging/logging-contract.js.map +1 -1
  287. package/dist/services/model-service.d.ts +7 -0
  288. package/dist/services/model-service.d.ts.map +1 -1
  289. package/dist/services/model-service.js +21 -0
  290. package/dist/services/model-service.js.map +1 -1
  291. package/dist/services/models/model-catalog-session.d.ts +2 -0
  292. package/dist/services/models/model-catalog-session.d.ts.map +1 -1
  293. package/dist/services/models/model-catalog-session.js +9 -2
  294. package/dist/services/models/model-catalog-session.js.map +1 -1
  295. package/dist/services/provider-continuity.d.ts +15 -0
  296. package/dist/services/provider-continuity.d.ts.map +1 -1
  297. package/dist/services/provider-continuity.js +33 -0
  298. package/dist/services/provider-continuity.js.map +1 -1
  299. package/dist/services/retry/recovery-executor.d.ts.map +1 -1
  300. package/dist/services/retry/recovery-executor.js +8 -0
  301. package/dist/services/retry/recovery-executor.js.map +1 -1
  302. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  303. package/dist/services/retry/retry-classifier.js +2 -1
  304. package/dist/services/retry/retry-classifier.js.map +1 -1
  305. package/dist/services/retry/retry-error-classification.d.ts +19 -0
  306. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  307. package/dist/services/retry/retry-error-classification.js +54 -0
  308. package/dist/services/retry/retry-error-classification.js.map +1 -1
  309. package/dist/services/session/background-task-control.d.ts +7 -2
  310. package/dist/services/session/background-task-control.d.ts.map +1 -1
  311. package/dist/services/session/background-task-control.js +43 -9
  312. package/dist/services/session/background-task-control.js.map +1 -1
  313. package/dist/services/session/background-task-liveness.d.ts +24 -0
  314. package/dist/services/session/background-task-liveness.d.ts.map +1 -0
  315. package/dist/services/session/background-task-liveness.js +23 -0
  316. package/dist/services/session/background-task-liveness.js.map +1 -0
  317. package/dist/services/session/session-access-state.d.ts.map +1 -1
  318. package/dist/services/session/session-access-state.js +5 -4
  319. package/dist/services/session/session-access-state.js.map +1 -1
  320. package/dist/services/session/session-client-factory.d.ts +11 -1
  321. package/dist/services/session/session-client-factory.d.ts.map +1 -1
  322. package/dist/services/session/session-client-factory.js +28 -1
  323. package/dist/services/session/session-client-factory.js.map +1 -1
  324. package/dist/services/session/session-composition.d.ts.map +1 -1
  325. package/dist/services/session/session-composition.js +1 -0
  326. package/dist/services/session/session-composition.js.map +1 -1
  327. package/dist/services/session/session-input-planner.d.ts +16 -0
  328. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  329. package/dist/services/session/session-input-planner.js +117 -10
  330. package/dist/services/session/session-input-planner.js.map +1 -1
  331. package/dist/services/session/session-stream-processor.d.ts +1 -0
  332. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  333. package/dist/services/session/session-stream-processor.js +13 -0
  334. package/dist/services/session/session-stream-processor.js.map +1 -1
  335. package/dist/services/session/session-tool-tracker.d.ts +6 -0
  336. package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
  337. package/dist/services/session/session-tool-tracker.js +9 -0
  338. package/dist/services/session/session-tool-tracker.js.map +1 -1
  339. package/dist/services/session/terminal-result-collector.d.ts.map +1 -1
  340. package/dist/services/session/terminal-result-collector.js +12 -0
  341. package/dist/services/session/terminal-result-collector.js.map +1 -1
  342. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  343. package/dist/services/session/turn-workflow.js +4 -0
  344. package/dist/services/session/turn-workflow.js.map +1 -1
  345. package/dist/services/settings/settings-path.d.ts +6 -0
  346. package/dist/services/settings/settings-path.d.ts.map +1 -0
  347. package/dist/services/settings/settings-path.js +15 -0
  348. package/dist/services/settings/settings-path.js.map +1 -0
  349. package/dist/services/settings/settings-schema.d.ts +7 -1
  350. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  351. package/dist/services/settings/settings-schema.js +13 -1
  352. package/dist/services/settings/settings-schema.js.map +1 -1
  353. package/dist/services/settings/settings-service.d.ts +8 -0
  354. package/dist/services/settings/settings-service.d.ts.map +1 -1
  355. package/dist/services/settings/settings-service.js +82 -4
  356. package/dist/services/settings/settings-service.js.map +1 -1
  357. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  358. package/dist/services/settings/settings-sources.js +1 -0
  359. package/dist/services/settings/settings-sources.js.map +1 -1
  360. package/dist/services/shell/background-shell-output-store.d.ts +90 -0
  361. package/dist/services/shell/background-shell-output-store.d.ts.map +1 -0
  362. package/dist/services/shell/background-shell-output-store.js +207 -0
  363. package/dist/services/shell/background-shell-output-store.js.map +1 -0
  364. package/dist/services/shell/background-shell-registry.d.ts +18 -0
  365. package/dist/services/shell/background-shell-registry.d.ts.map +1 -1
  366. package/dist/services/shell/background-shell-registry.js +17 -2
  367. package/dist/services/shell/background-shell-registry.js.map +1 -1
  368. package/dist/services/shell/background-shell-watches.d.ts +141 -0
  369. package/dist/services/shell/background-shell-watches.d.ts.map +1 -0
  370. package/dist/services/shell/background-shell-watches.js +245 -0
  371. package/dist/services/shell/background-shell-watches.js.map +1 -0
  372. package/dist/services/stream-event-processor.d.ts.map +1 -1
  373. package/dist/services/stream-event-processor.js +4 -0
  374. package/dist/services/stream-event-processor.js.map +1 -1
  375. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  376. package/dist/services/subagents/execution-runner.js +47 -3
  377. package/dist/services/subagents/execution-runner.js.map +1 -1
  378. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  379. package/dist/services/subagents/mentor-runner.js +9 -2
  380. package/dist/services/subagents/mentor-runner.js.map +1 -1
  381. package/dist/services/subagents/nested-runner.d.ts.map +1 -1
  382. package/dist/services/subagents/nested-runner.js +54 -6
  383. package/dist/services/subagents/nested-runner.js.map +1 -1
  384. package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
  385. package/dist/services/subagents/subagent-async-registry.js +39 -5
  386. package/dist/services/subagents/subagent-async-registry.js.map +1 -1
  387. package/dist/services/subagents/subagent-notification-store.d.ts +20 -1
  388. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  389. package/dist/services/subagents/subagent-notification-store.js +22 -0
  390. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  391. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js +6 -5
  392. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js.map +1 -1
  393. package/dist/services/subagents/tool-policy.d.ts +3 -1
  394. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  395. package/dist/services/subagents/tool-policy.js +16 -12
  396. package/dist/services/subagents/tool-policy.js.map +1 -1
  397. package/dist/services/subagents/types.d.ts +15 -0
  398. package/dist/services/subagents/types.d.ts.map +1 -1
  399. package/dist/services/subagents/utils.d.ts.map +1 -1
  400. package/dist/services/subagents/utils.js +3 -0
  401. package/dist/services/subagents/utils.js.map +1 -1
  402. package/dist/services/subagents/worker-worktree.d.ts +25 -0
  403. package/dist/services/subagents/worker-worktree.d.ts.map +1 -0
  404. package/dist/services/subagents/worker-worktree.js +74 -0
  405. package/dist/services/subagents/worker-worktree.js.map +1 -0
  406. package/dist/services/workspace/active-workspace-root.d.ts +5 -0
  407. package/dist/services/workspace/active-workspace-root.d.ts.map +1 -0
  408. package/dist/services/workspace/active-workspace-root.js +24 -0
  409. package/dist/services/workspace/active-workspace-root.js.map +1 -0
  410. package/dist/services/workspace/parse-worktree-list.d.ts +24 -0
  411. package/dist/services/workspace/parse-worktree-list.d.ts.map +1 -0
  412. package/dist/services/workspace/parse-worktree-list.js +59 -0
  413. package/dist/services/workspace/parse-worktree-list.js.map +1 -0
  414. package/dist/services/workspace/worktree-inventory.d.ts +10 -0
  415. package/dist/services/workspace/worktree-inventory.d.ts.map +1 -0
  416. package/dist/services/workspace/worktree-inventory.js +28 -0
  417. package/dist/services/workspace/worktree-inventory.js.map +1 -0
  418. package/dist/services/workspace/worktree-transition.d.ts +85 -0
  419. package/dist/services/workspace/worktree-transition.d.ts.map +1 -0
  420. package/dist/services/workspace/worktree-transition.js +70 -0
  421. package/dist/services/workspace/worktree-transition.js.map +1 -0
  422. package/dist/tools/agent/run-subagent-async.d.ts +1 -1
  423. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  424. package/dist/tools/agent/run-subagent-async.js +19 -4
  425. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  426. package/dist/tools/agent/run-subagent.d.ts +3 -1
  427. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  428. package/dist/tools/agent/run-subagent.js +19 -1
  429. package/dist/tools/agent/run-subagent.js.map +1 -1
  430. package/dist/tools/system/shell.d.ts +42 -1
  431. package/dist/tools/system/shell.d.ts.map +1 -1
  432. package/dist/tools/system/shell.js +284 -10
  433. package/dist/tools/system/shell.js.map +1 -1
  434. package/dist/tools/system/worktree.d.ts +22 -0
  435. package/dist/tools/system/worktree.d.ts.map +1 -0
  436. package/dist/tools/system/worktree.js +138 -0
  437. package/dist/tools/system/worktree.js.map +1 -0
  438. package/dist/tools/utils.d.ts.map +1 -1
  439. package/dist/tools/utils.js +3 -2
  440. package/dist/tools/utils.js.map +1 -1
  441. package/dist/utils/ai/provider-credentials.d.ts +31 -2
  442. package/dist/utils/ai/provider-credentials.d.ts.map +1 -1
  443. package/dist/utils/ai/provider-credentials.js +119 -11
  444. package/dist/utils/ai/provider-credentials.js.map +1 -1
  445. package/dist/utils/conversation/message-utils.d.ts +8 -2
  446. package/dist/utils/conversation/message-utils.d.ts.map +1 -1
  447. package/dist/utils/conversation/message-utils.js +38 -21
  448. package/dist/utils/conversation/message-utils.js.map +1 -1
  449. package/dist/utils/copy-selections.d.ts +8 -0
  450. package/dist/utils/copy-selections.d.ts.map +1 -0
  451. package/dist/utils/copy-selections.js +42 -0
  452. package/dist/utils/copy-selections.js.map +1 -0
  453. package/dist/utils/settings-command.d.ts.map +1 -1
  454. package/dist/utils/settings-command.js +5 -0
  455. package/dist/utils/settings-command.js.map +1 -1
  456. package/dist/utils/shell/command-safety/path-analysis.d.ts.map +1 -1
  457. package/dist/utils/shell/command-safety/path-analysis.js +5 -1
  458. package/dist/utils/shell/command-safety/path-analysis.js.map +1 -1
  459. package/dist/utils/shell/execute-shell.d.ts +25 -0
  460. package/dist/utils/shell/execute-shell.d.ts.map +1 -1
  461. package/dist/utils/shell/execute-shell.js +22 -5
  462. package/dist/utils/shell/execute-shell.js.map +1 -1
  463. package/dist/utils/shell/sandbox/sandbox-env.d.ts.map +1 -1
  464. package/dist/utils/shell/sandbox/sandbox-env.js +2 -1
  465. package/dist/utils/shell/sandbox/sandbox-env.js.map +1 -1
  466. package/dist/utils/shell/sandbox/sandbox-network-store.d.ts.map +1 -1
  467. package/dist/utils/shell/sandbox/sandbox-network-store.js +3 -2
  468. package/dist/utils/shell/sandbox/sandbox-network-store.js.map +1 -1
  469. package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
  470. package/dist/utils/shell/sandbox/sandbox-policy.js +2 -1
  471. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
  472. package/dist/utils/value-suggestions.d.ts.map +1 -1
  473. package/dist/utils/value-suggestions.js +6 -0
  474. package/dist/utils/value-suggestions.js.map +1 -1
  475. package/package.json +1 -1
@@ -26,7 +26,7 @@ const shellParametersSchema = z.object({
26
26
  .int()
27
27
  .positive()
28
28
  .optional()
29
- .describe('Optional timeout in milliseconds for each command. Defaults to 120000 ms (2 minutes) if not specified.'),
29
+ .describe('Optional timeout in milliseconds for each command. Defaults to shell.timeout (foreground) or shell.backgroundTimeout (background) if not specified.'),
30
30
  max_output_length: relaxedNumber
31
31
  .int()
32
32
  .positive()
@@ -44,6 +44,28 @@ export { setTrimConfig, getTrimConfig, DEFAULT_TRIM_CONFIG };
44
44
  const getBackgroundShellJobParameters = z.object({
45
45
  job_id: z.string().min(1).describe('The background shell job ID.'),
46
46
  });
47
+ const monitorShellJobParameters = z.object({
48
+ job_id: z.string().min(1).describe('The background shell job ID to monitor.'),
49
+ pattern: z
50
+ .string()
51
+ .optional()
52
+ .describe('Regular expression matched against each complete output line; absent matches any line.'),
53
+ stream: z.enum(['stdout', 'stderr', 'both']).optional().describe('Which output stream to monitor. Defaults to both.'),
54
+ idle_ms: relaxedNumber
55
+ .int()
56
+ .nonnegative()
57
+ .optional()
58
+ .describe('Quiet window in milliseconds that coalesces a burst of matches into one notification. Defaults to 1500.'),
59
+ notify_limit: relaxedNumber
60
+ .int()
61
+ .positive()
62
+ .optional()
63
+ .describe('Maximum number of notifications this watch may deliver before retiring. Defaults to 1 with a pattern, 5 without.'),
64
+ once: z.boolean().optional().describe('Retire the watch after its first notification (notify_limit 1).'),
65
+ });
66
+ const cancelShellMonitorParameters = z.object({
67
+ watch_id: z.string().min(1).describe('The watch ID returned by monitor_shell_job.'),
68
+ });
47
69
  function backgroundShellJobResponse(job) {
48
70
  return {
49
71
  jobId: job.id,
@@ -53,23 +75,181 @@ function backgroundShellJobResponse(job) {
53
75
  ...(job.error === undefined ? {} : { error: job.error }),
54
76
  };
55
77
  }
78
+ const ACTIVE_JOB_MESSAGE = 'This background shell job is still running. End the current turn and wait for its automatic completion notification; do not poll get_shell_job.';
79
+ function activeBackgroundShellJobResponse(job, output) {
80
+ const tail = output?.store.readTail(job.id);
81
+ if (!tail) {
82
+ // The store has no stream for this job (no monitoring layer, or a job
83
+ // that never went through the shell-tool seam): keep the refusal form.
84
+ return {
85
+ status: 'background_job_active',
86
+ jobId: job.id,
87
+ message: ACTIVE_JOB_MESSAGE,
88
+ };
89
+ }
90
+ return {
91
+ status: 'background_job_active',
92
+ jobId: job.id,
93
+ command: job.command,
94
+ tail: tail.text,
95
+ droppedBytes: tail.droppedBytes,
96
+ message: ACTIVE_JOB_MESSAGE,
97
+ };
98
+ }
99
+ /**
100
+ * Common transcript extraction for the job/monitor control tools: call id,
101
+ * normalized arguments, the parsed tool result, and a string reader.
102
+ */
103
+ function backgroundShellToolTranscript(item, toolCallArgumentsById) {
104
+ const callId = getCallIdFromItem(item);
105
+ const fallbackArgs = callId && toolCallArgumentsById.has(callId) ? toolCallArgumentsById.get(callId) : null;
106
+ const args = normalizeToolArguments(item?.rawItem?.arguments ?? item?.arguments) ?? normalizeToolArguments(fallbackArgs) ?? {};
107
+ const toolName = item?.toolName ?? item?.rawItem?.name ?? 'shell_job';
108
+ const outputText = getOutputText(item);
109
+ const response = safeJsonParse(outputText);
110
+ const readString = (value) => (typeof value === 'string' ? value : '');
111
+ return { callId, args, toolName, outputText, response, readString };
112
+ }
113
+ /**
114
+ * Job control is part of what the model did, so it belongs in the transcript.
115
+ * It also has to be: the UI opens a `running` command row on every
116
+ * `tool_started` and only closes it when a command message arrives for the same
117
+ * callId. A formatter returning `[]` leaves that row running forever, and
118
+ * because a running command is the first thing that cannot render statically,
119
+ * every message behind it stays out of Ink's Static region for the rest of the
120
+ * session.
121
+ */
122
+ export const formatBackgroundShellJobCommandMessage = (item, index, toolCallArgumentsById) => {
123
+ const { args, toolName, outputText, response, readString } = backgroundShellToolTranscript(item, toolCallArgumentsById);
124
+ const jobId = readString(response?.jobId) || readString(args?.job_id);
125
+ const status = readString(response?.status);
126
+ const jobCommand = readString(response?.command);
127
+ const output = (() => {
128
+ if (!response) {
129
+ return outputText || 'No output';
130
+ }
131
+ if (status === 'not_found') {
132
+ return `Job ${jobId} not found.`;
133
+ }
134
+ // The active-job response carries an instruction aimed at the model
135
+ // ("do not poll"), which is noise in the transcript: show the bounded
136
+ // tail and drop accounting instead of the static refusal string.
137
+ if (status === 'background_job_active') {
138
+ const tail = readString(response?.tail);
139
+ const droppedBytes = typeof response?.droppedBytes === 'number' ? response.droppedBytes : 0;
140
+ const body = [tail, droppedBytes > 0 ? `(${droppedBytes} bytes of earlier output dropped)` : '']
141
+ .filter(Boolean)
142
+ .join('\n');
143
+ return body || 'Still running.';
144
+ }
145
+ const header = jobCommand ? `${status} · ${jobCommand}` : status ? `status: ${status}` : '';
146
+ const body = readString(response.output);
147
+ const error = readString(response.error);
148
+ return [header, body, error].filter(Boolean).join('\n') || outputText || 'No output';
149
+ })();
150
+ return [
151
+ createBaseMessage(item, index, 0, false, {
152
+ command: jobId ? `${toolName} ${jobId}` : toolName,
153
+ output,
154
+ success: status !== 'not_found' && !readString(response?.error),
155
+ toolName,
156
+ toolArgs: args,
157
+ }),
158
+ ];
159
+ };
160
+ /**
161
+ * Transcript row for `monitor_shell_job`. Renders the returned watchId and the
162
+ * job it is attached to; a later `background_shell_output` notification carries
163
+ * the seq/matchedLines of each firing.
164
+ */
165
+ export const formatBackgroundShellMonitorCommandMessage = (item, index, toolCallArgumentsById) => {
166
+ const { args, toolName, outputText, response, readString } = backgroundShellToolTranscript(item, toolCallArgumentsById);
167
+ const jobId = readString(response?.jobId) || readString(args?.job_id);
168
+ const watchId = readString(response?.watchId);
169
+ const status = readString(response?.status);
170
+ const output = (() => {
171
+ if (!response) {
172
+ return outputText || 'No output';
173
+ }
174
+ if (status === 'not_found') {
175
+ return `Job ${jobId} not found.`;
176
+ }
177
+ const error = readString(response?.error);
178
+ if (error) {
179
+ return error;
180
+ }
181
+ if (status === 'monitoring') {
182
+ const seq = typeof response?.seq === 'number' ? ` (firing ${response.seq})` : '';
183
+ const matched = readString(response?.matchedLines);
184
+ return [watchId ? `Monitoring job ${jobId} (watch ${watchId}).${seq}` : `Monitoring job ${jobId}.`, matched]
185
+ .filter(Boolean)
186
+ .join('\n');
187
+ }
188
+ return outputText || 'No output';
189
+ })();
190
+ return [
191
+ createBaseMessage(item, index, 0, false, {
192
+ command: watchId ? `${toolName} ${watchId}` : `${toolName} ${jobId}`,
193
+ output,
194
+ success: status === 'monitoring',
195
+ toolName,
196
+ toolArgs: args,
197
+ }),
198
+ ];
199
+ };
200
+ /** Transcript row for `cancel_shell_monitor`. */
201
+ export const formatBackgroundShellCancelMonitorCommandMessage = (item, index, toolCallArgumentsById) => {
202
+ const { args, toolName, outputText, response, readString } = backgroundShellToolTranscript(item, toolCallArgumentsById);
203
+ const watchId = readString(response?.watchId) || readString(args?.watch_id);
204
+ const status = readString(response?.status);
205
+ const output = (() => {
206
+ if (!response) {
207
+ return outputText || 'No output';
208
+ }
209
+ const error = readString(response?.error);
210
+ if (error) {
211
+ return error;
212
+ }
213
+ if (status === 'not_found') {
214
+ return `Watch ${watchId} not found.`;
215
+ }
216
+ if (status === 'cancelled') {
217
+ return `Stopped monitoring (watch ${watchId}).`;
218
+ }
219
+ return outputText || 'No output';
220
+ })();
221
+ return [
222
+ createBaseMessage(item, index, 0, false, {
223
+ command: watchId ? `${toolName} ${watchId}` : toolName,
224
+ output,
225
+ success: status === 'cancelled',
226
+ toolName,
227
+ toolArgs: args,
228
+ }),
229
+ ];
230
+ };
56
231
  /**
57
232
  * Root composition registers these alongside `shell` when it supplies the
58
233
  * session-owned registry. Keeping them here makes the model contract and its
59
234
  * shell lifecycle use the same job representation.
235
+ *
236
+ * `output` carries the session-owned store + watch layer; when it is absent
237
+ * (legacy callers), the monitor tools are not registered.
60
238
  */
61
- export function createBackgroundShellJobToolDefinitions(registry) {
62
- return {
239
+ export function createBackgroundShellJobToolDefinitions(registry, output) {
240
+ const definitions = {
63
241
  get: {
64
242
  name: 'get_shell_job',
65
- description: 'Get the non-blocking status and bounded output of a background shell job.',
243
+ description: 'Get the non-blocking status and bounded output of a background shell job. Do not use this to poll a running job; completion is delivered automatically.',
66
244
  parameters: getBackgroundShellJobParameters,
67
245
  needsApproval: () => false,
68
246
  execute: ({ job_id }) => {
69
247
  const job = registry.get(job_id);
248
+ if (job?.status === 'running' || job?.status === 'cancelling')
249
+ return JSON.stringify(activeBackgroundShellJobResponse(job, output));
70
250
  return JSON.stringify(job ? backgroundShellJobResponse(job) : { jobId: job_id, status: 'not_found' });
71
251
  },
72
- formatCommandMessage: () => [],
252
+ formatCommandMessage: formatBackgroundShellJobCommandMessage,
73
253
  },
74
254
  cancel: {
75
255
  name: 'cancel_shell_job',
@@ -84,9 +264,61 @@ export function createBackgroundShellJobToolDefinitions(registry) {
84
264
  const current = registry.get(job_id);
85
265
  return JSON.stringify(backgroundShellJobResponse(current ?? job));
86
266
  },
87
- formatCommandMessage: () => [],
267
+ formatCommandMessage: formatBackgroundShellJobCommandMessage,
88
268
  },
89
269
  };
270
+ if (output) {
271
+ definitions.monitor = {
272
+ name: 'monitor_shell_job',
273
+ description: "Attach a watch to a running background shell job. The watch replays the job's retained output, and each time a complete line in the selected stream matches `pattern` (or any line arrives when `pattern` is absent) and the output has been quiet for `idle_ms`, a `shell_output` notification carrying the matched lines is delivered through the conversation; the job keeps running. Returns a watchId; stop the watch with cancel_shell_monitor.",
274
+ parameters: monitorShellJobParameters,
275
+ needsApproval: () => false,
276
+ execute: ({ job_id, pattern, stream, idle_ms, notify_limit, once }) => {
277
+ const job = registry.get(job_id);
278
+ if (!job ||
279
+ output.store.readTail(job_id) === undefined ||
280
+ (job.status !== 'running' && job.status !== 'cancelling')) {
281
+ return JSON.stringify({ jobId: job_id, status: 'not_found' });
282
+ }
283
+ let compiled;
284
+ if (pattern !== undefined) {
285
+ try {
286
+ compiled = new RegExp(pattern);
287
+ }
288
+ catch (error) {
289
+ return JSON.stringify({
290
+ jobId: job_id,
291
+ status: 'error',
292
+ error: `Invalid monitor pattern: ${error instanceof Error ? error.message : String(error)}`,
293
+ });
294
+ }
295
+ }
296
+ const options = {
297
+ jobId: job_id,
298
+ pattern: compiled,
299
+ stream,
300
+ idleMs: idle_ms,
301
+ notifyLimit: once ? 1 : notify_limit,
302
+ command: job.command,
303
+ };
304
+ const watchId = output.watches.registerWatch(options);
305
+ return JSON.stringify({ watchId, jobId: job_id, status: 'monitoring' });
306
+ },
307
+ formatCommandMessage: formatBackgroundShellMonitorCommandMessage,
308
+ };
309
+ definitions.cancelMonitor = {
310
+ name: 'cancel_shell_monitor',
311
+ description: 'Stop a shell monitor watch so it stops delivering shell_output notifications.',
312
+ parameters: cancelShellMonitorParameters,
313
+ needsApproval: () => false,
314
+ execute: ({ watch_id }) => {
315
+ const cancelled = output.watches.cancelWatch(watch_id);
316
+ return JSON.stringify({ watchId: watch_id, status: cancelled ? 'cancelled' : 'not_found' });
317
+ },
318
+ formatCommandMessage: formatBackgroundShellCancelMonitorCommandMessage,
319
+ };
320
+ }
321
+ return definitions;
90
322
  }
91
323
  /**
92
324
  * Strip redundant 'cd <path> &&' prefix if it targets the current working directory
@@ -243,7 +475,7 @@ const getShellDescription = (searchViaShell) => 'Execute a single shell command.
243
475
  const SHELL_DESCRIPTION_ORCHESTRATOR = 'Execute a single shell command. Directly inspect, test, or perform a small clear operation when that is the most efficient path. By default, local shell commands run inside the sandbox when available. Use sandbox: "unsandboxed" only for network or outside-host access; it requires explicit user approval and must be run by the main agent. Long output is truncated, the full output is saved to a file; ' +
244
476
  'delegate complex, risky, or separable work when specialization, context compression, or safe parallelism provides meaningful leverage.';
245
477
  export function createShellToolDefinition(deps) {
246
- const { loggingService, settingsService, executionContext, rtkInstaller = ensureRtkInstalled, executeShellCommandImpl = executeShellCommand, shellSandboxRunner = getDefaultShellSandboxRunner(), dockerHostControlFactory = createDockerHostControl, orchestratorMode = false, searchViaShell: searchViaShellExplicit, postExecuteDeniedRead = false, sessionAccess, nestedCompatibility, backgroundShellRegistry, } = deps;
478
+ const { loggingService, settingsService, executionContext, rtkInstaller = ensureRtkInstalled, executeShellCommandImpl = executeShellCommand, shellSandboxRunner = getDefaultShellSandboxRunner(), dockerHostControlFactory = createDockerHostControl, orchestratorMode = false, searchViaShell: searchViaShellExplicit, postExecuteDeniedRead = false, sessionAccess, nestedCompatibility, backgroundShellRegistry, backgroundShellWatches, } = deps;
247
479
  const deniedReadByCallId = new Map();
248
480
  const overrideByCallId = new Map();
249
481
  // Create command logger function with dependencies
@@ -360,6 +592,11 @@ export function createShellToolDefinition(deps) {
360
592
  let dockerHostControl;
361
593
  let backgroundCleanupDeferred = false;
362
594
  let transferred = false;
595
+ let observedJobId;
596
+ // Background-only monitor seam: set when the background branch opens the
597
+ // job's output stream, so the shared onOutputChunk never touches the
598
+ // store for a foreground lease job.
599
+ let monitoredJobId;
363
600
  const ownsCorrelationId = !background;
364
601
  let foregroundCorrelationRestored = false;
365
602
  const restoreForegroundCorrelation = () => {
@@ -381,8 +618,11 @@ export function createShellToolDefinition(deps) {
381
618
  loggingService.setCorrelationId(correlationId);
382
619
  const withExecutionCorrelation = (metadata) => background || transferred ? { ...metadata, correlationId } : metadata;
383
620
  try {
384
- // Use provided values or settings defaults or hardcoded defaults
385
- const timeoutValue = timeout_ms ?? settingsService.get('shell.timeout');
621
+ // Use provided values or settings defaults or hardcoded defaults. A
622
+ // background launch uses shell.backgroundTimeout instead of
623
+ // shell.timeout (background jobs may legitimately outlive the
624
+ // foreground budget); an explicit timeout_ms always wins.
625
+ const timeoutValue = timeout_ms ?? settingsService.get(background ? 'shell.backgroundTimeout' : 'shell.timeout');
386
626
  const timeout = timeoutValue != null ? timeoutValue : undefined;
387
627
  const maxOutputLengthValue = max_output_length ?? settingsService.get('shell.maxOutputChars');
388
628
  const configuredMaxOutputLength = settingsService.get('shell.maxOutputChars');
@@ -497,6 +737,10 @@ export function createShellToolDefinition(deps) {
497
737
  cwd,
498
738
  timeout,
499
739
  maxBuffer: 1024 * 1024, // 1MB max buffer
740
+ // A long-running monitored background job must survive a full
741
+ // buffer: drop from the head of the retained text instead of
742
+ // killing the child. Foreground keeps the 'kill' default.
743
+ overflow: background ? 'truncate' : 'kill',
500
744
  env: sandboxed
501
745
  ? createSandboxEnvironment(undefined, {
502
746
  cwd,
@@ -507,6 +751,16 @@ export function createShellToolDefinition(deps) {
507
751
  pauseOnSandboxNetworkApproval: sandboxed,
508
752
  signal,
509
753
  sshService,
754
+ onOutputChunk: (stream, text) => {
755
+ if (observedJobId)
756
+ backgroundShellRegistry?.recordOutputChunk(observedJobId);
757
+ // Monitoring is background-only: the store stream is opened only
758
+ // for the background branch, so a foreground lease job is never
759
+ // pushed here. watches.push feeds the store and evaluates the
760
+ // job's watches in one call.
761
+ if (monitoredJobId)
762
+ backgroundShellWatches?.push(monitoredJobId, stream, text);
763
+ },
510
764
  });
511
765
  const stdout = result.stdout ?? '';
512
766
  const rawStderr = stripRtkWarning(result.stderr ?? '');
@@ -633,7 +887,24 @@ export function createShellToolDefinition(deps) {
633
887
  const job = backgroundShellRegistry.launch({
634
888
  command: optimizedCommand,
635
889
  run: executePreparedCommand,
636
- onSettled: cleanupAfterExecution,
890
+ onStarted: (jobId) => {
891
+ observedJobId = jobId;
892
+ // Open the retained output stream (and the watch layer) for
893
+ // this job at launch; settled in onSettled below.
894
+ if (backgroundShellWatches) {
895
+ monitoredJobId = jobId;
896
+ backgroundShellWatches.open(jobId);
897
+ }
898
+ },
899
+ onSettled: () => {
900
+ // Flush matched-but-undelivered watch firings before the
901
+ // registry emits background_shell_completed (it awaits this
902
+ // callback first): no monitor firing may trail the terminal
903
+ // notification. Then release shell resources as before.
904
+ if (monitoredJobId)
905
+ backgroundShellWatches?.settleJob(monitoredJobId);
906
+ return cleanupAfterExecution();
907
+ },
637
908
  resultToStatus: (result) => result.status,
638
909
  });
639
910
  backgroundCleanupDeferred = true;
@@ -649,6 +920,9 @@ export function createShellToolDefinition(deps) {
649
920
  command: optimizedCommand,
650
921
  parentSignal: toolSignal,
651
922
  run: executePreparedCommand,
923
+ onStarted: (jobId) => {
924
+ observedJobId = jobId;
925
+ },
652
926
  onSettled: cleanupAfterExecution,
653
927
  resultToStatus: (result) => result.status,
654
928
  onAdopted: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../source/tools/system/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../source/tools/system/shell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import type { ToolDefinition } from '../types.js';
3
+ import type { ExecutionContext } from '../../services/execution-context.js';
4
+ import { type ListWorktrees } from '../../services/workspace/worktree-inventory.js';
5
+ import { enterableWorktrees, type RunningJob } from '../../services/workspace/worktree-transition.js';
6
+ declare const enterWorktreeSchema: z.ZodObject<{
7
+ name: z.ZodString;
8
+ }, z.core.$strip>;
9
+ declare const exitWorktreeSchema: z.ZodObject<{}, z.core.$strip>;
10
+ export interface WorktreeToolDependencies {
11
+ executionContext: ExecutionContext;
12
+ /** Injected in tests; defaults to shelling out to `git worktree list`. */
13
+ listWorktrees?: ListWorktrees;
14
+ /** Background shell jobs still running under the current root. */
15
+ getRunningJobs: () => RunningJob[];
16
+ }
17
+ export declare function createWorktreeToolDefinitions(dependencies: WorktreeToolDependencies): {
18
+ enter: ToolDefinition<typeof enterWorktreeSchema>;
19
+ exit: ToolDefinition<typeof exitWorktreeSchema>;
20
+ };
21
+ export { enterableWorktrees };
22
+ //# sourceMappingURL=worktree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../../../source/tools/system/worktree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,gDAAgD,CAAC;AACtG,OAAO,EACL,kBAAkB,EAGlB,KAAK,UAAU,EAChB,MAAM,iDAAiD,CAAC;AAazD,QAAA,MAAM,mBAAmB;;iBAIvB,CAAC;AAEH,QAAA,MAAM,kBAAkB,gCAAe,CAAC;AAExC,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,0EAA0E;IAC1E,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kEAAkE;IAClE,cAAc,EAAE,MAAM,UAAU,EAAE,CAAC;CACpC;AAqBD,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,wBAAwB,GAAG;IACrF,KAAK,EAAE,cAAc,CAAC,OAAO,mBAAmB,CAAC,CAAC;IAClD,IAAI,EAAE,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;CACjD,CAiIA;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}