@qduc/term2 0.1.5 → 0.1.7

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 (741) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +4 -24
  3. package/dist/agent.js.map +1 -1
  4. package/dist/agent.lite-mode.test.d.ts +2 -0
  5. package/dist/agent.lite-mode.test.d.ts.map +1 -0
  6. package/dist/agent.lite-mode.test.js +39 -0
  7. package/dist/agent.lite-mode.test.js.map +1 -0
  8. package/dist/app.d.ts.map +1 -1
  9. package/dist/app.js +11 -32
  10. package/dist/app.js.map +1 -1
  11. package/dist/app.parseInput.test.js +4 -4
  12. package/dist/app.parseInput.test.js.map +1 -1
  13. package/dist/cli.js +44 -29
  14. package/dist/cli.js.map +1 -1
  15. package/dist/components/ApprovalPrompt.d.ts.map +1 -1
  16. package/dist/components/ApprovalPrompt.js +14 -11
  17. package/dist/components/ApprovalPrompt.js.map +1 -1
  18. package/dist/components/Banner.d.ts.map +1 -1
  19. package/dist/components/Banner.js +4 -12
  20. package/dist/components/Banner.js.map +1 -1
  21. package/dist/components/BottomArea.d.ts.map +1 -1
  22. package/dist/components/BottomArea.js +4 -7
  23. package/dist/components/BottomArea.js.map +1 -1
  24. package/dist/components/BottomArea.test.js +4 -6
  25. package/dist/components/BottomArea.test.js.map +1 -1
  26. package/dist/components/ChatMessage.d.ts.map +1 -1
  27. package/dist/components/ChatMessage.js.map +1 -1
  28. package/dist/components/CommandMessage.d.ts.map +1 -1
  29. package/dist/components/CommandMessage.js +19 -30
  30. package/dist/components/CommandMessage.js.map +1 -1
  31. package/dist/components/CommandMessage.test.js +2 -2
  32. package/dist/components/CommandMessage.test.js.map +1 -1
  33. package/dist/components/ErrorBoundary.d.ts.map +1 -1
  34. package/dist/components/ErrorBoundary.js +3 -9
  35. package/dist/components/ErrorBoundary.js.map +1 -1
  36. package/dist/components/ErrorBoundary.test.js +2 -2
  37. package/dist/components/ErrorBoundary.test.js.map +1 -1
  38. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  39. package/dist/components/Input/PopupManager.js.map +1 -1
  40. package/dist/components/InputBox.d.ts.map +1 -1
  41. package/dist/components/InputBox.js +15 -33
  42. package/dist/components/InputBox.js.map +1 -1
  43. package/dist/components/InputBox.menu-logic.test.js +6 -7
  44. package/dist/components/InputBox.menu-logic.test.js.map +1 -1
  45. package/dist/components/InputBox.test.js +7 -9
  46. package/dist/components/InputBox.test.js.map +1 -1
  47. package/dist/components/LiveResponse.d.ts.map +1 -1
  48. package/dist/components/LiveResponse.js.map +1 -1
  49. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  50. package/dist/components/MarkdownRenderer.js +12 -12
  51. package/dist/components/MarkdownRenderer.js.map +1 -1
  52. package/dist/components/MessageList.d.ts.map +1 -1
  53. package/dist/components/MessageList.js.map +1 -1
  54. package/dist/components/MessageList.test.js +1 -1
  55. package/dist/components/MessageList.test.js.map +1 -1
  56. package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
  57. package/dist/components/ModelSelectionMenu.js +11 -16
  58. package/dist/components/ModelSelectionMenu.js.map +1 -1
  59. package/dist/components/ModelSelectionMenu.test.js +9 -9
  60. package/dist/components/ModelSelectionMenu.test.js.map +1 -1
  61. package/dist/components/PathSelectionMenu.d.ts.map +1 -1
  62. package/dist/components/PathSelectionMenu.js +1 -1
  63. package/dist/components/PathSelectionMenu.js.map +1 -1
  64. package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
  65. package/dist/components/SettingsSelectionMenu.js +1 -1
  66. package/dist/components/SettingsSelectionMenu.js.map +1 -1
  67. package/dist/components/SettingsSelectionMenu.test.js +4 -4
  68. package/dist/components/SettingsSelectionMenu.test.js.map +1 -1
  69. package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
  70. package/dist/components/SettingsValueSelectionMenu.js +5 -6
  71. package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
  72. package/dist/components/SettingsValueSelectionMenu.test.js +5 -5
  73. package/dist/components/SettingsValueSelectionMenu.test.js.map +1 -1
  74. package/dist/components/SlashCommandMenu.d.ts.map +1 -1
  75. package/dist/components/SlashCommandMenu.js +1 -1
  76. package/dist/components/SlashCommandMenu.js.map +1 -1
  77. package/dist/components/StatusBar.d.ts.map +1 -1
  78. package/dist/components/StatusBar.js +3 -4
  79. package/dist/components/StatusBar.js.map +1 -1
  80. package/dist/components/TextInput.d.ts.map +1 -1
  81. package/dist/components/TextInput.js +2 -1
  82. package/dist/components/TextInput.js.map +1 -1
  83. package/dist/components/TextInput.test.js.map +1 -1
  84. package/dist/context/InputContext.d.ts.map +1 -1
  85. package/dist/context/InputContext.js.map +1 -1
  86. package/dist/context/InputContext.stability.test.js +1 -1
  87. package/dist/context/InputContext.stability.test.js.map +1 -1
  88. package/dist/context/InputContext.test.js +15 -15
  89. package/dist/context/InputContext.test.js.map +1 -1
  90. package/dist/debug_ask_mentor.d.ts +2 -0
  91. package/dist/debug_ask_mentor.d.ts.map +1 -0
  92. package/dist/debug_ask_mentor.js +73 -0
  93. package/dist/debug_ask_mentor.js.map +1 -0
  94. package/dist/hooks/use-conversation.d.ts +3 -13
  95. package/dist/hooks/use-conversation.d.ts.map +1 -1
  96. package/dist/hooks/use-conversation.js +35 -184
  97. package/dist/hooks/use-conversation.js.map +1 -1
  98. package/dist/hooks/use-input-history.d.ts.map +1 -1
  99. package/dist/hooks/use-input-history.js +1 -3
  100. package/dist/hooks/use-input-history.js.map +1 -1
  101. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  102. package/dist/hooks/use-model-selection.js +8 -10
  103. package/dist/hooks/use-model-selection.js.map +1 -1
  104. package/dist/hooks/use-path-completion.d.ts.map +1 -1
  105. package/dist/hooks/use-path-completion.js +6 -6
  106. package/dist/hooks/use-path-completion.js.map +1 -1
  107. package/dist/hooks/use-setting.d.ts.map +1 -1
  108. package/dist/hooks/use-setting.js +3 -6
  109. package/dist/hooks/use-setting.js.map +1 -1
  110. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  111. package/dist/hooks/use-settings-completion.js +10 -12
  112. package/dist/hooks/use-settings-completion.js.map +1 -1
  113. package/dist/hooks/use-settings-completion.test.js +46 -46
  114. package/dist/hooks/use-settings-completion.test.js.map +1 -1
  115. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  116. package/dist/hooks/use-settings-value-completion.js +13 -43
  117. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  118. package/dist/hooks/use-settings-value-completion.test.js +12 -18
  119. package/dist/hooks/use-settings-value-completion.test.js.map +1 -1
  120. package/dist/hooks/use-slash-commands.d.ts +1 -1
  121. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  122. package/dist/hooks/use-slash-commands.js +6 -11
  123. package/dist/hooks/use-slash-commands.js.map +1 -1
  124. package/dist/hooks/use-slash-commands.test.js +24 -24
  125. package/dist/hooks/use-slash-commands.test.js.map +1 -1
  126. package/dist/lib/editor-impl.d.ts.map +1 -1
  127. package/dist/lib/editor-impl.js +6 -16
  128. package/dist/lib/editor-impl.js.map +1 -1
  129. package/dist/lib/editor-impl.test.js.map +1 -1
  130. package/dist/lib/openai-agent-client.chat.test.js +33 -8
  131. package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
  132. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  133. package/dist/lib/openai-agent-client.flex-tier.test.js +5 -5
  134. package/dist/lib/openai-agent-client.flex-tier.test.js.map +1 -1
  135. package/dist/lib/openai-agent-client.js +89 -85
  136. package/dist/lib/openai-agent-client.js.map +1 -1
  137. package/dist/lib/openai-agent-client.public-methods.test.js +186 -12
  138. package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
  139. package/dist/lib/openai-agent-client.test.js +17 -17
  140. package/dist/lib/openai-agent-client.test.js.map +1 -1
  141. package/dist/lib/openai-strict-tool-schema.d.ts +10 -0
  142. package/dist/lib/openai-strict-tool-schema.d.ts.map +1 -0
  143. package/dist/lib/openai-strict-tool-schema.js +39 -0
  144. package/dist/lib/openai-strict-tool-schema.js.map +1 -0
  145. package/dist/lib/openai-strict-tool-schema.test.d.ts +2 -0
  146. package/dist/lib/openai-strict-tool-schema.test.d.ts.map +1 -0
  147. package/dist/lib/openai-strict-tool-schema.test.js +26 -0
  148. package/dist/lib/openai-strict-tool-schema.test.js.map +1 -0
  149. package/dist/lib/tool-invoke.d.ts.map +1 -1
  150. package/dist/lib/tool-invoke.js.map +1 -1
  151. package/dist/lib/tool-invoke.test.js.map +1 -1
  152. package/dist/modes/companion/command-index.d.ts +26 -0
  153. package/dist/modes/companion/command-index.d.ts.map +1 -0
  154. package/dist/modes/companion/command-index.js +50 -0
  155. package/dist/modes/companion/command-index.js.map +1 -0
  156. package/dist/modes/companion/command-index.test.d.ts +2 -0
  157. package/dist/modes/companion/command-index.test.d.ts.map +1 -0
  158. package/dist/modes/companion/command-index.test.js +86 -0
  159. package/dist/modes/companion/command-index.test.js.map +1 -0
  160. package/dist/modes/companion/companion-app.d.ts +12 -0
  161. package/dist/modes/companion/companion-app.d.ts.map +1 -0
  162. package/dist/modes/companion/companion-app.js +297 -0
  163. package/dist/modes/companion/companion-app.js.map +1 -0
  164. package/dist/modes/companion/companion-session.d.ts +63 -0
  165. package/dist/modes/companion/companion-session.d.ts.map +1 -0
  166. package/dist/modes/companion/companion-session.js +146 -0
  167. package/dist/modes/companion/companion-session.js.map +1 -0
  168. package/dist/modes/companion/companion-session.test.d.ts +2 -0
  169. package/dist/modes/companion/companion-session.test.d.ts.map +1 -0
  170. package/dist/modes/companion/companion-session.test.js +28 -0
  171. package/dist/modes/companion/companion-session.test.js.map +1 -0
  172. package/dist/modes/companion/components/status-bar.d.ts +13 -0
  173. package/dist/modes/companion/components/status-bar.d.ts.map +1 -0
  174. package/dist/modes/companion/components/status-bar.js +26 -0
  175. package/dist/modes/companion/components/status-bar.js.map +1 -0
  176. package/dist/modes/companion/context-buffer.d.ts +65 -0
  177. package/dist/modes/companion/context-buffer.d.ts.map +1 -0
  178. package/dist/modes/companion/context-buffer.js +156 -0
  179. package/dist/modes/companion/context-buffer.js.map +1 -0
  180. package/dist/modes/companion/context-buffer.test.d.ts +2 -0
  181. package/dist/modes/companion/context-buffer.test.d.ts.map +1 -0
  182. package/dist/modes/companion/context-buffer.test.js +154 -0
  183. package/dist/modes/companion/context-buffer.test.js.map +1 -0
  184. package/dist/modes/companion/event-detector.d.ts +46 -0
  185. package/dist/modes/companion/event-detector.d.ts.map +1 -0
  186. package/dist/modes/companion/event-detector.js +169 -0
  187. package/dist/modes/companion/event-detector.js.map +1 -0
  188. package/dist/modes/companion/event-detector.test.d.ts +2 -0
  189. package/dist/modes/companion/event-detector.test.d.ts.map +1 -0
  190. package/dist/modes/companion/event-detector.test.js +121 -0
  191. package/dist/modes/companion/event-detector.test.js.map +1 -0
  192. package/dist/modes/companion/index.d.ts +33 -0
  193. package/dist/modes/companion/index.d.ts.map +1 -0
  194. package/dist/modes/companion/index.js +21 -0
  195. package/dist/modes/companion/index.js.map +1 -0
  196. package/dist/modes/companion/input-key-mapper.d.ts +3 -0
  197. package/dist/modes/companion/input-key-mapper.d.ts.map +1 -0
  198. package/dist/modes/companion/input-key-mapper.js +31 -0
  199. package/dist/modes/companion/input-key-mapper.js.map +1 -0
  200. package/dist/modes/companion/input-key-mapper.test.d.ts +2 -0
  201. package/dist/modes/companion/input-key-mapper.test.d.ts.map +1 -0
  202. package/dist/modes/companion/input-key-mapper.test.js +26 -0
  203. package/dist/modes/companion/input-key-mapper.test.js.map +1 -0
  204. package/dist/modes/companion/input-parser.d.ts +53 -0
  205. package/dist/modes/companion/input-parser.d.ts.map +1 -0
  206. package/dist/modes/companion/input-parser.js +114 -0
  207. package/dist/modes/companion/input-parser.js.map +1 -0
  208. package/dist/modes/companion/input-parser.test.d.ts +2 -0
  209. package/dist/modes/companion/input-parser.test.d.ts.map +1 -0
  210. package/dist/modes/companion/input-parser.test.js +123 -0
  211. package/dist/modes/companion/input-parser.test.js.map +1 -0
  212. package/dist/modes/companion/mode-manager.d.ts +41 -0
  213. package/dist/modes/companion/mode-manager.d.ts.map +1 -0
  214. package/dist/modes/companion/mode-manager.js +56 -0
  215. package/dist/modes/companion/mode-manager.js.map +1 -0
  216. package/dist/modes/companion/mode-manager.test.d.ts +2 -0
  217. package/dist/modes/companion/mode-manager.test.d.ts.map +1 -0
  218. package/dist/modes/companion/mode-manager.test.js +65 -0
  219. package/dist/modes/companion/mode-manager.test.js.map +1 -0
  220. package/dist/modes/companion/output-classifier.d.ts +15 -0
  221. package/dist/modes/companion/output-classifier.d.ts.map +1 -0
  222. package/dist/modes/companion/output-classifier.js +77 -0
  223. package/dist/modes/companion/output-classifier.js.map +1 -0
  224. package/dist/modes/companion/output-classifier.test.d.ts +2 -0
  225. package/dist/modes/companion/output-classifier.test.d.ts.map +1 -0
  226. package/dist/modes/companion/output-classifier.test.js +133 -0
  227. package/dist/modes/companion/output-classifier.test.js.map +1 -0
  228. package/dist/modes/companion/pty-wrapper.d.ts +46 -0
  229. package/dist/modes/companion/pty-wrapper.d.ts.map +1 -0
  230. package/dist/modes/companion/pty-wrapper.js +143 -0
  231. package/dist/modes/companion/pty-wrapper.js.map +1 -0
  232. package/dist/modes/companion/safety-classifier.d.ts +31 -0
  233. package/dist/modes/companion/safety-classifier.d.ts.map +1 -0
  234. package/dist/modes/companion/safety-classifier.js +140 -0
  235. package/dist/modes/companion/safety-classifier.js.map +1 -0
  236. package/dist/modes/companion/safety-classifier.test.d.ts +2 -0
  237. package/dist/modes/companion/safety-classifier.test.d.ts.map +1 -0
  238. package/dist/modes/companion/safety-classifier.test.js +151 -0
  239. package/dist/modes/companion/safety-classifier.test.js.map +1 -0
  240. package/dist/modes/companion/summarizer.d.ts +24 -0
  241. package/dist/modes/companion/summarizer.d.ts.map +1 -0
  242. package/dist/modes/companion/summarizer.js +132 -0
  243. package/dist/modes/companion/summarizer.js.map +1 -0
  244. package/dist/modes/companion/terminal-history.d.ts +27 -0
  245. package/dist/modes/companion/terminal-history.d.ts.map +1 -0
  246. package/dist/modes/companion/terminal-history.js +142 -0
  247. package/dist/modes/companion/terminal-history.js.map +1 -0
  248. package/dist/no-singleton-imports.test.js +1 -1
  249. package/dist/no-singleton-imports.test.js.map +1 -1
  250. package/dist/non-interactive.d.ts +20 -0
  251. package/dist/non-interactive.d.ts.map +1 -0
  252. package/dist/non-interactive.js +86 -0
  253. package/dist/non-interactive.js.map +1 -0
  254. package/dist/non-interactive.test.d.ts +2 -0
  255. package/dist/non-interactive.test.d.ts.map +1 -0
  256. package/dist/non-interactive.test.js +213 -0
  257. package/dist/non-interactive.test.js.map +1 -0
  258. package/dist/prompts/anthropic.md +11 -11
  259. package/dist/prompts/codex.md +63 -63
  260. package/dist/prompts/gpt-5.md +95 -95
  261. package/dist/prompts/mentor-addon.md +6 -5
  262. package/dist/prompts/prompt-selector.d.ts +8 -0
  263. package/dist/prompts/prompt-selector.d.ts.map +1 -0
  264. package/dist/prompts/prompt-selector.js +21 -0
  265. package/dist/prompts/prompt-selector.js.map +1 -0
  266. package/dist/prompts/prompt-selector.test.d.ts +2 -0
  267. package/dist/prompts/prompt-selector.test.d.ts.map +1 -0
  268. package/dist/prompts/prompt-selector.test.js +21 -0
  269. package/dist/prompts/prompt-selector.test.js.map +1 -0
  270. package/dist/prompts/prompt-selector.test.ts +32 -0
  271. package/dist/prompts/prompt-selector.ts +30 -0
  272. package/dist/prompts/simple-mentor.md +8 -0
  273. package/dist/prompts/simple.md +58 -58
  274. package/dist/providers/github-copilot/model.d.ts.map +1 -1
  275. package/dist/providers/github-copilot/model.js +25 -108
  276. package/dist/providers/github-copilot/model.js.map +1 -1
  277. package/dist/providers/github-copilot/model.test.d.ts +2 -0
  278. package/dist/providers/github-copilot/model.test.d.ts.map +1 -0
  279. package/dist/providers/github-copilot/model.test.js +63 -0
  280. package/dist/providers/github-copilot/model.test.js.map +1 -0
  281. package/dist/providers/github-copilot/provider.d.ts +0 -5
  282. package/dist/providers/github-copilot/provider.d.ts.map +1 -1
  283. package/dist/providers/github-copilot/provider.js +2 -7
  284. package/dist/providers/github-copilot/provider.js.map +1 -1
  285. package/dist/providers/index.d.ts.map +1 -1
  286. package/dist/providers/index.js.map +1 -1
  287. package/dist/providers/openai-compatible/api.d.ts.map +1 -1
  288. package/dist/providers/openai-compatible/api.js.map +1 -1
  289. package/dist/providers/openai-compatible/model.d.ts.map +1 -1
  290. package/dist/providers/openai-compatible/model.js +22 -56
  291. package/dist/providers/openai-compatible/model.js.map +1 -1
  292. package/dist/providers/openai-compatible/provider.d.ts.map +1 -1
  293. package/dist/providers/openai-compatible/provider.js.map +1 -1
  294. package/dist/providers/openai-compatible/reasoning-content.test.js +72 -2
  295. package/dist/providers/openai-compatible/reasoning-content.test.js.map +1 -1
  296. package/dist/providers/openai-compatible/utils.d.ts.map +1 -1
  297. package/dist/providers/openai-compatible/utils.js.map +1 -1
  298. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  299. package/dist/providers/openai-compatible.provider.js +5 -1
  300. package/dist/providers/openai-compatible.provider.js.map +1 -1
  301. package/dist/providers/openai.provider.js +4 -0
  302. package/dist/providers/openai.provider.js.map +1 -1
  303. package/dist/providers/openrouter/api.d.ts.map +1 -1
  304. package/dist/providers/openrouter/api.js +5 -13
  305. package/dist/providers/openrouter/api.js.map +1 -1
  306. package/dist/providers/openrouter/converters.d.ts.map +1 -1
  307. package/dist/providers/openrouter/converters.js +9 -28
  308. package/dist/providers/openrouter/converters.js.map +1 -1
  309. package/dist/providers/openrouter/converters.test.js +7 -11
  310. package/dist/providers/openrouter/converters.test.js.map +1 -1
  311. package/dist/providers/openrouter/index.d.ts.map +1 -1
  312. package/dist/providers/openrouter/index.js.map +1 -1
  313. package/dist/providers/openrouter/model.d.ts.map +1 -1
  314. package/dist/providers/openrouter/model.js +22 -58
  315. package/dist/providers/openrouter/model.js.map +1 -1
  316. package/dist/providers/openrouter/provider.d.ts.map +1 -1
  317. package/dist/providers/openrouter/provider.js.map +1 -1
  318. package/dist/providers/openrouter/reasoning-content.test.js +1 -1
  319. package/dist/providers/openrouter/reasoning-content.test.js.map +1 -1
  320. package/dist/providers/openrouter/utils.d.ts +1 -0
  321. package/dist/providers/openrouter/utils.d.ts.map +1 -1
  322. package/dist/providers/openrouter/utils.js +5 -3
  323. package/dist/providers/openrouter/utils.js.map +1 -1
  324. package/dist/providers/openrouter.api.retry.test.js.map +1 -1
  325. package/dist/providers/openrouter.provider.createRunner.test.js +1 -1
  326. package/dist/providers/openrouter.provider.createRunner.test.js.map +1 -1
  327. package/dist/providers/openrouter.provider.js +6 -4
  328. package/dist/providers/openrouter.provider.js.map +1 -1
  329. package/dist/providers/openrouter.test.js +77 -17
  330. package/dist/providers/openrouter.test.js.map +1 -1
  331. package/dist/providers/registry.d.ts +5 -0
  332. package/dist/providers/registry.d.ts.map +1 -1
  333. package/dist/providers/registry.js.map +1 -1
  334. package/dist/providers/registry.test.js +11 -11
  335. package/dist/providers/registry.test.js.map +1 -1
  336. package/dist/providers/web-search/index.d.ts +1 -1
  337. package/dist/providers/web-search/index.d.ts.map +1 -1
  338. package/dist/providers/web-search/index.js.map +1 -1
  339. package/dist/providers/web-search/registry.d.ts.map +1 -1
  340. package/dist/providers/web-search/registry.js.map +1 -1
  341. package/dist/providers/web-search/registry.test.js +14 -14
  342. package/dist/providers/web-search/registry.test.js.map +1 -1
  343. package/dist/providers/web-search/tavily.provider.d.ts.map +1 -1
  344. package/dist/providers/web-search/tavily.provider.js +4 -4
  345. package/dist/providers/web-search/tavily.provider.js.map +1 -1
  346. package/dist/providers/web-search/tavily.provider.test.js +7 -7
  347. package/dist/providers/web-search/tavily.provider.test.js.map +1 -1
  348. package/dist/providers/web-search/types.d.ts.map +1 -1
  349. package/dist/scripts/extract-provider-traffic.d.ts +3 -0
  350. package/dist/scripts/extract-provider-traffic.d.ts.map +1 -0
  351. package/dist/scripts/extract-provider-traffic.js +32 -0
  352. package/dist/scripts/extract-provider-traffic.js.map +1 -0
  353. package/dist/services/approval-state.d.ts +24 -0
  354. package/dist/services/approval-state.d.ts.map +1 -0
  355. package/dist/services/approval-state.js +41 -0
  356. package/dist/services/approval-state.js.map +1 -0
  357. package/dist/services/approval-state.test.d.ts +2 -0
  358. package/dist/services/approval-state.test.d.ts.map +1 -0
  359. package/dist/services/approval-state.test.js +59 -0
  360. package/dist/services/approval-state.test.js.map +1 -0
  361. package/dist/services/check_mock.d.ts +2 -0
  362. package/dist/services/check_mock.d.ts.map +1 -0
  363. package/dist/services/check_mock.js +22 -0
  364. package/dist/services/check_mock.js.map +1 -0
  365. package/dist/services/command-message-streaming.d.ts +12 -0
  366. package/dist/services/command-message-streaming.d.ts.map +1 -0
  367. package/dist/services/command-message-streaming.js +68 -0
  368. package/dist/services/command-message-streaming.js.map +1 -0
  369. package/dist/services/command-message-streaming.test.d.ts +2 -0
  370. package/dist/services/command-message-streaming.test.d.ts.map +1 -0
  371. package/dist/services/command-message-streaming.test.js +78 -0
  372. package/dist/services/command-message-streaming.test.js.map +1 -0
  373. package/dist/services/conversation-events.d.ts +2 -13
  374. package/dist/services/conversation-events.d.ts.map +1 -1
  375. package/dist/services/conversation-integration.test.d.ts +2 -0
  376. package/dist/services/conversation-integration.test.d.ts.map +1 -0
  377. package/dist/services/conversation-integration.test.js +155 -0
  378. package/dist/services/conversation-integration.test.js.map +1 -0
  379. package/dist/services/conversation-service.d.ts +1 -1
  380. package/dist/services/conversation-service.d.ts.map +1 -1
  381. package/dist/services/conversation-service.js.map +1 -1
  382. package/dist/services/conversation-service.test.d.ts +2 -0
  383. package/dist/services/conversation-service.test.d.ts.map +1 -0
  384. package/dist/services/conversation-service.test.js +149 -183
  385. package/dist/services/conversation-service.test.js.map +1 -0
  386. package/dist/services/conversation-session-reasoning.test.js +3 -3
  387. package/dist/services/conversation-session-reasoning.test.js.map +1 -1
  388. package/dist/services/conversation-session.d.ts +5 -17
  389. package/dist/services/conversation-session.d.ts.map +1 -1
  390. package/dist/services/conversation-session.js +164 -275
  391. package/dist/services/conversation-session.js.map +1 -1
  392. package/dist/services/conversation-store.d.ts.map +1 -1
  393. package/dist/services/conversation-store.js +3 -9
  394. package/dist/services/conversation-store.js.map +1 -1
  395. package/dist/services/conversation-store.test.js +17 -14
  396. package/dist/services/conversation-store.test.js.map +1 -1
  397. package/dist/services/execution-context.d.ts.map +1 -1
  398. package/dist/services/execution-context.js.map +1 -1
  399. package/dist/services/execution-context.test.js +7 -7
  400. package/dist/services/execution-context.test.js.map +1 -1
  401. package/dist/services/file-service.d.ts.map +1 -1
  402. package/dist/services/file-service.js +5 -9
  403. package/dist/services/file-service.js.map +1 -1
  404. package/dist/services/history-service.d.ts.map +1 -1
  405. package/dist/services/history-service.js +3 -7
  406. package/dist/services/history-service.js.map +1 -1
  407. package/dist/services/logging-contract.d.ts +74 -0
  408. package/dist/services/logging-contract.d.ts.map +1 -0
  409. package/dist/services/logging-contract.js +157 -0
  410. package/dist/services/logging-contract.js.map +1 -0
  411. package/dist/services/logging-contract.test.d.ts +2 -0
  412. package/dist/services/logging-contract.test.d.ts.map +1 -0
  413. package/dist/services/logging-contract.test.js +66 -0
  414. package/dist/services/logging-contract.test.js.map +1 -0
  415. package/dist/services/logging-service.d.ts +5 -0
  416. package/dist/services/logging-service.d.ts.map +1 -1
  417. package/dist/services/logging-service.js +93 -21
  418. package/dist/services/logging-service.js.map +1 -1
  419. package/dist/services/model-service.d.ts.map +1 -1
  420. package/dist/services/model-service.js +2 -2
  421. package/dist/services/model-service.js.map +1 -1
  422. package/dist/services/model-service.test.js +6 -6
  423. package/dist/services/model-service.test.js.map +1 -1
  424. package/dist/services/service-interfaces.d.ts.map +1 -1
  425. package/dist/services/settings-env.d.ts +9 -0
  426. package/dist/services/settings-env.d.ts.map +1 -0
  427. package/dist/services/settings-env.js +75 -0
  428. package/dist/services/settings-env.js.map +1 -0
  429. package/dist/services/settings-env.test.d.ts +2 -0
  430. package/dist/services/settings-env.test.d.ts.map +1 -0
  431. package/dist/services/settings-env.test.js +32 -0
  432. package/dist/services/settings-env.test.js.map +1 -0
  433. package/dist/services/settings-merger.d.ts +26 -0
  434. package/dist/services/settings-merger.d.ts.map +1 -0
  435. package/dist/services/settings-merger.js +122 -0
  436. package/dist/services/settings-merger.js.map +1 -0
  437. package/dist/services/settings-merger.test.d.ts +2 -0
  438. package/dist/services/settings-merger.test.d.ts.map +1 -0
  439. package/dist/services/settings-merger.test.js +26 -0
  440. package/dist/services/settings-merger.test.js.map +1 -0
  441. package/dist/services/settings-persistence.d.ts +32 -0
  442. package/dist/services/settings-persistence.d.ts.map +1 -0
  443. package/dist/services/settings-persistence.js +134 -0
  444. package/dist/services/settings-persistence.js.map +1 -0
  445. package/dist/services/settings-persistence.test.d.ts +2 -0
  446. package/dist/services/settings-persistence.test.d.ts.map +1 -0
  447. package/dist/services/settings-persistence.test.js +51 -0
  448. package/dist/services/settings-persistence.test.js.map +1 -0
  449. package/dist/services/settings-schema.d.ts +320 -0
  450. package/dist/services/settings-schema.d.ts.map +1 -0
  451. package/dist/services/settings-schema.js +272 -0
  452. package/dist/services/settings-schema.js.map +1 -0
  453. package/dist/services/settings-service.d.ts +4 -248
  454. package/dist/services/settings-service.d.ts.map +1 -1
  455. package/dist/services/settings-service.js +45 -641
  456. package/dist/services/settings-service.js.map +1 -1
  457. package/dist/services/settings-service.mock.d.ts.map +1 -1
  458. package/dist/services/settings-service.mock.js.map +1 -1
  459. package/dist/services/singleton-deprecation.test.js +2 -2
  460. package/dist/services/singleton-deprecation.test.js.map +1 -1
  461. package/dist/services/ssh-service.d.ts.map +1 -1
  462. package/dist/services/ssh-service.js +8 -7
  463. package/dist/services/ssh-service.js.map +1 -1
  464. package/dist/services/ssh-service.test.js +15 -13
  465. package/dist/services/ssh-service.test.js.map +1 -1
  466. package/dist/services/stream-event-parsing.d.ts +4 -0
  467. package/dist/services/stream-event-parsing.d.ts.map +1 -0
  468. package/dist/services/stream-event-parsing.js +76 -0
  469. package/dist/services/stream-event-parsing.js.map +1 -0
  470. package/dist/services/stream-event-parsing.test.d.ts +2 -0
  471. package/dist/services/stream-event-parsing.test.d.ts.map +1 -0
  472. package/dist/services/stream-event-parsing.test.js +59 -0
  473. package/dist/services/stream-event-parsing.test.js.map +1 -0
  474. package/dist/tools/apply-patch.d.ts.map +1 -1
  475. package/dist/tools/apply-patch.js +45 -35
  476. package/dist/tools/apply-patch.js.map +1 -1
  477. package/dist/tools/apply-patch.test.js +23 -0
  478. package/dist/tools/apply-patch.test.js.map +1 -1
  479. package/dist/tools/ask-mentor.d.ts +1 -1
  480. package/dist/tools/ask-mentor.d.ts.map +1 -1
  481. package/dist/tools/ask-mentor.js +5 -15
  482. package/dist/tools/ask-mentor.js.map +1 -1
  483. package/dist/tools/ask-mentor.test.js +10 -4
  484. package/dist/tools/ask-mentor.test.js.map +1 -1
  485. package/dist/tools/create-file.d.ts.map +1 -1
  486. package/dist/tools/create-file.js +2 -2
  487. package/dist/tools/create-file.js.map +1 -1
  488. package/dist/tools/create-file.test.js.map +1 -1
  489. package/dist/tools/edit-healing.d.ts.map +1 -1
  490. package/dist/tools/edit-healing.js +5 -4
  491. package/dist/tools/edit-healing.js.map +1 -1
  492. package/dist/tools/edit-healing.test.js.map +1 -1
  493. package/dist/tools/find-files.d.ts +2 -2
  494. package/dist/tools/find-files.d.ts.map +1 -1
  495. package/dist/tools/find-files.js +10 -27
  496. package/dist/tools/find-files.js.map +1 -1
  497. package/dist/tools/find-files.test.js +8 -21
  498. package/dist/tools/find-files.test.js.map +1 -1
  499. package/dist/tools/format-helpers.d.ts.map +1 -1
  500. package/dist/tools/format-helpers.js +2 -6
  501. package/dist/tools/format-helpers.js.map +1 -1
  502. package/dist/tools/grep.d.ts +2 -2
  503. package/dist/tools/grep.d.ts.map +1 -1
  504. package/dist/tools/grep.js +7 -26
  505. package/dist/tools/grep.js.map +1 -1
  506. package/dist/tools/read-file.d.ts +2 -2
  507. package/dist/tools/read-file.d.ts.map +1 -1
  508. package/dist/tools/read-file.js +5 -11
  509. package/dist/tools/read-file.js.map +1 -1
  510. package/dist/tools/read-file.test.js +7 -13
  511. package/dist/tools/read-file.test.js.map +1 -1
  512. package/dist/tools/search-replace.d.ts +1 -1
  513. package/dist/tools/search-replace.d.ts.map +1 -1
  514. package/dist/tools/search-replace.js +15 -31
  515. package/dist/tools/search-replace.js.map +1 -1
  516. package/dist/tools/search-replace.test.js.map +1 -1
  517. package/dist/tools/search.d.ts +5 -5
  518. package/dist/tools/search.d.ts.map +1 -1
  519. package/dist/tools/search.js +10 -29
  520. package/dist/tools/search.js.map +1 -1
  521. package/dist/tools/shell.d.ts +3 -3
  522. package/dist/tools/shell.d.ts.map +1 -1
  523. package/dist/tools/shell.js +27 -55
  524. package/dist/tools/shell.js.map +1 -1
  525. package/dist/tools/shell.test.d.ts +2 -0
  526. package/dist/tools/shell.test.d.ts.map +1 -0
  527. package/dist/tools/shell.test.js +70 -0
  528. package/dist/tools/shell.test.js.map +1 -0
  529. package/dist/tools/tool-names.d.ts +3 -0
  530. package/dist/tools/tool-names.d.ts.map +1 -0
  531. package/dist/tools/tool-names.js +3 -0
  532. package/dist/tools/tool-names.js.map +1 -0
  533. package/dist/tools/tool-names.test.d.ts +2 -0
  534. package/dist/tools/tool-names.test.d.ts.map +1 -0
  535. package/dist/tools/tool-names.test.js +7 -0
  536. package/dist/tools/tool-names.test.js.map +1 -0
  537. package/dist/tools/tool-parameter-schema.test.d.ts +2 -0
  538. package/dist/tools/tool-parameter-schema.test.d.ts.map +1 -0
  539. package/dist/tools/tool-parameter-schema.test.js +88 -0
  540. package/dist/tools/tool-parameter-schema.test.js.map +1 -0
  541. package/dist/tools/types.d.ts.map +1 -1
  542. package/dist/tools/utils.d.ts.map +1 -1
  543. package/dist/tools/utils.js +3 -8
  544. package/dist/tools/utils.js.map +1 -1
  545. package/dist/tools/web-fetch.d.ts +3 -3
  546. package/dist/tools/web-fetch.d.ts.map +1 -1
  547. package/dist/tools/web-fetch.js +7 -10
  548. package/dist/tools/web-fetch.js.map +1 -1
  549. package/dist/tools/web-fetch.test.js +3 -3
  550. package/dist/tools/web-fetch.test.js.map +1 -1
  551. package/dist/tools/web-search.d.ts.map +1 -1
  552. package/dist/tools/web-search.js +6 -10
  553. package/dist/tools/web-search.js.map +1 -1
  554. package/dist/tools/web-search.test.js +12 -14
  555. package/dist/tools/web-search.test.js.map +1 -1
  556. package/dist/utils/command-logger.d.ts.map +1 -1
  557. package/dist/utils/command-logger.js.map +1 -1
  558. package/dist/utils/command-safety/constants.d.ts.map +1 -1
  559. package/dist/utils/command-safety/constants.js +1 -9
  560. package/dist/utils/command-safety/constants.js.map +1 -1
  561. package/dist/utils/command-safety/find-helpers.d.ts.map +1 -1
  562. package/dist/utils/command-safety/find-helpers.js +4 -9
  563. package/dist/utils/command-safety/find-helpers.js.map +1 -1
  564. package/dist/utils/command-safety/handlers/find-handler.d.ts.map +1 -1
  565. package/dist/utils/command-safety/handlers/find-handler.js +3 -10
  566. package/dist/utils/command-safety/handlers/find-handler.js.map +1 -1
  567. package/dist/utils/command-safety/handlers/git-handler.d.ts.map +1 -1
  568. package/dist/utils/command-safety/handlers/git-handler.js +2 -4
  569. package/dist/utils/command-safety/handlers/git-handler.js.map +1 -1
  570. package/dist/utils/command-safety/handlers/index.d.ts +1 -1
  571. package/dist/utils/command-safety/handlers/index.d.ts.map +1 -1
  572. package/dist/utils/command-safety/handlers/index.js.map +1 -1
  573. package/dist/utils/command-safety/handlers/sed-handler.d.ts.map +1 -1
  574. package/dist/utils/command-safety/handlers/sed-handler.js.map +1 -1
  575. package/dist/utils/command-safety/handlers/types.d.ts.map +1 -1
  576. package/dist/utils/command-safety/index.d.ts.map +1 -1
  577. package/dist/utils/command-safety/index.js +4 -10
  578. package/dist/utils/command-safety/index.js.map +1 -1
  579. package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
  580. package/dist/utils/command-safety/path-analysis.js +9 -20
  581. package/dist/utils/command-safety/path-analysis.js.map +1 -1
  582. package/dist/utils/command-safety/utils.d.ts.map +1 -1
  583. package/dist/utils/command-safety/utils.js +1 -3
  584. package/dist/utils/command-safety/utils.js.map +1 -1
  585. package/dist/utils/command-safety.d.ts.map +1 -1
  586. package/dist/utils/command-safety.devnull.test.d.ts +2 -0
  587. package/dist/utils/command-safety.devnull.test.d.ts.map +1 -0
  588. package/dist/utils/command-safety.devnull.test.js +13 -0
  589. package/dist/utils/command-safety.devnull.test.js.map +1 -0
  590. package/dist/utils/command-safety.find.test.js +44 -87
  591. package/dist/utils/command-safety.find.test.js.map +1 -1
  592. package/dist/utils/command-safety.js +10 -364
  593. package/dist/utils/command-safety.js.map +1 -1
  594. package/dist/utils/command-safety.path.test.js +32 -67
  595. package/dist/utils/command-safety.path.test.js.map +1 -1
  596. package/dist/utils/conversation-event-handler.d.ts +4 -16
  597. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  598. package/dist/utils/conversation-event-handler.js +4 -8
  599. package/dist/utils/conversation-event-handler.js.map +1 -1
  600. package/dist/utils/conversation-event-handler.test.js +16 -18
  601. package/dist/utils/conversation-event-handler.test.js.map +1 -1
  602. package/dist/utils/conversation-utils.d.ts.map +1 -1
  603. package/dist/utils/conversation-utils.js +5 -8
  604. package/dist/utils/conversation-utils.js.map +1 -1
  605. package/dist/utils/conversation-utils.test.js +45 -44
  606. package/dist/utils/conversation-utils.test.js.map +1 -1
  607. package/dist/utils/diff.d.ts.map +1 -1
  608. package/dist/utils/diff.js +2 -4
  609. package/dist/utils/diff.js.map +1 -1
  610. package/dist/utils/diff.test.js +12 -12
  611. package/dist/utils/diff.test.js.map +1 -1
  612. package/dist/utils/error-helpers.d.ts.map +1 -1
  613. package/dist/utils/error-helpers.js +2 -6
  614. package/dist/utils/error-helpers.js.map +1 -1
  615. package/dist/utils/error-helpers.test.js +32 -32
  616. package/dist/utils/error-helpers.test.js.map +1 -1
  617. package/dist/utils/execute-shell.d.ts.map +1 -1
  618. package/dist/utils/execute-shell.js.map +1 -1
  619. package/dist/utils/execute-shell.test.js.map +1 -1
  620. package/dist/utils/extract-command-messages.d.ts.map +1 -1
  621. package/dist/utils/extract-command-messages.js +16 -21
  622. package/dist/utils/extract-command-messages.js.map +1 -1
  623. package/dist/utils/extract-command-messages.test.d.ts +2 -0
  624. package/dist/utils/extract-command-messages.test.d.ts.map +1 -0
  625. package/dist/utils/extract-command-messages.test.js +58 -51
  626. package/dist/utils/extract-command-messages.test.js.map +1 -0
  627. package/dist/utils/ink-render-options.d.ts.map +1 -1
  628. package/dist/utils/ink-render-options.js.map +1 -1
  629. package/dist/utils/log-viewer-filters.d.ts +29 -0
  630. package/dist/utils/log-viewer-filters.d.ts.map +1 -0
  631. package/dist/utils/log-viewer-filters.js +49 -0
  632. package/dist/utils/log-viewer-filters.js.map +1 -0
  633. package/dist/utils/log-viewer-filters.test.d.ts +2 -0
  634. package/dist/utils/log-viewer-filters.test.d.ts.map +1 -0
  635. package/dist/utils/log-viewer-filters.test.js +48 -0
  636. package/dist/utils/log-viewer-filters.test.js.map +1 -0
  637. package/dist/utils/message-buffer.d.ts.map +1 -1
  638. package/dist/utils/message-buffer.js.map +1 -1
  639. package/dist/utils/message-buffer.test.js +4 -4
  640. package/dist/utils/message-buffer.test.js.map +1 -1
  641. package/dist/utils/output-trim.d.ts.map +1 -1
  642. package/dist/utils/output-trim.js.map +1 -1
  643. package/dist/utils/provider-credentials.d.ts.map +1 -1
  644. package/dist/utils/provider-credentials.js +1 -1
  645. package/dist/utils/provider-credentials.js.map +1 -1
  646. package/dist/utils/provider-traffic-extractor.d.ts +18 -0
  647. package/dist/utils/provider-traffic-extractor.d.ts.map +1 -0
  648. package/dist/utils/provider-traffic-extractor.js +121 -0
  649. package/dist/utils/provider-traffic-extractor.js.map +1 -0
  650. package/dist/utils/provider-traffic-extractor.test.d.ts +2 -0
  651. package/dist/utils/provider-traffic-extractor.test.d.ts.map +1 -0
  652. package/dist/utils/provider-traffic-extractor.test.js +84 -0
  653. package/dist/utils/provider-traffic-extractor.test.js.map +1 -0
  654. package/dist/utils/settings-command.d.ts.map +1 -1
  655. package/dist/utils/settings-command.js +5 -12
  656. package/dist/utils/settings-command.js.map +1 -1
  657. package/dist/utils/ssh-config-parser.d.ts.map +1 -1
  658. package/dist/utils/ssh-config-parser.js.map +1 -1
  659. package/dist/utils/ssh-config-parser.test.js.map +1 -1
  660. package/dist/utils/streaming-session-factory.d.ts +33 -0
  661. package/dist/utils/streaming-session-factory.d.ts.map +1 -0
  662. package/dist/utils/streaming-session-factory.js +75 -0
  663. package/dist/utils/streaming-session-factory.js.map +1 -0
  664. package/dist/utils/streaming-session-factory.test.d.ts +2 -0
  665. package/dist/utils/streaming-session-factory.test.d.ts.map +1 -0
  666. package/dist/utils/streaming-session-factory.test.js +74 -0
  667. package/dist/utils/streaming-session-factory.test.js.map +1 -0
  668. package/dist/utils/streaming-updater.d.ts.map +1 -1
  669. package/dist/utils/streaming-updater.js.map +1 -1
  670. package/dist/utils/throttle.d.ts.map +1 -1
  671. package/dist/utils/throttle.js.map +1 -1
  672. package/dist/utils/token-usage.d.ts.map +1 -1
  673. package/dist/utils/token-usage.js +1 -2
  674. package/dist/utils/token-usage.js.map +1 -1
  675. package/dist/utils/token-usage.test.js +8 -8
  676. package/dist/utils/token-usage.test.js.map +1 -1
  677. package/dist/utils/trim-tool-output.d.ts.map +1 -1
  678. package/dist/utils/trim-tool-output.js +1 -1
  679. package/dist/utils/trim-tool-output.js.map +1 -1
  680. package/package.json +117 -111
  681. package/readme.md +196 -145
  682. package/dist/app.model-command-feedback.test.d.ts +0 -2
  683. package/dist/app.model-command-feedback.test.d.ts.map +0 -1
  684. package/dist/app.model-command-feedback.test.js +0 -19
  685. package/dist/app.model-command-feedback.test.js.map +0 -1
  686. package/dist/components/MentorMode.test.d.ts +0 -2
  687. package/dist/components/MentorMode.test.d.ts.map +0 -1
  688. package/dist/components/MentorMode.test.js.map +0 -1
  689. package/dist/components/StatusBar.test.d.ts +0 -2
  690. package/dist/components/StatusBar.test.d.ts.map +0 -1
  691. package/dist/components/StatusBar.test.js +0 -19
  692. package/dist/components/StatusBar.test.js.map +0 -1
  693. package/dist/debug-schema.d.ts +0 -2
  694. package/dist/debug-schema.d.ts.map +0 -1
  695. package/dist/debug-schema.js +0 -22
  696. package/dist/debug-schema.js.map +0 -1
  697. package/dist/hooks/use-model-selection.test.d.ts +0 -2
  698. package/dist/hooks/use-model-selection.test.d.ts.map +0 -1
  699. package/dist/hooks/use-model-selection.test.js +0 -28
  700. package/dist/hooks/use-model-selection.test.js.map +0 -1
  701. package/dist/hooks/use-path-completion.test.d.ts +0 -2
  702. package/dist/hooks/use-path-completion.test.d.ts.map +0 -1
  703. package/dist/hooks/use-path-completion.test.js +0 -29
  704. package/dist/hooks/use-path-completion.test.js.map +0 -1
  705. package/dist/prompts/default.md.bak +0 -77
  706. package/dist/providers/github-copilot/model-direct.d.ts +0 -34
  707. package/dist/providers/github-copilot/model-direct.d.ts.map +0 -1
  708. package/dist/providers/github-copilot/model-direct.js +0 -443
  709. package/dist/providers/github-copilot/model-direct.js.map +0 -1
  710. package/dist/providers/openrouter/merge-messages.test.d.ts +0 -2
  711. package/dist/providers/openrouter/merge-messages.test.d.ts.map +0 -1
  712. package/dist/providers/openrouter/merge-messages.test.js +0 -83
  713. package/dist/providers/openrouter/merge-messages.test.js.map +0 -1
  714. package/dist/providers/openrouter.history.test.d.ts +0 -2
  715. package/dist/providers/openrouter.history.test.d.ts.map +0 -1
  716. package/dist/providers/openrouter.history.test.js +0 -533
  717. package/dist/providers/openrouter.history.test.js.map +0 -1
  718. package/dist/reproduce_issue.test.d.ts +0 -2
  719. package/dist/reproduce_issue.test.d.ts.map +0 -1
  720. package/dist/reproduce_issue.test.js +0 -31
  721. package/dist/reproduce_issue.test.js.map +0 -1
  722. package/dist/services/conversation-session.usage.test.d.ts +0 -2
  723. package/dist/services/conversation-session.usage.test.d.ts.map +0 -1
  724. package/dist/services/conversation-session.usage.test.js +0 -59
  725. package/dist/services/conversation-session.usage.test.js.map +0 -1
  726. package/dist/test-search-tool.d.ts +0 -2
  727. package/dist/test-search-tool.d.ts.map +0 -1
  728. package/dist/test-search-tool.js +0 -36
  729. package/dist/test-search-tool.js.map +0 -1
  730. package/dist/utils/extract-command-messages.repro.test.d.ts +0 -2
  731. package/dist/utils/extract-command-messages.repro.test.d.ts.map +0 -1
  732. package/dist/utils/extract-command-messages.repro.test.js +0 -31
  733. package/dist/utils/extract-command-messages.repro.test.js.map +0 -1
  734. package/dist/utils/message-utils.d.ts +0 -17
  735. package/dist/utils/message-utils.d.ts.map +0 -1
  736. package/dist/utils/message-utils.js +0 -52
  737. package/dist/utils/message-utils.js.map +0 -1
  738. package/dist/utils/message-utils.test.d.ts +0 -2
  739. package/dist/utils/message-utils.test.d.ts.map +0 -1
  740. package/dist/utils/message-utils.test.js +0 -48
  741. package/dist/utils/message-utils.test.js.map +0 -1
@@ -2,9 +2,9 @@ You are GPT-5.1 running in a terminal-based coding assistant. You are expected t
2
2
 
3
3
  Your capabilities:
4
4
 
5
- - Receive user prompts and other context provided by the harness, such as files in the workspace.
6
- - Communicate with the user by streaming thinking & responses, and by making & updating plans.
7
- - Emit function calls to run terminal commands and apply patches.
5
+ - Receive user prompts and other context provided by the harness, such as files in the workspace.
6
+ - Communicate with the user by streaming thinking & responses, and by making & updating plans.
7
+ - Emit function calls to run terminal commands and apply patches.
8
8
 
9
9
  # How you work
10
10
 
@@ -14,16 +14,16 @@ Your default personality and tone is concise, direct, and friendly. You communic
14
14
 
15
15
  # AGENTS.md spec
16
16
 
17
- - Repos often contain AGENTS.md files. These files can appear anywhere within the repository.
18
- - These files are a way for humans to give you (the agent) instructions or tips for working within the container.
19
- - Some examples might be: coding conventions, info about how code is organized, or instructions for how to run or test code.
20
- - Instructions in AGENTS.md files:
21
- - The scope of an AGENTS.md file is the entire directory tree rooted at the folder that contains it.
22
- - For every file you touch in the final patch, you must obey instructions in any AGENTS.md file whose scope includes that file.
23
- - Instructions about code style, structure, naming, etc. apply only to code within the AGENTS.md file's scope, unless the file states otherwise.
24
- - More-deeply-nested AGENTS.md files take precedence in the case of conflicting instructions.
25
- - Direct system/developer/user instructions (as part of a prompt) take precedence over AGENTS.md instructions.
26
- - The contents of the AGENTS.md file at the root of the repo and any directories from the CWD up to the root are included with the developer message and don't need to be re-read. When working in a subdirectory of CWD, or a directory outside the CWD, check for any AGENTS.md files that may be applicable.
17
+ - Repos often contain AGENTS.md files. These files can appear anywhere within the repository.
18
+ - These files are a way for humans to give you (the agent) instructions or tips for working within the container.
19
+ - Some examples might be: coding conventions, info about how code is organized, or instructions for how to run or test code.
20
+ - Instructions in AGENTS.md files:
21
+ - The scope of an AGENTS.md file is the entire directory tree rooted at the folder that contains it.
22
+ - For every file you touch in the final patch, you must obey instructions in any AGENTS.md file whose scope includes that file.
23
+ - Instructions about code style, structure, naming, etc. apply only to code within the AGENTS.md file's scope, unless the file states otherwise.
24
+ - More-deeply-nested AGENTS.md files take precedence in the case of conflicting instructions.
25
+ - Direct system/developer/user instructions (as part of a prompt) take precedence over AGENTS.md instructions.
26
+ - The contents of the AGENTS.md file at the root of the repo and any directories from the CWD up to the root are included with the developer message and don't need to be re-read. When working in a subdirectory of CWD, or a directory outside the CWD, check for any AGENTS.md files that may be applicable.
27
27
 
28
28
  ## Autonomy and Persistence
29
29
 
@@ -39,30 +39,30 @@ You'll work for stretches with tool calls — it's critical to keep the user upd
39
39
 
40
40
  Frequency & Length:
41
41
 
42
- - Send short updates (1–2 sentences) whenever there is a meaningful, important insight you need to share with the user to keep them informed.
43
- - If you expect a longer heads‑down stretch, post a brief heads‑down note with why and when you'll report back; when you resume, summarize what you learned.
44
- - Only the initial plan, plan updates, and final recap can be longer, with multiple bullets and paragraphs
42
+ - Send short updates (1–2 sentences) whenever there is a meaningful, important insight you need to share with the user to keep them informed.
43
+ - If you expect a longer heads‑down stretch, post a brief heads‑down note with why and when you'll report back; when you resume, summarize what you learned.
44
+ - Only the initial plan, plan updates, and final recap can be longer, with multiple bullets and paragraphs
45
45
 
46
46
  Tone:
47
47
 
48
- - Friendly, confident, senior-engineer energy. Positive, collaborative, humble; fix mistakes quickly.
48
+ - Friendly, confident, senior-engineer energy. Positive, collaborative, humble; fix mistakes quickly.
49
49
 
50
50
  Content:
51
51
 
52
- - Before the first tool call, give a quick plan with goal, constraints, next steps.
53
- - While you're exploring, call out meaningful new information and discoveries that you find that helps the user understand what's happening and how you're approaching the solution.
54
- - If you change the plan (e.g., choose an inline tweak instead of a promised helper), say so explicitly in the next update or the recap.
52
+ - Before the first tool call, give a quick plan with goal, constraints, next steps.
53
+ - While you're exploring, call out meaningful new information and discoveries that you find that helps the user understand what's happening and how you're approaching the solution.
54
+ - If you change the plan (e.g., choose an inline tweak instead of a promised helper), say so explicitly in the next update or the recap.
55
55
 
56
56
  **Examples:**
57
57
 
58
- - “I’ve explored the repo; now checking the API route definitions.”
59
- - “Next, I’ll patch the config and update the related tests.”
60
- - “I’m about to scaffold the CLI commands and helper functions.”
61
- - “Ok cool, so I’ve wrapped my head around the repo. Now digging into the API routes.”
62
- - “Config’s looking tidy. Next up is patching helpers to keep things in sync.”
63
- - “Finished poking at the DB gateway. I will now chase down error handling.”
64
- - “Alright, build pipeline order is interesting. Checking how it reports failures.”
65
- - “Spotted a clever caching util; now hunting where it gets used.”
58
+ - “I’ve explored the repo; now checking the API route definitions.”
59
+ - “Next, I’ll patch the config and update the related tests.”
60
+ - “I’m about to scaffold the CLI commands and helper functions.”
61
+ - “Ok cool, so I’ve wrapped my head around the repo. Now digging into the API routes.”
62
+ - “Config’s looking tidy. Next up is patching helpers to keep things in sync.”
63
+ - “Finished poking at the DB gateway. I will now chase down error handling.”
64
+ - “Alright, build pipeline order is interesting. Checking how it reports failures.”
65
+ - “Spotted a clever caching util; now hunting where it gets used.”
66
66
 
67
67
  ## Planning
68
68
 
@@ -74,13 +74,13 @@ When all steps are finished, ensure every step is marked as completed.
74
74
 
75
75
  Use a plan when:
76
76
 
77
- - The task is non-trivial and will require multiple actions over a long time horizon.
78
- - There are logical phases or dependencies where sequencing matters.
79
- - The work has ambiguity that benefits from outlining high-level goals.
80
- - You want intermediate checkpoints for feedback and validation.
81
- - When the user asked you to do more than one thing in a single prompt
82
- - The user has asked you to use the plan tool (aka "TODOs")
83
- - You generate additional steps while working, and plan to do them before yielding to the user
77
+ - The task is non-trivial and will require multiple actions over a long time horizon.
78
+ - There are logical phases or dependencies where sequencing matters.
79
+ - The work has ambiguity that benefits from outlining high-level goals.
80
+ - You want intermediate checkpoints for feedback and validation.
81
+ - When the user asked you to do more than one thing in a single prompt
82
+ - The user has asked you to use the plan tool (aka "TODOs")
83
+ - You generate additional steps while working, and plan to do them before yielding to the user
84
84
 
85
85
  ### Examples
86
86
 
@@ -139,25 +139,25 @@ You are a coding agent. You must keep going until the query or task is completel
139
139
 
140
140
  You MUST adhere to the following criteria when solving queries:
141
141
 
142
- - Working on the repo(s) in the current environment is allowed, even if they are proprietary.
143
- - Analyzing code for vulnerabilities is allowed.
144
- - Showing user code and tool call details is allowed.
145
- - Use the `apply_patch` tool to edit files (NEVER try `applypatch` or `apply-patch`, only `apply_patch`). This is a FREEFORM tool, so do not wrap the patch in JSON.
142
+ - Working on the repo(s) in the current environment is allowed, even if they are proprietary.
143
+ - Analyzing code for vulnerabilities is allowed.
144
+ - Showing user code and tool call details is allowed.
145
+ - Use the `apply_patch` tool to edit files (NEVER try `applypatch` or `apply-patch`, only `apply_patch`). This is a FREEFORM tool, so do not wrap the patch in JSON.
146
146
 
147
147
  If completing the user's task requires writing or modifying files, your code and final answer should follow these coding guidelines, though user instructions (i.e. AGENTS.md) may override these guidelines:
148
148
 
149
- - Fix the problem at the root cause rather than applying surface-level patches, when possible.
150
- - Avoid unneeded complexity in your solution.
151
- - Do not attempt to fix unrelated bugs or broken tests. It is not your responsibility to fix them. (You may mention them to the user in your final message though.)
152
- - Update documentation as necessary.
153
- - Keep changes consistent with the style of the existing codebase. Changes should be minimal and focused on the task.
154
- - Use `git log` and `git blame` to search the history of the codebase if additional context is required.
155
- - NEVER add copyright or license headers unless specifically requested.
156
- - Do not waste tokens by re-reading files after calling `apply_patch` on them. The tool call will fail if it didn't work. The same goes for making folders, deleting folders, etc.
157
- - Do not `git commit` your changes or create new git branches unless explicitly requested.
158
- - Do not add inline comments within code unless explicitly requested.
159
- - Do not use one-letter variable names unless explicitly requested.
160
- - NEVER output inline citations like "【F:README.md†L5-L14】" in your outputs. The CLI is not able to render these so they will just be broken in the UI. Instead, if you output valid filepaths, users will be able to click on them to open the files in their editor.
149
+ - Fix the problem at the root cause rather than applying surface-level patches, when possible.
150
+ - Avoid unneeded complexity in your solution.
151
+ - Do not attempt to fix unrelated bugs or broken tests. It is not your responsibility to fix them. (You may mention them to the user in your final message though.)
152
+ - Update documentation as necessary.
153
+ - Keep changes consistent with the style of the existing codebase. Changes should be minimal and focused on the task.
154
+ - Use `git log` and `git blame` to search the history of the codebase if additional context is required.
155
+ - NEVER add copyright or license headers unless specifically requested.
156
+ - Do not waste tokens by re-reading files after calling `apply_patch` on them. The tool call will fail if it didn't work. The same goes for making folders, deleting folders, etc.
157
+ - Do not `git commit` your changes or create new git branches unless explicitly requested.
158
+ - Do not add inline comments within code unless explicitly requested.
159
+ - Do not use one-letter variable names unless explicitly requested.
160
+ - NEVER output inline citations like "【F:README.md†L5-L14】" in your outputs. The CLI is not able to render these so they will just be broken in the UI. Instead, if you output valid filepaths, users will be able to click on them to open the files in their editor.
161
161
 
162
162
  ## Validating your work
163
163
 
@@ -205,69 +205,69 @@ You are producing plain text that will later be styled by the CLI. Follow these
205
205
 
206
206
  **Section Headers**
207
207
 
208
- - Use only when they improve clarity — they are not mandatory for every answer.
209
- - Choose descriptive names that fit the content
210
- - Keep headers short (1–3 words) and in `**Title Case**`. Always start headers with `**` and end with `**`
211
- - Leave no blank line before the first bullet under a header.
212
- - Section headers should only be used where they genuinely improve scanability; avoid fragmenting the answer.
208
+ - Use only when they improve clarity — they are not mandatory for every answer.
209
+ - Choose descriptive names that fit the content
210
+ - Keep headers short (1–3 words) and in `**Title Case**`. Always start headers with `**` and end with `**`
211
+ - Leave no blank line before the first bullet under a header.
212
+ - Section headers should only be used where they genuinely improve scanability; avoid fragmenting the answer.
213
213
 
214
214
  **Bullets**
215
215
 
216
- - Use `-` followed by a space for every bullet.
217
- - Merge related points when possible; avoid a bullet for every trivial detail.
218
- - Keep bullets to one line unless breaking for clarity is unavoidable.
219
- - Group into short lists (4–6 bullets) ordered by importance.
220
- - Use consistent keyword phrasing and formatting across sections.
216
+ - Use `-` followed by a space for every bullet.
217
+ - Merge related points when possible; avoid a bullet for every trivial detail.
218
+ - Keep bullets to one line unless breaking for clarity is unavoidable.
219
+ - Group into short lists (4–6 bullets) ordered by importance.
220
+ - Use consistent keyword phrasing and formatting across sections.
221
221
 
222
222
  **Monospace**
223
223
 
224
- - Wrap all commands, file paths, env vars, code identifiers, and code samples in backticks (`` `...` ``).
225
- - Apply to inline examples and to bullet keywords if the keyword itself is a literal file/command.
226
- - Never mix monospace and bold markers; choose one based on whether it’s a keyword (`**`) or inline code/path (`` ` ``).
224
+ - Wrap all commands, file paths, env vars, code identifiers, and code samples in backticks (`` `...` ``).
225
+ - Apply to inline examples and to bullet keywords if the keyword itself is a literal file/command.
226
+ - Never mix monospace and bold markers; choose one based on whether it’s a keyword (`**`) or inline code/path (`` ` ``).
227
227
 
228
228
  **File References**
229
229
  When referencing files in your response, make sure to include the relevant start line and always follow the below rules:
230
230
 
231
- - Use inline code to make file paths clickable.
232
- - Each reference should have a stand alone path. Even if it's the same file.
233
- - Accepted: absolute, workspace‑relative, a/ or b/ diff prefixes, or bare filename/suffix.
234
- - Line/column (1‑based, optional): :line[:column] or #Lline[Ccolumn] (column defaults to 1).
235
- - Do not use URIs like file://, vscode://, or https://.
236
- - Do not provide range of lines
237
- - Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\repo\project\main.rs:12:5
231
+ - Use inline code to make file paths clickable.
232
+ - Each reference should have a stand alone path. Even if it's the same file.
233
+ - Accepted: absolute, workspace‑relative, a/ or b/ diff prefixes, or bare filename/suffix.
234
+ - Line/column (1‑based, optional): :line[:column] or #Lline[Ccolumn] (column defaults to 1).
235
+ - Do not use URIs like file://, vscode://, or https://.
236
+ - Do not provide range of lines
237
+ - Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\repo\project\main.rs:12:5
238
238
 
239
239
  **Structure**
240
240
 
241
- - Place related bullets together; don’t mix unrelated concepts in the same section.
242
- - Order sections from general → specific → supporting info.
243
- - For subsections (e.g., “Binaries” under “Rust Workspace”), introduce with a bolded keyword bullet, then list items under it.
244
- - Match structure to complexity:
245
- - Multi-part or detailed results → use clear headers and grouped bullets.
246
- - Simple results → minimal headers, possibly just a short list or paragraph.
241
+ - Place related bullets together; don’t mix unrelated concepts in the same section.
242
+ - Order sections from general → specific → supporting info.
243
+ - For subsections (e.g., “Binaries” under “Rust Workspace”), introduce with a bolded keyword bullet, then list items under it.
244
+ - Match structure to complexity:
245
+ - Multi-part or detailed results → use clear headers and grouped bullets.
246
+ - Simple results → minimal headers, possibly just a short list or paragraph.
247
247
 
248
248
  **Tone**
249
249
 
250
- - Keep the voice collaborative and natural, like a coding partner handing off work.
251
- - Be concise and factual — no filler or conversational commentary and avoid unnecessary repetition
252
- - Use present tense and active voice (e.g., “Runs tests” not “This will run tests”).
253
- - Keep descriptions self-contained; don’t refer to “above” or “below”.
254
- - Use parallel structure in lists for consistency.
250
+ - Keep the voice collaborative and natural, like a coding partner handing off work.
251
+ - Be concise and factual — no filler or conversational commentary and avoid unnecessary repetition
252
+ - Use present tense and active voice (e.g., “Runs tests” not “This will run tests”).
253
+ - Keep descriptions self-contained; don’t refer to “above” or “below”.
254
+ - Use parallel structure in lists for consistency.
255
255
 
256
256
  **Verbosity**
257
257
 
258
- - Final answer compactness rules (enforced):
259
- - Tiny/small single-file change (≤ ~10 lines): 2–5 sentences or ≤3 bullets. No headings. 0–1 short snippet (≤3 lines) only if essential.
260
- - Medium change (single area or a few files): ≤6 bullets or 6–10 sentences. At most 1–2 short snippets total (≤8 lines each).
261
- - Large/multi-file change: Summarize per file with 1–2 bullets; avoid inlining code unless critical (still ≤2 short snippets total).
262
- - Never include "before/after" pairs, full method bodies, or large/scrolling code blocks in the final message. Prefer referencing file/symbol names instead.
258
+ - Final answer compactness rules (enforced):
259
+ - Tiny/small single-file change (≤ ~10 lines): 2–5 sentences or ≤3 bullets. No headings. 0–1 short snippet (≤3 lines) only if essential.
260
+ - Medium change (single area or a few files): ≤6 bullets or 6–10 sentences. At most 1–2 short snippets total (≤8 lines each).
261
+ - Large/multi-file change: Summarize per file with 1–2 bullets; avoid inlining code unless critical (still ≤2 short snippets total).
262
+ - Never include "before/after" pairs, full method bodies, or large/scrolling code blocks in the final message. Prefer referencing file/symbol names instead.
263
263
 
264
264
  **Don’t**
265
265
 
266
- - Don’t use literal words “bold” or “monospace” in the content.
267
- - Don’t nest bullets or create deep hierarchies.
268
- - Don’t output ANSI escape codes directly — the CLI renderer applies them.
269
- - Don’t cram unrelated keywords into a single bullet; split for clarity.
270
- - Don’t let keyword lists run long — wrap or reformat for scanability.
266
+ - Don’t use literal words “bold” or “monospace” in the content.
267
+ - Don’t nest bullets or create deep hierarchies.
268
+ - Don’t output ANSI escape codes directly — the CLI renderer applies them.
269
+ - Don’t cram unrelated keywords into a single bullet; split for clarity.
270
+ - Don’t let keyword lists run long — wrap or reformat for scanability.
271
271
 
272
272
  Generally, ensure your final answers adapt their shape and depth to the request. For example, answers to code explanations should have a precise, structured explanation with code references that answer the question directly. For tasks with a simple implementation, lead with the outcome and supplement only with what’s needed for clarity. Larger changes can be presented as a logical walkthrough of your approach, grouping related steps, explaining rationale where it adds value, and highlighting next actions to accelerate the user. Your answers should provide the right level of detail while being easily scannable.
273
273
 
@@ -279,7 +279,7 @@ For casual greetings, acknowledgements, or other one-off conversational messages
279
279
 
280
280
  When using the shell, you must adhere to the following guidelines:
281
281
 
282
- - Read files in chunks with a max chunk size of 250 lines. Do not use python scripts to attempt to output larger chunks of a file.
282
+ - Read files in chunks with a max chunk size of 250 lines. Do not use python scripts to attempt to output larger chunks of a file.
283
283
 
284
284
  ## apply_patch
285
285
 
@@ -314,5 +314,5 @@ Example patch:
314
314
 
315
315
  It is important to remember:
316
316
 
317
- - You must include a header with your intended action (Add/Delete/Update)
318
- - You must prefix new lines with `+` even when creating a new file
317
+ - You must include a header with your intended action (Add/Delete/Update)
318
+ - You must prefix new lines with `+` even when creating a new file
@@ -42,11 +42,12 @@ Your mentor is your strategic partner for complex decisions and guidance. They a
42
42
  Think of this as a phone call with a remote colleague who can't see your screen. They need you to describe everything you're looking at. Come with findings, not open-ended questions.
43
43
 
44
44
  **What to include:**
45
- - **User's goal**: State clearly and completely what the user wants
46
- - **What you found**: File paths, relevant code snippets, current patterns
47
- - **What's unclear or missing**: Specific unknowns or gaps
48
- - **Your proposed approach**: Present your recommendation or options
49
- - **Your confidence level**: High/medium/low on the proposed approach
45
+
46
+ - **User's goal**: State clearly and completely what the user wants
47
+ - **What you found**: File paths, relevant code snippets, current patterns
48
+ - **What's unclear or missing**: Specific unknowns or gaps
49
+ - **Your proposed approach**: Present your recommendation or options
50
+ - **Your confidence level**: High/medium/low on the proposed approach
50
51
 
51
52
  ## Mentor Collaboration Examples
52
53
 
@@ -0,0 +1,8 @@
1
+ type PromptSelectorOptions = {
2
+ basePromptDir: string;
3
+ model: string;
4
+ liteMode: boolean;
5
+ };
6
+ export declare function getPromptPath({ basePromptDir, model, liteMode }: PromptSelectorOptions): string;
7
+ export {};
8
+ //# sourceMappingURL=prompt-selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-selector.d.ts","sourceRoot":"","sources":["../../source/prompts/prompt-selector.ts"],"names":[],"mappings":"AAQA,KAAK,qBAAqB,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,qBAAqB,GAAG,MAAM,CAe/F"}
@@ -0,0 +1,21 @@
1
+ import path from 'path';
2
+ const DEFAULT_PROMPT = 'simple.md';
3
+ const ANTHROPIC_PROMPT = 'anthropic.md';
4
+ const GPT_PROMPT = 'gpt-5.md';
5
+ const CODEX_PROMPT = 'codex.md';
6
+ const LITE_PROMPT = 'lite.md';
7
+ export function getPromptPath({ basePromptDir, model, liteMode }) {
8
+ const normalizedModel = model.trim().toLowerCase();
9
+ // Lite mode takes precedence - minimal context for terminal assistance
10
+ if (liteMode) {
11
+ return path.join(basePromptDir, LITE_PROMPT);
12
+ }
13
+ if (normalizedModel.includes('sonnet') || normalizedModel.includes('haiku'))
14
+ return path.join(basePromptDir, ANTHROPIC_PROMPT);
15
+ if (normalizedModel.includes('gpt-5') && normalizedModel.includes('codex'))
16
+ return path.join(basePromptDir, CODEX_PROMPT);
17
+ if (normalizedModel.includes('gpt-5'))
18
+ return path.join(basePromptDir, GPT_PROMPT);
19
+ return path.join(basePromptDir, DEFAULT_PROMPT);
20
+ }
21
+ //# sourceMappingURL=prompt-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-selector.js","sourceRoot":"","sources":["../../source/prompts/prompt-selector.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,cAAc,GAAG,WAAW,CAAC;AACnC,MAAM,gBAAgB,GAAG,cAAc,CAAC;AACxC,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,YAAY,GAAG,UAAU,CAAC;AAChC,MAAM,WAAW,GAAG,SAAS,CAAC;AAQ9B,MAAM,UAAU,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAyB;IACrF,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEnD,uEAAuE;IACvE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzE,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACpD,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;QACxE,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAChD,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAEnF,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=prompt-selector.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-selector.test.d.ts","sourceRoot":"","sources":["../../source/prompts/prompt-selector.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import test from 'ava';
2
+ import path from 'path';
3
+ import { getPromptPath } from './prompt-selector.js';
4
+ const basePromptDir = '/prompts';
5
+ test('getPromptPath prefers lite mode', (t) => {
6
+ t.is(getPromptPath({ basePromptDir, model: 'gpt-5', liteMode: true }), path.join(basePromptDir, 'lite.md'));
7
+ });
8
+ test('getPromptPath selects anthropic prompt for sonnet or haiku', (t) => {
9
+ t.is(getPromptPath({ basePromptDir, model: 'claude-3-sonnet', liteMode: false }), path.join(basePromptDir, 'anthropic.md'));
10
+ t.is(getPromptPath({ basePromptDir, model: ' Claude Haiku ', liteMode: false }), path.join(basePromptDir, 'anthropic.md'));
11
+ });
12
+ test('getPromptPath selects codex prompt for gpt-5 codex', (t) => {
13
+ t.is(getPromptPath({ basePromptDir, model: 'gpt-5-codex', liteMode: false }), path.join(basePromptDir, 'codex.md'));
14
+ });
15
+ test('getPromptPath selects gpt-5 prompt when gpt-5 without codex', (t) => {
16
+ t.is(getPromptPath({ basePromptDir, model: ' GPT-5 ', liteMode: false }), path.join(basePromptDir, 'gpt-5.md'));
17
+ });
18
+ test('getPromptPath falls back to simple prompt', (t) => {
19
+ t.is(getPromptPath({ basePromptDir, model: 'gpt-4o', liteMode: false }), path.join(basePromptDir, 'simple.md'));
20
+ });
21
+ //# sourceMappingURL=prompt-selector.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-selector.test.js","sourceRoot":"","sources":["../../source/prompts/prompt-selector.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,aAAa,GAAG,UAAU,CAAC;AAEjC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC5C,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;AAC9G,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4DAA4D,EAAE,CAAC,CAAC,EAAE,EAAE;IACvE,CAAC,CAAC,EAAE,CACF,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAC3E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CACzC,CAAC;IACF,CAAC,CAAC,EAAE,CACF,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAC1E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CACzC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,CAAC,CAAC,EAAE,EAAE;IAC/D,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;AACtH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6DAA6D,EAAE,CAAC,CAAC,EAAE,EAAE;IACxE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;AAClH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,CAAC,CAAC,EAAE,EAAE;IACtD,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAClH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import test from 'ava';
2
+ import path from 'path';
3
+ import { getPromptPath } from './prompt-selector.js';
4
+
5
+ const basePromptDir = '/prompts';
6
+
7
+ test('getPromptPath prefers lite mode', (t) => {
8
+ t.is(getPromptPath({ basePromptDir, model: 'gpt-5', liteMode: true }), path.join(basePromptDir, 'lite.md'));
9
+ });
10
+
11
+ test('getPromptPath selects anthropic prompt for sonnet or haiku', (t) => {
12
+ t.is(
13
+ getPromptPath({ basePromptDir, model: 'claude-3-sonnet', liteMode: false }),
14
+ path.join(basePromptDir, 'anthropic.md'),
15
+ );
16
+ t.is(
17
+ getPromptPath({ basePromptDir, model: ' Claude Haiku ', liteMode: false }),
18
+ path.join(basePromptDir, 'anthropic.md'),
19
+ );
20
+ });
21
+
22
+ test('getPromptPath selects codex prompt for gpt-5 codex', (t) => {
23
+ t.is(getPromptPath({ basePromptDir, model: 'gpt-5-codex', liteMode: false }), path.join(basePromptDir, 'codex.md'));
24
+ });
25
+
26
+ test('getPromptPath selects gpt-5 prompt when gpt-5 without codex', (t) => {
27
+ t.is(getPromptPath({ basePromptDir, model: ' GPT-5 ', liteMode: false }), path.join(basePromptDir, 'gpt-5.md'));
28
+ });
29
+
30
+ test('getPromptPath falls back to simple prompt', (t) => {
31
+ t.is(getPromptPath({ basePromptDir, model: 'gpt-4o', liteMode: false }), path.join(basePromptDir, 'simple.md'));
32
+ });
@@ -0,0 +1,30 @@
1
+ import path from 'path';
2
+
3
+ const DEFAULT_PROMPT = 'simple.md';
4
+ const ANTHROPIC_PROMPT = 'anthropic.md';
5
+ const GPT_PROMPT = 'gpt-5.md';
6
+ const CODEX_PROMPT = 'codex.md';
7
+ const LITE_PROMPT = 'lite.md';
8
+
9
+ type PromptSelectorOptions = {
10
+ basePromptDir: string;
11
+ model: string;
12
+ liteMode: boolean;
13
+ };
14
+
15
+ export function getPromptPath({ basePromptDir, model, liteMode }: PromptSelectorOptions): string {
16
+ const normalizedModel = model.trim().toLowerCase();
17
+
18
+ // Lite mode takes precedence - minimal context for terminal assistance
19
+ if (liteMode) {
20
+ return path.join(basePromptDir, LITE_PROMPT);
21
+ }
22
+
23
+ if (normalizedModel.includes('sonnet') || normalizedModel.includes('haiku'))
24
+ return path.join(basePromptDir, ANTHROPIC_PROMPT);
25
+ if (normalizedModel.includes('gpt-5') && normalizedModel.includes('codex'))
26
+ return path.join(basePromptDir, CODEX_PROMPT);
27
+ if (normalizedModel.includes('gpt-5')) return path.join(basePromptDir, GPT_PROMPT);
28
+
29
+ return path.join(basePromptDir, DEFAULT_PROMPT);
30
+ }
@@ -82,6 +82,14 @@ Search for files by name or glob pattern in the workspace.
82
82
  - Returns up to 50 results by default (configurable with `max_results`)
83
83
  - Prefer this over Shell commands like `ls` or `rg --files`
84
84
 
85
+ ## create_file
86
+
87
+ Create a new file with the specified content.
88
+
89
+ - Use this for explicitly creating new files
90
+ - Fails if the file already exists (use `search_replace` for existing files)
91
+ - Automatically creates parent directories if they don't exist
92
+
85
93
  ## search_replace
86
94
 
87
95
  Modify files with exact text replacement.