@qduc/term2 0.7.2 → 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 (469) 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.map +1 -1
  8. package/dist/app.js +57 -12
  9. package/dist/app.js.map +1 -1
  10. package/dist/cli.integration.test.js +60 -4
  11. package/dist/cli.integration.test.js.map +1 -1
  12. package/dist/cli.js +33 -2
  13. package/dist/cli.js.map +1 -1
  14. package/dist/components/ApprovalPrompt.ask-user.test.d.ts +2 -0
  15. package/dist/components/ApprovalPrompt.ask-user.test.d.ts.map +1 -0
  16. package/dist/components/ApprovalPrompt.ask-user.test.js +108 -0
  17. package/dist/components/ApprovalPrompt.ask-user.test.js.map +1 -0
  18. package/dist/components/ApprovalPrompt.d.ts +4 -4
  19. package/dist/components/ApprovalPrompt.d.ts.map +1 -1
  20. package/dist/components/ApprovalPrompt.js +76 -13
  21. package/dist/components/ApprovalPrompt.js.map +1 -1
  22. package/dist/components/BottomArea.d.ts +7 -2
  23. package/dist/components/BottomArea.d.ts.map +1 -1
  24. package/dist/components/BottomArea.js +11 -6
  25. package/dist/components/BottomArea.js.map +1 -1
  26. package/dist/components/BottomArea.test.js +4 -3
  27. package/dist/components/BottomArea.test.js.map +1 -1
  28. package/dist/components/Common/MenuContainer.d.ts +3 -2
  29. package/dist/components/Common/MenuContainer.d.ts.map +1 -1
  30. package/dist/components/Common/MenuContainer.js +14 -2
  31. package/dist/components/Common/MenuContainer.js.map +1 -1
  32. package/dist/components/Common/MenuContainer.test.d.ts +2 -0
  33. package/dist/components/Common/MenuContainer.test.d.ts.map +1 -0
  34. package/dist/components/Common/MenuContainer.test.js +66 -0
  35. package/dist/components/Common/MenuContainer.test.js.map +1 -0
  36. package/dist/components/Input/PopupManager.d.ts +14 -0
  37. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  38. package/dist/components/Input/PopupManager.js +6 -4
  39. package/dist/components/Input/PopupManager.js.map +1 -1
  40. package/dist/components/Input/popup-props.d.ts +3 -1
  41. package/dist/components/Input/popup-props.d.ts.map +1 -1
  42. package/dist/components/Input/popup-props.js +12 -1
  43. package/dist/components/Input/popup-props.js.map +1 -1
  44. package/dist/components/Input/popup-props.test.js +9 -0
  45. package/dist/components/Input/popup-props.test.js.map +1 -1
  46. package/dist/components/InputBox.d.ts +7 -0
  47. package/dist/components/InputBox.d.ts.map +1 -1
  48. package/dist/components/InputBox.js +81 -30
  49. package/dist/components/InputBox.js.map +1 -1
  50. package/dist/components/InputBox.test.js +133 -10
  51. package/dist/components/InputBox.test.js.map +1 -1
  52. package/dist/components/LargeUncachedConfirmationPrompt.d.ts +2 -1
  53. package/dist/components/LargeUncachedConfirmationPrompt.d.ts.map +1 -1
  54. package/dist/components/LargeUncachedConfirmationPrompt.js +8 -3
  55. package/dist/components/LargeUncachedConfirmationPrompt.js.map +1 -1
  56. package/dist/components/LargeUncachedConfirmationPrompt.test.js +5 -4
  57. package/dist/components/LargeUncachedConfirmationPrompt.test.js.map +1 -1
  58. package/dist/components/MessageList.d.ts +2 -1
  59. package/dist/components/MessageList.d.ts.map +1 -1
  60. package/dist/components/MessageList.js +6 -1
  61. package/dist/components/MessageList.js.map +1 -1
  62. package/dist/components/MessageList.test.js +26 -0
  63. package/dist/components/MessageList.test.js.map +1 -1
  64. package/dist/components/PathSelectionMenu.d.ts +1 -0
  65. package/dist/components/PathSelectionMenu.d.ts.map +1 -1
  66. package/dist/components/PathSelectionMenu.js +11 -9
  67. package/dist/components/PathSelectionMenu.js.map +1 -1
  68. package/dist/components/PathSelectionMenu.test.d.ts +2 -0
  69. package/dist/components/PathSelectionMenu.test.d.ts.map +1 -0
  70. package/dist/components/PathSelectionMenu.test.js +17 -0
  71. package/dist/components/PathSelectionMenu.test.js.map +1 -0
  72. package/dist/components/ProviderSelectionMenu.d.ts +15 -0
  73. package/dist/components/ProviderSelectionMenu.d.ts.map +1 -0
  74. package/dist/components/ProviderSelectionMenu.js +172 -0
  75. package/dist/components/ProviderSelectionMenu.js.map +1 -0
  76. package/dist/components/ProviderSelectionMenu.test.d.ts +2 -0
  77. package/dist/components/ProviderSelectionMenu.test.d.ts.map +1 -0
  78. package/dist/components/ProviderSelectionMenu.test.js +97 -0
  79. package/dist/components/ProviderSelectionMenu.test.js.map +1 -0
  80. package/dist/components/SettingsValueSelectionMenu.d.ts +2 -1
  81. package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
  82. package/dist/components/SettingsValueSelectionMenu.js +12 -6
  83. package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
  84. package/dist/components/StatusBar.d.ts +1 -0
  85. package/dist/components/StatusBar.d.ts.map +1 -1
  86. package/dist/components/StatusBar.js +3 -2
  87. package/dist/components/StatusBar.js.map +1 -1
  88. package/dist/components/StatusBar.test.js +11 -0
  89. package/dist/components/StatusBar.test.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.map +1 -1
  93. package/dist/hooks/use-app-commands.d.ts +2 -1
  94. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  95. package/dist/hooks/use-app-commands.js +11 -2
  96. package/dist/hooks/use-app-commands.js.map +1 -1
  97. package/dist/hooks/use-app-commands.test.js +2 -0
  98. package/dist/hooks/use-app-commands.test.js.map +1 -1
  99. package/dist/hooks/use-conversation.clear.test.js +31 -0
  100. package/dist/hooks/use-conversation.clear.test.js.map +1 -1
  101. package/dist/hooks/use-conversation.d.ts +4 -1
  102. package/dist/hooks/use-conversation.d.ts.map +1 -1
  103. package/dist/hooks/use-conversation.js +18 -2
  104. package/dist/hooks/use-conversation.js.map +1 -1
  105. package/dist/hooks/use-escape-key.d.ts +12 -3
  106. package/dist/hooks/use-escape-key.d.ts.map +1 -1
  107. package/dist/hooks/use-escape-key.js +25 -11
  108. package/dist/hooks/use-escape-key.js.map +1 -1
  109. package/dist/hooks/use-escape-key.test.js +154 -14
  110. package/dist/hooks/use-escape-key.test.js.map +1 -1
  111. package/dist/hooks/use-mode-handlers.d.ts +13 -1
  112. package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
  113. package/dist/hooks/use-mode-handlers.js +22 -1
  114. package/dist/hooks/use-mode-handlers.js.map +1 -1
  115. package/dist/hooks/use-mode-handlers.test.d.ts +2 -0
  116. package/dist/hooks/use-mode-handlers.test.d.ts.map +1 -0
  117. package/dist/hooks/use-mode-handlers.test.js +119 -0
  118. package/dist/hooks/use-mode-handlers.test.js.map +1 -0
  119. package/dist/hooks/use-path-completion.d.ts +10 -3
  120. package/dist/hooks/use-path-completion.d.ts.map +1 -1
  121. package/dist/hooks/use-path-completion.js +53 -9
  122. package/dist/hooks/use-path-completion.js.map +1 -1
  123. package/dist/hooks/use-path-completion.test.js +61 -49
  124. package/dist/hooks/use-path-completion.test.js.map +1 -1
  125. package/dist/hooks/use-provider-selection.d.ts +60 -0
  126. package/dist/hooks/use-provider-selection.d.ts.map +1 -0
  127. package/dist/hooks/use-provider-selection.js +767 -0
  128. package/dist/hooks/use-provider-selection.js.map +1 -0
  129. package/dist/hooks/use-provider-selection.test.d.ts +2 -0
  130. package/dist/hooks/use-provider-selection.test.d.ts.map +1 -0
  131. package/dist/hooks/use-provider-selection.test.js +793 -0
  132. package/dist/hooks/use-provider-selection.test.js.map +1 -0
  133. package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
  134. package/dist/hooks/use-runtime-settings.js +2 -2
  135. package/dist/hooks/use-runtime-settings.js.map +1 -1
  136. package/dist/hooks/use-selection.d.ts +3 -1
  137. package/dist/hooks/use-selection.d.ts.map +1 -1
  138. package/dist/hooks/use-selection.js +115 -24
  139. package/dist/hooks/use-selection.js.map +1 -1
  140. package/dist/hooks/use-selection.test.js +96 -2
  141. package/dist/hooks/use-selection.test.js.map +1 -1
  142. package/dist/hooks/use-settings-value-completion.d.ts +3 -0
  143. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  144. package/dist/hooks/use-settings-value-completion.js +140 -18
  145. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  146. package/dist/hooks/use-settings-value-completion.test.js +71 -1
  147. package/dist/hooks/use-settings-value-completion.test.js.map +1 -1
  148. package/dist/hooks/use-trigger-detection.d.ts +4 -2
  149. package/dist/hooks/use-trigger-detection.d.ts.map +1 -1
  150. package/dist/hooks/use-trigger-detection.js +42 -8
  151. package/dist/hooks/use-trigger-detection.js.map +1 -1
  152. package/dist/hooks/use-trigger-detection.test.js +2 -1
  153. package/dist/hooks/use-trigger-detection.test.js.map +1 -1
  154. package/dist/lib/openai-agent-client.chat.test.js +8 -0
  155. package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
  156. package/dist/lib/openai-agent-client.d.ts +11 -6
  157. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  158. package/dist/lib/openai-agent-client.js +199 -15
  159. package/dist/lib/openai-agent-client.js.map +1 -1
  160. package/dist/lib/openai-agent-client.public-methods.test.js +326 -23
  161. package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
  162. package/dist/lib/openai-agent-client.test.js +62 -0
  163. package/dist/lib/openai-agent-client.test.js.map +1 -1
  164. package/dist/lib/tool-invoke.d.ts +27 -0
  165. package/dist/lib/tool-invoke.d.ts.map +1 -1
  166. package/dist/lib/tool-invoke.js +124 -95
  167. package/dist/lib/tool-invoke.js.map +1 -1
  168. package/dist/lib/tool-invoke.test.js +84 -22
  169. package/dist/lib/tool-invoke.test.js.map +1 -1
  170. package/dist/non-interactive.d.ts +2 -1
  171. package/dist/non-interactive.d.ts.map +1 -1
  172. package/dist/non-interactive.js +10 -2
  173. package/dist/non-interactive.js.map +1 -1
  174. package/dist/prompts/orchestrator.md +27 -41
  175. package/dist/prompts/plan-mode-info.md +2 -0
  176. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  177. package/dist/prompts/prompt-constructor.js +8 -0
  178. package/dist/prompts/prompt-constructor.js.map +1 -1
  179. package/dist/prompts/prompt-constructor.test.js +13 -0
  180. package/dist/prompts/prompt-constructor.test.js.map +1 -1
  181. package/dist/prompts/prompt-constructor.test.ts +16 -0
  182. package/dist/prompts/prompt-constructor.ts +10 -0
  183. package/dist/prompts/subagent-delegation.d.ts.map +1 -1
  184. package/dist/prompts/subagent-delegation.js +17 -1
  185. package/dist/prompts/subagent-delegation.js.map +1 -1
  186. package/dist/prompts/subagent-delegation.test.js +21 -0
  187. package/dist/prompts/subagent-delegation.test.js.map +1 -1
  188. package/dist/prompts/subagent-delegation.test.ts +26 -0
  189. package/dist/prompts/subagent-delegation.ts +17 -1
  190. package/dist/prompts/subagents/base-anthropic.md +3 -0
  191. package/dist/prompts/subagents/base-codex.md +3 -0
  192. package/dist/prompts/subagents/base-gpt-5-modern.md +3 -0
  193. package/dist/prompts/subagents/base-simple.md +3 -0
  194. package/dist/prompts/subagents/explorer.md +8 -10
  195. package/dist/prompts/subagents/researcher.md +2 -1
  196. package/dist/prompts/subagents/worker.md +12 -3
  197. package/dist/prompts/subagents/worktree-hygiene.md +6 -0
  198. package/dist/providers/ai-sdk-anthropic.provider.d.ts +4 -1
  199. package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -1
  200. package/dist/providers/ai-sdk-anthropic.provider.js +65 -22
  201. package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -1
  202. package/dist/providers/ai-sdk-anthropic.provider.test.js +24 -1
  203. package/dist/providers/ai-sdk-anthropic.provider.test.js.map +1 -1
  204. package/dist/providers/anthropic-middleware.d.ts +25 -0
  205. package/dist/providers/anthropic-middleware.d.ts.map +1 -0
  206. package/dist/providers/anthropic-middleware.js +32 -0
  207. package/dist/providers/anthropic-middleware.js.map +1 -0
  208. package/dist/providers/anthropic-middleware.test.d.ts +2 -0
  209. package/dist/providers/anthropic-middleware.test.d.ts.map +1 -0
  210. package/dist/providers/anthropic-middleware.test.js +142 -0
  211. package/dist/providers/anthropic-middleware.test.js.map +1 -0
  212. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  213. package/dist/providers/codex-responses-model.js +47 -30
  214. package/dist/providers/codex-responses-model.js.map +1 -1
  215. package/dist/providers/codex-responses-model.test.js +31 -0
  216. package/dist/providers/codex-responses-model.test.js.map +1 -1
  217. package/dist/providers/codex.provider.d.ts.map +1 -1
  218. package/dist/providers/codex.provider.js +16 -9
  219. package/dist/providers/codex.provider.js.map +1 -1
  220. package/dist/providers/codex.provider.test.js +2 -1
  221. package/dist/providers/codex.provider.test.js.map +1 -1
  222. package/dist/providers/custom-provider-adapter.test.js +6 -2
  223. package/dist/providers/custom-provider-adapter.test.js.map +1 -1
  224. package/dist/providers/fallback-responses-model.d.ts +3 -1
  225. package/dist/providers/fallback-responses-model.d.ts.map +1 -1
  226. package/dist/providers/fallback-responses-model.js +22 -3
  227. package/dist/providers/fallback-responses-model.js.map +1 -1
  228. package/dist/providers/fallback-responses-model.test.js +36 -8
  229. package/dist/providers/fallback-responses-model.test.js.map +1 -1
  230. package/dist/providers/fetch/composer.d.ts +1 -0
  231. package/dist/providers/fetch/composer.d.ts.map +1 -1
  232. package/dist/providers/fetch/composer.js +1 -0
  233. package/dist/providers/fetch/composer.js.map +1 -1
  234. package/dist/providers/fetch/composer.test.js +58 -17
  235. package/dist/providers/fetch/composer.test.js.map +1 -1
  236. package/dist/providers/fetch/logging-middleware.d.ts +3 -2
  237. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -1
  238. package/dist/providers/fetch/logging-middleware.js +5 -2
  239. package/dist/providers/fetch/logging-middleware.js.map +1 -1
  240. package/dist/providers/openai-compatible-lazy.d.ts.map +1 -1
  241. package/dist/providers/openai-compatible-lazy.js +2 -1
  242. package/dist/providers/openai-compatible-lazy.js.map +1 -1
  243. package/dist/providers/openai-compatible-middleware.d.ts +5 -2
  244. package/dist/providers/openai-compatible-middleware.d.ts.map +1 -1
  245. package/dist/providers/openai-compatible-middleware.js +8 -11
  246. package/dist/providers/openai-compatible-middleware.js.map +1 -1
  247. package/dist/providers/openai-compatible.provider.d.ts +5 -1
  248. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  249. package/dist/providers/openai-compatible.provider.js +59 -37
  250. package/dist/providers/openai-compatible.provider.js.map +1 -1
  251. package/dist/providers/openai-compatible.provider.test.js +67 -3
  252. package/dist/providers/openai-compatible.provider.test.js.map +1 -1
  253. package/dist/providers/openai.provider.d.ts +8 -1
  254. package/dist/providers/openai.provider.d.ts.map +1 -1
  255. package/dist/providers/openai.provider.js +43 -10
  256. package/dist/providers/openai.provider.js.map +1 -1
  257. package/dist/providers/openai.provider.test.js +53 -16
  258. package/dist/providers/openai.provider.test.js.map +1 -1
  259. package/dist/providers/opencode-routing.d.ts +4 -0
  260. package/dist/providers/opencode-routing.d.ts.map +1 -0
  261. package/dist/providers/opencode-routing.js +14 -0
  262. package/dist/providers/opencode-routing.js.map +1 -0
  263. package/dist/providers/opencode-session.d.ts +19 -0
  264. package/dist/providers/opencode-session.d.ts.map +1 -0
  265. package/dist/providers/opencode-session.js +76 -0
  266. package/dist/providers/opencode-session.js.map +1 -0
  267. package/dist/providers/opencode.provider.d.ts +0 -8
  268. package/dist/providers/opencode.provider.d.ts.map +1 -1
  269. package/dist/providers/opencode.provider.js +0 -32
  270. package/dist/providers/opencode.provider.js.map +1 -1
  271. package/dist/providers/opencode.provider.test.d.ts +2 -0
  272. package/dist/providers/opencode.provider.test.d.ts.map +1 -0
  273. package/dist/providers/opencode.provider.test.js +186 -0
  274. package/dist/providers/opencode.provider.test.js.map +1 -0
  275. package/dist/providers/openrouter.provider.createRunner.test.js +5 -0
  276. package/dist/providers/openrouter.provider.createRunner.test.js.map +1 -1
  277. package/dist/providers/openrouter.provider.d.ts.map +1 -1
  278. package/dist/providers/openrouter.provider.js +8 -4
  279. package/dist/providers/openrouter.provider.js.map +1 -1
  280. package/dist/providers/registry.d.ts +3 -0
  281. package/dist/providers/registry.d.ts.map +1 -1
  282. package/dist/providers/registry.js.map +1 -1
  283. package/dist/providers/registry.test.js +1 -0
  284. package/dist/providers/registry.test.js.map +1 -1
  285. package/dist/scripts/eval-auto-approval/runner.js +4 -0
  286. package/dist/scripts/eval-auto-approval/runner.js.map +1 -1
  287. package/dist/services/conversation-integration.test.js +8 -4
  288. package/dist/services/conversation-integration.test.js.map +1 -1
  289. package/dist/services/conversation-persistence.test.js +7 -0
  290. package/dist/services/conversation-persistence.test.js.map +1 -1
  291. package/dist/services/conversation-replay.d.ts.map +1 -1
  292. package/dist/services/conversation-replay.js +95 -4
  293. package/dist/services/conversation-replay.js.map +1 -1
  294. package/dist/services/conversation-replay.test.js +312 -0
  295. package/dist/services/conversation-replay.test.js.map +1 -1
  296. package/dist/services/conversation-result-builder.test.js +9 -0
  297. package/dist/services/conversation-result-builder.test.js.map +1 -1
  298. package/dist/services/conversation-service.d.ts +3 -1
  299. package/dist/services/conversation-service.d.ts.map +1 -1
  300. package/dist/services/conversation-service.js +3 -0
  301. package/dist/services/conversation-service.js.map +1 -1
  302. package/dist/services/conversation-session-reasoning.test.js +5 -1
  303. package/dist/services/conversation-session-reasoning.test.js.map +1 -1
  304. package/dist/services/conversation-session.auto-approval.test.js +25 -1
  305. package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
  306. package/dist/services/conversation-session.d.ts +7 -2
  307. package/dist/services/conversation-session.d.ts.map +1 -1
  308. package/dist/services/conversation-session.js +70 -45
  309. package/dist/services/conversation-session.js.map +1 -1
  310. package/dist/services/file-service.d.ts +20 -4
  311. package/dist/services/file-service.d.ts.map +1 -1
  312. package/dist/services/file-service.js +111 -52
  313. package/dist/services/file-service.js.map +1 -1
  314. package/dist/services/file-service.test.d.ts +2 -0
  315. package/dist/services/file-service.test.d.ts.map +1 -0
  316. package/dist/services/file-service.test.js +60 -0
  317. package/dist/services/file-service.test.js.map +1 -0
  318. package/dist/services/logging-service.d.ts +0 -3
  319. package/dist/services/logging-service.d.ts.map +1 -1
  320. package/dist/services/logging-service.js +12 -8
  321. package/dist/services/logging-service.js.map +1 -1
  322. package/dist/services/mode-notices.d.ts +4 -5
  323. package/dist/services/mode-notices.d.ts.map +1 -1
  324. package/dist/services/mode-notices.js +4 -5
  325. package/dist/services/mode-notices.js.map +1 -1
  326. package/dist/services/notification-service.d.ts +31 -11
  327. package/dist/services/notification-service.d.ts.map +1 -1
  328. package/dist/services/notification-service.js +88 -40
  329. package/dist/services/notification-service.js.map +1 -1
  330. package/dist/services/notification-service.test.js +135 -62
  331. package/dist/services/notification-service.test.js.map +1 -1
  332. package/dist/services/provider-traffic.d.ts +8 -9
  333. package/dist/services/provider-traffic.d.ts.map +1 -1
  334. package/dist/services/provider-traffic.js +24 -12
  335. package/dist/services/provider-traffic.js.map +1 -1
  336. package/dist/services/provider-traffic.test.js +51 -1
  337. package/dist/services/provider-traffic.test.js.map +1 -1
  338. package/dist/services/service-interfaces.d.ts +12 -16
  339. package/dist/services/service-interfaces.d.ts.map +1 -1
  340. package/dist/services/session-context-service.d.ts +8 -0
  341. package/dist/services/session-context-service.d.ts.map +1 -0
  342. package/dist/services/session-context-service.js +19 -0
  343. package/dist/services/session-context-service.js.map +1 -0
  344. package/dist/services/session-context-service.test.d.ts +2 -0
  345. package/dist/services/session-context-service.test.d.ts.map +1 -0
  346. package/dist/services/session-context-service.test.js +38 -0
  347. package/dist/services/session-context-service.test.js.map +1 -0
  348. package/dist/services/settings-env.d.ts.map +1 -1
  349. package/dist/services/settings-env.js +4 -1
  350. package/dist/services/settings-env.js.map +1 -1
  351. package/dist/services/settings-persistence.d.ts.map +1 -1
  352. package/dist/services/settings-persistence.js +0 -1
  353. package/dist/services/settings-persistence.js.map +1 -1
  354. package/dist/services/settings-persistence.test.js +2 -2
  355. package/dist/services/settings-persistence.test.js.map +1 -1
  356. package/dist/services/settings-schema.d.ts +9 -0
  357. package/dist/services/settings-schema.d.ts.map +1 -1
  358. package/dist/services/settings-schema.js +15 -4
  359. package/dist/services/settings-schema.js.map +1 -1
  360. package/dist/services/settings-service.d.ts +8 -0
  361. package/dist/services/settings-service.d.ts.map +1 -1
  362. package/dist/services/settings-service.js +58 -21
  363. package/dist/services/settings-service.js.map +1 -1
  364. package/dist/services/shell-auto-approval-evaluator.d.ts +3 -2
  365. package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
  366. package/dist/services/shell-auto-approval-evaluator.js +3 -3
  367. package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
  368. package/dist/services/shell-auto-approval-evaluator.test.js +20 -0
  369. package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -1
  370. package/dist/services/shell-auto-approval-resolver.d.ts +2 -1
  371. package/dist/services/shell-auto-approval-resolver.d.ts.map +1 -1
  372. package/dist/services/shell-auto-approval-resolver.js +2 -0
  373. package/dist/services/shell-auto-approval-resolver.js.map +1 -1
  374. package/dist/services/shell-auto-approval-resolver.test.js +10 -0
  375. package/dist/services/shell-auto-approval-resolver.test.js.map +1 -1
  376. package/dist/services/subagents/subagent-manager.d.ts +2 -1
  377. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  378. package/dist/services/subagents/subagent-manager.js +182 -13
  379. package/dist/services/subagents/subagent-manager.js.map +1 -1
  380. package/dist/services/subagents/subagent-manager.test.js +548 -17
  381. package/dist/services/subagents/subagent-manager.test.js.map +1 -1
  382. package/dist/tools/apply-patch.d.ts.map +1 -1
  383. package/dist/tools/apply-patch.js +2 -2
  384. package/dist/tools/apply-patch.js.map +1 -1
  385. package/dist/tools/ask-user-constants.d.ts +7 -0
  386. package/dist/tools/ask-user-constants.d.ts.map +1 -0
  387. package/dist/tools/ask-user-constants.js +7 -0
  388. package/dist/tools/ask-user-constants.js.map +1 -0
  389. package/dist/tools/ask-user.d.ts +11 -0
  390. package/dist/tools/ask-user.d.ts.map +1 -0
  391. package/dist/tools/ask-user.js +56 -0
  392. package/dist/tools/ask-user.js.map +1 -0
  393. package/dist/tools/ask-user.test.d.ts +2 -0
  394. package/dist/tools/ask-user.test.d.ts.map +1 -0
  395. package/dist/tools/ask-user.test.js +129 -0
  396. package/dist/tools/ask-user.test.js.map +1 -0
  397. package/dist/tools/format-helpers.d.ts +13 -0
  398. package/dist/tools/format-helpers.d.ts.map +1 -1
  399. package/dist/tools/format-helpers.js +34 -0
  400. package/dist/tools/format-helpers.js.map +1 -1
  401. package/dist/tools/format-helpers.test.d.ts +2 -0
  402. package/dist/tools/format-helpers.test.d.ts.map +1 -0
  403. package/dist/tools/format-helpers.test.js +51 -0
  404. package/dist/tools/format-helpers.test.js.map +1 -0
  405. package/dist/tools/search-replace.d.ts.map +1 -1
  406. package/dist/tools/search-replace.js +2 -2
  407. package/dist/tools/search-replace.js.map +1 -1
  408. package/dist/tools/tool-names.d.ts +1 -0
  409. package/dist/tools/tool-names.d.ts.map +1 -1
  410. package/dist/tools/tool-names.js +1 -0
  411. package/dist/tools/tool-names.js.map +1 -1
  412. package/dist/utils/command-safety/_scratch-classify.test.d.ts +2 -0
  413. package/dist/utils/command-safety/_scratch-classify.test.d.ts.map +1 -0
  414. package/dist/utils/command-safety/_scratch-classify.test.js +22 -0
  415. package/dist/utils/command-safety/_scratch-classify.test.js.map +1 -0
  416. package/dist/utils/command-safety/constants.d.ts.map +1 -1
  417. package/dist/utils/command-safety/constants.js +21 -0
  418. package/dist/utils/command-safety/constants.js.map +1 -1
  419. package/dist/utils/command-safety/handlers/git-handler.d.ts.map +1 -1
  420. package/dist/utils/command-safety/handlers/git-handler.js +28 -2
  421. package/dist/utils/command-safety/handlers/git-handler.js.map +1 -1
  422. package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
  423. package/dist/utils/command-safety/path-analysis.js +6 -0
  424. package/dist/utils/command-safety/path-analysis.js.map +1 -1
  425. package/dist/utils/command-safety/scratch-classify.test.d.ts +2 -0
  426. package/dist/utils/command-safety/scratch-classify.test.d.ts.map +1 -0
  427. package/dist/utils/command-safety/scratch-classify.test.js +22 -0
  428. package/dist/utils/command-safety/scratch-classify.test.js.map +1 -0
  429. package/dist/utils/command-safety/scratch-tally.test.d.ts +2 -0
  430. package/dist/utils/command-safety/scratch-tally.test.d.ts.map +1 -0
  431. package/dist/utils/command-safety/scratch-tally.test.js +68 -0
  432. package/dist/utils/command-safety/scratch-tally.test.js.map +1 -0
  433. package/dist/utils/command-safety.evaluator-false-positives.test.d.ts +2 -0
  434. package/dist/utils/command-safety.evaluator-false-positives.test.d.ts.map +1 -0
  435. package/dist/utils/command-safety.evaluator-false-positives.test.js +72 -0
  436. package/dist/utils/command-safety.evaluator-false-positives.test.js.map +1 -0
  437. package/dist/utils/header-sanitizer.d.ts +2 -0
  438. package/dist/utils/header-sanitizer.d.ts.map +1 -0
  439. package/dist/utils/header-sanitizer.js +38 -0
  440. package/dist/utils/header-sanitizer.js.map +1 -0
  441. package/dist/utils/header-sanitizer.test.d.ts +2 -0
  442. package/dist/utils/header-sanitizer.test.d.ts.map +1 -0
  443. package/dist/utils/header-sanitizer.test.js +56 -0
  444. package/dist/utils/header-sanitizer.test.js.map +1 -0
  445. package/dist/utils/home-directory-start-guard.d.ts +10 -0
  446. package/dist/utils/home-directory-start-guard.d.ts.map +1 -0
  447. package/dist/utils/home-directory-start-guard.js +20 -0
  448. package/dist/utils/home-directory-start-guard.js.map +1 -0
  449. package/dist/utils/home-directory-start-guard.test.d.ts +2 -0
  450. package/dist/utils/home-directory-start-guard.test.d.ts.map +1 -0
  451. package/dist/utils/home-directory-start-guard.test.js +40 -0
  452. package/dist/utils/home-directory-start-guard.test.js.map +1 -0
  453. package/dist/utils/inject-warning-into-tool-output.d.ts +2 -0
  454. package/dist/utils/inject-warning-into-tool-output.d.ts.map +1 -0
  455. package/dist/utils/inject-warning-into-tool-output.js +66 -0
  456. package/dist/utils/inject-warning-into-tool-output.js.map +1 -0
  457. package/dist/utils/provider-traffic-extractor.d.ts +1 -0
  458. package/dist/utils/provider-traffic-extractor.d.ts.map +1 -1
  459. package/dist/utils/provider-traffic-extractor.js +1 -0
  460. package/dist/utils/provider-traffic-extractor.js.map +1 -1
  461. package/dist/utils/provider-traffic-extractor.test.js +2 -0
  462. package/dist/utils/provider-traffic-extractor.test.js.map +1 -1
  463. package/dist/utils/token-usage.d.ts +3 -1
  464. package/dist/utils/token-usage.d.ts.map +1 -1
  465. package/dist/utils/token-usage.js +7 -2
  466. package/dist/utils/token-usage.js.map +1 -1
  467. package/dist/utils/token-usage.test.js +15 -0
  468. package/dist/utils/token-usage.test.js.map +1 -1
  469. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import test from 'ava';
2
2
  import { tool as createTool } from '@openai/agents';
3
3
  import { z } from 'zod';
4
- import { repairJson, normalizeToolInput, wrapToolInvoke } from './tool-invoke.js';
4
+ import { repairJson, normalizeObjectParams, normalizeToolInput, toolErrorFunction, wrapToolInvoke, } from './tool-invoke.js';
5
5
  // ---------------------------------------------------------------------------
6
6
  // repairJson – pass-through for valid / empty input
7
7
  // ---------------------------------------------------------------------------
@@ -213,7 +213,10 @@ test('normalizeToolInput with schema coerces boolean string inputs', (t) => {
213
213
  case_sensitive: true,
214
214
  });
215
215
  });
216
- test('wrapToolInvoke intercepts InvalidToolInputError exception and formats diagnostics', async (t) => {
216
+ // Integration: real createTool + errorFunction + wrapToolInvoke path. When the
217
+ // SDK fails schema validation, the diagnostics are surfaced as a NON-FATAL
218
+ // result string (not thrown) so the model can self-correct within the turn.
219
+ test('wrapToolInvoke surfaces schema diagnostics as a non-fatal result for invalid input', async (t) => {
217
220
  const parametersSchema = z.object({
218
221
  pattern: z.string(),
219
222
  no_ignore: z.boolean().optional(),
@@ -222,34 +225,37 @@ test('wrapToolInvoke intercepts InvalidToolInputError exception and formats diag
222
225
  name: 'grep',
223
226
  description: 'grep tool',
224
227
  parameters: parametersSchema,
228
+ errorFunction: toolErrorFunction,
225
229
  execute: async () => 'ok',
226
230
  });
227
- rawTool.invoke = async (_context, _input, _details) => {
228
- const err = new Error('Invalid JSON input for tool');
229
- err.name = 'InvalidToolInputError';
230
- throw err;
231
- };
232
231
  const wrappedTool = wrapToolInvoke(rawTool, parametersSchema);
233
- const err = await t.throwsAsync(() => wrappedTool.invoke({}, '{"pattern": "test", "no_ignore": "not-a-bool"}'));
234
- t.is(err?.message, 'Tool input did not match schema for grep: no_ignore must be boolean, got string "not-a-bool". Retry with valid JSON arguments.');
232
+ const result = await wrappedTool.invoke({}, '{"pattern": "test", "no_ignore": "not-a-bool"}');
233
+ t.is(result, 'Tool input did not match schema for grep: no_ignore must be boolean, got string "not-a-bool". Retry with valid JSON arguments.');
235
234
  });
236
- test('wrapToolInvoke intercepts InvalidToolInputError result string and formats diagnostics', async (t) => {
237
- const parametersSchema = z.object({
238
- pattern: z.string(),
239
- no_ignore: z.boolean().optional(),
240
- });
235
+ // Regression: tool output that merely *mentions* the validation error must be
236
+ // returned verbatim and must NOT be re-interpreted as a validation failure.
237
+ test('wrapToolInvoke returns tool output verbatim even when it mentions InvalidToolInputError', async (t) => {
238
+ const parametersSchema = z.object({ path: z.string() });
239
+ const toolOutput = 'File contents: throw new InvalidToolInputError("Invalid JSON input for tool")';
241
240
  const rawTool = createTool({
242
- name: 'grep',
243
- description: 'grep tool',
241
+ name: 'read_file',
242
+ description: 'read file tool',
244
243
  parameters: parametersSchema,
245
- execute: async () => 'ok',
244
+ errorFunction: toolErrorFunction,
245
+ execute: async () => toolOutput,
246
246
  });
247
- rawTool.invoke = async (_context, _input, _details) => {
248
- return 'An error occurred while running the tool. Please try again. Error: InvalidToolInputError: Invalid JSON input for tool';
249
- };
250
247
  const wrappedTool = wrapToolInvoke(rawTool, parametersSchema);
251
- const result = await wrappedTool.invoke({}, '{"pattern": "test", "no_ignore": "not-a-bool"}');
252
- t.is(result, 'Tool input did not match schema for grep: no_ignore must be boolean, got string "not-a-bool". Retry with valid JSON arguments.');
248
+ const result = await wrappedTool.invoke({}, '{"path": "notes.md"}');
249
+ t.is(result, toolOutput);
250
+ });
251
+ test('toolErrorFunction rethrows schema-validation errors for diagnostics handling', (t) => {
252
+ const err = new Error('Invalid JSON input for tool');
253
+ err.name = 'InvalidToolInputError';
254
+ t.throws(() => toolErrorFunction({}, err), { is: err });
255
+ });
256
+ test('toolErrorFunction returns a non-fatal message for other runtime errors', (t) => {
257
+ const result = toolErrorFunction({}, new Error('disk on fire'));
258
+ t.is(result, 'An error occurred while running the tool. Please try again. Error: Error: disk on fire');
253
259
  });
254
260
  test('normalizeToolInput with schema coerces stringified array and object inputs', (t) => {
255
261
  const schema = z.object({
@@ -282,4 +288,60 @@ test('normalizeToolInput with schema coerces empty stringified array', (t) => {
282
288
  tags: [],
283
289
  });
284
290
  });
291
+ // ---------------------------------------------------------------------------
292
+ // normalizeObjectParams
293
+ // ---------------------------------------------------------------------------
294
+ test('normalizeObjectParams returns null/undefined/non-object unchanged', (t) => {
295
+ t.is(normalizeObjectParams(null), null);
296
+ t.is(normalizeObjectParams(undefined), undefined);
297
+ t.is(normalizeObjectParams('hello'), 'hello');
298
+ t.deepEqual(normalizeObjectParams([1, 2]), [1, 2]);
299
+ });
300
+ test('normalizeObjectParams returns object unchanged when no schema provided', (t) => {
301
+ const obj = { a: 1 };
302
+ t.is(normalizeObjectParams(obj), obj); // same reference
303
+ });
304
+ test('normalizeObjectParams filters null sentinels on optional fields', (t) => {
305
+ const schema = z.object({
306
+ name: z.string(),
307
+ count: z.number().optional(),
308
+ });
309
+ const result = normalizeObjectParams({ name: 'test', count: null }, schema);
310
+ t.deepEqual(result, { name: 'test' });
311
+ t.false('count' in result);
312
+ });
313
+ test('normalizeObjectParams coerces boolean strings', (t) => {
314
+ const schema = z.object({
315
+ flag: z.boolean(),
316
+ });
317
+ const result = normalizeObjectParams({ flag: 'true' }, schema);
318
+ t.is(result.flag, true);
319
+ });
320
+ test('normalizeObjectParams coerces stringified arrays', (t) => {
321
+ const schema = z.object({
322
+ tags: z.array(z.string()),
323
+ });
324
+ const result = normalizeObjectParams({ tags: '["a","b"]' }, schema);
325
+ t.deepEqual(result.tags, ['a', 'b']);
326
+ });
327
+ test('normalizeObjectParams coerces stringified objects', (t) => {
328
+ const schema = z.object({
329
+ config: z.object({ key: z.string() }),
330
+ });
331
+ const result = normalizeObjectParams({ config: '{"key":"val"}' }, schema);
332
+ t.deepEqual(result.config, { key: 'val' });
333
+ });
334
+ test('normalizeObjectParams returns same reference when no modifications needed', (t) => {
335
+ const schema = z.object({ name: z.string() });
336
+ const obj = { name: 'test' };
337
+ t.is(normalizeObjectParams(obj, schema), obj);
338
+ });
339
+ test('normalizeObjectParams filters string sentinels on optional fields', (t) => {
340
+ const schema = z.object({
341
+ path: z.string(),
342
+ start: z.number().optional(),
343
+ });
344
+ const result = normalizeObjectParams({ path: '/a', start: 'None' }, schema);
345
+ t.false('start' in result);
346
+ });
285
347
  //# sourceMappingURL=tool-invoke.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-invoke.test.js","sourceRoot":"","sources":["../../source/lib/tool-invoke.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-invoke.test.js","sourceRoot":"","sources":["../../source/lib/tool-invoke.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { OpenAIAgentClient } from './lib/openai-agent-client.js';
2
- import type { ILoggingService, ISettingsService } from './services/service-interfaces.js';
2
+ import type { ILoggingService, ISettingsService, ISessionContextService } from './services/service-interfaces.js';
3
3
  import { ConversationSession } from './services/conversation-session.js';
4
4
  export interface NonInteractiveConfig {
5
5
  prompt: string;
@@ -9,6 +9,7 @@ export interface NonInteractiveConfig {
9
9
  settingsService?: ISettingsService;
10
10
  agentClient?: OpenAIAgentClient;
11
11
  logger?: ILoggingService;
12
+ sessionContextService?: ISessionContextService;
12
13
  }
13
14
  export declare const NON_INTERACTIVE_REJECTION_REASON = "Non-interactive mode: use --auto-approve to allow tool execution";
14
15
  export declare const createNonInteractiveSessionId: () => string;
@@ -1 +1 @@
1
- {"version":3,"file":"non-interactive.d.ts","sourceRoot":"","sources":["../source/non-interactive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAOzE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,eAAO,MAAM,gCAAgC,qEAAqE,CAAC;AAEnH,eAAO,MAAM,6BAA6B,QAAO,MAA2C,CAAC;AAE7F,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAChD,sBAAsB,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IACtE,WAAW,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;CAClD;AAqCD,wBAAsB,cAAc,CAAC,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwHpH;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,oBAAoB,GAAG;IAC7B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,EAAE,gBAAgB,CAAC;CACnC,GACA,OAAO,CAAC,MAAM,CAAC,CAOjB"}
1
+ {"version":3,"file":"non-interactive.d.ts","sourceRoot":"","sources":["../source/non-interactive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAClH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAQzE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;CAChD;AAED,eAAO,MAAM,gCAAgC,qEAAqE,CAAC;AAEnH,eAAO,MAAM,6BAA6B,QAAO,MAA2C,CAAC;AAE7F,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAChD,sBAAsB,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IACtE,WAAW,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;CAClD;AAqCD,wBAAsB,cAAc,CAAC,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CA0HpH;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,oBAAoB,GAAG;IAC7B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,EAAE,gBAAgB,CAAC;CACnC,GACA,OAAO,CAAC,MAAM,CAAC,CAYjB"}
@@ -1,4 +1,5 @@
1
1
  import { ConversationSession } from './services/conversation-session.js';
2
+ import { SessionContextService } from './services/session-context-service.js';
2
3
  import { randomUUID } from 'node:crypto';
3
4
  import { classifyCommandDetailed } from './utils/command-safety/index.js';
4
5
  import { SafetyStatus } from './utils/command-safety/constants.js';
@@ -42,6 +43,7 @@ const formatEventForStderr = (event) => {
42
43
  export async function runWithSession(session, config) {
43
44
  const stdout = config.stdout ?? process.stdout;
44
45
  const stderr = config.stderr ?? process.stderr;
46
+ const sessionContextService = config.sessionContextService ?? new SessionContextService();
45
47
  const onEvent = (event) => {
46
48
  if (event.type === 'text_delta') {
47
49
  stdout.write(event.delta);
@@ -96,6 +98,7 @@ export async function runWithSession(session, config) {
96
98
  error: () => { },
97
99
  security: () => { },
98
100
  },
101
+ sessionContextService,
99
102
  });
100
103
  const advisory = advisories.get(approval.callId || '__single__');
101
104
  if (advisory?.approved) {
@@ -148,10 +151,15 @@ export async function runWithSession(session, config) {
148
151
  }
149
152
  }
150
153
  export async function runNonInteractive(config) {
154
+ const sessionContextService = config.sessionContextService ?? new SessionContextService();
151
155
  const session = new ConversationSession(createNonInteractiveSessionId(), {
152
156
  agentClient: config.agentClient,
153
- deps: { logger: config.logger, settingsService: config.settingsService },
157
+ deps: {
158
+ logger: config.logger,
159
+ settingsService: config.settingsService,
160
+ sessionContextService,
161
+ },
154
162
  });
155
- return runWithSession(session, config);
163
+ return runWithSession(session, { ...config, sessionContextService });
156
164
  }
157
165
  //# sourceMappingURL=non-interactive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"non-interactive.js","sourceRoot":"","sources":["../source/non-interactive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"non-interactive.js","sourceRoot":"","sources":["../source/non-interactive.ts"],"names":[],"mappings":"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"}
@@ -1,43 +1,29 @@
1
- You are in Orchestrator mode — the coordinator. Subagents do the work; you plan, delegate, verify, and report. Direct tools exist for spot-checking subagent results, not for executing the user's task yourself.
1
+ You are in Orchestrator mode — the coordinator. Subagents do the work; you plan, delegate, verify, and report. Your own tools exist only for spot-checking subagent results, not for executing the user's task yourself.
2
2
 
3
3
  ## Capabilities
4
- You have `run_subagent` for all task execution, plus narrow read-only tools (`read_file`, `grep`) for verifying subagent results and resolving specific ambiguities. All writes, edits, shell, and web access go through `run_subagent`. Your context window is the project's scarcest resource — delegate any work whose raw output would be noise rather than decision-grade signal.
5
-
6
- ## Decision Rule
7
- - If the user's request can be answered from reasoning alone, answer directly.
8
- - For workspace inspection, edits, shell, web, or anything requiring environment access: delegate via `run_subagent`.
9
- - Use `read_file` / `grep` only to spot-check a known location after a subagent has reported, or to resolve a specific ambiguity before the next delegation. Not for primary discovery.
10
-
11
- ## Delegation Contract
12
- Each `run_subagent` call must include:
13
- - **goal**: one sentence describing what the subagent should achieve.
14
- - **context**: relevant paths, prior findings, and constraints.
15
- - **doneWhen**: a concrete, checkable completion condition.
16
-
17
- Keep tasks single-purpose and verifiable. Launch independent subagents in
18
- parallel; sequence them only on true dependencies.
19
-
20
- ## Failure Handling
21
- - **Error reported:** inspect, refine task or context, retry once. Escalate when retrying would not help (missing credentials, ambiguous intent, repeated tool failure).
22
- - **Success reported but artifact wrong:** do not retry the same task. Verify what actually happened with `read_file` / `grep`, then re-delegate with the corrected context embedded.
23
- - **Partial result:** decide whether the partial output is usable. If yes, stitch and continue. If no, re-delegate the remaining scope as a new task — do not re-run the original.
24
- - **Conflicting results from parallel subagents:** read the conflicting artifacts directly to determine ground truth, then re-delegate from that point.
25
-
26
- ## Verification
27
- Before reporting completion to the user, confirm the combined result satisfies the original objective. Options, cheapest first:
28
- - Re-read the key changed range with `read_file` to confirm the artifact matches what the subagent claimed.
29
- - For multi-file or behavioral claims, delegate a verification `explorer` or `worker` (e.g., "run the focused test for X and report pass/fail").
30
- - Treat subagent "done" reports as claims, not facts. A worker reporting success does not mean the artifact is correct.
31
-
32
- ## Reporting
33
- Synthesize subagent results into a short summary plus concrete artifacts
34
- (diffs, output, paths). Preserve uncertainty and partial completion — do not
35
- claim work the parent did not delegate, and do not round "mostly done" up to
36
- "done."
37
-
38
- ## Example: delegate → verify → report
39
- User asks to fix a bug in `source/foo.ts`.
40
- 1. Delegate `explorer` to locate the bug site and adjacent tests.
41
- 2. Delegate `worker` with the explorer's findings embedded as context.
42
- 3. Worker reports success. Use `read_file` on the changed range to confirm the edit matches the intent.
43
- 4. Delegate `worker` to run the focused test; report pass/fail to the user.
4
+ You have `run_subagent` for all task execution, plus narrow tools (`shell`, `read_file`, `grep`) for verifying subagent results and resolving specific ambiguities. Your context window is the project's scarcest resource — delegate anything whose raw details would be noise rather than signal.
5
+
6
+ ## How to work
7
+ If the user's request can be answered from reasoning alone, answer directly. For anything requiring workspace access, delegate via `run_subagent`. Use `shell`, `read_file`, and `grep` only to spot-check or verify after a subagent reports, or to resolve a specific ambiguity before the next delegation — not for primary discovery or making changes.
8
+
9
+ **Coordination principles** default to safe coordination over maximum parallelism:
10
+
11
+ - For simple single-worker tasks, delegate directly with a clear scope, bounded editable files, and a validation command.
12
+ - For coupled or multi-worker tasks where work shares files, contracts, schemas, or state flows, do a lightweight synthesis first: identify ownership, shared surfaces, and sequencing before launching write workers.
13
+ - Parallelize only when tasks have clearly separate write scopes or are read-only. If in doubt, sequence.
14
+ - Sequence tasks when they share files, contracts, state flows, schemas, or dependencies.
15
+ - After multiple workers have completed, or after interface/schema/security-sensitive changes, perform a brief integration review (re-read the changed ranges, run affected tests) before the final response.
16
+
17
+ Before delegating, think about the critical path. Identify which tasks are immediate blockers and which are sidecar work that can proceed in parallel. Don't delegate a blocking task your very next action depends on — keep the critical path moving locally when you are the bottleneck. Delegate sidecar tasks instead, so they complete while you handle what is urgent.
18
+
19
+ ## Delegating well
20
+ Give each subagent everything it needs to succeed on its own: relevant paths, symbols, prior findings, constraints, and a clear done condition. The subagent has no access to your conversation or reasoning, so front-load the context. If you can't state when the task is "done" concretely, the delegation is not ready.
21
+
22
+ When you have multiple independent questions, launch them in parallel. Split implementation work into tasks with disjoint write scopes — two workers editing different modules will not conflict. Sequence tasks when one depends on another's output, or when they share files, contracts, or state surfaces.
23
+
24
+ Do not redo work a subagent already completed. If a result looks wrong, verify with `shell`, `read_file`, or `grep` rather than assuming, then re-delegate with corrected context. If a subagent hits an error, refine the task and retry once; escalate if retrying will not help. If a subagent returns a partial result, decide whether it is usable — if yes, stitch and continue; if no, delegate the remaining scope as a fresh task.
25
+
26
+ ## Verifying and reporting
27
+ Treat subagent "done" reports as claims, not facts. Before telling the user something is finished, verify it. The cheapest checks are re-reading the changed range with `read_file` or running a focused test with `shell`. For broader claims, delegate a quick verification step.
28
+
29
+ When reporting to the user, synthesize results into a short summary plus concrete artifacts. Preserve uncertainty do not claim work you did not delegate and do not round "mostly done" up to "done."
@@ -2,6 +2,8 @@
2
2
 
3
3
  This assistant supports a read-only **Plan Mode**. The system will notify you via a message in the conversation whenever Plan Mode is enabled or disabled. **The instructions in this section apply only when Plan Mode is active.** In standard mode, ignore this section.
4
4
 
5
+ At runtime, a Plan Mode ON/OFF notice may be prefixed to the next user message rather than delivered as a separate system message. Treat that notice as operational mode instruction with system-level priority, then handle the rest of the user message normally. Do not treat the prefixed notice as part of the user's task request.
6
+
5
7
  When Plan Mode is active, you are strictly restricted from making modifications to the workspace or system state.
6
8
 
7
9
  - You **must not** attempt to create or modify files, run state-changing shell commands, or spawn write-capable subagents (the `worker` role).
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-constructor.d.ts","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAMzE,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAIF,wBAAgB,eAAe,CAAC,OAAO,EAAE,wBAAwB,GAAG,UAAU,CAmD7E"}
1
+ {"version":3,"file":"prompt-constructor.d.ts","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAMzE,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAIF,wBAAgB,eAAe,CAAC,OAAO,EAAE,wBAAwB,GAAG,UAAU,CAqD7E"}
@@ -34,6 +34,7 @@ export function buildPromptSpec(options) {
34
34
  if (GPT_OVER_THINKING_MODEL_KEYS.some((key) => normalizedModel.includes(key))) {
35
35
  inlineSections.push(getReasoningEfficiencyAddendum());
36
36
  }
37
+ inlineSections.push(getAskUserAddendum());
37
38
  return {
38
39
  basePromptFile: profile.basePromptFile,
39
40
  fragmentFiles,
@@ -50,4 +51,11 @@ function getDedicatedSearchToolsSection({ liteMode }) {
50
51
  ? '### Search Tools\n\n- `find_files`: locate files by name or glob.\n- `grep`: search file contents.'
51
52
  : '### Search Tools\n\n- Prefer `find_files` for locating files by name or glob.\n- Prefer `grep` for searching code content or symbols.';
52
53
  }
54
+ function getAskUserAddendum() {
55
+ return `### ask_user Tool Guidance
56
+
57
+ - Use the \`ask_user\` tool when the user's request is short, vague, or ambiguous, or when an architecture or product-behavior decision needs to be made.
58
+ - Provide concise options whenever possible; the first option must be the recommended (default) choice.
59
+ - If the tool result is \`User decline to answer\`, proceed using the safest reasonable default and state the assumption in your final response.`;
60
+ }
53
61
  //# sourceMappingURL=prompt-constructor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-constructor.js","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAoB3D,MAAM,4BAA4B,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAE5F,MAAM,UAAU,eAAe,CAAC,OAAiC;IAC/D,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,GAAG,OAAO,CAAC;IACZ,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;QAC5C,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,CAAC,gBAAgB,IAAI,cAAc,EAAE,CAAC;QACxC,cAAc,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;SAAM,IAAI,CAAC,gBAAgB,IAAI,CAAC,QAAQ,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACpF,cAAc,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;QAC3C,cAAc,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9E,cAAc,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACL,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,aAAa;QACb,cAAc;KACf,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,EAAE,QAAQ,EAAyB;IAChE,OAAO,QAAQ;QACb,CAAC,CAAC,+KAA+K;QACjL,CAAC,CAAC,2LAA2L,CAAC;AAClM,CAAC;AAED,SAAS,8BAA8B,CAAC,EAAE,QAAQ,EAAyB;IACzE,OAAO,QAAQ;QACb,CAAC,CAAC,oGAAoG;QACtG,CAAC,CAAC,uIAAuI,CAAC;AAC9I,CAAC"}
1
+ {"version":3,"file":"prompt-constructor.js","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,19 @@ test('buildPromptSpec preserves mode precedence for base prompts', (t) => {
7
7
  t.is(buildPromptSpec({ model: 'gpt-5.3-codex', liteMode: false }).basePromptFile, 'codex.md');
8
8
  t.is(buildPromptSpec({ model: 'gpt-4o', liteMode: false }).basePromptFile, 'simple.md');
9
9
  });
10
+ test('buildPromptSpec includes ask_user guidance in all modes', (t) => {
11
+ const standard = buildPromptSpec({ model: 'gpt-4o', liteMode: false });
12
+ t.true(standard.inlineSections.some((s) => s.includes('ask_user')));
13
+ const lite = buildPromptSpec({ model: 'gpt-4o', liteMode: true });
14
+ t.true(lite.inlineSections.some((s) => s.includes('ask_user')));
15
+ const orchestrator = buildPromptSpec({
16
+ model: 'gpt-4o',
17
+ liteMode: false,
18
+ orchestratorMode: true,
19
+ runSubagentEnabled: true,
20
+ });
21
+ t.true(orchestrator.inlineSections.some((s) => s.includes('ask_user')));
22
+ });
10
23
  // test('buildPromptSpec adds GPT version fragments without changing the base GPT prompt fallback', (t) => {
11
24
  // const gpt55 = buildPromptSpec({ model: 'gpt-5.5-2026-04-23', liteMode: false });
12
25
  // t.is(gpt55.basePromptFile, 'gpt-5-modern.md');
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-constructor.test.js","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-constructor.test.js","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.test.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,22 @@ test('buildPromptSpec preserves mode precedence for base prompts', (t) => {
12
12
  t.is(buildPromptSpec({ model: 'gpt-4o', liteMode: false }).basePromptFile, 'simple.md');
13
13
  });
14
14
 
15
+ test('buildPromptSpec includes ask_user guidance in all modes', (t) => {
16
+ const standard = buildPromptSpec({ model: 'gpt-4o', liteMode: false });
17
+ t.true(standard.inlineSections.some((s) => s.includes('ask_user')));
18
+
19
+ const lite = buildPromptSpec({ model: 'gpt-4o', liteMode: true });
20
+ t.true(lite.inlineSections.some((s) => s.includes('ask_user')));
21
+
22
+ const orchestrator = buildPromptSpec({
23
+ model: 'gpt-4o',
24
+ liteMode: false,
25
+ orchestratorMode: true,
26
+ runSubagentEnabled: true,
27
+ });
28
+ t.true(orchestrator.inlineSections.some((s) => s.includes('ask_user')));
29
+ });
30
+
15
31
  // test('buildPromptSpec adds GPT version fragments without changing the base GPT prompt fallback', (t) => {
16
32
  // const gpt55 = buildPromptSpec({ model: 'gpt-5.5-2026-04-23', liteMode: false });
17
33
  // t.is(gpt55.basePromptFile, 'gpt-5-modern.md');
@@ -71,6 +71,8 @@ export function buildPromptSpec(options: PromptConstructorOptions): PromptSpec {
71
71
  inlineSections.push(getReasoningEfficiencyAddendum());
72
72
  }
73
73
 
74
+ inlineSections.push(getAskUserAddendum());
75
+
74
76
  return {
75
77
  basePromptFile: profile.basePromptFile,
76
78
  fragmentFiles,
@@ -89,3 +91,11 @@ function getDedicatedSearchToolsSection({ liteMode }: { liteMode: boolean }): st
89
91
  ? '### Search Tools\n\n- `find_files`: locate files by name or glob.\n- `grep`: search file contents.'
90
92
  : '### Search Tools\n\n- Prefer `find_files` for locating files by name or glob.\n- Prefer `grep` for searching code content or symbols.';
91
93
  }
94
+
95
+ function getAskUserAddendum(): string {
96
+ return `### ask_user Tool Guidance
97
+
98
+ - Use the \`ask_user\` tool when the user's request is short, vague, or ambiguous, or when an architecture or product-behavior decision needs to be made.
99
+ - Provide concise options whenever possible; the first option must be the recommended (default) choice.
100
+ - If the tool result is \`User decline to answer\`, proceed using the safest reasonable default and state the assumption in your final response.`;
101
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAwB,GACzB,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CA6B9C"}
1
+ {"version":3,"file":"subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAwB,GACzB,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CA6C9C"}
@@ -16,7 +16,23 @@ You have a \`run_subagent\` tool. A subagent runs in its own context and returns
16
16
  - Scoped, verifiable unit of work (bug fix, refactor, feature behind a clear interface, migration, tests) with a checkable done condition → \`worker\`. If you don't yet know *where* the change goes, send an \`explorer\` first.${orchestratorMode
17
17
  ? `
18
18
 
19
- In Orchestrator mode, answer directly only when no tool-backed work is needed. You must delegate workspace inspection, web research, file edits, shell work, and verification. For interactive back-and-forth with the user, respond directly. Only delegate once the next concrete unit of work is clear.`
19
+ In Orchestrator mode, answer directly only when no tool-backed work is needed. You must delegate workspace inspection, web research, file edits, shell work, and verification. For interactive back-and-forth with the user, respond directly. Only delegate once the next concrete unit of work is clear.
20
+
21
+ **Coordination principles** — default to safe coordination over maximum parallelism:
22
+
23
+ **Coordination checklist for coupled or multi-worker implementation:**
24
+
25
+ For coupled or multi-worker implementation, identify before delegating:
26
+ - Shared files or likely conflict points
27
+ - Contracts/APIs/schemas/state flows that must remain stable
28
+ - Which worker owns which files or modules
29
+ - Files workers should treat as read-only, if relevant
30
+ - Validation each worker should run
31
+ - Stop conditions where a worker should report instead of guessing
32
+
33
+ Include ownership and scope details naturally in each worker's task text — no rigid format required.
34
+
35
+ Do not over-process simple single-worker tasks. A clear task, bounded scope, and validation command are enough.`
20
36
  : `
21
37
 
22
38
  Otherwise, just do it yourself — especially when the task needs mid-flight course-correction, user back-and-forth, fuzzy judgment, or is the user's actual deliverable they expect to watch.`}`;
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-delegation.js","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,gBAAgB,GAAG,KAAK,MACU,EAAE;IACpC,MAAM,MAAM,GAAG;;mKAEkJ,CAAC;IAElK,MAAM,QAAQ,GAAG;;;;oOAKf,gBAAgB;QACd,CAAC,CAAC;;2SAEmS;QACrS,CAAC,CAAC;;6LAGN,EAAE,CAAC;IAEH,MAAM,YAAY,GAAG;;;;;;;0QAOmP,CAAC;IAEzQ,OAAO,GAAG,MAAM,OAAO,QAAQ,OAAO,YAAY,OAAO,wBAAwB,EAAE,EAAE,CAAC;AACxF,CAAC"}
1
+ {"version":3,"file":"subagent-delegation.js","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,gBAAgB,GAAG,KAAK,MACU,EAAE;IACpC,MAAM,MAAM,GAAG;;mKAEkJ,CAAC;IAElK,MAAM,QAAQ,GAAG;;;;oOAKf,gBAAgB;QACd,CAAC,CAAC;;;;;;;;;;;;;;;;;;gHAkBwG;QAC1G,CAAC,CAAC;;6LAGN,EAAE,CAAC;IAEH,MAAM,YAAY,GAAG;;;;;;;0QAOmP,CAAC;IAEzQ,OAAO,GAAG,MAAM,OAAO,QAAQ,OAAO,YAAY,OAAO,wBAAwB,EAAE,EAAE,CAAC;AACxF,CAAC"}
@@ -16,4 +16,25 @@ test('getSubagentDelegationAddendum includes self-service fallback when orchestr
16
16
  const result = getSubagentDelegationAddendum({ orchestratorMode: false });
17
17
  t.true(result.includes('just do it yourself'));
18
18
  });
19
+ test('orchestrator mode includes safe coordination guidance', (t) => {
20
+ const result = getSubagentDelegationAddendum({ orchestratorMode: true });
21
+ t.true(result.includes('safe coordination over maximum parallelism'));
22
+ });
23
+ test('orchestrator mode includes coupled or multi-worker language', (t) => {
24
+ const result = getSubagentDelegationAddendum({ orchestratorMode: true });
25
+ t.true(result.includes('coupled or multi-worker'));
26
+ });
27
+ test('orchestrator mode includes ownership language', (t) => {
28
+ const result = getSubagentDelegationAddendum({ orchestratorMode: true });
29
+ t.true(result.includes('Which worker owns'));
30
+ });
31
+ test('orchestrator mode says not to over-process simple single-worker tasks', (t) => {
32
+ const result = getSubagentDelegationAddendum({ orchestratorMode: true });
33
+ t.true(result.includes('Do not over-process'));
34
+ });
35
+ test('non-orchestrator mode does not include coordination checklist', (t) => {
36
+ const result = getSubagentDelegationAddendum({ orchestratorMode: false });
37
+ t.false(result.includes('coupled or multi-worker'));
38
+ t.false(result.includes('Coordination checklist'));
39
+ });
19
40
  //# sourceMappingURL=subagent-delegation.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-delegation.test.js","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAEzE,IAAI,CAAC,qEAAqE,EAAE,CAAC,CAAC,EAAE,EAAE;IAChF,MAAM,MAAM,GAAG,6BAA6B,EAAE,CAAC;IAE/C,CAAC,CAAC,EAAE,CAAC,OAAO,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iGAAiG,EAAE,CAAC,CAAC,EAAE,EAAE;IAC5G,MAAM,MAAM,GAAG,6BAA6B,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6FAA6F,EAAE,CAAC,CAAC,EAAE,EAAE;IACxG,MAAM,MAAM,GAAG,6BAA6B,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1E,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"subagent-delegation.test.js","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.test.ts"],"names":[],"mappings":"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"}