@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
@@ -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
+ }
@@ -27,7 +27,7 @@ export const PROMPT_PROFILES = [
27
27
  },
28
28
  {
29
29
  id: 'gpt-5.5',
30
- basePromptFile: 'gpt-5-modern.md',
30
+ basePromptFile: 'gpt-5.5.md',
31
31
  // fragmentFiles: ['fragments/gpt-5.5.md'],
32
32
  matches: ({ normalizedModel }) => normalizedModel.includes('gpt-5.5'),
33
33
  },
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-profiles.js","sourceRoot":"","sources":["../../source/prompts/prompt-profiles.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C;QACE,EAAE,EAAE,MAAM;QACV,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ;KACpC;IACD;QACE,EAAE,EAAE,cAAc;QAClB,cAAc,EAAE,iBAAiB;QACjC,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;KAC7D;IACD;QACE,EAAE,EAAE,WAAW;QACf,cAAc,EAAE,cAAc;QAC9B,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC1G;IACD;QACE,EAAE,EAAE,eAAe;QACnB,cAAc,EAAE,UAAU;QAC1B,iDAAiD;QACjD,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC3G;IACD;QACE,EAAE,EAAE,aAAa;QACjB,cAAc,EAAE,UAAU;QAC1B,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;KACzG;IACD;QACE,EAAE,EAAE,SAAS;QACb,cAAc,EAAE,iBAAiB;QACjC,2CAA2C;QAC3C,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;KACtE;IACD;QACE,EAAE,EAAE,eAAe;QACnB,cAAc,EAAE,iBAAiB;QACjC,aAAa,EAAE,CAAC,4BAA4B,CAAC;QAC7C,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAC/B,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KAChH;IACD;QACE,EAAE,EAAE,SAAS;QACb,cAAc,EAAE,iBAAiB;QACjC,2CAA2C;QAC3C,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;KACtE;IACD;QACE,EAAE,EAAE,cAAc;QAClB,cAAc,EAAE,iBAAiB;QACjC,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;KACpE;IACD;QACE,EAAE,EAAE,SAAS;QACb,cAAc,EAAE,WAAW;QAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;KACpB;CACF,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,gBAAgB,GAKjB;IACC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAE,CAAC;AAC9G,CAAC"}
1
+ {"version":3,"file":"prompt-profiles.js","sourceRoot":"","sources":["../../source/prompts/prompt-profiles.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C;QACE,EAAE,EAAE,MAAM;QACV,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ;KACpC;IACD;QACE,EAAE,EAAE,cAAc;QAClB,cAAc,EAAE,iBAAiB;QACjC,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;KAC7D;IACD;QACE,EAAE,EAAE,WAAW;QACf,cAAc,EAAE,cAAc;QAC9B,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC1G;IACD;QACE,EAAE,EAAE,eAAe;QACnB,cAAc,EAAE,UAAU;QAC1B,iDAAiD;QACjD,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC3G;IACD;QACE,EAAE,EAAE,aAAa;QACjB,cAAc,EAAE,UAAU;QAC1B,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;KACzG;IACD;QACE,EAAE,EAAE,SAAS;QACb,cAAc,EAAE,YAAY;QAC5B,2CAA2C;QAC3C,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;KACtE;IACD;QACE,EAAE,EAAE,eAAe;QACnB,cAAc,EAAE,iBAAiB;QACjC,aAAa,EAAE,CAAC,4BAA4B,CAAC;QAC7C,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAC/B,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KAChH;IACD;QACE,EAAE,EAAE,SAAS;QACb,cAAc,EAAE,iBAAiB;QACjC,2CAA2C;QAC3C,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;KACtE;IACD;QACE,EAAE,EAAE,cAAc;QAClB,cAAc,EAAE,iBAAiB;QACjC,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;KACpE;IACD;QACE,EAAE,EAAE,SAAS;QACb,cAAc,EAAE,WAAW;QAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;KACpB;CACF,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,gBAAgB,GAKjB;IACC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAE,CAAC;AAC9G,CAAC"}
@@ -34,7 +34,7 @@ export const PROMPT_PROFILES: PromptProfile[] = [
34
34
  },
35
35
  {
36
36
  id: 'gpt-5.5',
37
- basePromptFile: 'gpt-5-modern.md',
37
+ basePromptFile: 'gpt-5.5.md',
38
38
  // fragmentFiles: ['fragments/gpt-5.5.md'],
39
39
  matches: ({ normalizedModel }) => normalizedModel.includes('gpt-5.5'),
40
40
  },
@@ -18,7 +18,7 @@ test('getPromptPath selects modern gpt-5 prompt for all non-codex gpt-5 models',
18
18
  t.is(getPromptPath({ basePromptDir, model: 'gpt-5.1', liteMode: false }), path.join(basePromptDir, 'gpt-5-modern.md'));
19
19
  t.is(getPromptPath({ basePromptDir, model: 'gpt-5.2', liteMode: false }), path.join(basePromptDir, 'gpt-5-modern.md'));
20
20
  t.is(getPromptPath({ basePromptDir, model: 'gpt-5.4-mini', liteMode: false }), path.join(basePromptDir, 'gpt-5-modern.md'));
21
- t.is(getPromptPath({ basePromptDir, model: 'gpt-5.5-2026-04-23', liteMode: false }), path.join(basePromptDir, 'gpt-5-modern.md'));
21
+ t.is(getPromptPath({ basePromptDir, model: 'gpt-5.5-2026-04-23', liteMode: false }), path.join(basePromptDir, 'gpt-5.5.md'));
22
22
  });
23
23
  test('getPromptPath falls back to simple prompt', (t) => {
24
24
  t.is(getPromptPath({ basePromptDir, model: 'gpt-4o', liteMode: false }), path.join(basePromptDir, 'simple.md'));
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-selector.test.js","sourceRoot":"","sources":["../../source/prompts/prompt-selector.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-selector.test.js","sourceRoot":"","sources":["../../source/prompts/prompt-selector.test.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ test('getPromptPath selects modern gpt-5 prompt for all non-codex gpt-5 models',
43
43
  );
44
44
  t.is(
45
45
  getPromptPath({ basePromptDir, model: 'gpt-5.5-2026-04-23', liteMode: false }),
46
- path.join(basePromptDir, 'gpt-5-modern.md'),
46
+ path.join(basePromptDir, 'gpt-5.5.md'),
47
47
  );
48
48
  });
49
49
 
@@ -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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"}
@@ -22,3 +22,29 @@ test('getSubagentDelegationAddendum includes self-service fallback when orchestr
22
22
 
23
23
  t.true(result.includes('just do it yourself'));
24
24
  });
25
+
26
+ test('orchestrator mode includes safe coordination guidance', (t) => {
27
+ const result = getSubagentDelegationAddendum({ orchestratorMode: true });
28
+ t.true(result.includes('safe coordination over maximum parallelism'));
29
+ });
30
+
31
+ test('orchestrator mode includes coupled or multi-worker language', (t) => {
32
+ const result = getSubagentDelegationAddendum({ orchestratorMode: true });
33
+ t.true(result.includes('coupled or multi-worker'));
34
+ });
35
+
36
+ test('orchestrator mode includes ownership language', (t) => {
37
+ const result = getSubagentDelegationAddendum({ orchestratorMode: true });
38
+ t.true(result.includes('Which worker owns'));
39
+ });
40
+
41
+ test('orchestrator mode says not to over-process simple single-worker tasks', (t) => {
42
+ const result = getSubagentDelegationAddendum({ orchestratorMode: true });
43
+ t.true(result.includes('Do not over-process'));
44
+ });
45
+
46
+ test('non-orchestrator mode does not include coordination checklist', (t) => {
47
+ const result = getSubagentDelegationAddendum({ orchestratorMode: false });
48
+ t.false(result.includes('coupled or multi-worker'));
49
+ t.false(result.includes('Coordination checklist'));
50
+ });
@@ -21,7 +21,23 @@ You have a \`run_subagent\` tool. A subagent runs in its own context and returns
21
21
  orchestratorMode
22
22
  ? `
23
23
 
24
- 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.`
24
+ 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.
25
+
26
+ **Coordination principles** — default to safe coordination over maximum parallelism:
27
+
28
+ **Coordination checklist for coupled or multi-worker implementation:**
29
+
30
+ For coupled or multi-worker implementation, identify before delegating:
31
+ - Shared files or likely conflict points
32
+ - Contracts/APIs/schemas/state flows that must remain stable
33
+ - Which worker owns which files or modules
34
+ - Files workers should treat as read-only, if relevant
35
+ - Validation each worker should run
36
+ - Stop conditions where a worker should report instead of guessing
37
+
38
+ Include ownership and scope details naturally in each worker's task text — no rigid format required.
39
+
40
+ Do not over-process simple single-worker tasks. A clear task, bounded scope, and validation command are enough.`
25
41
  : `
26
42
 
27
43
  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.`
@@ -0,0 +1,3 @@
1
+ You are a nested Anthropic-family subagent working on a bounded task from a parent agent.
2
+
3
+ Prioritize accurate synthesis, careful tool use, and concise reporting. Use the provided task and environment as your source of truth, and do not assume tools or context that are not explicitly available.
@@ -0,0 +1,3 @@
1
+ You are a nested Codex-family subagent working on a bounded software engineering task from a parent agent.
2
+
3
+ Be direct, inspect before acting, prefer small verifiable changes, and return a concise result that clearly states what was found or changed. Use only the tools made available for this nested run.
@@ -0,0 +1,3 @@
1
+ You are a nested GPT-5-family subagent working on a bounded software engineering task from a parent agent.
2
+
3
+ Use concise reasoning, gather only the context needed, act within the assigned scope, and return a result that is easy for the parent agent to use. Use only the tools made available for this nested run.
@@ -0,0 +1,3 @@
1
+ You are a nested subagent working on a bounded task from a parent agent.
2
+
3
+ Focus on the assigned task, use the available tools deliberately, and return a concise result that the parent agent can act on. Do not assume access to context that was not provided in the task or environment section.
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  name: Explorer
3
- description: read-only workspace access. Use for locating files and answering codebase questions.
3
+ description: read-only workspace access with safe shell commands. Use for locating files, answering codebase questions, and checking workspace state.
4
4
  model: inherit
5
5
  provider: inherit
6
6
  canRead: true
7
7
  canWrite: false
8
8
  canSearchWeb: false
9
- canRunShell: false
9
+ canRunShell: true
10
10
  maxTurns: 100
11
11
  ---
12
12
 
@@ -14,22 +14,20 @@ You are an explorer subagent. Your job is to locate relevant files, summarize st
14
14
 
15
15
  ## Capabilities
16
16
 
17
- You have read-only access to the workspace. You cannot modify files, run shell commands, or access the web.
17
+ You have read-only access to the workspace and may run safe read-only shell commands for inspection. You cannot modify files, run state-changing commands, or access the web.
18
18
 
19
19
  ## Instructions
20
20
 
21
- - Use `read_file` to read file contents.
22
- - Use `grep` to search for symbols, patterns, or text in files.
23
- - Use `find_files` to locate files by name or glob pattern.
24
- - Use `read_code_outline` for a compact structural overview of a file.
25
- - Use `code_context_search` to find declarations or related files for a symbol.
21
+ - Use only tools listed in the Available Tool Guidance section. If a tool is not listed there, it is not available.
22
+ - Use available read, search, code-context, and shell tools to understand the workspace before answering.
26
23
 
27
24
  ## Approach
28
25
 
29
26
  1. Start with targeted searches to locate relevant files.
30
27
  2. Read only the files necessary to answer the question.
31
- 3. Provide specific file paths and line numbers in your answer when relevant.
32
- 4. Report what you found, not what you looked at.
28
+ 3. Use safe shell commands only when they help with inspection or locating code.
29
+ 4. Provide specific file paths and line numbers in your answer when relevant.
30
+ 5. Report what you found, not what you looked at.
33
31
 
34
32
  ## Final Report
35
33
 
@@ -20,7 +20,8 @@ You have access to web search and web fetch tools, and read-only access to the w
20
20
 
21
21
  - Use `web_search` to find relevant external documentation, articles, or information.
22
22
  - Use `web_fetch` to retrieve the content of specific URLs.
23
- - Use `read_file`, `grep`, `find_files`, `read_code_outline`, and `code_context_search` to read workspace files when relevant.
23
+ - Use only tools listed in the Available Tool Guidance section. If a tool is not listed there, it is not available.
24
+ - Use available read, search, and code-context tools to inspect workspace files when relevant.
24
25
 
25
26
  ## Approach
26
27
 
@@ -18,11 +18,17 @@ You have read and write access to the workspace (within the assigned write bound
18
18
 
19
19
  ## Instructions
20
20
 
21
- - Use `read_file`, `grep`, `find_files`, `read_code_outline`, and `code_context_search` to understand the code before editing.
22
- - Use `apply_patch`, `search_replace`, or `create_file` to make the requested changes.
21
+ - Use only tools listed in the Available Tool Guidance section. If a tool is not listed there, it is not available.
22
+ - Use available read, search, and code-context tools to understand the code before editing.
23
+ - Use available write tools to make the requested changes.
23
24
  - Read relevant files before editing them.
24
25
  - Keep edits limited to the assigned scope. Do not broaden the task.
25
- - Do not revert or overwrite changes that appear to have been made by another agent or external process.
26
+
27
+ ## Scope discipline
28
+
29
+ - If the parent names editable, read-only, or forbidden files in the task, obey those boundaries strictly.
30
+ - If needed work falls outside the assigned scope, **stop and report** rather than broadening the task yourself.
31
+ - Treat the task scope as a contract. When in doubt about whether a change is in scope, report the ambiguity and wait for guidance.
26
32
 
27
33
  ## Write Policy
28
34
 
@@ -35,6 +41,9 @@ You have read and write access to the workspace (within the assigned write bound
35
41
  After completing the task, return a concise report that includes:
36
42
  - A summary of what was changed and why
37
43
  - Every file that was created or modified (full relative paths)
44
+ - The exact validation command you ran and its result (pass/fail)
38
45
  - Any issues encountered or assumptions made
46
+ - Any scope conflicts: work you identified as needed but that fell outside your assigned scope
39
47
 
40
48
  Do not include implementation details that are already visible in the diff.
49
+ Do not claim work you did not do.
@@ -0,0 +1,6 @@
1
+ ## Worktree Hygiene
2
+
3
+ - Preserve unrelated user work. Never revert, overwrite, or remove unrelated changes.
4
+ - Read-only roles treat dirty files as the current source of truth and never modify files.
5
+ - Worker roles must inspect dirty state before edits when practical and avoid unrelated dirty files.
6
+ - Worker roles should run relevant validation when practical and report any validation that could not be run.
@@ -1,6 +1,8 @@
1
1
  import { type AnthropicProviderSettings } from '@ai-sdk/anthropic';
2
2
  import { type ModelProvider, type Model } from '@openai/agents-core';
3
- export declare function addAnthropicPromptCachingToMessages(messages: any[], modelId?: string): any[];
3
+ export type AnthropicPromptCachingPredicate = (modelId: string) => boolean;
4
+ export declare function addAnthropicPromptCachingToMessages(messages: any[], modelId?: string, shouldApplyPromptCaching?: AnthropicPromptCachingPredicate): any[];
5
+ export declare function getMaxOutputTokens(modelId: string): number;
4
6
  export type AiSdkAnthropicConfig = Pick<AnthropicProviderSettings, 'baseURL' | 'apiKey' | 'authToken' | 'headers' | 'fetch' | 'name'>;
5
7
  export type AiSdkAnthropicProviderFactory = (options: AiSdkAnthropicConfig) => (modelId: string) => any;
6
8
  export declare class AiSdkAnthropicProvider implements ModelProvider {
@@ -9,6 +11,7 @@ export declare class AiSdkAnthropicProvider implements ModelProvider {
9
11
  defaultModel: string;
10
12
  resolveConfig: () => AiSdkAnthropicConfig;
11
13
  createProvider?: AiSdkAnthropicProviderFactory;
14
+ shouldApplyPromptCaching?: AnthropicPromptCachingPredicate;
12
15
  });
13
16
  getModel(modelName?: string): Promise<Model> | Model;
14
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ai-sdk-anthropic.provider.d.ts","sourceRoot":"","sources":["../../source/providers/ai-sdk-anthropic.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAarE,wBAAgB,mCAAmC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CA0C5F;AA6BD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,yBAAyB,EACzB,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAClE,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,CAAC,OAAO,EAAE,MAAM,KAAK,GAAG,CAAC;AAExG,qBAAa,sBAAuB,YAAW,aAAa;;gBAK9C,IAAI,EAAE;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,oBAAoB,CAAC;QAC1C,cAAc,CAAC,EAAE,6BAA6B,CAAC;KAChD;IAMD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK;CAOrD"}
1
+ {"version":3,"file":"ai-sdk-anthropic.provider.d.ts","sourceRoot":"","sources":["../../source/providers/ai-sdk-anthropic.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAQrE,MAAM,MAAM,+BAA+B,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;AAO3E,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,GAAG,EAAE,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,wBAAwB,GAAE,+BAAwE,GACjG,GAAG,EAAE,CA0CP;AAgDD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK1D;AAuBD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,yBAAyB,EACzB,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAClE,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,CAAC,OAAO,EAAE,MAAM,KAAK,GAAG,CAAC;AAExG,qBAAa,sBAAuB,YAAW,aAAa;;gBAM9C,IAAI,EAAE;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,oBAAoB,CAAC;QAC1C,cAAc,CAAC,EAAE,6BAA6B,CAAC;QAC/C,wBAAwB,CAAC,EAAE,+BAA+B,CAAC;KAC5D;IAOD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK;CAYrD"}
@@ -1,12 +1,12 @@
1
1
  import { createAnthropic } from '@ai-sdk/anthropic';
2
2
  import { wrapLanguageModel } from 'ai';
3
3
  import { adaptAiSdkModelForAgents } from './ai-sdk-agents-adapter.js';
4
- function isAnthropicModel(modelId) {
4
+ function defaultAnthropicPromptCachingPredicate(modelId) {
5
5
  const lowerModelId = modelId.toLowerCase();
6
6
  return lowerModelId.includes('anthropic') || lowerModelId.includes('claude');
7
7
  }
8
- export function addAnthropicPromptCachingToMessages(messages, modelId) {
9
- if (!Array.isArray(messages) || messages.length === 0 || !modelId || !isAnthropicModel(modelId)) {
8
+ export function addAnthropicPromptCachingToMessages(messages, modelId, shouldApplyPromptCaching = defaultAnthropicPromptCachingPredicate) {
9
+ if (!Array.isArray(messages) || messages.length === 0 || !modelId || !shouldApplyPromptCaching(modelId)) {
10
10
  return messages;
11
11
  }
12
12
  const next = messages.map((message) => ({ ...message }));
@@ -42,42 +42,85 @@ export function addAnthropicPromptCachingToMessages(messages, modelId) {
42
42
  }
43
43
  return next;
44
44
  }
45
- const anthropicPromptCachingMiddleware = {
46
- specificationVersion: 'v3',
47
- transformParams: ({ params, model }) => {
48
- const input = params;
49
- if (!Array.isArray(input?.messages) && !Array.isArray(input?.prompt)) {
50
- return input;
51
- }
52
- const modelId = typeof model === 'string' ? model : model?.modelId;
53
- return {
54
- ...input,
55
- ...(Array.isArray(input.messages)
56
- ? { messages: addAnthropicPromptCachingToMessages(input.messages, modelId) }
57
- : {}),
58
- ...(Array.isArray(input.prompt) ? { prompt: addAnthropicPromptCachingToMessages(input.prompt, modelId) } : {}),
59
- };
60
- },
45
+ function createAnthropicPromptCachingMiddleware(shouldApplyPromptCaching) {
46
+ return {
47
+ specificationVersion: 'v3',
48
+ transformParams: ({ params, model }) => {
49
+ const input = params;
50
+ if (!Array.isArray(input?.messages) && !Array.isArray(input?.prompt)) {
51
+ return input;
52
+ }
53
+ const modelId = typeof model === 'string' ? model : model?.modelId;
54
+ return {
55
+ ...input,
56
+ ...(Array.isArray(input.messages)
57
+ ? { messages: addAnthropicPromptCachingToMessages(input.messages, modelId, shouldApplyPromptCaching) }
58
+ : {}),
59
+ ...(Array.isArray(input.prompt)
60
+ ? { prompt: addAnthropicPromptCachingToMessages(input.prompt, modelId, shouldApplyPromptCaching) }
61
+ : {}),
62
+ };
63
+ },
64
+ };
65
+ }
66
+ const MAX_OUTPUT_TOKENS_MAP = {
67
+ 'minimax-m3': 131072,
68
+ 'qwen3.5-plus': 65536,
69
+ 'mimo-v2-omni': 128000,
70
+ 'kimi-k2.6': 65536,
71
+ 'qwen3.7-max': 65536,
72
+ 'qwen3.6-plus': 65536,
73
+ 'minimax-m2.7': 131072,
74
+ 'deepseek-v4-flash': 384000,
75
+ 'glm-5': 32768,
76
+ 'minimax-m2.5': 65536,
77
+ 'mimo-v2-pro': 128000,
78
+ 'qwen3.7-plus': 65536,
79
+ 'mimo-v2.5': 128000,
80
+ 'deepseek-v4-pro': 384000,
81
+ 'kimi-k2.5': 65536,
82
+ 'glm-5.1': 32768,
83
+ 'mimo-v2.5-pro': 128000,
61
84
  };
62
- function withAnthropicPromptCaching(model) {
85
+ export function getMaxOutputTokens(modelId) {
86
+ const defaultLimit = 65536;
87
+ if (!modelId)
88
+ return defaultLimit;
89
+ const key = modelId.split('/').pop()?.toLowerCase() ?? '';
90
+ return MAX_OUTPUT_TOKENS_MAP[key] ?? defaultLimit;
91
+ }
92
+ function withAnthropicPromptCaching(model, shouldApplyPromptCaching, modelId) {
93
+ const maxOutputTokens = getMaxOutputTokens(modelId);
63
94
  return wrapLanguageModel({
64
95
  model: model,
65
- middleware: anthropicPromptCachingMiddleware,
96
+ middleware: [
97
+ {
98
+ specificationVersion: 'v3',
99
+ transformParams: async ({ params }) => ({
100
+ ...params,
101
+ maxOutputTokens,
102
+ }),
103
+ },
104
+ createAnthropicPromptCachingMiddleware(shouldApplyPromptCaching),
105
+ ],
66
106
  });
67
107
  }
68
108
  export class AiSdkAnthropicProvider {
69
109
  #defaultModel;
70
110
  #resolveConfig;
71
111
  #createProvider;
112
+ #shouldApplyPromptCaching;
72
113
  constructor(deps) {
73
114
  this.#defaultModel = deps.defaultModel;
74
115
  this.#resolveConfig = deps.resolveConfig;
75
116
  this.#createProvider = deps.createProvider ?? createAnthropic;
117
+ this.#shouldApplyPromptCaching = deps.shouldApplyPromptCaching ?? defaultAnthropicPromptCachingPredicate;
76
118
  }
77
119
  getModel(modelName) {
78
120
  const config = this.#resolveConfig();
79
121
  const provider = this.#createProvider(config);
80
- const model = withAnthropicPromptCaching(provider(modelName || this.#defaultModel));
122
+ const resolvedModelName = modelName || this.#defaultModel;
123
+ const model = withAnthropicPromptCaching(provider(resolvedModelName), this.#shouldApplyPromptCaching, resolvedModelName);
81
124
  return adaptAiSdkModelForAgents(model, undefined, 'anthropic');
82
125
  }
83
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ai-sdk-anthropic.provider.js","sourceRoot":"","sources":["../../source/providers/ai-sdk-anthropic.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-sdk-anthropic.provider.js","sourceRoot":"","sources":["../../source/providers/ai-sdk-anthropic.provider.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import test from 'ava';
2
- import { addAnthropicPromptCachingToMessages, AiSdkAnthropicProvider } from './ai-sdk-anthropic.provider.js';
2
+ import { addAnthropicPromptCachingToMessages, AiSdkAnthropicProvider, getMaxOutputTokens, } from './ai-sdk-anthropic.provider.js';
3
3
  test('addAnthropicPromptCachingToMessages adds cacheControl to the last Anthropic message only', (t) => {
4
4
  const messages = [
5
5
  { role: 'system', content: 'system' },
@@ -73,6 +73,20 @@ test('addAnthropicPromptCachingToMessages leaves non-Anthropic models unchanged'
73
73
  const result = addAnthropicPromptCachingToMessages(messages, 'gpt-4.1');
74
74
  t.is(result, messages);
75
75
  });
76
+ test('addAnthropicPromptCachingToMessages leaves qwen models unchanged by default', (t) => {
77
+ const messages = [{ role: 'user', content: 'hello' }];
78
+ const result = addAnthropicPromptCachingToMessages(messages, 'qwen3-coder');
79
+ t.is(result, messages);
80
+ });
81
+ test('addAnthropicPromptCachingToMessages supports provider-specific caching predicates', (t) => {
82
+ const messages = [{ role: 'user', content: 'hello' }];
83
+ const result = addAnthropicPromptCachingToMessages(messages, 'qwen3-coder', (modelId) => modelId.includes('qwen'));
84
+ t.deepEqual(result[0].providerOptions, {
85
+ anthropic: {
86
+ cacheControl: { type: 'ephemeral' },
87
+ },
88
+ });
89
+ });
76
90
  test('AiSdkAnthropicProvider can be instantiated for Anthropic models', (t) => {
77
91
  const provider = new AiSdkAnthropicProvider({
78
92
  defaultModel: 'claude-sonnet-4-5',
@@ -84,4 +98,13 @@ test('AiSdkAnthropicProvider can be instantiated for Anthropic models', (t) => {
84
98
  });
85
99
  t.truthy(provider);
86
100
  });
101
+ test('getMaxOutputTokens maps models correctly and defaults to 65536', (t) => {
102
+ t.is(getMaxOutputTokens('minimax-m3'), 131072);
103
+ t.is(getMaxOutputTokens('qwen3.5-plus'), 65536);
104
+ t.is(getMaxOutputTokens('deepseek-v4-flash'), 384000);
105
+ t.is(getMaxOutputTokens('glm-5.1'), 32768);
106
+ t.is(getMaxOutputTokens('anthropic/mimo-v2-omni'), 128000);
107
+ t.is(getMaxOutputTokens('unknown-model'), 65536);
108
+ t.is(getMaxOutputTokens(''), 65536);
109
+ });
87
110
  //# sourceMappingURL=ai-sdk-anthropic.provider.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-sdk-anthropic.provider.test.js","sourceRoot":"","sources":["../../source/providers/ai-sdk-anthropic.provider.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAE,mCAAmC,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE7G,IAAI,CAAC,0FAA0F,EAAE,CAAC,CAAC,EAAE,EAAE;IACrG,MAAM,QAAQ,GAAG;QACf,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;QACrC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;KAClC,CAAC;IAEF,MAAM,MAAM,GAAG,mCAAmC,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAElF,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE;QACrC,SAAS,EAAE;YACT,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SACpC;KACF,CAAC,CAAC;IACH,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE;QACrC,SAAS,EAAE;YACT,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SACpC;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6FAA6F,EAAE,CAAC,CAAC,EAAE,EAAE;IACxG,MAAM,QAAQ,GAAG;QACf,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;QACvC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;QACnC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;QACnC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE;QAC7C,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;QACvC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;QACnC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;KACpC,CAAC;IAEF,MAAM,MAAM,GAAG,mCAAmC,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAElF,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE;QACrC,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;KACnD,CAAC,CAAC;IACH,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE;QACrC,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;KACnD,CAAC,CAAC;IACH,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE;QACrC,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;KACnD,CAAC,CAAC;IACH,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kFAAkF,EAAE,CAAC,CAAC,EAAE,EAAE;IAC7F,MAAM,QAAQ,GAAG;QACf,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,OAAO;YAChB,eAAe,EAAE;gBACf,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;gBACtB,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aACzB;SACF;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,mCAAmC,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;IAE5F,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE;QACrC,SAAS,EAAE;YACT,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SACpC;QACD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KACzB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2EAA2E,EAAE,CAAC,CAAC,EAAE,EAAE;IACtF,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,mCAAmC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAExE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iEAAiE,EAAE,CAAC,CAAC,EAAE,EAAE;IAC5E,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC;QAC1C,YAAY,EAAE,mBAAmB;QACjC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;YACpB,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;SACtC,CAAC;QACF,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAQ;KAClE,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ai-sdk-anthropic.provider.test.js","sourceRoot":"","sources":["../../source/providers/ai-sdk-anthropic.provider.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { type ModelProvider, type Model } from '@openai/agents-core';
2
2
  export type AiSdkOpenAICompatibleConfig = {
3
- providerType?: string;
4
3
  baseURL: string;
5
4
  apiKey?: string;
6
5
  headers?: Record<string, string>;
@@ -18,7 +17,6 @@ export declare class AiSdkOpenAICompatibleProvider implements ModelProvider {
18
17
  #private;
19
18
  constructor(deps: {
20
19
  label: string;
21
- providerType?: string;
22
20
  defaultModel: string;
23
21
  resolveConfig: () => AiSdkOpenAICompatibleConfig;
24
22
  createProvider?: AiSdkOpenAICompatibleProviderFactory;