@qduc/term2 0.7.1 → 0.7.3

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 (956) hide show
  1. package/dist/agent.d.ts +1 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +17 -1
  4. package/dist/agent.js.map +1 -1
  5. package/dist/agent.test.js +36 -0
  6. package/dist/agent.test.js.map +1 -1
  7. package/dist/app.d.ts +3 -3
  8. package/dist/app.d.ts.map +1 -1
  9. package/dist/app.js +193 -86
  10. package/dist/app.js.map +1 -1
  11. package/dist/app.large-uncached-warning.test.js.map +1 -1
  12. package/dist/cli.integration.test.js +101 -5
  13. package/dist/cli.integration.test.js.map +1 -1
  14. package/dist/cli.js +61 -12
  15. package/dist/cli.js.map +1 -1
  16. package/dist/components/ApprovalPrompt.ask-user.test.d.ts +2 -0
  17. package/dist/components/ApprovalPrompt.ask-user.test.d.ts.map +1 -0
  18. package/dist/components/ApprovalPrompt.ask-user.test.js +108 -0
  19. package/dist/components/ApprovalPrompt.ask-user.test.js.map +1 -0
  20. package/dist/components/ApprovalPrompt.d.ts +4 -4
  21. package/dist/components/ApprovalPrompt.d.ts.map +1 -1
  22. package/dist/components/ApprovalPrompt.js +76 -13
  23. package/dist/components/ApprovalPrompt.js.map +1 -1
  24. package/dist/components/BottomArea.d.ts +11 -2
  25. package/dist/components/BottomArea.d.ts.map +1 -1
  26. package/dist/components/BottomArea.js +20 -6
  27. package/dist/components/BottomArea.js.map +1 -1
  28. package/dist/components/BottomArea.test.js +37 -4
  29. package/dist/components/BottomArea.test.js.map +1 -1
  30. package/dist/components/Common/MenuContainer.d.ts +3 -4
  31. package/dist/components/Common/MenuContainer.d.ts.map +1 -1
  32. package/dist/components/Common/MenuContainer.js +14 -14
  33. package/dist/components/Common/MenuContainer.js.map +1 -1
  34. package/dist/components/Common/MenuContainer.test.d.ts +2 -0
  35. package/dist/components/Common/MenuContainer.test.d.ts.map +1 -0
  36. package/dist/components/Common/MenuContainer.test.js +66 -0
  37. package/dist/components/Common/MenuContainer.test.js.map +1 -0
  38. package/dist/components/Input/PopupManager.d.ts +14 -0
  39. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  40. package/dist/components/Input/PopupManager.js +6 -4
  41. package/dist/components/Input/PopupManager.js.map +1 -1
  42. package/dist/components/Input/input-width.d.ts +2 -1
  43. package/dist/components/Input/input-width.d.ts.map +1 -1
  44. package/dist/components/Input/input-width.js +6 -2
  45. package/dist/components/Input/input-width.js.map +1 -1
  46. package/dist/components/Input/popup-props.d.ts +3 -1
  47. package/dist/components/Input/popup-props.d.ts.map +1 -1
  48. package/dist/components/Input/popup-props.js +12 -1
  49. package/dist/components/Input/popup-props.js.map +1 -1
  50. package/dist/components/Input/popup-props.test.js +9 -0
  51. package/dist/components/Input/popup-props.test.js.map +1 -1
  52. package/dist/components/InputBox.d.ts +8 -0
  53. package/dist/components/InputBox.d.ts.map +1 -1
  54. package/dist/components/InputBox.js +97 -33
  55. package/dist/components/InputBox.js.map +1 -1
  56. package/dist/components/InputBox.test.js +174 -7
  57. package/dist/components/InputBox.test.js.map +1 -1
  58. package/dist/components/LargeUncachedConfirmationPrompt.d.ts +10 -0
  59. package/dist/components/LargeUncachedConfirmationPrompt.d.ts.map +1 -0
  60. package/dist/components/LargeUncachedConfirmationPrompt.js +49 -0
  61. package/dist/components/LargeUncachedConfirmationPrompt.js.map +1 -0
  62. package/dist/components/LargeUncachedConfirmationPrompt.test.d.ts +2 -0
  63. package/dist/components/LargeUncachedConfirmationPrompt.test.d.ts.map +1 -0
  64. package/dist/components/LargeUncachedConfirmationPrompt.test.js +48 -0
  65. package/dist/components/LargeUncachedConfirmationPrompt.test.js.map +1 -0
  66. package/dist/components/MessageList.d.ts +10 -0
  67. package/dist/components/MessageList.d.ts.map +1 -1
  68. package/dist/components/MessageList.js +34 -3
  69. package/dist/components/MessageList.js.map +1 -1
  70. package/dist/components/MessageList.test.js +54 -1
  71. package/dist/components/MessageList.test.js.map +1 -1
  72. package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
  73. package/dist/components/ModelSelectionMenu.debug.test.d.ts +2 -0
  74. package/dist/components/ModelSelectionMenu.debug.test.d.ts.map +1 -0
  75. package/dist/components/ModelSelectionMenu.debug.test.js.map +1 -0
  76. package/dist/components/ModelSelectionMenu.js +1 -4
  77. package/dist/components/ModelSelectionMenu.js.map +1 -1
  78. package/dist/components/PathSelectionMenu.d.ts +1 -0
  79. package/dist/components/PathSelectionMenu.d.ts.map +1 -1
  80. package/dist/components/PathSelectionMenu.js +11 -15
  81. package/dist/components/PathSelectionMenu.js.map +1 -1
  82. package/dist/components/PathSelectionMenu.test.d.ts +2 -0
  83. package/dist/components/PathSelectionMenu.test.d.ts.map +1 -0
  84. package/dist/components/PathSelectionMenu.test.js +17 -0
  85. package/dist/components/PathSelectionMenu.test.js.map +1 -0
  86. package/dist/components/ProviderSelectionMenu.d.ts +15 -0
  87. package/dist/components/ProviderSelectionMenu.d.ts.map +1 -0
  88. package/dist/components/ProviderSelectionMenu.js +172 -0
  89. package/dist/components/ProviderSelectionMenu.js.map +1 -0
  90. package/dist/components/ProviderSelectionMenu.test.d.ts +2 -0
  91. package/dist/components/ProviderSelectionMenu.test.d.ts.map +1 -0
  92. package/dist/components/ProviderSelectionMenu.test.js +97 -0
  93. package/dist/components/ProviderSelectionMenu.test.js.map +1 -0
  94. package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
  95. package/dist/components/SettingsSelectionMenu.js +1 -12
  96. package/dist/components/SettingsSelectionMenu.js.map +1 -1
  97. package/dist/components/SettingsValueSelectionMenu.d.ts +2 -1
  98. package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
  99. package/dist/components/SettingsValueSelectionMenu.js +12 -13
  100. package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
  101. package/dist/components/StatusBar.d.ts +1 -0
  102. package/dist/components/StatusBar.d.ts.map +1 -1
  103. package/dist/components/StatusBar.js +21 -15
  104. package/dist/components/StatusBar.js.map +1 -1
  105. package/dist/components/StatusBar.test.js +23 -4
  106. package/dist/components/StatusBar.test.js.map +1 -1
  107. package/dist/components/UndoSelectionMenu.d.ts.map +1 -1
  108. package/dist/components/UndoSelectionMenu.js +1 -1
  109. package/dist/components/UndoSelectionMenu.js.map +1 -1
  110. package/dist/context/InputContext.d.ts +6 -1
  111. package/dist/context/InputContext.d.ts.map +1 -1
  112. package/dist/context/InputContext.images.test.d.ts +2 -0
  113. package/dist/context/InputContext.images.test.d.ts.map +1 -0
  114. package/dist/context/InputContext.images.test.js +56 -0
  115. package/dist/context/InputContext.images.test.js.map +1 -0
  116. package/dist/context/InputContext.js +3 -2
  117. package/dist/context/InputContext.js.map +1 -1
  118. package/dist/hooks/use-app-commands.d.ts +2 -1
  119. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  120. package/dist/hooks/use-app-commands.js +11 -2
  121. package/dist/hooks/use-app-commands.js.map +1 -1
  122. package/dist/hooks/use-app-commands.test.js +2 -0
  123. package/dist/hooks/use-app-commands.test.js.map +1 -1
  124. package/dist/hooks/use-conversation.clear.test.js +31 -0
  125. package/dist/hooks/use-conversation.clear.test.js.map +1 -1
  126. package/dist/hooks/use-conversation.d.ts +12 -2
  127. package/dist/hooks/use-conversation.d.ts.map +1 -1
  128. package/dist/hooks/use-conversation.js +36 -5
  129. package/dist/hooks/use-conversation.js.map +1 -1
  130. package/dist/hooks/use-conversation.resume.test.js +26 -3
  131. package/dist/hooks/use-conversation.resume.test.js.map +1 -1
  132. package/dist/hooks/use-escape-key.d.ts +12 -3
  133. package/dist/hooks/use-escape-key.d.ts.map +1 -1
  134. package/dist/hooks/use-escape-key.js +25 -11
  135. package/dist/hooks/use-escape-key.js.map +1 -1
  136. package/dist/hooks/use-escape-key.test.js +154 -14
  137. package/dist/hooks/use-escape-key.test.js.map +1 -1
  138. package/dist/hooks/use-mode-handlers.d.ts +13 -1
  139. package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
  140. package/dist/hooks/use-mode-handlers.js +22 -1
  141. package/dist/hooks/use-mode-handlers.js.map +1 -1
  142. package/dist/hooks/use-mode-handlers.test.d.ts +2 -0
  143. package/dist/hooks/use-mode-handlers.test.d.ts.map +1 -0
  144. package/dist/hooks/use-mode-handlers.test.js +119 -0
  145. package/dist/hooks/use-mode-handlers.test.js.map +1 -0
  146. package/dist/hooks/use-path-completion.d.ts +10 -3
  147. package/dist/hooks/use-path-completion.d.ts.map +1 -1
  148. package/dist/hooks/use-path-completion.js +53 -9
  149. package/dist/hooks/use-path-completion.js.map +1 -1
  150. package/dist/hooks/use-path-completion.test.d.ts +2 -0
  151. package/dist/hooks/use-path-completion.test.d.ts.map +1 -0
  152. package/dist/hooks/use-path-completion.test.js +66 -0
  153. package/dist/hooks/use-path-completion.test.js.map +1 -0
  154. package/dist/hooks/use-provider-selection.d.ts +60 -0
  155. package/dist/hooks/use-provider-selection.d.ts.map +1 -0
  156. package/dist/hooks/use-provider-selection.js +767 -0
  157. package/dist/hooks/use-provider-selection.js.map +1 -0
  158. package/dist/hooks/use-provider-selection.test.d.ts +2 -0
  159. package/dist/hooks/use-provider-selection.test.d.ts.map +1 -0
  160. package/dist/hooks/use-provider-selection.test.js +793 -0
  161. package/dist/hooks/use-provider-selection.test.js.map +1 -0
  162. package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
  163. package/dist/hooks/use-runtime-settings.js +2 -2
  164. package/dist/hooks/use-runtime-settings.js.map +1 -1
  165. package/dist/hooks/use-selection.d.ts +3 -1
  166. package/dist/hooks/use-selection.d.ts.map +1 -1
  167. package/dist/hooks/use-selection.js +115 -24
  168. package/dist/hooks/use-selection.js.map +1 -1
  169. package/dist/hooks/use-selection.test.js +96 -2
  170. package/dist/hooks/use-selection.test.js.map +1 -1
  171. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  172. package/dist/hooks/use-settings-completion.js +8 -1
  173. package/dist/hooks/use-settings-completion.js.map +1 -1
  174. package/dist/hooks/use-settings-completion.test.js +4 -0
  175. package/dist/hooks/use-settings-completion.test.js.map +1 -1
  176. package/dist/hooks/use-settings-value-completion.d.ts +3 -0
  177. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  178. package/dist/hooks/use-settings-value-completion.js +140 -18
  179. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  180. package/dist/hooks/use-settings-value-completion.test.js +71 -1
  181. package/dist/hooks/use-settings-value-completion.test.js.map +1 -1
  182. package/dist/hooks/use-terminal-width.d.ts +2 -1
  183. package/dist/hooks/use-terminal-width.d.ts.map +1 -1
  184. package/dist/hooks/use-terminal-width.js +2 -1
  185. package/dist/hooks/use-terminal-width.js.map +1 -1
  186. package/dist/hooks/use-trigger-detection.d.ts +4 -2
  187. package/dist/hooks/use-trigger-detection.d.ts.map +1 -1
  188. package/dist/hooks/use-trigger-detection.js +42 -8
  189. package/dist/hooks/use-trigger-detection.js.map +1 -1
  190. package/dist/hooks/use-trigger-detection.test.js +2 -1
  191. package/dist/hooks/use-trigger-detection.test.js.map +1 -1
  192. package/dist/inspect_zod.d.ts +2 -0
  193. package/dist/inspect_zod.d.ts.map +1 -0
  194. package/dist/inspect_zod.js +16 -0
  195. package/dist/inspect_zod.js.map +1 -0
  196. package/dist/lib/openai-agent-client.chat.test.js +8 -0
  197. package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
  198. package/dist/lib/openai-agent-client.d.ts +11 -6
  199. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  200. package/dist/lib/openai-agent-client.js +241 -37
  201. package/dist/lib/openai-agent-client.js.map +1 -1
  202. package/dist/lib/openai-agent-client.public-methods.test.js +326 -23
  203. package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
  204. package/dist/lib/openai-agent-client.test.js +62 -0
  205. package/dist/lib/openai-agent-client.test.js.map +1 -1
  206. package/dist/lib/tool-execution-limiter.d.ts +16 -0
  207. package/dist/lib/tool-execution-limiter.d.ts.map +1 -0
  208. package/dist/lib/tool-execution-limiter.js +112 -0
  209. package/dist/lib/tool-execution-limiter.js.map +1 -0
  210. package/dist/lib/tool-execution-limiter.test.d.ts +2 -0
  211. package/dist/lib/tool-execution-limiter.test.d.ts.map +1 -0
  212. package/dist/lib/tool-execution-limiter.test.js +70 -0
  213. package/dist/lib/tool-execution-limiter.test.js.map +1 -0
  214. package/dist/lib/tool-invoke.d.ts +27 -0
  215. package/dist/lib/tool-invoke.d.ts.map +1 -1
  216. package/dist/lib/tool-invoke.js +124 -95
  217. package/dist/lib/tool-invoke.js.map +1 -1
  218. package/dist/lib/tool-invoke.test.js +92 -30
  219. package/dist/lib/tool-invoke.test.js.map +1 -1
  220. package/dist/non-interactive.d.ts +2 -1
  221. package/dist/non-interactive.d.ts.map +1 -1
  222. package/dist/non-interactive.js +10 -2
  223. package/dist/non-interactive.js.map +1 -1
  224. package/dist/prompts/gpt-5-modern.md +105 -91
  225. package/dist/prompts/gpt-5.5.md +106 -0
  226. package/dist/prompts/gpt-5.md +7 -4
  227. package/dist/prompts/orchestrator.md +27 -44
  228. package/dist/prompts/plan-mode-info.md +2 -0
  229. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  230. package/dist/prompts/prompt-constructor.js +8 -0
  231. package/dist/prompts/prompt-constructor.js.map +1 -1
  232. package/dist/prompts/prompt-constructor.test.js +13 -0
  233. package/dist/prompts/prompt-constructor.test.js.map +1 -1
  234. package/dist/prompts/prompt-constructor.test.ts +16 -0
  235. package/dist/prompts/prompt-constructor.ts +10 -0
  236. package/dist/prompts/prompt-profiles.js +1 -1
  237. package/dist/prompts/prompt-profiles.js.map +1 -1
  238. package/dist/prompts/prompt-profiles.ts +1 -1
  239. package/dist/prompts/prompt-selector.test.js +1 -1
  240. package/dist/prompts/prompt-selector.test.js.map +1 -1
  241. package/dist/prompts/prompt-selector.test.ts +1 -1
  242. package/dist/prompts/subagent-delegation.d.ts.map +1 -1
  243. package/dist/prompts/subagent-delegation.js +17 -1
  244. package/dist/prompts/subagent-delegation.js.map +1 -1
  245. package/dist/prompts/subagent-delegation.test.js +21 -0
  246. package/dist/prompts/subagent-delegation.test.js.map +1 -1
  247. package/dist/prompts/subagent-delegation.test.ts +26 -0
  248. package/dist/prompts/subagent-delegation.ts +17 -1
  249. package/dist/prompts/subagents/base-anthropic.md +3 -0
  250. package/dist/prompts/subagents/base-codex.md +3 -0
  251. package/dist/prompts/subagents/base-gpt-5-modern.md +3 -0
  252. package/dist/prompts/subagents/base-simple.md +3 -0
  253. package/dist/prompts/subagents/explorer.md +8 -10
  254. package/dist/prompts/subagents/researcher.md +2 -1
  255. package/dist/prompts/subagents/worker.md +12 -3
  256. package/dist/prompts/subagents/worktree-hygiene.md +6 -0
  257. package/dist/providers/ai-sdk-anthropic.provider.d.ts +4 -1
  258. package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -1
  259. package/dist/providers/ai-sdk-anthropic.provider.js +65 -22
  260. package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -1
  261. package/dist/providers/ai-sdk-anthropic.provider.test.js +24 -1
  262. package/dist/providers/ai-sdk-anthropic.provider.test.js.map +1 -1
  263. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts +0 -2
  264. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts.map +1 -1
  265. package/dist/providers/ai-sdk-openai-compatible.provider.js +4 -8
  266. package/dist/providers/ai-sdk-openai-compatible.provider.js.map +1 -1
  267. package/dist/providers/ai-sdk-openai-compatible.provider.test.js +1 -119
  268. package/dist/providers/ai-sdk-openai-compatible.provider.test.js.map +1 -1
  269. package/dist/providers/anthropic-middleware.d.ts +25 -0
  270. package/dist/providers/anthropic-middleware.d.ts.map +1 -0
  271. package/dist/providers/anthropic-middleware.js +32 -0
  272. package/dist/providers/anthropic-middleware.js.map +1 -0
  273. package/dist/providers/anthropic-middleware.test.d.ts +2 -0
  274. package/dist/providers/anthropic-middleware.test.d.ts.map +1 -0
  275. package/dist/providers/anthropic-middleware.test.js +142 -0
  276. package/dist/providers/anthropic-middleware.test.js.map +1 -0
  277. package/dist/providers/codex-responses-model.d.ts +1 -0
  278. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  279. package/dist/providers/codex-responses-model.js +97 -34
  280. package/dist/providers/codex-responses-model.js.map +1 -1
  281. package/dist/providers/codex-responses-model.test.js +158 -0
  282. package/dist/providers/codex-responses-model.test.js.map +1 -1
  283. package/dist/providers/codex.provider.d.ts.map +1 -1
  284. package/dist/providers/codex.provider.js +16 -9
  285. package/dist/providers/codex.provider.js.map +1 -1
  286. package/dist/providers/codex.provider.test.js +2 -1
  287. package/dist/providers/codex.provider.test.js.map +1 -1
  288. package/dist/providers/custom-provider-adapter.test.js +6 -2
  289. package/dist/providers/custom-provider-adapter.test.js.map +1 -1
  290. package/dist/providers/fallback-responses-model.d.ts +3 -1
  291. package/dist/providers/fallback-responses-model.d.ts.map +1 -1
  292. package/dist/providers/fallback-responses-model.js +31 -4
  293. package/dist/providers/fallback-responses-model.js.map +1 -1
  294. package/dist/providers/fallback-responses-model.test.js +65 -8
  295. package/dist/providers/fallback-responses-model.test.js.map +1 -1
  296. package/dist/providers/fetch/composer.d.ts +1 -0
  297. package/dist/providers/fetch/composer.d.ts.map +1 -1
  298. package/dist/providers/fetch/composer.js +1 -0
  299. package/dist/providers/fetch/composer.js.map +1 -1
  300. package/dist/providers/fetch/composer.test.js +58 -17
  301. package/dist/providers/fetch/composer.test.js.map +1 -1
  302. package/dist/providers/fetch/logging-middleware.d.ts +3 -2
  303. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -1
  304. package/dist/providers/fetch/logging-middleware.js +5 -2
  305. package/dist/providers/fetch/logging-middleware.js.map +1 -1
  306. package/dist/providers/openai-compatible-behavior-gate.test.js +1 -42
  307. package/dist/providers/openai-compatible-behavior-gate.test.js.map +1 -1
  308. package/dist/providers/openai-compatible-lazy.d.ts +4 -0
  309. package/dist/providers/openai-compatible-lazy.d.ts.map +1 -0
  310. package/dist/providers/openai-compatible-lazy.js +55 -0
  311. package/dist/providers/openai-compatible-lazy.js.map +1 -0
  312. package/dist/providers/openai-compatible-middleware.d.ts +5 -2
  313. package/dist/providers/openai-compatible-middleware.d.ts.map +1 -1
  314. package/dist/providers/openai-compatible-middleware.js +8 -11
  315. package/dist/providers/openai-compatible-middleware.js.map +1 -1
  316. package/dist/providers/openai-compatible.provider.d.ts +5 -1
  317. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  318. package/dist/providers/openai-compatible.provider.js +59 -37
  319. package/dist/providers/openai-compatible.provider.js.map +1 -1
  320. package/dist/providers/openai-compatible.provider.test.js +97 -2
  321. package/dist/providers/openai-compatible.provider.test.js.map +1 -1
  322. package/dist/providers/openai.provider.d.ts +8 -1
  323. package/dist/providers/openai.provider.d.ts.map +1 -1
  324. package/dist/providers/openai.provider.js +43 -10
  325. package/dist/providers/openai.provider.js.map +1 -1
  326. package/dist/providers/openai.provider.test.d.ts +2 -0
  327. package/dist/providers/openai.provider.test.d.ts.map +1 -0
  328. package/dist/providers/openai.provider.test.js +59 -0
  329. package/dist/providers/openai.provider.test.js.map +1 -0
  330. package/dist/providers/opencode-routing.d.ts +4 -0
  331. package/dist/providers/opencode-routing.d.ts.map +1 -0
  332. package/dist/providers/opencode-routing.js +14 -0
  333. package/dist/providers/opencode-routing.js.map +1 -0
  334. package/dist/providers/opencode-session.d.ts +19 -0
  335. package/dist/providers/opencode-session.d.ts.map +1 -0
  336. package/dist/providers/opencode-session.js +76 -0
  337. package/dist/providers/opencode-session.js.map +1 -0
  338. package/dist/providers/opencode.provider.d.ts +0 -8
  339. package/dist/providers/opencode.provider.d.ts.map +1 -1
  340. package/dist/providers/opencode.provider.js +0 -32
  341. package/dist/providers/opencode.provider.js.map +1 -1
  342. package/dist/providers/opencode.provider.test.d.ts +2 -0
  343. package/dist/providers/opencode.provider.test.d.ts.map +1 -0
  344. package/dist/providers/opencode.provider.test.js +186 -0
  345. package/dist/providers/opencode.provider.test.js.map +1 -0
  346. package/dist/providers/openrouter.provider.createRunner.test.js +5 -0
  347. package/dist/providers/openrouter.provider.createRunner.test.js.map +1 -1
  348. package/dist/providers/openrouter.provider.d.ts.map +1 -1
  349. package/dist/providers/openrouter.provider.js +8 -4
  350. package/dist/providers/openrouter.provider.js.map +1 -1
  351. package/dist/providers/registry.d.ts +3 -0
  352. package/dist/providers/registry.d.ts.map +1 -1
  353. package/dist/providers/registry.js.map +1 -1
  354. package/dist/providers/registry.test.js +1 -0
  355. package/dist/providers/registry.test.js.map +1 -1
  356. package/dist/scripts/eval-auto-approval/runner.js +4 -0
  357. package/dist/scripts/eval-auto-approval/runner.js.map +1 -1
  358. package/dist/services/conversation-integration.test.js +8 -4
  359. package/dist/services/conversation-integration.test.js.map +1 -1
  360. package/dist/services/conversation-log-events.d.ts +3 -0
  361. package/dist/services/conversation-log-events.d.ts.map +1 -1
  362. package/dist/services/conversation-log-events.js.map +1 -1
  363. package/dist/services/conversation-log-writer.d.ts.map +1 -1
  364. package/dist/services/conversation-log-writer.js +1 -2
  365. package/dist/services/conversation-log-writer.js.map +1 -1
  366. package/dist/services/conversation-persistence.d.ts +1 -1
  367. package/dist/services/conversation-persistence.d.ts.map +1 -1
  368. package/dist/services/conversation-persistence.js +53 -4
  369. package/dist/services/conversation-persistence.js.map +1 -1
  370. package/dist/services/conversation-persistence.test.js +203 -1
  371. package/dist/services/conversation-persistence.test.js.map +1 -1
  372. package/dist/services/conversation-replay.d.ts.map +1 -1
  373. package/dist/services/conversation-replay.js +114 -8
  374. package/dist/services/conversation-replay.js.map +1 -1
  375. package/dist/services/conversation-replay.test.js +368 -0
  376. package/dist/services/conversation-replay.test.js.map +1 -1
  377. package/dist/services/conversation-result-builder.test.js +9 -0
  378. package/dist/services/conversation-result-builder.test.js.map +1 -1
  379. package/dist/services/conversation-service.d.ts +3 -1
  380. package/dist/services/conversation-service.d.ts.map +1 -1
  381. package/dist/services/conversation-service.js +3 -0
  382. package/dist/services/conversation-service.js.map +1 -1
  383. package/dist/services/conversation-session-reasoning.test.js +5 -1
  384. package/dist/services/conversation-session-reasoning.test.js.map +1 -1
  385. package/dist/services/conversation-session.auto-approval.test.js +25 -1
  386. package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
  387. package/dist/services/conversation-session.d.ts +8 -2
  388. package/dist/services/conversation-session.d.ts.map +1 -1
  389. package/dist/services/conversation-session.js +88 -44
  390. package/dist/services/conversation-session.js.map +1 -1
  391. package/dist/services/conversation-store.merge-modes.test.d.ts.map +1 -1
  392. package/dist/services/conversation-store.merge-modes.test.js +160 -1
  393. package/dist/services/conversation-store.merge-modes.test.js.map +1 -1
  394. package/dist/services/file-service.d.ts +20 -4
  395. package/dist/services/file-service.d.ts.map +1 -1
  396. package/dist/services/file-service.js +111 -52
  397. package/dist/services/file-service.js.map +1 -1
  398. package/dist/services/file-service.test.d.ts +2 -0
  399. package/dist/services/file-service.test.d.ts.map +1 -0
  400. package/dist/services/file-service.test.js +60 -0
  401. package/dist/services/file-service.test.js.map +1 -0
  402. package/dist/services/large-uncached-input-guard.d.ts.map +1 -1
  403. package/dist/services/large-uncached-input-guard.js +4 -3
  404. package/dist/services/large-uncached-input-guard.js.map +1 -1
  405. package/dist/services/large-uncached-input-guard.test.js +22 -0
  406. package/dist/services/large-uncached-input-guard.test.js.map +1 -1
  407. package/dist/services/logging-service.d.ts +0 -3
  408. package/dist/services/logging-service.d.ts.map +1 -1
  409. package/dist/services/logging-service.js +12 -8
  410. package/dist/services/logging-service.js.map +1 -1
  411. package/dist/services/mode-notices.d.ts +4 -5
  412. package/dist/services/mode-notices.d.ts.map +1 -1
  413. package/dist/services/mode-notices.js +4 -5
  414. package/dist/services/mode-notices.js.map +1 -1
  415. package/dist/services/notification-service.d.ts +42 -0
  416. package/dist/services/notification-service.d.ts.map +1 -0
  417. package/dist/services/notification-service.js +116 -0
  418. package/dist/services/notification-service.js.map +1 -0
  419. package/dist/services/notification-service.test.d.ts +2 -0
  420. package/dist/services/notification-service.test.d.ts.map +1 -0
  421. package/dist/services/notification-service.test.js +151 -0
  422. package/dist/services/notification-service.test.js.map +1 -0
  423. package/dist/services/provider-traffic.d.ts +8 -9
  424. package/dist/services/provider-traffic.d.ts.map +1 -1
  425. package/dist/services/provider-traffic.js +25 -12
  426. package/dist/services/provider-traffic.js.map +1 -1
  427. package/dist/services/provider-traffic.test.js +102 -1
  428. package/dist/services/provider-traffic.test.js.map +1 -1
  429. package/dist/services/service-interfaces.d.ts +12 -16
  430. package/dist/services/service-interfaces.d.ts.map +1 -1
  431. package/dist/services/session-context-service.d.ts +8 -0
  432. package/dist/services/session-context-service.d.ts.map +1 -0
  433. package/dist/services/session-context-service.js +19 -0
  434. package/dist/services/session-context-service.js.map +1 -0
  435. package/dist/services/session-context-service.test.d.ts +2 -0
  436. package/dist/services/session-context-service.test.d.ts.map +1 -0
  437. package/dist/services/session-context-service.test.js +38 -0
  438. package/dist/services/session-context-service.test.js.map +1 -0
  439. package/dist/services/settings-env.d.ts.map +1 -1
  440. package/dist/services/settings-env.js +4 -1
  441. package/dist/services/settings-env.js.map +1 -1
  442. package/dist/services/settings-persistence.d.ts.map +1 -1
  443. package/dist/services/settings-persistence.js +0 -1
  444. package/dist/services/settings-persistence.js.map +1 -1
  445. package/dist/services/settings-persistence.test.js +2 -2
  446. package/dist/services/settings-persistence.test.js.map +1 -1
  447. package/dist/services/settings-schema.d.ts +25 -1
  448. package/dist/services/settings-schema.d.ts.map +1 -1
  449. package/dist/services/settings-schema.js +54 -23
  450. package/dist/services/settings-schema.js.map +1 -1
  451. package/dist/services/settings-schema.test.js +10 -0
  452. package/dist/services/settings-schema.test.js.map +1 -1
  453. package/dist/services/settings-service.d.ts +8 -0
  454. package/dist/services/settings-service.d.ts.map +1 -1
  455. package/dist/services/settings-service.js +60 -23
  456. package/dist/services/settings-service.js.map +1 -1
  457. package/dist/services/settings-sources.d.ts.map +1 -1
  458. package/dist/services/settings-sources.js +1 -0
  459. package/dist/services/settings-sources.js.map +1 -1
  460. package/dist/services/settings-sources.test.js +2 -0
  461. package/dist/services/settings-sources.test.js.map +1 -1
  462. package/dist/services/shell-auto-approval-evaluator.d.ts +3 -2
  463. package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
  464. package/dist/services/shell-auto-approval-evaluator.js +3 -3
  465. package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
  466. package/dist/services/shell-auto-approval-evaluator.test.js +20 -0
  467. package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -1
  468. package/dist/services/shell-auto-approval-resolver.d.ts +2 -1
  469. package/dist/services/shell-auto-approval-resolver.d.ts.map +1 -1
  470. package/dist/services/shell-auto-approval-resolver.js +2 -0
  471. package/dist/services/shell-auto-approval-resolver.js.map +1 -1
  472. package/dist/services/shell-auto-approval-resolver.test.js +10 -0
  473. package/dist/services/shell-auto-approval-resolver.test.js.map +1 -1
  474. package/dist/services/subagents/subagent-manager.d.ts +2 -1
  475. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  476. package/dist/services/subagents/subagent-manager.js +182 -13
  477. package/dist/services/subagents/subagent-manager.js.map +1 -1
  478. package/dist/services/subagents/subagent-manager.test.js +548 -17
  479. package/dist/services/subagents/subagent-manager.test.js.map +1 -1
  480. package/dist/tools/apply-patch.d.ts.map +1 -1
  481. package/dist/tools/apply-patch.js +2 -2
  482. package/dist/tools/apply-patch.js.map +1 -1
  483. package/dist/tools/ask-user-constants.d.ts +7 -0
  484. package/dist/tools/ask-user-constants.d.ts.map +1 -0
  485. package/dist/tools/ask-user-constants.js +7 -0
  486. package/dist/tools/ask-user-constants.js.map +1 -0
  487. package/dist/tools/ask-user.d.ts +11 -0
  488. package/dist/tools/ask-user.d.ts.map +1 -0
  489. package/dist/tools/ask-user.js +56 -0
  490. package/dist/tools/ask-user.js.map +1 -0
  491. package/dist/tools/ask-user.test.d.ts +2 -0
  492. package/dist/tools/ask-user.test.d.ts.map +1 -0
  493. package/dist/tools/ask-user.test.js +129 -0
  494. package/dist/tools/ask-user.test.js.map +1 -0
  495. package/dist/tools/code-context.js +1 -1
  496. package/dist/tools/code-context.js.map +1 -1
  497. package/dist/tools/code-context.test.js +278 -0
  498. package/dist/tools/code-context.test.js.map +1 -1
  499. package/dist/tools/format-helpers.d.ts +13 -0
  500. package/dist/tools/format-helpers.d.ts.map +1 -1
  501. package/dist/tools/format-helpers.js +34 -0
  502. package/dist/tools/format-helpers.js.map +1 -1
  503. package/dist/tools/format-helpers.test.d.ts +2 -0
  504. package/dist/tools/format-helpers.test.d.ts.map +1 -0
  505. package/dist/tools/format-helpers.test.js +51 -0
  506. package/dist/tools/format-helpers.test.js.map +1 -0
  507. package/dist/tools/language-providers.d.ts.map +1 -1
  508. package/dist/tools/language-providers.js +379 -0
  509. package/dist/tools/language-providers.js.map +1 -1
  510. package/dist/tools/languages/cpp.d.ts +8 -0
  511. package/dist/tools/languages/cpp.d.ts.map +1 -0
  512. package/dist/tools/languages/cpp.js +306 -0
  513. package/dist/tools/languages/cpp.js.map +1 -0
  514. package/dist/tools/languages/csharp.d.ts +5 -0
  515. package/dist/tools/languages/csharp.d.ts.map +1 -0
  516. package/dist/tools/languages/csharp.js +225 -0
  517. package/dist/tools/languages/csharp.js.map +1 -0
  518. package/dist/tools/languages/go.d.ts +7 -0
  519. package/dist/tools/languages/go.d.ts.map +1 -0
  520. package/dist/tools/languages/go.js +223 -0
  521. package/dist/tools/languages/go.js.map +1 -0
  522. package/dist/tools/languages/index.d.ts +6 -0
  523. package/dist/tools/languages/index.d.ts.map +1 -0
  524. package/dist/tools/languages/index.js +32 -0
  525. package/dist/tools/languages/index.js.map +1 -0
  526. package/dist/tools/languages/java.d.ts +5 -0
  527. package/dist/tools/languages/java.d.ts.map +1 -0
  528. package/dist/tools/languages/java.js +183 -0
  529. package/dist/tools/languages/java.js.map +1 -0
  530. package/dist/tools/languages/json.d.ts +3 -0
  531. package/dist/tools/languages/json.d.ts.map +1 -0
  532. package/dist/tools/languages/json.js +40 -0
  533. package/dist/tools/languages/json.js.map +1 -0
  534. package/dist/tools/languages/php.d.ts +8 -0
  535. package/dist/tools/languages/php.d.ts.map +1 -0
  536. package/dist/tools/languages/php.js +139 -0
  537. package/dist/tools/languages/php.js.map +1 -0
  538. package/dist/tools/languages/python.d.ts +7 -0
  539. package/dist/tools/languages/python.d.ts.map +1 -0
  540. package/dist/tools/languages/python.js +189 -0
  541. package/dist/tools/languages/python.js.map +1 -0
  542. package/dist/tools/languages/ruby.d.ts +8 -0
  543. package/dist/tools/languages/ruby.d.ts.map +1 -0
  544. package/dist/tools/languages/ruby.js +94 -0
  545. package/dist/tools/languages/ruby.js.map +1 -0
  546. package/dist/tools/languages/rust.d.ts +7 -0
  547. package/dist/tools/languages/rust.d.ts.map +1 -0
  548. package/dist/tools/languages/rust.js +186 -0
  549. package/dist/tools/languages/rust.js.map +1 -0
  550. package/dist/tools/languages/types.d.ts +39 -0
  551. package/dist/tools/languages/types.d.ts.map +1 -0
  552. package/dist/tools/languages/types.js +2 -0
  553. package/dist/tools/languages/types.js.map +1 -0
  554. package/dist/tools/languages/typescript.d.ts +4 -0
  555. package/dist/tools/languages/typescript.d.ts.map +1 -0
  556. package/dist/tools/languages/typescript.js +94 -0
  557. package/dist/tools/languages/typescript.js.map +1 -0
  558. package/dist/tools/languages/utils.d.ts +14 -0
  559. package/dist/tools/languages/utils.d.ts.map +1 -0
  560. package/dist/tools/languages/utils.js +73 -0
  561. package/dist/tools/languages/utils.js.map +1 -0
  562. package/dist/tools/search-replace.d.ts.map +1 -1
  563. package/dist/tools/search-replace.js +2 -2
  564. package/dist/tools/search-replace.js.map +1 -1
  565. package/dist/tools/shell.d.ts.map +1 -1
  566. package/dist/tools/shell.js +13 -1
  567. package/dist/tools/shell.js.map +1 -1
  568. package/dist/tools/tool-names.d.ts +1 -0
  569. package/dist/tools/tool-names.d.ts.map +1 -1
  570. package/dist/tools/tool-names.js +1 -0
  571. package/dist/tools/tool-names.js.map +1 -1
  572. package/dist/tools/web-fetch.d.ts.map +1 -1
  573. package/dist/tools/web-fetch.js +1 -1
  574. package/dist/tools/web-fetch.js.map +1 -1
  575. package/dist/utils/clipboard.d.ts +2 -1
  576. package/dist/utils/clipboard.d.ts.map +1 -1
  577. package/dist/utils/clipboard.js +2 -35
  578. package/dist/utils/clipboard.js.map +1 -1
  579. package/dist/utils/command-safety/_scratch-classify.test.d.ts +2 -0
  580. package/dist/utils/command-safety/_scratch-classify.test.d.ts.map +1 -0
  581. package/dist/utils/command-safety/_scratch-classify.test.js +22 -0
  582. package/dist/utils/command-safety/_scratch-classify.test.js.map +1 -0
  583. package/dist/utils/command-safety/constants.d.ts.map +1 -1
  584. package/dist/utils/command-safety/constants.js +21 -0
  585. package/dist/utils/command-safety/constants.js.map +1 -1
  586. package/dist/utils/command-safety/handlers/git-handler.d.ts.map +1 -1
  587. package/dist/utils/command-safety/handlers/git-handler.js +28 -2
  588. package/dist/utils/command-safety/handlers/git-handler.js.map +1 -1
  589. package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
  590. package/dist/utils/command-safety/path-analysis.js +6 -0
  591. package/dist/utils/command-safety/path-analysis.js.map +1 -1
  592. package/dist/utils/command-safety/scratch-classify.test.d.ts +2 -0
  593. package/dist/utils/command-safety/scratch-classify.test.d.ts.map +1 -0
  594. package/dist/utils/command-safety/scratch-classify.test.js +22 -0
  595. package/dist/utils/command-safety/scratch-classify.test.js.map +1 -0
  596. package/dist/utils/command-safety/scratch-tally.test.d.ts +2 -0
  597. package/dist/utils/command-safety/scratch-tally.test.d.ts.map +1 -0
  598. package/dist/utils/command-safety/scratch-tally.test.js +68 -0
  599. package/dist/utils/command-safety/scratch-tally.test.js.map +1 -0
  600. package/dist/utils/command-safety.evaluator-false-positives.test.d.ts +2 -0
  601. package/dist/utils/command-safety.evaluator-false-positives.test.d.ts.map +1 -0
  602. package/dist/utils/command-safety.evaluator-false-positives.test.js +72 -0
  603. package/dist/utils/command-safety.evaluator-false-positives.test.js.map +1 -0
  604. package/dist/utils/header-sanitizer.d.ts +2 -0
  605. package/dist/utils/header-sanitizer.d.ts.map +1 -0
  606. package/dist/utils/header-sanitizer.js +38 -0
  607. package/dist/utils/header-sanitizer.js.map +1 -0
  608. package/dist/utils/header-sanitizer.test.d.ts +2 -0
  609. package/dist/utils/header-sanitizer.test.d.ts.map +1 -0
  610. package/dist/utils/header-sanitizer.test.js +56 -0
  611. package/dist/utils/header-sanitizer.test.js.map +1 -0
  612. package/dist/utils/home-directory-start-guard.d.ts +10 -0
  613. package/dist/utils/home-directory-start-guard.d.ts.map +1 -0
  614. package/dist/utils/home-directory-start-guard.js +20 -0
  615. package/dist/utils/home-directory-start-guard.js.map +1 -0
  616. package/dist/utils/home-directory-start-guard.test.d.ts +2 -0
  617. package/dist/utils/home-directory-start-guard.test.d.ts.map +1 -0
  618. package/dist/utils/home-directory-start-guard.test.js +40 -0
  619. package/dist/utils/home-directory-start-guard.test.js.map +1 -0
  620. package/dist/utils/inject-warning-into-tool-output.d.ts +2 -0
  621. package/dist/utils/inject-warning-into-tool-output.d.ts.map +1 -0
  622. package/dist/utils/inject-warning-into-tool-output.js +66 -0
  623. package/dist/utils/inject-warning-into-tool-output.js.map +1 -0
  624. package/dist/utils/project-tree.d.ts +14 -0
  625. package/dist/utils/project-tree.d.ts.map +1 -0
  626. package/dist/utils/project-tree.js +111 -0
  627. package/dist/utils/project-tree.js.map +1 -0
  628. package/dist/utils/project-tree.test.d.ts +2 -0
  629. package/dist/utils/project-tree.test.d.ts.map +1 -0
  630. package/dist/utils/project-tree.test.js +149 -0
  631. package/dist/utils/project-tree.test.js.map +1 -0
  632. package/dist/utils/provider-traffic-extractor.d.ts +1 -0
  633. package/dist/utils/provider-traffic-extractor.d.ts.map +1 -1
  634. package/dist/utils/provider-traffic-extractor.js +1 -0
  635. package/dist/utils/provider-traffic-extractor.js.map +1 -1
  636. package/dist/utils/provider-traffic-extractor.test.js +2 -0
  637. package/dist/utils/provider-traffic-extractor.test.js.map +1 -1
  638. package/dist/utils/settings-command.d.ts.map +1 -1
  639. package/dist/utils/settings-command.js +11 -0
  640. package/dist/utils/settings-command.js.map +1 -1
  641. package/dist/utils/terminal-clear.d.ts +7 -0
  642. package/dist/utils/terminal-clear.d.ts.map +1 -0
  643. package/dist/utils/terminal-clear.js +5 -0
  644. package/dist/utils/terminal-clear.js.map +1 -0
  645. package/dist/utils/terminal-clear.test.d.ts +2 -0
  646. package/dist/utils/terminal-clear.test.d.ts.map +1 -0
  647. package/dist/utils/terminal-clear.test.js +13 -0
  648. package/dist/utils/terminal-clear.test.js.map +1 -0
  649. package/dist/utils/token-usage.d.ts +6 -2
  650. package/dist/utils/token-usage.d.ts.map +1 -1
  651. package/dist/utils/token-usage.js +11 -4
  652. package/dist/utils/token-usage.js.map +1 -1
  653. package/dist/utils/token-usage.test.js +15 -0
  654. package/dist/utils/token-usage.test.js.map +1 -1
  655. package/dist/utils/tty-osc.d.ts +27 -0
  656. package/dist/utils/tty-osc.d.ts.map +1 -0
  657. package/dist/utils/tty-osc.js +66 -0
  658. package/dist/utils/tty-osc.js.map +1 -0
  659. package/dist/utils/tty-osc.test.d.ts +2 -0
  660. package/dist/utils/tty-osc.test.d.ts.map +1 -0
  661. package/dist/utils/tty-osc.test.js +130 -0
  662. package/dist/utils/tty-osc.test.js.map +1 -0
  663. package/package.json +2 -2
  664. package/readme.md +2 -2
  665. package/dist/agent.lite-mode.test.d.ts +0 -2
  666. package/dist/agent.lite-mode.test.d.ts.map +0 -1
  667. package/dist/agent.lite-mode.test.js +0 -39
  668. package/dist/agent.lite-mode.test.js.map +0 -1
  669. package/dist/app.large-uncached-warning.test.js +0 -15
  670. package/dist/components/ApprovalPrompt.test.d.ts +0 -2
  671. package/dist/components/ApprovalPrompt.test.d.ts.map +0 -1
  672. package/dist/components/ApprovalPrompt.test.js +0 -23
  673. package/dist/components/ApprovalPrompt.test.js.map +0 -1
  674. package/dist/components/LiveResponse.test.d.ts +0 -2
  675. package/dist/components/LiveResponse.test.d.ts.map +0 -1
  676. package/dist/components/LiveResponse.test.js +0 -13
  677. package/dist/components/LiveResponse.test.js.map +0 -1
  678. package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts +0 -2
  679. package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts.map +0 -1
  680. package/dist/components/ModelSelectionMenu.error-tabs.test.js +0 -18
  681. package/dist/components/ModelSelectionMenu.error-tabs.test.js.map +0 -1
  682. package/dist/components/TextInput.d.ts +0 -42
  683. package/dist/components/TextInput.d.ts.map +0 -1
  684. package/dist/components/TextInput.js +0 -398
  685. package/dist/components/TextInput.js.map +0 -1
  686. package/dist/components/TextInput.test.d.ts +0 -2
  687. package/dist/components/TextInput.test.d.ts.map +0 -1
  688. package/dist/components/TextInput.test.js +0 -75
  689. package/dist/components/TextInput.test.js.map +0 -1
  690. package/dist/debug_ask_mentor.d.ts +0 -2
  691. package/dist/debug_ask_mentor.d.ts.map +0 -1
  692. package/dist/debug_ask_mentor.js +0 -73
  693. package/dist/debug_ask_mentor.js.map +0 -1
  694. package/dist/hooks/use-conversation.max-turns-undo.test.d.ts +0 -2
  695. package/dist/hooks/use-conversation.max-turns-undo.test.d.ts.map +0 -1
  696. package/dist/hooks/use-conversation.max-turns-undo.test.js +0 -118
  697. package/dist/hooks/use-conversation.max-turns-undo.test.js.map +0 -1
  698. package/dist/lib/shell.d.ts +0 -7
  699. package/dist/lib/shell.d.ts.map +0 -1
  700. package/dist/lib/shell.js +0 -56
  701. package/dist/lib/shell.js.map +0 -1
  702. package/dist/modes/companion/command-index.d.ts +0 -26
  703. package/dist/modes/companion/command-index.d.ts.map +0 -1
  704. package/dist/modes/companion/command-index.js +0 -50
  705. package/dist/modes/companion/command-index.js.map +0 -1
  706. package/dist/modes/companion/command-index.test.d.ts +0 -2
  707. package/dist/modes/companion/command-index.test.d.ts.map +0 -1
  708. package/dist/modes/companion/command-index.test.js +0 -86
  709. package/dist/modes/companion/command-index.test.js.map +0 -1
  710. package/dist/modes/companion/companion-app.d.ts +0 -12
  711. package/dist/modes/companion/companion-app.d.ts.map +0 -1
  712. package/dist/modes/companion/companion-app.js +0 -297
  713. package/dist/modes/companion/companion-app.js.map +0 -1
  714. package/dist/modes/companion/companion-session.d.ts +0 -63
  715. package/dist/modes/companion/companion-session.d.ts.map +0 -1
  716. package/dist/modes/companion/companion-session.js +0 -146
  717. package/dist/modes/companion/companion-session.js.map +0 -1
  718. package/dist/modes/companion/companion-session.test.d.ts +0 -2
  719. package/dist/modes/companion/companion-session.test.d.ts.map +0 -1
  720. package/dist/modes/companion/companion-session.test.js +0 -28
  721. package/dist/modes/companion/companion-session.test.js.map +0 -1
  722. package/dist/modes/companion/components/status-bar.d.ts +0 -13
  723. package/dist/modes/companion/components/status-bar.d.ts.map +0 -1
  724. package/dist/modes/companion/components/status-bar.js +0 -26
  725. package/dist/modes/companion/components/status-bar.js.map +0 -1
  726. package/dist/modes/companion/context-buffer.d.ts +0 -65
  727. package/dist/modes/companion/context-buffer.d.ts.map +0 -1
  728. package/dist/modes/companion/context-buffer.js +0 -156
  729. package/dist/modes/companion/context-buffer.js.map +0 -1
  730. package/dist/modes/companion/context-buffer.test.d.ts +0 -2
  731. package/dist/modes/companion/context-buffer.test.d.ts.map +0 -1
  732. package/dist/modes/companion/context-buffer.test.js +0 -154
  733. package/dist/modes/companion/context-buffer.test.js.map +0 -1
  734. package/dist/modes/companion/event-detector.d.ts +0 -46
  735. package/dist/modes/companion/event-detector.d.ts.map +0 -1
  736. package/dist/modes/companion/event-detector.js +0 -169
  737. package/dist/modes/companion/event-detector.js.map +0 -1
  738. package/dist/modes/companion/event-detector.test.d.ts +0 -2
  739. package/dist/modes/companion/event-detector.test.d.ts.map +0 -1
  740. package/dist/modes/companion/event-detector.test.js +0 -121
  741. package/dist/modes/companion/event-detector.test.js.map +0 -1
  742. package/dist/modes/companion/index.d.ts +0 -33
  743. package/dist/modes/companion/index.d.ts.map +0 -1
  744. package/dist/modes/companion/index.js +0 -21
  745. package/dist/modes/companion/index.js.map +0 -1
  746. package/dist/modes/companion/input-key-mapper.d.ts +0 -3
  747. package/dist/modes/companion/input-key-mapper.d.ts.map +0 -1
  748. package/dist/modes/companion/input-key-mapper.js +0 -31
  749. package/dist/modes/companion/input-key-mapper.js.map +0 -1
  750. package/dist/modes/companion/input-key-mapper.test.d.ts +0 -2
  751. package/dist/modes/companion/input-key-mapper.test.d.ts.map +0 -1
  752. package/dist/modes/companion/input-key-mapper.test.js +0 -26
  753. package/dist/modes/companion/input-key-mapper.test.js.map +0 -1
  754. package/dist/modes/companion/input-parser.d.ts +0 -53
  755. package/dist/modes/companion/input-parser.d.ts.map +0 -1
  756. package/dist/modes/companion/input-parser.js +0 -114
  757. package/dist/modes/companion/input-parser.js.map +0 -1
  758. package/dist/modes/companion/input-parser.test.d.ts +0 -2
  759. package/dist/modes/companion/input-parser.test.d.ts.map +0 -1
  760. package/dist/modes/companion/input-parser.test.js +0 -123
  761. package/dist/modes/companion/input-parser.test.js.map +0 -1
  762. package/dist/modes/companion/mode-manager.d.ts +0 -41
  763. package/dist/modes/companion/mode-manager.d.ts.map +0 -1
  764. package/dist/modes/companion/mode-manager.js +0 -56
  765. package/dist/modes/companion/mode-manager.js.map +0 -1
  766. package/dist/modes/companion/mode-manager.test.d.ts +0 -2
  767. package/dist/modes/companion/mode-manager.test.d.ts.map +0 -1
  768. package/dist/modes/companion/mode-manager.test.js +0 -65
  769. package/dist/modes/companion/mode-manager.test.js.map +0 -1
  770. package/dist/modes/companion/output-classifier.d.ts +0 -15
  771. package/dist/modes/companion/output-classifier.d.ts.map +0 -1
  772. package/dist/modes/companion/output-classifier.js +0 -77
  773. package/dist/modes/companion/output-classifier.js.map +0 -1
  774. package/dist/modes/companion/output-classifier.test.d.ts +0 -2
  775. package/dist/modes/companion/output-classifier.test.d.ts.map +0 -1
  776. package/dist/modes/companion/output-classifier.test.js +0 -133
  777. package/dist/modes/companion/output-classifier.test.js.map +0 -1
  778. package/dist/modes/companion/pty-wrapper.d.ts +0 -46
  779. package/dist/modes/companion/pty-wrapper.d.ts.map +0 -1
  780. package/dist/modes/companion/pty-wrapper.js +0 -143
  781. package/dist/modes/companion/pty-wrapper.js.map +0 -1
  782. package/dist/modes/companion/safety-classifier.d.ts +0 -31
  783. package/dist/modes/companion/safety-classifier.d.ts.map +0 -1
  784. package/dist/modes/companion/safety-classifier.js +0 -140
  785. package/dist/modes/companion/safety-classifier.js.map +0 -1
  786. package/dist/modes/companion/safety-classifier.test.d.ts +0 -2
  787. package/dist/modes/companion/safety-classifier.test.d.ts.map +0 -1
  788. package/dist/modes/companion/safety-classifier.test.js +0 -151
  789. package/dist/modes/companion/safety-classifier.test.js.map +0 -1
  790. package/dist/modes/companion/summarizer.d.ts +0 -24
  791. package/dist/modes/companion/summarizer.d.ts.map +0 -1
  792. package/dist/modes/companion/summarizer.js +0 -132
  793. package/dist/modes/companion/summarizer.js.map +0 -1
  794. package/dist/modes/companion/terminal-history.d.ts +0 -27
  795. package/dist/modes/companion/terminal-history.d.ts.map +0 -1
  796. package/dist/modes/companion/terminal-history.js +0 -142
  797. package/dist/modes/companion/terminal-history.js.map +0 -1
  798. package/dist/prompts/simple-mentor.md +0 -215
  799. package/dist/providers/ai-sdk-openai.provider.d.ts +0 -14
  800. package/dist/providers/ai-sdk-openai.provider.d.ts.map +0 -1
  801. package/dist/providers/ai-sdk-openai.provider.js +0 -18
  802. package/dist/providers/ai-sdk-openai.provider.js.map +0 -1
  803. package/dist/providers/github-copilot/converters.d.ts +0 -45
  804. package/dist/providers/github-copilot/converters.d.ts.map +0 -1
  805. package/dist/providers/github-copilot/converters.js +0 -118
  806. package/dist/providers/github-copilot/converters.js.map +0 -1
  807. package/dist/providers/github-copilot/converters.test.d.ts +0 -2
  808. package/dist/providers/github-copilot/converters.test.d.ts.map +0 -1
  809. package/dist/providers/github-copilot/converters.test.js +0 -162
  810. package/dist/providers/github-copilot/converters.test.js.map +0 -1
  811. package/dist/providers/github-copilot/github-copilot.provider.d.ts +0 -2
  812. package/dist/providers/github-copilot/github-copilot.provider.d.ts.map +0 -1
  813. package/dist/providers/github-copilot/github-copilot.provider.js +0 -75
  814. package/dist/providers/github-copilot/github-copilot.provider.js.map +0 -1
  815. package/dist/providers/github-copilot/github-copilot.provider.test.d.ts +0 -2
  816. package/dist/providers/github-copilot/github-copilot.provider.test.d.ts.map +0 -1
  817. package/dist/providers/github-copilot/github-copilot.provider.test.js +0 -26
  818. package/dist/providers/github-copilot/github-copilot.provider.test.js.map +0 -1
  819. package/dist/providers/github-copilot/index.d.ts +0 -4
  820. package/dist/providers/github-copilot/index.d.ts.map +0 -1
  821. package/dist/providers/github-copilot/index.js +0 -4
  822. package/dist/providers/github-copilot/index.js.map +0 -1
  823. package/dist/providers/github-copilot/model.d.ts +0 -24
  824. package/dist/providers/github-copilot/model.d.ts.map +0 -1
  825. package/dist/providers/github-copilot/model.delta.test.d.ts +0 -2
  826. package/dist/providers/github-copilot/model.delta.test.d.ts.map +0 -1
  827. package/dist/providers/github-copilot/model.delta.test.js +0 -15
  828. package/dist/providers/github-copilot/model.delta.test.js.map +0 -1
  829. package/dist/providers/github-copilot/model.js +0 -498
  830. package/dist/providers/github-copilot/model.js.map +0 -1
  831. package/dist/providers/github-copilot/model.test.d.ts +0 -2
  832. package/dist/providers/github-copilot/model.test.d.ts.map +0 -1
  833. package/dist/providers/github-copilot/model.test.js +0 -63
  834. package/dist/providers/github-copilot/model.test.js.map +0 -1
  835. package/dist/providers/github-copilot/provider.d.ts +0 -15
  836. package/dist/providers/github-copilot/provider.d.ts.map +0 -1
  837. package/dist/providers/github-copilot/provider.js +0 -25
  838. package/dist/providers/github-copilot/provider.js.map +0 -1
  839. package/dist/providers/github-copilot/provider.test.d.ts +0 -2
  840. package/dist/providers/github-copilot/provider.test.d.ts.map +0 -1
  841. package/dist/providers/github-copilot/provider.test.js +0 -52
  842. package/dist/providers/github-copilot/provider.test.js.map +0 -1
  843. package/dist/providers/github-copilot/utils.d.ts +0 -20
  844. package/dist/providers/github-copilot/utils.d.ts.map +0 -1
  845. package/dist/providers/github-copilot/utils.js +0 -142
  846. package/dist/providers/github-copilot/utils.js.map +0 -1
  847. package/dist/providers/github-copilot/utils.test.d.ts +0 -2
  848. package/dist/providers/github-copilot/utils.test.d.ts.map +0 -1
  849. package/dist/providers/github-copilot/utils.test.js +0 -21
  850. package/dist/providers/github-copilot/utils.test.js.map +0 -1
  851. package/dist/providers/openai-compatible/api.d.ts +0 -17
  852. package/dist/providers/openai-compatible/api.d.ts.map +0 -1
  853. package/dist/providers/openai-compatible/api.js +0 -58
  854. package/dist/providers/openai-compatible/api.js.map +0 -1
  855. package/dist/providers/openai-compatible/model.d.ts +0 -17
  856. package/dist/providers/openai-compatible/model.d.ts.map +0 -1
  857. package/dist/providers/openai-compatible/model.js +0 -473
  858. package/dist/providers/openai-compatible/model.js.map +0 -1
  859. package/dist/providers/openai-compatible/provider.d.ts +0 -22
  860. package/dist/providers/openai-compatible/provider.d.ts.map +0 -1
  861. package/dist/providers/openai-compatible/provider.js +0 -43
  862. package/dist/providers/openai-compatible/provider.js.map +0 -1
  863. package/dist/providers/openai-compatible/reasoning-content.test.d.ts +0 -2
  864. package/dist/providers/openai-compatible/reasoning-content.test.d.ts.map +0 -1
  865. package/dist/providers/openai-compatible/reasoning-content.test.js +0 -258
  866. package/dist/providers/openai-compatible/reasoning-content.test.js.map +0 -1
  867. package/dist/providers/openai-compatible/utils.d.ts +0 -3
  868. package/dist/providers/openai-compatible/utils.d.ts.map +0 -1
  869. package/dist/providers/openai-compatible/utils.js +0 -11
  870. package/dist/providers/openai-compatible/utils.js.map +0 -1
  871. package/dist/providers/openrouter/api.d.ts +0 -39
  872. package/dist/providers/openrouter/api.d.ts.map +0 -1
  873. package/dist/providers/openrouter/api.js +0 -164
  874. package/dist/providers/openrouter/api.js.map +0 -1
  875. package/dist/providers/openrouter/converters.d.ts +0 -8
  876. package/dist/providers/openrouter/converters.d.ts.map +0 -1
  877. package/dist/providers/openrouter/converters.js +0 -391
  878. package/dist/providers/openrouter/converters.js.map +0 -1
  879. package/dist/providers/openrouter/converters.test.d.ts +0 -2
  880. package/dist/providers/openrouter/converters.test.d.ts.map +0 -1
  881. package/dist/providers/openrouter/converters.test.js +0 -179
  882. package/dist/providers/openrouter/converters.test.js.map +0 -1
  883. package/dist/providers/openrouter/index.d.ts +0 -4
  884. package/dist/providers/openrouter/index.d.ts.map +0 -1
  885. package/dist/providers/openrouter/index.js +0 -4
  886. package/dist/providers/openrouter/index.js.map +0 -1
  887. package/dist/providers/openrouter/model.d.ts +0 -14
  888. package/dist/providers/openrouter/model.d.ts.map +0 -1
  889. package/dist/providers/openrouter/model.js +0 -457
  890. package/dist/providers/openrouter/model.js.map +0 -1
  891. package/dist/providers/openrouter/provider.d.ts +0 -15
  892. package/dist/providers/openrouter/provider.d.ts.map +0 -1
  893. package/dist/providers/openrouter/provider.js +0 -21
  894. package/dist/providers/openrouter/provider.js.map +0 -1
  895. package/dist/providers/openrouter/reasoning-content.test.d.ts +0 -2
  896. package/dist/providers/openrouter/reasoning-content.test.d.ts.map +0 -1
  897. package/dist/providers/openrouter/reasoning-content.test.js +0 -122
  898. package/dist/providers/openrouter/reasoning-content.test.js.map +0 -1
  899. package/dist/providers/openrouter/utils.d.ts +0 -11
  900. package/dist/providers/openrouter/utils.d.ts.map +0 -1
  901. package/dist/providers/openrouter/utils.js +0 -29
  902. package/dist/providers/openrouter/utils.js.map +0 -1
  903. package/dist/providers/openrouter.api.retry.test.d.ts +0 -2
  904. package/dist/providers/openrouter.api.retry.test.d.ts.map +0 -1
  905. package/dist/providers/openrouter.api.retry.test.js +0 -148
  906. package/dist/providers/openrouter.api.retry.test.js.map +0 -1
  907. package/dist/providers/openrouter.test.d.ts +0 -2
  908. package/dist/providers/openrouter.test.d.ts.map +0 -1
  909. package/dist/providers/openrouter.test.js +0 -1449
  910. package/dist/providers/openrouter.test.js.map +0 -1
  911. package/dist/providers/protocol-client.d.ts +0 -17
  912. package/dist/providers/protocol-client.d.ts.map +0 -1
  913. package/dist/providers/protocol-client.js +0 -57
  914. package/dist/providers/protocol-client.js.map +0 -1
  915. package/dist/providers/protocol-client.test.d.ts +0 -2
  916. package/dist/providers/protocol-client.test.d.ts.map +0 -1
  917. package/dist/providers/protocol-client.test.js +0 -55
  918. package/dist/providers/protocol-client.test.js.map +0 -1
  919. package/dist/safety-checker.js +0 -57
  920. package/dist/services/check_mock.d.ts +0 -2
  921. package/dist/services/check_mock.d.ts.map +0 -1
  922. package/dist/services/check_mock.js +0 -22
  923. package/dist/services/check_mock.js.map +0 -1
  924. package/dist/services/conversation-service.test.d.ts +0 -2
  925. package/dist/services/conversation-service.test.d.ts.map +0 -1
  926. package/dist/services/conversation-service.test.js +0 -156
  927. package/dist/services/conversation-service.test.js.map +0 -1
  928. package/dist/services/conversation-store.merge-modes.removed.d.ts +0 -2
  929. package/dist/services/conversation-store.merge-modes.removed.d.ts.map +0 -1
  930. package/dist/services/conversation-store.merge-modes.removed.js +0 -2
  931. package/dist/services/conversation-store.merge-modes.removed.js.map +0 -1
  932. package/dist/services/repro-error.test.d.ts +0 -2
  933. package/dist/services/repro-error.test.d.ts.map +0 -1
  934. package/dist/services/repro-error.test.js +0 -38
  935. package/dist/services/repro-error.test.js.map +0 -1
  936. package/dist/services/subagents/reasoning-inheritance.test.d.ts +0 -2
  937. package/dist/services/subagents/reasoning-inheritance.test.d.ts.map +0 -1
  938. package/dist/services/subagents/reasoning-inheritance.test.js +0 -73
  939. package/dist/services/subagents/reasoning-inheritance.test.js.map +0 -1
  940. package/dist/tools/bash.d.ts +0 -10
  941. package/dist/tools/bash.d.ts.map +0 -1
  942. package/dist/tools/bash.js +0 -55
  943. package/dist/tools/bash.js.map +0 -1
  944. package/dist/utils/command-safety.d.ts +0 -21
  945. package/dist/utils/command-safety.d.ts.map +0 -1
  946. package/dist/utils/command-safety.devnull.test.d.ts +0 -2
  947. package/dist/utils/command-safety.devnull.test.d.ts.map +0 -1
  948. package/dist/utils/command-safety.devnull.test.js +0 -13
  949. package/dist/utils/command-safety.devnull.test.js.map +0 -1
  950. package/dist/utils/command-safety.js +0 -348
  951. package/dist/utils/command-safety.js.map +0 -1
  952. package/dist/utils/extract-command-messages.test.d.ts +0 -2
  953. package/dist/utils/extract-command-messages.test.d.ts.map +0 -1
  954. package/dist/utils/provider-traffic-extractor.repro.test.d.ts +0 -2
  955. package/dist/utils/provider-traffic-extractor.repro.test.d.ts.map +0 -1
  956. package/dist/utils/provider-traffic-extractor.repro.test.js.map +0 -1
@@ -22,12 +22,30 @@ import { createCreateFileToolDefinition } from '../../tools/create-file.js';
22
22
  import { createShellToolDefinition } from '../../tools/shell.js';
23
23
  import { registerToolFormatters } from '../../tools/command-message-formatters.js';
24
24
  import { trimToolOutput } from '../../utils/trim-tool-output.js';
25
+ import { injectWarningIntoToolOutput } from '../../utils/inject-warning-into-tool-output.js';
25
26
  import { extractUsage, normalizeAgentRunUsage } from '../../utils/token-usage.js';
26
27
  import { getEnvInfo, getAgentsInstructions } from '../../agent.js';
27
28
  import { tryAcquireFileLock } from '../../tools/file-locks.js';
28
29
  import { classifyCommand, SafetyStatus } from '../../utils/command-safety/index.js';
29
30
  import { evaluateShellAutoApprovalAdvisories } from '../shell-auto-approval-evaluator.js';
30
- const PROMPTS_DIR = path.join(import.meta.dirname, '../../prompts/subagents');
31
+ const BASE_PROMPT_PATH = path.join(import.meta.dirname, '../../prompts');
32
+ const PROMPTS_DIR = path.join(BASE_PROMPT_PATH, 'subagents');
33
+ // Reads a prompt markdown file. The build does not copy `.md` files into
34
+ // `dist`, so when running compiled code we fall back to the original
35
+ // `source/prompts` tree (this also lets tests run against source directly).
36
+ function resolvePrompt(promptPath) {
37
+ try {
38
+ return fs.readFileSync(promptPath, 'utf-8').trim();
39
+ }
40
+ catch (e) {
41
+ const relativePromptPath = path.relative(BASE_PROMPT_PATH, promptPath);
42
+ const sourcePromptPath = path.join(import.meta.dirname, '../../../source/prompts', relativePromptPath.startsWith('..') ? path.basename(promptPath) : relativePromptPath);
43
+ if (sourcePromptPath !== promptPath && fs.existsSync(sourcePromptPath)) {
44
+ return fs.readFileSync(sourcePromptPath, 'utf-8').trim();
45
+ }
46
+ throw new Error(`Failed to read prompt file at ${promptPath}: ${e.message}`);
47
+ }
48
+ }
31
49
  const MUTATING_TOOL_NAMES = new Set(['apply_patch', 'search_replace', 'create_file', 'shell']);
32
50
  const ROLE_MAX_TURNS_DEFAULT = 20;
33
51
  function parseFrontmatter(content) {
@@ -66,10 +84,13 @@ function parseFrontmatter(content) {
66
84
  }
67
85
  function loadRoleDefinition(role, settings) {
68
86
  const filePath = path.join(PROMPTS_DIR, `${role}.md`);
69
- if (!fs.existsSync(filePath)) {
70
- throw new Error(`Unknown subagent role: "${role}". No definition found at ${filePath}`);
87
+ let content;
88
+ try {
89
+ content = resolvePrompt(filePath);
90
+ }
91
+ catch (error) {
92
+ throw new Error(`Unknown subagent role: "${role}". No definition found at ${filePath}. Error: ${error.message}`);
71
93
  }
72
- const content = fs.readFileSync(filePath, 'utf-8');
73
94
  const { frontmatter, body } = parseFrontmatter(content);
74
95
  const subagentPrefix = role === 'mentor' ? 'agent.mentor' : `agent.subagent${role.charAt(0).toUpperCase() + role.slice(1)}`;
75
96
  const resolve = (value, subagentKey, fallbackKey, defaultValue) => {
@@ -100,6 +121,69 @@ function loadRoleDefinition(role, settings) {
100
121
  description: frontmatter.description ?? '',
101
122
  };
102
123
  }
124
+ function selectSubagentBasePromptFile(model) {
125
+ const normalizedModel = model.toLowerCase();
126
+ if (normalizedModel.includes('gpt-5') && normalizedModel.includes('codex')) {
127
+ return 'base-codex.md';
128
+ }
129
+ if (normalizedModel.includes('sonnet') || normalizedModel.includes('haiku')) {
130
+ return 'base-anthropic.md';
131
+ }
132
+ if (normalizedModel.includes('gpt-5')) {
133
+ return 'base-gpt-5-modern.md';
134
+ }
135
+ return 'base-simple.md';
136
+ }
137
+ function resolveSubagentSearchViaShell(settings, model, canRunShell) {
138
+ const searchViaShellSetting = settings.get('app.searchViaShell') ?? 'auto';
139
+ if (searchViaShellSetting === 'on')
140
+ return canRunShell;
141
+ if (searchViaShellSetting === 'off')
142
+ return false;
143
+ return shouldPreferPatchEditingModel(model) && canRunShell;
144
+ }
145
+ function buildAvailableToolGuidance(toolDefinitions, searchViaShell) {
146
+ const toolNames = toolDefinitions.map((tool) => tool.name);
147
+ const hasTool = (name) => toolNames.includes(name);
148
+ const lines = [
149
+ '## Available Tool Guidance',
150
+ '',
151
+ `Registered tools: ${toolNames.length > 0 ? toolNames.map((name) => `\`${name}\``).join(', ') : 'none'}.`,
152
+ '',
153
+ 'Use only these tools. If a tool mentioned elsewhere is not listed here, it is not available.',
154
+ ];
155
+ if (searchViaShell && hasTool('shell')) {
156
+ lines.push('For workspace search, use `shell` with commands like `rg` for text search and `fd` for file search.');
157
+ }
158
+ else if (hasTool('grep') || hasTool('find_files')) {
159
+ const searchTools = ['grep', 'find_files'].filter(hasTool).map((name) => `\`${name}\``);
160
+ lines.push(`For workspace search, use the dedicated search tools: ${searchTools.join(', ')}.`);
161
+ }
162
+ else {
163
+ lines.push('No dedicated workspace search tool is available. Use `read_file` and provided context where possible.');
164
+ }
165
+ if (hasTool('read_code_outline') || hasTool('code_context_search')) {
166
+ const codeContextTools = ['read_code_outline', 'code_context_search'].filter(hasTool).map((name) => `\`${name}\``);
167
+ lines.push(`For code structure and symbol context, use: ${codeContextTools.join(', ')}.`);
168
+ }
169
+ else {
170
+ lines.push('Code-context tools are not available in this run.');
171
+ }
172
+ if (hasTool('read_file')) {
173
+ lines.push('Use `read_file` for exact file contents before drawing conclusions or editing.');
174
+ }
175
+ if (hasTool('shell')) {
176
+ lines.push('Use `shell` only for commands that are safe, bounded, and relevant to the assigned task.');
177
+ }
178
+ if (hasTool('apply_patch') || hasTool('search_replace') || hasTool('create_file')) {
179
+ const writeTools = ['apply_patch', 'search_replace', 'create_file'].filter(hasTool).map((name) => `\`${name}\``);
180
+ lines.push(`For edits, use the registered write tools: ${writeTools.join(', ')}.`);
181
+ }
182
+ if (hasTool('web_search') || hasTool('web_fetch')) {
183
+ lines.push('Use web tools only when current external information or documentation is needed.');
184
+ }
185
+ return lines.join('\n');
186
+ }
103
187
  function buildAgentTools(toolDefinitions, options) {
104
188
  const providerDef = getProvider(options.providerId);
105
189
  const capabilities = {
@@ -121,7 +205,17 @@ function buildAgentTools(toolDefinitions, options) {
121
205
  const maxOutputLength = options.settings.get('shell.maxOutputChars');
122
206
  const result = await definition.execute(params, _context, details);
123
207
  options.onToolComplete?.(definition.name);
124
- return trimToolOutput(result, undefined, maxOutputLength ?? undefined);
208
+ let trimmedResult = trimToolOutput(result, undefined, maxOutputLength ?? undefined);
209
+ // Inject warning when turns are approaching maxTurns
210
+ const userContext = _context?.context;
211
+ if (userContext && typeof userContext.turnCount === 'number' && typeof userContext.maxTurns === 'number') {
212
+ const turnsLeft = userContext.maxTurns - userContext.turnCount;
213
+ if (turnsLeft >= 0 && turnsLeft <= 5) {
214
+ const warning = `\n\n[Warning: You are approaching the maximum turn limit. You have ${turnsLeft} turns left. Please prepare to wrap up your work and provide a situation update message describing what has been completed and what remains to be done.]`;
215
+ trimmedResult = injectWarningIntoToolOutput(trimmedResult, warning);
216
+ }
217
+ }
218
+ return trimmedResult;
125
219
  },
126
220
  })));
127
221
  }
@@ -263,6 +357,7 @@ function buildSubagentRetryTask(originalTask, errorMessage, toolNames, retryType
263
357
  export class SubagentManager {
264
358
  #logger;
265
359
  #settings;
360
+ #sessionContextService;
266
361
  #executionContext;
267
362
  #onEvent;
268
363
  #mentorSession;
@@ -270,6 +365,7 @@ export class SubagentManager {
270
365
  constructor(deps) {
271
366
  this.#logger = deps.logger;
272
367
  this.#settings = deps.settings;
368
+ this.#sessionContextService = deps.sessionContextService;
273
369
  this.#executionContext = deps.executionContext;
274
370
  this.#onEvent = deps.onEvent;
275
371
  this.#agentClient = deps.agentClient;
@@ -359,7 +455,11 @@ export class SubagentManager {
359
455
  this.#mentorSession.switchProvider(mentorProvider);
360
456
  const mentorRunner = this.#mentorSession.ensureRunner(mentorProvider, (providerId) => {
361
457
  const providerDef = getProvider(providerId);
362
- return providerDef?.createRunner?.({ settingsService: this.#settings, loggingService: this.#logger }) ?? null;
458
+ return (providerDef?.createRunner?.({
459
+ settingsService: this.#settings,
460
+ loggingService: this.#logger,
461
+ sessionContextService: this.#sessionContextService,
462
+ }) ?? null);
363
463
  });
364
464
  const mentorAgent = this.#mentorSession.ensureAgent(() => {
365
465
  const reasoningEffort = this.#settings.get('agent.mentorReasoningEffort');
@@ -378,8 +478,19 @@ export class SubagentManager {
378
478
  const providerDef = getProvider(mentorProvider);
379
479
  const supportsChaining = providerDef?.capabilities?.supportsConversationChaining ?? false;
380
480
  const input = this.#mentorSession.getInput(task, supportsChaining);
481
+ const subagentContext = {
482
+ turnCount: 0,
483
+ maxTurns: definition.maxTurns,
484
+ };
381
485
  const runOptions = {
382
486
  ...this.#mentorSession.getRunOptions(supportsChaining, definition.maxTurns),
487
+ context: subagentContext,
488
+ callModelInputFilter: (args) => {
489
+ if (args.context) {
490
+ args.context.turnCount = (args.context.turnCount ?? 0) + 1;
491
+ }
492
+ return args.modelData;
493
+ },
383
494
  ...(signal ? { signal } : {}),
384
495
  };
385
496
  const result = await runWithProvider(mentorProvider, mentorRunner, mentorAgent, input, runOptions);
@@ -397,7 +508,8 @@ export class SubagentManager {
397
508
  async #runSubagent(agentId, request, definition) {
398
509
  const toolCounts = new Map();
399
510
  const filesChanged = [];
400
- const toolDefinitions = this.#buildToolDefinitions(definition, filesChanged, request.task);
511
+ const searchViaShell = resolveSubagentSearchViaShell(this.#settings, definition.model, definition.canRunShell);
512
+ const toolDefinitions = this.#buildToolDefinitions(definition, filesChanged, request.task, searchViaShell);
401
513
  const providerId = definition.provider;
402
514
  let mutatingToolAttempted = false;
403
515
  const tools = buildAgentTools(toolDefinitions, {
@@ -419,7 +531,11 @@ export class SubagentManager {
419
531
  });
420
532
  const providerDef = getProvider(providerId);
421
533
  const runner = providerId !== 'openai'
422
- ? providerDef?.createRunner?.({ settingsService: this.#settings, loggingService: this.#logger }) ?? null
534
+ ? providerDef?.createRunner?.({
535
+ settingsService: this.#settings,
536
+ loggingService: this.#logger,
537
+ sessionContextService: this.#sessionContextService,
538
+ }) ?? null
423
539
  : null;
424
540
  const modelSettings = {};
425
541
  if (definition.reasoningEffort && definition.reasoningEffort !== 'default') {
@@ -428,7 +544,16 @@ export class SubagentManager {
428
544
  const envInfo = getEnvInfo(this.#settings, this.#executionContext);
429
545
  const cwd = this.#executionContext?.getCwd() ?? process.cwd();
430
546
  const agentsInstructions = this.#executionContext?.isRemote() ? '' : getAgentsInstructions(cwd);
431
- const fullInstructions = [definition.instructions, `Environment: ${envInfo}${agentsInstructions}`]
547
+ const modelPrompt = resolvePrompt(path.join(PROMPTS_DIR, selectSubagentBasePromptFile(definition.model)));
548
+ const worktreeHygiene = resolvePrompt(path.join(PROMPTS_DIR, 'worktree-hygiene.md'));
549
+ const toolGuidance = buildAvailableToolGuidance(toolDefinitions, searchViaShell);
550
+ const fullInstructions = [
551
+ modelPrompt,
552
+ worktreeHygiene,
553
+ definition.instructions,
554
+ toolGuidance,
555
+ `Environment: ${envInfo}${agentsInstructions}`,
556
+ ]
432
557
  .filter(Boolean)
433
558
  .join('\n\n');
434
559
  const agent = new Agent({
@@ -451,10 +576,21 @@ export class SubagentManager {
451
576
  let modelRetryCount = 0;
452
577
  while (true) {
453
578
  try {
579
+ const subagentContext = {
580
+ turnCount: 0,
581
+ maxTurns: definition.maxTurns,
582
+ };
454
583
  const result = await executeWithRetry({
455
584
  operation: () => runWithProvider(providerId, runner, agent, runInput, {
456
585
  stream: false,
457
586
  maxTurns: definition.maxTurns,
587
+ context: subagentContext,
588
+ callModelInputFilter: (args) => {
589
+ if (args.context) {
590
+ args.context.turnCount = (args.context.turnCount ?? 0) + 1;
591
+ }
592
+ return args.modelData;
593
+ },
458
594
  ...(request.signal ? { signal: request.signal } : {}),
459
595
  }),
460
596
  retryAttempts: this.#settings.get('agent.retryAttempts') ?? 2,
@@ -509,12 +645,15 @@ export class SubagentManager {
509
645
  }
510
646
  }
511
647
  }
512
- #buildToolDefinitions(definition, filesChanged, taskContext) {
648
+ #buildToolDefinitions(definition, filesChanged, taskContext, searchViaShell) {
513
649
  const tools = [];
514
650
  const cwd = this.#executionContext?.getCwd() ?? process.cwd();
515
651
  const isRemote = this.#executionContext?.isRemote() ?? false;
516
652
  if (definition.canRead) {
517
- tools.push(createReadFileToolDefinition({ executionContext: this.#executionContext, allowOutsideWorkspace: false }), createGrepToolDefinition({ executionContext: this.#executionContext }), createFindFilesToolDefinition({ executionContext: this.#executionContext }));
653
+ tools.push(createReadFileToolDefinition({ executionContext: this.#executionContext, allowOutsideWorkspace: false }));
654
+ if (!searchViaShell) {
655
+ tools.push(createGrepToolDefinition({ executionContext: this.#executionContext }), createFindFilesToolDefinition({ executionContext: this.#executionContext }));
656
+ }
518
657
  if (!isRemote) {
519
658
  tools.push(createReadCodeOutlineToolDefinition({ executionContext: this.#executionContext }), createCodeContextSearchToolDefinition({ executionContext: this.#executionContext }));
520
659
  }
@@ -523,11 +662,17 @@ export class SubagentManager {
523
662
  tools.push(createWebSearchToolDefinition({ settingsService: this.#settings, loggingService: this.#logger }), createWebFetchToolDefinition({ settingsService: this.#settings, loggingService: this.#logger }));
524
663
  }
525
664
  if (definition.canRunShell) {
526
- tools.push(this.#wrapShellTool(createShellToolDefinition({
665
+ const shellDef = createShellToolDefinition({
527
666
  settingsService: this.#settings,
528
667
  loggingService: this.#logger,
529
668
  executionContext: this.#executionContext,
530
- }), cwd, filesChanged, taskContext));
669
+ });
670
+ if (definition.canWrite) {
671
+ tools.push(this.#wrapShellTool(shellDef, cwd, filesChanged, taskContext));
672
+ }
673
+ else {
674
+ tools.push(this.#wrapReadOnlyShellTool(shellDef));
675
+ }
531
676
  }
532
677
  if (definition.canWrite) {
533
678
  const isGpt5 = shouldPreferPatchEditingModel(definition.model);
@@ -693,6 +838,29 @@ export class SubagentManager {
693
838
  },
694
839
  };
695
840
  }
841
+ #wrapReadOnlyShellTool(definition) {
842
+ const originalExecute = definition.execute.bind(definition);
843
+ const cwd = this.#executionContext?.getCwd() ?? process.cwd();
844
+ return {
845
+ ...definition,
846
+ needsApproval: () => false,
847
+ execute: async (params, context, details) => {
848
+ const command = typeof params?.command === 'string' ? params.command : '';
849
+ if (!command) {
850
+ return originalExecute(params, context, details);
851
+ }
852
+ const status = classifyCommand(command, this.#logger);
853
+ if (status !== SafetyStatus.GREEN) {
854
+ return `Error: command blocked - explorer can only run read-only (GREEN) shell commands. Command: ${command}`;
855
+ }
856
+ const writeTargets = this.#extractPathsFromCommand(command, cwd);
857
+ if (writeTargets.length > 0) {
858
+ return `Error: command blocked - explorer can only run read-only (GREEN) shell commands. Command: ${command}`;
859
+ }
860
+ return originalExecute(params, context, details);
861
+ },
862
+ };
863
+ }
696
864
  async #isYellowCommandApproved(command, taskContext) {
697
865
  if (!this.#agentClient)
698
866
  return false;
@@ -705,6 +873,7 @@ export class SubagentManager {
705
873
  settingsService: this.#settings,
706
874
  agentClient: this.#agentClient,
707
875
  logger: this.#logger,
876
+ sessionContextService: this.#sessionContextService,
708
877
  });
709
878
  return advisories.get('__subagent_worker_shell__')?.approved === true;
710
879
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-manager.js","sourceRoot":"","sources":["../../../source/services/subagents/subagent-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent-manager.js","sourceRoot":"","sources":["../../../source/services/subagents/subagent-manager.ts"],"names":[],"mappings":"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"}