@qduc/term2 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (758) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +46 -6
  3. package/dist/agent.js.map +1 -1
  4. package/dist/agent.test.d.ts +2 -0
  5. package/dist/agent.test.d.ts.map +1 -0
  6. package/dist/agent.test.js +198 -0
  7. package/dist/agent.test.js.map +1 -0
  8. package/dist/app.d.ts +5 -0
  9. package/dist/app.d.ts.map +1 -1
  10. package/dist/app.js +30 -14
  11. package/dist/app.js.map +1 -1
  12. package/dist/app.startup-banner.test.d.ts +2 -0
  13. package/dist/app.startup-banner.test.d.ts.map +1 -0
  14. package/dist/app.startup-banner.test.js +11 -0
  15. package/dist/app.startup-banner.test.js.map +1 -0
  16. package/dist/cli.d.ts +1 -1
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +18 -3
  19. package/dist/cli.js.map +1 -1
  20. package/dist/components/ApprovalPrompt.d.ts.map +1 -1
  21. package/dist/components/ApprovalPrompt.js +10 -10
  22. package/dist/components/ApprovalPrompt.js.map +1 -1
  23. package/dist/components/Banner.js +1 -1
  24. package/dist/components/Banner.js.map +1 -1
  25. package/dist/components/BottomArea.d.ts.map +1 -1
  26. package/dist/components/BottomArea.js +3 -4
  27. package/dist/components/BottomArea.js.map +1 -1
  28. package/dist/components/ChatMessage.d.ts +1 -0
  29. package/dist/components/ChatMessage.d.ts.map +1 -1
  30. package/dist/components/ChatMessage.js +2 -2
  31. package/dist/components/ChatMessage.js.map +1 -1
  32. package/dist/components/CommandMessage.d.ts.map +1 -1
  33. package/dist/components/CommandMessage.js +48 -3
  34. package/dist/components/CommandMessage.js.map +1 -1
  35. package/dist/components/CommandMessage.test.js +90 -0
  36. package/dist/components/CommandMessage.test.js.map +1 -1
  37. package/dist/components/Input/PopupManager.d.ts +3 -0
  38. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  39. package/dist/components/Input/PopupManager.js +2 -2
  40. package/dist/components/Input/PopupManager.js.map +1 -1
  41. package/dist/components/Input/insertions.d.ts.map +1 -1
  42. package/dist/components/Input/insertions.js +2 -2
  43. package/dist/components/Input/insertions.js.map +1 -1
  44. package/dist/components/Input/popup-key-navigation.d.ts +18 -0
  45. package/dist/components/Input/popup-key-navigation.d.ts.map +1 -0
  46. package/dist/components/Input/popup-key-navigation.js +16 -0
  47. package/dist/components/Input/popup-key-navigation.js.map +1 -0
  48. package/dist/components/Input/popup-key-navigation.test.d.ts +2 -0
  49. package/dist/components/Input/popup-key-navigation.test.d.ts.map +1 -0
  50. package/dist/components/Input/popup-key-navigation.test.js +73 -0
  51. package/dist/components/Input/popup-key-navigation.test.js.map +1 -0
  52. package/dist/components/Input/popup-props.d.ts.map +1 -1
  53. package/dist/components/Input/popup-props.js +2 -0
  54. package/dist/components/Input/popup-props.js.map +1 -1
  55. package/dist/components/Input/triggers.d.ts +1 -0
  56. package/dist/components/Input/triggers.d.ts.map +1 -1
  57. package/dist/components/Input/triggers.js +1 -0
  58. package/dist/components/Input/triggers.js.map +1 -1
  59. package/dist/components/InputBox.d.ts.map +1 -1
  60. package/dist/components/InputBox.js +130 -6
  61. package/dist/components/InputBox.js.map +1 -1
  62. package/dist/components/InputBox.test.js +42 -1
  63. package/dist/components/InputBox.test.js.map +1 -1
  64. package/dist/components/LiveResponse.d.ts +1 -3
  65. package/dist/components/LiveResponse.d.ts.map +1 -1
  66. package/dist/components/LiveResponse.js +5 -6
  67. package/dist/components/LiveResponse.js.map +1 -1
  68. package/dist/components/MarkdownRenderer.d.ts +5 -2
  69. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  70. package/dist/components/MarkdownRenderer.js +66 -45
  71. package/dist/components/MarkdownRenderer.js.map +1 -1
  72. package/dist/components/MessageList.d.ts +7 -1
  73. package/dist/components/MessageList.d.ts.map +1 -1
  74. package/dist/components/MessageList.js +98 -23
  75. package/dist/components/MessageList.js.map +1 -1
  76. package/dist/components/MessageList.test.js +177 -4
  77. package/dist/components/MessageList.test.js.map +1 -1
  78. package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
  79. package/dist/components/ModelSelectionMenu.js +54 -14
  80. package/dist/components/ModelSelectionMenu.js.map +1 -1
  81. package/dist/components/PathSelectionMenu.d.ts +2 -0
  82. package/dist/components/PathSelectionMenu.d.ts.map +1 -1
  83. package/dist/components/PathSelectionMenu.js +31 -12
  84. package/dist/components/PathSelectionMenu.js.map +1 -1
  85. package/dist/components/SettingsSelectionMenu.d.ts +1 -0
  86. package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
  87. package/dist/components/SettingsSelectionMenu.js +32 -23
  88. package/dist/components/SettingsSelectionMenu.js.map +1 -1
  89. package/dist/components/SettingsSelectionMenu.scroll.test.d.ts +2 -0
  90. package/dist/components/SettingsSelectionMenu.scroll.test.d.ts.map +1 -0
  91. package/dist/components/SettingsSelectionMenu.scroll.test.js +23 -0
  92. package/dist/components/SettingsSelectionMenu.scroll.test.js.map +1 -0
  93. package/dist/components/StatusBar.d.ts.map +1 -1
  94. package/dist/components/StatusBar.js +14 -14
  95. package/dist/components/StatusBar.js.map +1 -1
  96. package/dist/components/StatusBar.test.d.ts +2 -0
  97. package/dist/components/StatusBar.test.d.ts.map +1 -0
  98. package/dist/components/StatusBar.test.js +30 -0
  99. package/dist/components/StatusBar.test.js.map +1 -0
  100. package/dist/contracts/conversation.d.ts +1 -0
  101. package/dist/contracts/conversation.d.ts.map +1 -1
  102. package/dist/env-setup.d.ts +2 -0
  103. package/dist/env-setup.d.ts.map +1 -0
  104. package/dist/env-setup.js +7 -0
  105. package/dist/env-setup.js.map +1 -0
  106. package/dist/env-setup.test.d.ts +2 -0
  107. package/dist/env-setup.test.d.ts.map +1 -0
  108. package/dist/env-setup.test.js +6 -0
  109. package/dist/env-setup.test.js.map +1 -0
  110. package/dist/hooks/path-completion-filter.d.ts +4 -0
  111. package/dist/hooks/path-completion-filter.d.ts.map +1 -0
  112. package/dist/hooks/path-completion-filter.js +27 -0
  113. package/dist/hooks/path-completion-filter.js.map +1 -0
  114. package/dist/hooks/path-completion-filter.test.d.ts +2 -0
  115. package/dist/hooks/path-completion-filter.test.d.ts.map +1 -0
  116. package/dist/hooks/path-completion-filter.test.js +100 -0
  117. package/dist/hooks/path-completion-filter.test.js.map +1 -0
  118. package/dist/hooks/use-app-commands.d.ts +3 -1
  119. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  120. package/dist/hooks/use-app-commands.js +74 -6
  121. package/dist/hooks/use-app-commands.js.map +1 -1
  122. package/dist/hooks/use-app-commands.test.js +20 -3
  123. package/dist/hooks/use-app-commands.test.js.map +1 -1
  124. package/dist/hooks/use-conversation.d.ts +4 -9
  125. package/dist/hooks/use-conversation.d.ts.map +1 -1
  126. package/dist/hooks/use-conversation.js +32 -57
  127. package/dist/hooks/use-conversation.js.map +1 -1
  128. package/dist/hooks/use-mode-handlers.d.ts +3 -1
  129. package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
  130. package/dist/hooks/use-mode-handlers.js +8 -0
  131. package/dist/hooks/use-mode-handlers.js.map +1 -1
  132. package/dist/hooks/use-model-selection.d.ts +1 -1
  133. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  134. package/dist/hooks/use-model-selection.js +57 -21
  135. package/dist/hooks/use-model-selection.js.map +1 -1
  136. package/dist/hooks/use-model-selection.test.js +171 -9
  137. package/dist/hooks/use-model-selection.test.js.map +1 -1
  138. package/dist/hooks/use-path-completion.d.ts +1 -0
  139. package/dist/hooks/use-path-completion.d.ts.map +1 -1
  140. package/dist/hooks/use-path-completion.js +22 -17
  141. package/dist/hooks/use-path-completion.js.map +1 -1
  142. package/dist/hooks/use-settings-completion.d.ts +2 -2
  143. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  144. package/dist/hooks/use-settings-completion.js +53 -18
  145. package/dist/hooks/use-settings-completion.js.map +1 -1
  146. package/dist/hooks/use-settings-completion.scroll.test.d.ts +2 -0
  147. package/dist/hooks/use-settings-completion.scroll.test.d.ts.map +1 -0
  148. package/dist/hooks/use-settings-completion.scroll.test.js +55 -0
  149. package/dist/hooks/use-settings-completion.scroll.test.js.map +1 -0
  150. package/dist/hooks/use-settings-completion.test.js +69 -79
  151. package/dist/hooks/use-settings-completion.test.js.map +1 -1
  152. package/dist/hooks/use-settings-value-completion.d.ts +1 -2
  153. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  154. package/dist/hooks/use-settings-value-completion.js +47 -19
  155. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  156. package/dist/hooks/use-settings-value-completion.test.js +5 -18
  157. package/dist/hooks/use-settings-value-completion.test.js.map +1 -1
  158. package/dist/hooks/use-slash-commands.d.ts +7 -0
  159. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  160. package/dist/hooks/use-slash-commands.js +20 -13
  161. package/dist/hooks/use-slash-commands.js.map +1 -1
  162. package/dist/hooks/use-slash-commands.test.js +52 -1
  163. package/dist/hooks/use-slash-commands.test.js.map +1 -1
  164. package/dist/hooks/use-trigger-detection.d.ts.map +1 -1
  165. package/dist/hooks/use-trigger-detection.js +7 -3
  166. package/dist/hooks/use-trigger-detection.js.map +1 -1
  167. package/dist/hooks/use-trigger-detection.test.d.ts +2 -0
  168. package/dist/hooks/use-trigger-detection.test.d.ts.map +1 -0
  169. package/dist/hooks/use-trigger-detection.test.js +59 -0
  170. package/dist/hooks/use-trigger-detection.test.js.map +1 -0
  171. package/dist/lib/openai-agent-client.d.ts +21 -0
  172. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  173. package/dist/lib/openai-agent-client.js +52 -17
  174. package/dist/lib/openai-agent-client.js.map +1 -1
  175. package/dist/lib/openai-agent-client.test.js +63 -0
  176. package/dist/lib/openai-agent-client.test.js.map +1 -1
  177. package/dist/lib/tool-invoke.d.ts +3 -2
  178. package/dist/lib/tool-invoke.d.ts.map +1 -1
  179. package/dist/lib/tool-invoke.js +69 -4
  180. package/dist/lib/tool-invoke.js.map +1 -1
  181. package/dist/lib/tool-invoke.test.js +25 -0
  182. package/dist/lib/tool-invoke.test.js.map +1 -1
  183. package/dist/non-interactive.d.ts.map +1 -1
  184. package/dist/non-interactive.js +3 -0
  185. package/dist/non-interactive.js.map +1 -1
  186. package/dist/prompts/gpt-5-modern.md +66 -0
  187. package/dist/prompts/gpt-5.md +10 -0
  188. package/dist/prompts/lite.md +10 -27
  189. package/dist/prompts/prompt-selector.js +2 -2
  190. package/dist/prompts/prompt-selector.js.map +1 -1
  191. package/dist/prompts/prompt-selector.test.js +7 -2
  192. package/dist/prompts/prompt-selector.test.js.map +1 -1
  193. package/dist/prompts/prompt-selector.test.ts +22 -2
  194. package/dist/prompts/prompt-selector.ts +2 -2
  195. package/dist/prompts/search-via-shell.d.ts +7 -0
  196. package/dist/prompts/search-via-shell.d.ts.map +1 -0
  197. package/dist/prompts/search-via-shell.js +59 -0
  198. package/dist/prompts/search-via-shell.js.map +1 -0
  199. package/dist/prompts/search-via-shell.test.d.ts +2 -0
  200. package/dist/prompts/search-via-shell.test.d.ts.map +1 -0
  201. package/dist/prompts/search-via-shell.test.js +40 -0
  202. package/dist/prompts/search-via-shell.test.js.map +1 -0
  203. package/dist/prompts/search-via-shell.test.ts +47 -0
  204. package/dist/prompts/search-via-shell.ts +71 -0
  205. package/dist/prompts/simple.md +40 -186
  206. package/dist/providers/ai-sdk-agents-adapter.d.ts +7 -0
  207. package/dist/providers/ai-sdk-agents-adapter.d.ts.map +1 -0
  208. package/dist/providers/ai-sdk-agents-adapter.js +80 -0
  209. package/dist/providers/ai-sdk-agents-adapter.js.map +1 -0
  210. package/dist/providers/ai-sdk-agents-adapter.test.d.ts +2 -0
  211. package/dist/providers/ai-sdk-agents-adapter.test.d.ts.map +1 -0
  212. package/dist/providers/ai-sdk-agents-adapter.test.js +158 -0
  213. package/dist/providers/ai-sdk-agents-adapter.test.js.map +1 -0
  214. package/dist/providers/ai-sdk-anthropic.provider.d.ts +14 -0
  215. package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -0
  216. package/dist/providers/ai-sdk-anthropic.provider.js +18 -0
  217. package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -0
  218. package/dist/providers/ai-sdk-google.provider.d.ts +14 -0
  219. package/dist/providers/ai-sdk-google.provider.d.ts.map +1 -0
  220. package/dist/providers/ai-sdk-google.provider.js +18 -0
  221. package/dist/providers/ai-sdk-google.provider.js.map +1 -0
  222. package/dist/providers/ai-sdk-logging-fetch.d.ts +11 -0
  223. package/dist/providers/ai-sdk-logging-fetch.d.ts.map +1 -0
  224. package/dist/providers/ai-sdk-logging-fetch.js +127 -0
  225. package/dist/providers/ai-sdk-logging-fetch.js.map +1 -0
  226. package/dist/providers/ai-sdk-logging-fetch.test.d.ts +2 -0
  227. package/dist/providers/ai-sdk-logging-fetch.test.d.ts.map +1 -0
  228. package/dist/providers/ai-sdk-logging-fetch.test.js +107 -0
  229. package/dist/providers/ai-sdk-logging-fetch.test.js.map +1 -0
  230. package/dist/providers/ai-sdk-message-normalizer.d.ts +8 -0
  231. package/dist/providers/ai-sdk-message-normalizer.d.ts.map +1 -0
  232. package/dist/providers/ai-sdk-message-normalizer.js +115 -0
  233. package/dist/providers/ai-sdk-message-normalizer.js.map +1 -0
  234. package/dist/providers/ai-sdk-message-normalizer.test.d.ts +2 -0
  235. package/dist/providers/ai-sdk-message-normalizer.test.d.ts.map +1 -0
  236. package/dist/providers/ai-sdk-message-normalizer.test.js +435 -0
  237. package/dist/providers/ai-sdk-message-normalizer.test.js.map +1 -0
  238. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts +2 -0
  239. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts.map +1 -1
  240. package/dist/providers/ai-sdk-openai-compatible.provider.js +3 -2
  241. package/dist/providers/ai-sdk-openai-compatible.provider.js.map +1 -1
  242. package/dist/providers/ai-sdk-openai-compatible.provider.test.js +25 -0
  243. package/dist/providers/ai-sdk-openai-compatible.provider.test.js.map +1 -1
  244. package/dist/providers/ai-sdk-openrouter.provider.d.ts +16 -0
  245. package/dist/providers/ai-sdk-openrouter.provider.d.ts.map +1 -0
  246. package/dist/providers/ai-sdk-openrouter.provider.js +21 -0
  247. package/dist/providers/ai-sdk-openrouter.provider.js.map +1 -0
  248. package/dist/providers/ai-sdk-openrouter.provider.test.d.ts +2 -0
  249. package/dist/providers/ai-sdk-openrouter.provider.test.d.ts.map +1 -0
  250. package/dist/providers/ai-sdk-openrouter.provider.test.js +93 -0
  251. package/dist/providers/ai-sdk-openrouter.provider.test.js.map +1 -0
  252. package/dist/providers/common/openai-compatible-messages.d.ts +1 -2
  253. package/dist/providers/common/openai-compatible-messages.d.ts.map +1 -1
  254. package/dist/providers/common/openai-compatible-messages.js +22 -48
  255. package/dist/providers/common/openai-compatible-messages.js.map +1 -1
  256. package/dist/providers/common/openai-compatible-messages.test.js +93 -1
  257. package/dist/providers/common/openai-compatible-messages.test.js.map +1 -1
  258. package/dist/providers/custom-provider-adapter.test.d.ts +2 -0
  259. package/dist/providers/custom-provider-adapter.test.d.ts.map +1 -0
  260. package/dist/providers/custom-provider-adapter.test.js +52 -0
  261. package/dist/providers/custom-provider-adapter.test.js.map +1 -0
  262. package/dist/providers/openai-compatible-behavior-gate.test.d.ts +2 -0
  263. package/dist/providers/openai-compatible-behavior-gate.test.d.ts.map +1 -0
  264. package/dist/providers/openai-compatible-behavior-gate.test.js +216 -0
  265. package/dist/providers/openai-compatible-behavior-gate.test.js.map +1 -0
  266. package/dist/providers/openai-compatible.provider.d.ts +10 -1
  267. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  268. package/dist/providers/openai-compatible.provider.js +341 -31
  269. package/dist/providers/openai-compatible.provider.js.map +1 -1
  270. package/dist/providers/openai-compatible.provider.test.d.ts +2 -0
  271. package/dist/providers/openai-compatible.provider.test.d.ts.map +1 -0
  272. package/dist/providers/openai-compatible.provider.test.js +462 -0
  273. package/dist/providers/openai-compatible.provider.test.js.map +1 -0
  274. package/dist/providers/openai.provider.js +2 -1
  275. package/dist/providers/openai.provider.js.map +1 -1
  276. package/dist/providers/openai.provider.test.d.ts +2 -0
  277. package/dist/providers/openai.provider.test.d.ts.map +1 -0
  278. package/dist/providers/openai.provider.test.js +22 -0
  279. package/dist/providers/openai.provider.test.js.map +1 -0
  280. package/dist/providers/openrouter.provider.js +32 -5
  281. package/dist/providers/openrouter.provider.js.map +1 -1
  282. package/dist/scripts/eval-auto-approval/dataset.d.ts +2 -2
  283. package/dist/services/conversation-events.d.ts +3 -0
  284. package/dist/services/conversation-events.d.ts.map +1 -1
  285. package/dist/services/conversation-result-builder.d.ts.map +1 -1
  286. package/dist/services/conversation-result-builder.js +11 -1
  287. package/dist/services/conversation-result-builder.js.map +1 -1
  288. package/dist/services/conversation-result-builder.test.js +72 -0
  289. package/dist/services/conversation-result-builder.test.js.map +1 -1
  290. package/dist/services/conversation-session.d.ts +2 -1
  291. package/dist/services/conversation-session.d.ts.map +1 -1
  292. package/dist/services/conversation-session.js +30 -1
  293. package/dist/services/conversation-session.js.map +1 -1
  294. package/dist/services/file-service.js +1 -1
  295. package/dist/services/file-service.js.map +1 -1
  296. package/dist/services/logging-contract.d.ts +3 -3
  297. package/dist/services/logging-service.d.ts.map +1 -1
  298. package/dist/services/logging-service.js +18 -1
  299. package/dist/services/logging-service.js.map +1 -1
  300. package/dist/services/model-service.d.ts.map +1 -1
  301. package/dist/services/model-service.js +16 -8
  302. package/dist/services/model-service.js.map +1 -1
  303. package/dist/services/model-service.test.js +67 -1
  304. package/dist/services/model-service.test.js.map +1 -1
  305. package/dist/services/rtk-service.d.ts +23 -0
  306. package/dist/services/rtk-service.d.ts.map +1 -0
  307. package/dist/services/rtk-service.js +165 -0
  308. package/dist/services/rtk-service.js.map +1 -0
  309. package/dist/services/rtk-service.test.d.ts +2 -0
  310. package/dist/services/rtk-service.test.d.ts.map +1 -0
  311. package/dist/services/rtk-service.test.js +239 -0
  312. package/dist/services/rtk-service.test.js.map +1 -0
  313. package/dist/services/settings-persistence.d.ts +1 -0
  314. package/dist/services/settings-persistence.d.ts.map +1 -1
  315. package/dist/services/settings-persistence.js +28 -5
  316. package/dist/services/settings-persistence.js.map +1 -1
  317. package/dist/services/settings-persistence.test.js +55 -3
  318. package/dist/services/settings-persistence.test.js.map +1 -1
  319. package/dist/services/settings-schema.d.ts +55 -16
  320. package/dist/services/settings-schema.d.ts.map +1 -1
  321. package/dist/services/settings-schema.js +35 -4
  322. package/dist/services/settings-schema.js.map +1 -1
  323. package/dist/services/settings-schema.test.d.ts +2 -0
  324. package/dist/services/settings-schema.test.d.ts.map +1 -0
  325. package/dist/services/settings-schema.test.js +77 -0
  326. package/dist/services/settings-schema.test.js.map +1 -0
  327. package/dist/services/settings-service.d.ts.map +1 -1
  328. package/dist/services/settings-service.js +7 -4
  329. package/dist/services/settings-service.js.map +1 -1
  330. package/dist/services/settings-sources.d.ts.map +1 -1
  331. package/dist/services/settings-sources.js +1 -0
  332. package/dist/services/settings-sources.js.map +1 -1
  333. package/dist/services/shell-auto-approval-evaluator.d.ts +1 -1
  334. package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
  335. package/dist/services/shell-auto-approval-evaluator.js +8 -2
  336. package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
  337. package/dist/services/stream-event-parsing.js +1 -1
  338. package/dist/services/stream-event-parsing.js.map +1 -1
  339. package/dist/services/stream-event-parsing.test.js +13 -0
  340. package/dist/services/stream-event-parsing.test.js.map +1 -1
  341. package/dist/services/stream-event-processor.d.ts.map +1 -1
  342. package/dist/services/stream-event-processor.js +10 -8
  343. package/dist/services/stream-event-processor.js.map +1 -1
  344. package/dist/services/stream-event-processor.test.js +32 -0
  345. package/dist/services/stream-event-processor.test.js.map +1 -1
  346. package/dist/services/terminal-result-collector.d.ts.map +1 -1
  347. package/dist/services/terminal-result-collector.js +1 -0
  348. package/dist/services/terminal-result-collector.js.map +1 -1
  349. package/dist/services/terminal-result-collector.test.js +22 -0
  350. package/dist/services/terminal-result-collector.test.js.map +1 -1
  351. package/dist/tools/apply-patch.d.ts +12 -4
  352. package/dist/tools/apply-patch.d.ts.map +1 -1
  353. package/dist/tools/apply-patch.js +204 -208
  354. package/dist/tools/apply-patch.js.map +1 -1
  355. package/dist/tools/apply-patch.test.js +44 -0
  356. package/dist/tools/apply-patch.test.js.map +1 -1
  357. package/dist/tools/code-context.d.ts +27 -0
  358. package/dist/tools/code-context.d.ts.map +1 -0
  359. package/dist/tools/code-context.js +512 -0
  360. package/dist/tools/code-context.js.map +1 -0
  361. package/dist/tools/code-context.test.d.ts +2 -0
  362. package/dist/tools/code-context.test.d.ts.map +1 -0
  363. package/dist/tools/code-context.test.js +368 -0
  364. package/dist/tools/code-context.test.js.map +1 -0
  365. package/dist/tools/create-file.d.ts.map +1 -1
  366. package/dist/tools/create-file.js +3 -2
  367. package/dist/tools/create-file.js.map +1 -1
  368. package/dist/tools/edit-healing.d.ts +4 -3
  369. package/dist/tools/edit-healing.d.ts.map +1 -1
  370. package/dist/tools/edit-healing.js +50 -20
  371. package/dist/tools/edit-healing.js.map +1 -1
  372. package/dist/tools/edit-healing.test.js +62 -0
  373. package/dist/tools/edit-healing.test.js.map +1 -1
  374. package/dist/tools/file-locks.d.ts +2 -0
  375. package/dist/tools/file-locks.d.ts.map +1 -0
  376. package/dist/tools/file-locks.js +21 -0
  377. package/dist/tools/file-locks.js.map +1 -0
  378. package/dist/tools/find-files.d.ts +1 -0
  379. package/dist/tools/find-files.d.ts.map +1 -1
  380. package/dist/tools/find-files.js +59 -139
  381. package/dist/tools/find-files.js.map +1 -1
  382. package/dist/tools/find-files.test.js +5 -10
  383. package/dist/tools/find-files.test.js.map +1 -1
  384. package/dist/tools/grep.d.ts +1 -0
  385. package/dist/tools/grep.d.ts.map +1 -1
  386. package/dist/tools/grep.js +10 -46
  387. package/dist/tools/grep.js.map +1 -1
  388. package/dist/tools/language-providers.d.ts +48 -0
  389. package/dist/tools/language-providers.d.ts.map +1 -0
  390. package/dist/tools/language-providers.js +244 -0
  391. package/dist/tools/language-providers.js.map +1 -0
  392. package/dist/tools/search-replace.d.ts +5 -2
  393. package/dist/tools/search-replace.d.ts.map +1 -1
  394. package/dist/tools/search-replace.js +201 -106
  395. package/dist/tools/search-replace.js.map +1 -1
  396. package/dist/tools/search-replace.test.js +111 -1
  397. package/dist/tools/search-replace.test.js.map +1 -1
  398. package/dist/tools/search.d.ts.map +1 -1
  399. package/dist/tools/search.js +5 -15
  400. package/dist/tools/search.js.map +1 -1
  401. package/dist/tools/shell.d.ts +2 -0
  402. package/dist/tools/shell.d.ts.map +1 -1
  403. package/dist/tools/shell.js +15 -7
  404. package/dist/tools/shell.js.map +1 -1
  405. package/dist/tools/shell.test.js +28 -0
  406. package/dist/tools/shell.test.js.map +1 -1
  407. package/dist/tools/tool-names.d.ts +3 -0
  408. package/dist/tools/tool-names.d.ts.map +1 -1
  409. package/dist/tools/tool-names.js +3 -0
  410. package/dist/tools/tool-names.js.map +1 -1
  411. package/dist/tools/tool-names.test.js +4 -1
  412. package/dist/tools/tool-names.test.js.map +1 -1
  413. package/dist/tools/tool-parameter-schema.test.js +18 -0
  414. package/dist/tools/tool-parameter-schema.test.js.map +1 -1
  415. package/dist/utils/command-safety/constants.d.ts.map +1 -1
  416. package/dist/utils/command-safety/constants.js +30 -5
  417. package/dist/utils/command-safety/constants.js.map +1 -1
  418. package/dist/utils/command-safety/index.d.ts.map +1 -1
  419. package/dist/utils/command-safety/index.js +3 -0
  420. package/dist/utils/command-safety/index.js.map +1 -1
  421. package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
  422. package/dist/utils/command-safety/path-analysis.js +8 -0
  423. package/dist/utils/command-safety/path-analysis.js.map +1 -1
  424. package/dist/utils/command-safety.find.test.js +1 -1
  425. package/dist/utils/command-safety.find.test.js.map +1 -1
  426. package/dist/utils/command-safety.path.test.js +14 -0
  427. package/dist/utils/command-safety.path.test.js.map +1 -1
  428. package/dist/utils/command-safety.specialized-handlers.test.d.ts +2 -0
  429. package/dist/utils/command-safety.specialized-handlers.test.d.ts.map +1 -0
  430. package/dist/utils/command-safety.specialized-handlers.test.js +20 -0
  431. package/dist/utils/command-safety.specialized-handlers.test.js.map +1 -0
  432. package/dist/utils/conversation-event-handler.d.ts +8 -6
  433. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  434. package/dist/utils/conversation-event-handler.js +166 -46
  435. package/dist/utils/conversation-event-handler.js.map +1 -1
  436. package/dist/utils/conversation-event-handler.test.js +391 -12
  437. package/dist/utils/conversation-event-handler.test.js.map +1 -1
  438. package/dist/utils/conversation-utils.d.ts +2 -0
  439. package/dist/utils/conversation-utils.d.ts.map +1 -1
  440. package/dist/utils/conversation-utils.js +2 -0
  441. package/dist/utils/conversation-utils.js.map +1 -1
  442. package/dist/utils/execute-shell.d.ts +5 -6
  443. package/dist/utils/execute-shell.d.ts.map +1 -1
  444. package/dist/utils/execute-shell.js +21 -11
  445. package/dist/utils/execute-shell.js.map +1 -1
  446. package/dist/utils/execute-shell.test.js +37 -6
  447. package/dist/utils/execute-shell.test.js.map +1 -1
  448. package/dist/utils/extract-command-messages.d.ts.map +1 -1
  449. package/dist/utils/extract-command-messages.js +4 -1
  450. package/dist/utils/extract-command-messages.js.map +1 -1
  451. package/dist/utils/flex-service-tier.d.ts +2 -0
  452. package/dist/utils/flex-service-tier.d.ts.map +1 -0
  453. package/dist/utils/flex-service-tier.js +20 -0
  454. package/dist/utils/flex-service-tier.js.map +1 -0
  455. package/dist/utils/flex-service-tier.test.d.ts +2 -0
  456. package/dist/utils/flex-service-tier.test.d.ts.map +1 -0
  457. package/dist/utils/flex-service-tier.test.js +25 -0
  458. package/dist/utils/flex-service-tier.test.js.map +1 -0
  459. package/dist/utils/log-truncation.d.ts +4 -2
  460. package/dist/utils/log-truncation.d.ts.map +1 -1
  461. package/dist/utils/log-truncation.js +143 -41
  462. package/dist/utils/log-truncation.js.map +1 -1
  463. package/dist/utils/log-truncation.test.js +131 -1
  464. package/dist/utils/log-truncation.test.js.map +1 -1
  465. package/dist/utils/project-tree.d.ts +14 -0
  466. package/dist/utils/project-tree.d.ts.map +1 -0
  467. package/dist/utils/project-tree.js +111 -0
  468. package/dist/utils/project-tree.js.map +1 -0
  469. package/dist/utils/project-tree.test.d.ts +2 -0
  470. package/dist/utils/project-tree.test.d.ts.map +1 -0
  471. package/dist/utils/project-tree.test.js +149 -0
  472. package/dist/utils/project-tree.test.js.map +1 -0
  473. package/dist/utils/provider-traffic-extractor.d.ts.map +1 -1
  474. package/dist/utils/provider-traffic-extractor.js +0 -1
  475. package/dist/utils/provider-traffic-extractor.js.map +1 -1
  476. package/dist/utils/streaming-session-factory.d.ts +1 -3
  477. package/dist/utils/streaming-session-factory.d.ts.map +1 -1
  478. package/dist/utils/streaming-session-factory.js +29 -10
  479. package/dist/utils/streaming-session-factory.js.map +1 -1
  480. package/dist/utils/streaming-session-factory.test.js +47 -15
  481. package/dist/utils/streaming-session-factory.test.js.map +1 -1
  482. package/dist/utils/subsequence-filter.d.ts +8 -0
  483. package/dist/utils/subsequence-filter.d.ts.map +1 -0
  484. package/dist/utils/subsequence-filter.js +47 -0
  485. package/dist/utils/subsequence-filter.js.map +1 -0
  486. package/dist/utils/terminal-clear.d.ts +7 -0
  487. package/dist/utils/terminal-clear.d.ts.map +1 -0
  488. package/dist/utils/terminal-clear.js +5 -0
  489. package/dist/utils/terminal-clear.js.map +1 -0
  490. package/dist/utils/terminal-clear.test.d.ts +2 -0
  491. package/dist/utils/terminal-clear.test.d.ts.map +1 -0
  492. package/dist/utils/terminal-clear.test.js +13 -0
  493. package/dist/utils/terminal-clear.test.js.map +1 -0
  494. package/dist/utils/token-usage.d.ts +13 -1
  495. package/dist/utils/token-usage.d.ts.map +1 -1
  496. package/dist/utils/token-usage.js +119 -28
  497. package/dist/utils/token-usage.js.map +1 -1
  498. package/dist/utils/token-usage.test.js +135 -3
  499. package/dist/utils/token-usage.test.js.map +1 -1
  500. package/package.json +5 -4
  501. package/readme.md +29 -24
  502. package/dist/agent.lite-mode.test.d.ts +0 -2
  503. package/dist/agent.lite-mode.test.d.ts.map +0 -1
  504. package/dist/agent.lite-mode.test.js +0 -39
  505. package/dist/agent.lite-mode.test.js.map +0 -1
  506. package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts +0 -2
  507. package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts.map +0 -1
  508. package/dist/components/ModelSelectionMenu.error-tabs.test.js +0 -18
  509. package/dist/components/ModelSelectionMenu.error-tabs.test.js.map +0 -1
  510. package/dist/components/TextInput.d.ts +0 -42
  511. package/dist/components/TextInput.d.ts.map +0 -1
  512. package/dist/components/TextInput.js +0 -398
  513. package/dist/components/TextInput.js.map +0 -1
  514. package/dist/components/TextInput.test.d.ts +0 -2
  515. package/dist/components/TextInput.test.d.ts.map +0 -1
  516. package/dist/components/TextInput.test.js +0 -75
  517. package/dist/components/TextInput.test.js.map +0 -1
  518. package/dist/debug_ask_mentor.d.ts +0 -2
  519. package/dist/debug_ask_mentor.d.ts.map +0 -1
  520. package/dist/debug_ask_mentor.js +0 -73
  521. package/dist/debug_ask_mentor.js.map +0 -1
  522. package/dist/lib/shell.d.ts +0 -7
  523. package/dist/lib/shell.d.ts.map +0 -1
  524. package/dist/lib/shell.js +0 -56
  525. package/dist/lib/shell.js.map +0 -1
  526. package/dist/modes/companion/command-index.d.ts +0 -26
  527. package/dist/modes/companion/command-index.d.ts.map +0 -1
  528. package/dist/modes/companion/command-index.js +0 -50
  529. package/dist/modes/companion/command-index.js.map +0 -1
  530. package/dist/modes/companion/command-index.test.d.ts +0 -2
  531. package/dist/modes/companion/command-index.test.d.ts.map +0 -1
  532. package/dist/modes/companion/command-index.test.js +0 -86
  533. package/dist/modes/companion/command-index.test.js.map +0 -1
  534. package/dist/modes/companion/companion-app.d.ts +0 -12
  535. package/dist/modes/companion/companion-app.d.ts.map +0 -1
  536. package/dist/modes/companion/companion-app.js +0 -297
  537. package/dist/modes/companion/companion-app.js.map +0 -1
  538. package/dist/modes/companion/companion-session.d.ts +0 -63
  539. package/dist/modes/companion/companion-session.d.ts.map +0 -1
  540. package/dist/modes/companion/companion-session.js +0 -146
  541. package/dist/modes/companion/companion-session.js.map +0 -1
  542. package/dist/modes/companion/companion-session.test.d.ts +0 -2
  543. package/dist/modes/companion/companion-session.test.d.ts.map +0 -1
  544. package/dist/modes/companion/companion-session.test.js +0 -28
  545. package/dist/modes/companion/companion-session.test.js.map +0 -1
  546. package/dist/modes/companion/components/status-bar.d.ts +0 -13
  547. package/dist/modes/companion/components/status-bar.d.ts.map +0 -1
  548. package/dist/modes/companion/components/status-bar.js +0 -26
  549. package/dist/modes/companion/components/status-bar.js.map +0 -1
  550. package/dist/modes/companion/context-buffer.d.ts +0 -65
  551. package/dist/modes/companion/context-buffer.d.ts.map +0 -1
  552. package/dist/modes/companion/context-buffer.js +0 -156
  553. package/dist/modes/companion/context-buffer.js.map +0 -1
  554. package/dist/modes/companion/context-buffer.test.d.ts +0 -2
  555. package/dist/modes/companion/context-buffer.test.d.ts.map +0 -1
  556. package/dist/modes/companion/context-buffer.test.js +0 -154
  557. package/dist/modes/companion/context-buffer.test.js.map +0 -1
  558. package/dist/modes/companion/event-detector.d.ts +0 -46
  559. package/dist/modes/companion/event-detector.d.ts.map +0 -1
  560. package/dist/modes/companion/event-detector.js +0 -169
  561. package/dist/modes/companion/event-detector.js.map +0 -1
  562. package/dist/modes/companion/event-detector.test.d.ts +0 -2
  563. package/dist/modes/companion/event-detector.test.d.ts.map +0 -1
  564. package/dist/modes/companion/event-detector.test.js +0 -121
  565. package/dist/modes/companion/event-detector.test.js.map +0 -1
  566. package/dist/modes/companion/index.d.ts +0 -33
  567. package/dist/modes/companion/index.d.ts.map +0 -1
  568. package/dist/modes/companion/index.js +0 -21
  569. package/dist/modes/companion/index.js.map +0 -1
  570. package/dist/modes/companion/input-key-mapper.d.ts +0 -3
  571. package/dist/modes/companion/input-key-mapper.d.ts.map +0 -1
  572. package/dist/modes/companion/input-key-mapper.js +0 -31
  573. package/dist/modes/companion/input-key-mapper.js.map +0 -1
  574. package/dist/modes/companion/input-key-mapper.test.d.ts +0 -2
  575. package/dist/modes/companion/input-key-mapper.test.d.ts.map +0 -1
  576. package/dist/modes/companion/input-key-mapper.test.js +0 -26
  577. package/dist/modes/companion/input-key-mapper.test.js.map +0 -1
  578. package/dist/modes/companion/input-parser.d.ts +0 -53
  579. package/dist/modes/companion/input-parser.d.ts.map +0 -1
  580. package/dist/modes/companion/input-parser.js +0 -114
  581. package/dist/modes/companion/input-parser.js.map +0 -1
  582. package/dist/modes/companion/input-parser.test.d.ts +0 -2
  583. package/dist/modes/companion/input-parser.test.d.ts.map +0 -1
  584. package/dist/modes/companion/input-parser.test.js +0 -123
  585. package/dist/modes/companion/input-parser.test.js.map +0 -1
  586. package/dist/modes/companion/mode-manager.d.ts +0 -41
  587. package/dist/modes/companion/mode-manager.d.ts.map +0 -1
  588. package/dist/modes/companion/mode-manager.js +0 -56
  589. package/dist/modes/companion/mode-manager.js.map +0 -1
  590. package/dist/modes/companion/mode-manager.test.d.ts +0 -2
  591. package/dist/modes/companion/mode-manager.test.d.ts.map +0 -1
  592. package/dist/modes/companion/mode-manager.test.js +0 -65
  593. package/dist/modes/companion/mode-manager.test.js.map +0 -1
  594. package/dist/modes/companion/output-classifier.d.ts +0 -15
  595. package/dist/modes/companion/output-classifier.d.ts.map +0 -1
  596. package/dist/modes/companion/output-classifier.js +0 -77
  597. package/dist/modes/companion/output-classifier.js.map +0 -1
  598. package/dist/modes/companion/output-classifier.test.d.ts +0 -2
  599. package/dist/modes/companion/output-classifier.test.d.ts.map +0 -1
  600. package/dist/modes/companion/output-classifier.test.js +0 -133
  601. package/dist/modes/companion/output-classifier.test.js.map +0 -1
  602. package/dist/modes/companion/pty-wrapper.d.ts +0 -46
  603. package/dist/modes/companion/pty-wrapper.d.ts.map +0 -1
  604. package/dist/modes/companion/pty-wrapper.js +0 -143
  605. package/dist/modes/companion/pty-wrapper.js.map +0 -1
  606. package/dist/modes/companion/safety-classifier.d.ts +0 -31
  607. package/dist/modes/companion/safety-classifier.d.ts.map +0 -1
  608. package/dist/modes/companion/safety-classifier.js +0 -140
  609. package/dist/modes/companion/safety-classifier.js.map +0 -1
  610. package/dist/modes/companion/safety-classifier.test.d.ts +0 -2
  611. package/dist/modes/companion/safety-classifier.test.d.ts.map +0 -1
  612. package/dist/modes/companion/safety-classifier.test.js +0 -151
  613. package/dist/modes/companion/safety-classifier.test.js.map +0 -1
  614. package/dist/modes/companion/summarizer.d.ts +0 -24
  615. package/dist/modes/companion/summarizer.d.ts.map +0 -1
  616. package/dist/modes/companion/summarizer.js +0 -132
  617. package/dist/modes/companion/summarizer.js.map +0 -1
  618. package/dist/modes/companion/terminal-history.d.ts +0 -27
  619. package/dist/modes/companion/terminal-history.d.ts.map +0 -1
  620. package/dist/modes/companion/terminal-history.js +0 -142
  621. package/dist/modes/companion/terminal-history.js.map +0 -1
  622. package/dist/prompts/simple-mentor.md +0 -215
  623. package/dist/providers/github-copilot/converters.d.ts +0 -45
  624. package/dist/providers/github-copilot/converters.d.ts.map +0 -1
  625. package/dist/providers/github-copilot/converters.js +0 -118
  626. package/dist/providers/github-copilot/converters.js.map +0 -1
  627. package/dist/providers/github-copilot/converters.test.d.ts +0 -2
  628. package/dist/providers/github-copilot/converters.test.d.ts.map +0 -1
  629. package/dist/providers/github-copilot/converters.test.js +0 -162
  630. package/dist/providers/github-copilot/converters.test.js.map +0 -1
  631. package/dist/providers/github-copilot/github-copilot.provider.d.ts +0 -2
  632. package/dist/providers/github-copilot/github-copilot.provider.d.ts.map +0 -1
  633. package/dist/providers/github-copilot/github-copilot.provider.js +0 -75
  634. package/dist/providers/github-copilot/github-copilot.provider.js.map +0 -1
  635. package/dist/providers/github-copilot/github-copilot.provider.test.d.ts +0 -2
  636. package/dist/providers/github-copilot/github-copilot.provider.test.d.ts.map +0 -1
  637. package/dist/providers/github-copilot/github-copilot.provider.test.js +0 -26
  638. package/dist/providers/github-copilot/github-copilot.provider.test.js.map +0 -1
  639. package/dist/providers/github-copilot/index.d.ts +0 -4
  640. package/dist/providers/github-copilot/index.d.ts.map +0 -1
  641. package/dist/providers/github-copilot/index.js +0 -4
  642. package/dist/providers/github-copilot/index.js.map +0 -1
  643. package/dist/providers/github-copilot/model.d.ts +0 -24
  644. package/dist/providers/github-copilot/model.d.ts.map +0 -1
  645. package/dist/providers/github-copilot/model.delta.test.d.ts +0 -2
  646. package/dist/providers/github-copilot/model.delta.test.d.ts.map +0 -1
  647. package/dist/providers/github-copilot/model.delta.test.js +0 -15
  648. package/dist/providers/github-copilot/model.delta.test.js.map +0 -1
  649. package/dist/providers/github-copilot/model.js +0 -498
  650. package/dist/providers/github-copilot/model.js.map +0 -1
  651. package/dist/providers/github-copilot/model.test.d.ts +0 -2
  652. package/dist/providers/github-copilot/model.test.d.ts.map +0 -1
  653. package/dist/providers/github-copilot/model.test.js +0 -63
  654. package/dist/providers/github-copilot/model.test.js.map +0 -1
  655. package/dist/providers/github-copilot/provider.d.ts +0 -15
  656. package/dist/providers/github-copilot/provider.d.ts.map +0 -1
  657. package/dist/providers/github-copilot/provider.js +0 -25
  658. package/dist/providers/github-copilot/provider.js.map +0 -1
  659. package/dist/providers/github-copilot/provider.test.d.ts +0 -2
  660. package/dist/providers/github-copilot/provider.test.d.ts.map +0 -1
  661. package/dist/providers/github-copilot/provider.test.js +0 -52
  662. package/dist/providers/github-copilot/provider.test.js.map +0 -1
  663. package/dist/providers/github-copilot/utils.d.ts +0 -20
  664. package/dist/providers/github-copilot/utils.d.ts.map +0 -1
  665. package/dist/providers/github-copilot/utils.js +0 -142
  666. package/dist/providers/github-copilot/utils.js.map +0 -1
  667. package/dist/providers/github-copilot/utils.test.d.ts +0 -2
  668. package/dist/providers/github-copilot/utils.test.d.ts.map +0 -1
  669. package/dist/providers/github-copilot/utils.test.js +0 -21
  670. package/dist/providers/github-copilot/utils.test.js.map +0 -1
  671. package/dist/providers/openai-compatible/api.d.ts +0 -17
  672. package/dist/providers/openai-compatible/api.d.ts.map +0 -1
  673. package/dist/providers/openai-compatible/api.js +0 -58
  674. package/dist/providers/openai-compatible/api.js.map +0 -1
  675. package/dist/providers/openai-compatible/model.d.ts +0 -17
  676. package/dist/providers/openai-compatible/model.d.ts.map +0 -1
  677. package/dist/providers/openai-compatible/model.js +0 -473
  678. package/dist/providers/openai-compatible/model.js.map +0 -1
  679. package/dist/providers/openai-compatible/provider.d.ts +0 -22
  680. package/dist/providers/openai-compatible/provider.d.ts.map +0 -1
  681. package/dist/providers/openai-compatible/provider.js +0 -43
  682. package/dist/providers/openai-compatible/provider.js.map +0 -1
  683. package/dist/providers/openai-compatible/reasoning-content.test.d.ts +0 -2
  684. package/dist/providers/openai-compatible/reasoning-content.test.d.ts.map +0 -1
  685. package/dist/providers/openai-compatible/reasoning-content.test.js +0 -258
  686. package/dist/providers/openai-compatible/reasoning-content.test.js.map +0 -1
  687. package/dist/providers/openai-compatible/utils.d.ts +0 -3
  688. package/dist/providers/openai-compatible/utils.d.ts.map +0 -1
  689. package/dist/providers/openai-compatible/utils.js +0 -11
  690. package/dist/providers/openai-compatible/utils.js.map +0 -1
  691. package/dist/providers/openrouter/api.d.ts +0 -39
  692. package/dist/providers/openrouter/api.d.ts.map +0 -1
  693. package/dist/providers/openrouter/api.js +0 -164
  694. package/dist/providers/openrouter/api.js.map +0 -1
  695. package/dist/providers/openrouter/converters.d.ts +0 -8
  696. package/dist/providers/openrouter/converters.d.ts.map +0 -1
  697. package/dist/providers/openrouter/converters.js +0 -391
  698. package/dist/providers/openrouter/converters.js.map +0 -1
  699. package/dist/providers/openrouter/converters.test.d.ts +0 -2
  700. package/dist/providers/openrouter/converters.test.d.ts.map +0 -1
  701. package/dist/providers/openrouter/converters.test.js +0 -179
  702. package/dist/providers/openrouter/converters.test.js.map +0 -1
  703. package/dist/providers/openrouter/index.d.ts +0 -4
  704. package/dist/providers/openrouter/index.d.ts.map +0 -1
  705. package/dist/providers/openrouter/index.js +0 -4
  706. package/dist/providers/openrouter/index.js.map +0 -1
  707. package/dist/providers/openrouter/model.d.ts +0 -14
  708. package/dist/providers/openrouter/model.d.ts.map +0 -1
  709. package/dist/providers/openrouter/model.js +0 -457
  710. package/dist/providers/openrouter/model.js.map +0 -1
  711. package/dist/providers/openrouter/provider.d.ts +0 -15
  712. package/dist/providers/openrouter/provider.d.ts.map +0 -1
  713. package/dist/providers/openrouter/provider.js +0 -21
  714. package/dist/providers/openrouter/provider.js.map +0 -1
  715. package/dist/providers/openrouter/reasoning-content.test.d.ts +0 -2
  716. package/dist/providers/openrouter/reasoning-content.test.d.ts.map +0 -1
  717. package/dist/providers/openrouter/reasoning-content.test.js +0 -122
  718. package/dist/providers/openrouter/reasoning-content.test.js.map +0 -1
  719. package/dist/providers/openrouter/utils.d.ts +0 -11
  720. package/dist/providers/openrouter/utils.d.ts.map +0 -1
  721. package/dist/providers/openrouter/utils.js +0 -29
  722. package/dist/providers/openrouter/utils.js.map +0 -1
  723. package/dist/providers/openrouter.api.retry.test.d.ts +0 -2
  724. package/dist/providers/openrouter.api.retry.test.d.ts.map +0 -1
  725. package/dist/providers/openrouter.api.retry.test.js +0 -148
  726. package/dist/providers/openrouter.api.retry.test.js.map +0 -1
  727. package/dist/providers/openrouter.test.d.ts +0 -2
  728. package/dist/providers/openrouter.test.d.ts.map +0 -1
  729. package/dist/providers/openrouter.test.js +0 -1449
  730. package/dist/providers/openrouter.test.js.map +0 -1
  731. package/dist/safety-checker.js +0 -57
  732. package/dist/services/check_mock.d.ts +0 -2
  733. package/dist/services/check_mock.d.ts.map +0 -1
  734. package/dist/services/check_mock.js +0 -22
  735. package/dist/services/check_mock.js.map +0 -1
  736. package/dist/services/conversation-service.test.d.ts +0 -2
  737. package/dist/services/conversation-service.test.d.ts.map +0 -1
  738. package/dist/services/conversation-service.test.js +0 -156
  739. package/dist/services/conversation-service.test.js.map +0 -1
  740. package/dist/tools/bash.d.ts +0 -10
  741. package/dist/tools/bash.d.ts.map +0 -1
  742. package/dist/tools/bash.js +0 -55
  743. package/dist/tools/bash.js.map +0 -1
  744. package/dist/utils/command-safety.d.ts +0 -21
  745. package/dist/utils/command-safety.d.ts.map +0 -1
  746. package/dist/utils/command-safety.devnull.test.d.ts +0 -2
  747. package/dist/utils/command-safety.devnull.test.d.ts.map +0 -1
  748. package/dist/utils/command-safety.devnull.test.js +0 -13
  749. package/dist/utils/command-safety.devnull.test.js.map +0 -1
  750. package/dist/utils/command-safety.js +0 -348
  751. package/dist/utils/command-safety.js.map +0 -1
  752. package/dist/utils/extract-command-messages.test.d.ts +0 -2
  753. package/dist/utils/extract-command-messages.test.d.ts.map +0 -1
  754. package/dist/utils/extract-command-messages.test.js +0 -64
  755. package/dist/utils/extract-command-messages.test.js.map +0 -1
  756. package/dist/utils/provider-traffic-extractor.repro.test.d.ts +0 -2
  757. package/dist/utils/provider-traffic-extractor.repro.test.d.ts.map +0 -1
  758. package/dist/utils/provider-traffic-extractor.repro.test.js.map +0 -1
@@ -5,6 +5,7 @@ import { resolveWorkspacePath } from './utils.js';
5
5
  import { getOutputText, safeJsonParse, normalizeToolArguments, createBaseMessage } from './format-helpers.js';
6
6
  import { healSearchReplaceParams } from './edit-healing.js';
7
7
  import { getApprovalPresentationCapability } from './tool-capabilities.js';
8
+ import { withFileLock } from './file-locks.js';
8
9
  /**
9
10
  * Detect the predominant EOL style in file content.
10
11
  * Returns '\r\n' if CRLF is dominant, otherwise '\n'.
@@ -66,7 +67,7 @@ function detectSummarizationMarkers(content) {
66
67
  }
67
68
  return null;
68
69
  }
69
- const searchReplaceParametersSchema = z.object({
70
+ const searchReplaceOperationSchema = z.object({
70
71
  path: z.string().describe('The absolute or relative path to the file'),
71
72
  search_content: z
72
73
  .string()
@@ -78,6 +79,52 @@ const searchReplaceParametersSchema = z.object({
78
79
  .default(false)
79
80
  .describe('Whether to replace all occurrences of the search content. If false, requires exactly one match.'),
80
81
  });
82
+ const searchReplaceParametersSchema = z
83
+ .object({
84
+ path: z.string().describe('The absolute or relative path to the file').optional(),
85
+ search_content: z
86
+ .string()
87
+ .describe('The exact content to search for. Use <...> on its own line to skip unchanged middle content (gap matching).')
88
+ .optional(),
89
+ replace_content: z.string().describe('The content to replace it with').optional(),
90
+ replace_all: z
91
+ .boolean()
92
+ .optional()
93
+ .describe('Whether to replace all occurrences of the search content. If false, requires exactly one match.'),
94
+ replacements: z.array(searchReplaceOperationSchema).min(1).optional(),
95
+ })
96
+ .superRefine((params, ctx) => {
97
+ const hasBatch = Array.isArray(params.replacements);
98
+ const hasSingle = params.path !== undefined || params.search_content !== undefined || params.replace_content !== undefined;
99
+ if (hasBatch && hasSingle) {
100
+ ctx.addIssue({
101
+ code: z.ZodIssueCode.custom,
102
+ message: 'Provide either replacements or a single path/search_content/replace_content edit, not both.',
103
+ });
104
+ return;
105
+ }
106
+ if (!hasBatch &&
107
+ (params.path === undefined || params.search_content === undefined || params.replace_content === undefined)) {
108
+ ctx.addIssue({
109
+ code: z.ZodIssueCode.custom,
110
+ message: 'Provide replacements or all single edit fields: path, search_content, and replace_content.',
111
+ });
112
+ }
113
+ });
114
+ function getSearchReplaceOperations(params) {
115
+ if ('replacements' in params && params.replacements) {
116
+ return params.replacements;
117
+ }
118
+ const operation = params;
119
+ return [
120
+ {
121
+ path: operation.path,
122
+ search_content: operation.search_content,
123
+ replace_content: operation.replace_content,
124
+ replace_all: operation.replace_all ?? false,
125
+ },
126
+ ];
127
+ }
81
128
  /**
82
129
  * Gap marker constant used to indicate omitted middle content in search strings.
83
130
  * When the model uses <...> in search_content, the search is split into segments
@@ -408,9 +455,10 @@ export const formatSearchReplaceCommandMessage = (item, index, _toolCallArgument
408
455
  for (const [replaceIndex, replaceResult] of replaceOutputItems.entries()) {
409
456
  const normalizedArgs = item?.rawItem?.arguments ?? item?.arguments;
410
457
  const args = normalizeToolArguments(normalizedArgs) ?? {};
411
- const filePath = args?.path ?? replaceResult?.path ?? 'unknown';
412
- const searchContent = args?.search_content ?? '';
413
- const replaceContent = args?.replace_content ?? '';
458
+ const operationArgs = Array.isArray(args?.replacements) ? args.replacements[replaceIndex] : args;
459
+ const filePath = operationArgs?.path ?? replaceResult?.path ?? 'unknown';
460
+ const searchContent = operationArgs?.search_content ?? '';
461
+ const replaceContent = operationArgs?.replace_content ?? '';
414
462
  const command = `search_replace "${searchContent}" → "${replaceContent}" "${filePath}"`;
415
463
  const isHealed = replaceResult?.healed === true;
416
464
  let output = replaceResult?.message ?? replaceResult?.error ?? 'No output';
@@ -427,7 +475,7 @@ export const formatSearchReplaceCommandMessage = (item, index, _toolCallArgument
427
475
  path: filePath,
428
476
  search_content: searchContent,
429
477
  replace_content: replaceContent,
430
- replace_all: args?.replace_all ?? false,
478
+ replace_all: operationArgs?.replace_all ?? false,
431
479
  },
432
480
  }));
433
481
  }
@@ -447,8 +495,22 @@ export function createSearchReplaceToolDefinition(deps) {
447
495
  needsApproval: async (params) => {
448
496
  try {
449
497
  const editMode = settingsService.get('app.editMode');
450
- const { path: filePath, search_content, replace_all = false } = params;
498
+ const operations = getSearchReplaceOperations(params);
451
499
  const cwd = executionContext?.getCwd() || process.cwd();
500
+ if (operations.length > 1) {
501
+ const allInsideCwd = operations.every((operation) => {
502
+ try {
503
+ const targetPath = resolveWorkspacePath(operation.path, cwd);
504
+ return targetPath.startsWith(cwd + path.sep);
505
+ }
506
+ catch {
507
+ return false;
508
+ }
509
+ });
510
+ return !(editMode && allInsideCwd);
511
+ }
512
+ const operation = operations[0];
513
+ const { path: filePath, search_content, replace_all = false } = operation;
452
514
  const targetPath = resolveWorkspacePath(filePath, cwd);
453
515
  const workspaceRoot = cwd;
454
516
  const insideCwd = targetPath.startsWith(workspaceRoot + path.sep);
@@ -502,7 +564,7 @@ export function createSearchReplaceToolDefinition(deps) {
502
564
  // Find matches using shared logic with normalized content
503
565
  const matchInfo = findMatchesInContent(content, normalizedSearchContent);
504
566
  // Cache the result for execute phase
505
- editCache.set(params, matchInfo, content, eol);
567
+ editCache.set(operation, matchInfo, content, eol);
506
568
  if (matchInfo.type === 'exact') {
507
569
  if (!replace_all && matchInfo.count > 1) {
508
570
  loggingService.warn('search_replace validation: multiple exact matches, replace_all=false', {
@@ -586,77 +648,38 @@ export function createSearchReplaceToolDefinition(deps) {
586
648
  },
587
649
  execute: async (params) => {
588
650
  const enableFileLogging = settingsService.get('tools.logFileOperations');
589
- try {
590
- const { path: filePath, search_content, replace_content, replace_all = false } = params;
591
- const cwd = executionContext?.getCwd() || process.cwd();
592
- const targetPath = resolveWorkspacePath(filePath, cwd);
593
- const sshService = executionContext?.getSSHService();
594
- const isRemote = executionContext?.isRemote() && !!sshService;
595
- const readFileFn = async (p) => {
596
- if (isRemote && sshService)
597
- return sshService.readFile(p);
598
- return readFile(p, 'utf8');
599
- };
600
- const writeFileFn = async (p, c) => {
601
- if (isRemote && sshService)
602
- return sshService.writeFile(p, c);
603
- return writeFile(p, c, 'utf8');
604
- };
605
- if (enableFileLogging) {
606
- loggingService.debug(`File operation started: search_replace`, {
607
- path: filePath,
608
- targetPath,
609
- replace_all,
610
- });
611
- }
612
- let content;
613
- try {
614
- content = await readFileFn(targetPath);
615
- }
616
- catch (error) {
617
- if (search_content === '' && error?.code === 'ENOENT') {
618
- await writeFileFn(targetPath, replace_content);
619
- if (enableFileLogging) {
620
- loggingService.debug('File created (search_content empty)', {
621
- path: filePath,
622
- });
623
- }
624
- return JSON.stringify({
625
- output: [
626
- {
627
- success: true,
628
- operation: 'search_replace',
629
- path: filePath,
630
- message: `Created ${filePath} (new file)`,
631
- },
632
- ],
633
- });
634
- }
635
- throw error;
636
- }
651
+ const cwd = executionContext?.getCwd() || process.cwd();
652
+ const sshService = executionContext?.getSSHService();
653
+ const isRemote = executionContext?.isRemote() && !!sshService;
654
+ const readFileFn = async (p) => {
655
+ if (isRemote && sshService)
656
+ return sshService.readFile(p);
657
+ return readFile(p, 'utf8');
658
+ };
659
+ const writeFileFn = async (p, c) => {
660
+ if (isRemote && sshService)
661
+ return sshService.writeFile(p, c);
662
+ return writeFile(p, c, 'utf8');
663
+ };
664
+ const applyToContent = async (operation, content) => {
665
+ const { path: filePath, search_content, replace_content, replace_all = false } = operation;
637
666
  if (search_content === '') {
638
- return JSON.stringify({
639
- output: [
640
- {
641
- success: false,
642
- error: 'search_content must not be empty when editing an existing file. Provide search text or create a new file with an empty search.',
643
- },
644
- ],
645
- });
667
+ return {
668
+ output: {
669
+ success: false,
670
+ error: 'search_content must not be empty when editing an existing file. Provide search text or create a new file with an empty search.',
671
+ },
672
+ };
646
673
  }
647
- // Check for summarization markers
648
674
  const markerError = detectSummarizationMarkers(search_content);
649
675
  if (markerError) {
650
- return JSON.stringify({
651
- output: [
652
- {
653
- success: false,
654
- error: markerError,
655
- },
656
- ],
657
- });
676
+ return {
677
+ output: {
678
+ success: false,
679
+ error: markerError,
680
+ },
681
+ };
658
682
  }
659
- // Check cache first
660
683
  let matchInfo;
661
684
  let eol;
662
685
  let normalizedSearchContent;
@@ -665,18 +688,16 @@ export function createSearchReplaceToolDefinition(deps) {
665
688
  let healingSucceeded = false;
666
689
  let healedSearchLength = 0;
667
690
  let matchTypeAfterHealing = 'none';
668
- const cachedEdit = editCache.get(params, content);
691
+ let healingFailureReason;
692
+ const cachedEdit = editCache.get(operation, content);
669
693
  if (cachedEdit) {
670
- // Use cached results
671
694
  matchInfo = cachedEdit.matchInfo;
672
695
  eol = cachedEdit.eol;
673
696
  normalizedSearchContent = normalizeToEOL(removeLeadingFilepathComment(search_content, filePath), eol);
674
697
  }
675
698
  else {
676
- // Detect EOL and normalize content
677
699
  eol = detectEOL(content);
678
700
  normalizedSearchContent = normalizeToEOL(removeLeadingFilepathComment(search_content, filePath), eol);
679
- // Find matches using shared logic
680
701
  matchInfo = findMatchesInContent(content, normalizedSearchContent);
681
702
  }
682
703
  if (matchInfo.type === 'none') {
@@ -684,11 +705,12 @@ export function createSearchReplaceToolDefinition(deps) {
684
705
  if (enableEditHealing) {
685
706
  healingAttempted = true;
686
707
  const healingModel = settingsService.get('tools.editHealingModel') ?? 'gpt-4o-mini';
687
- const healingResult = await editHealing(params, content, healingModel, process.env.OPENAI_API_KEY ?? '', {
708
+ const healingResult = await editHealing(operation, content, healingModel, process.env.OPENAI_API_KEY ?? '', {
688
709
  settingsService,
689
710
  loggingService,
690
711
  });
691
712
  healedSearchLength = healingResult.params.search_content.length;
713
+ healingFailureReason = healingResult.failureReason;
692
714
  if (healingResult.wasModified) {
693
715
  normalizedSearchContent = normalizeToEOL(removeLeadingFilepathComment(healingResult.params.search_content, filePath), eol);
694
716
  matchInfo = findMatchesInContent(content, normalizedSearchContent);
@@ -706,17 +728,18 @@ export function createSearchReplaceToolDefinition(deps) {
706
728
  original_search_length: search_content.length,
707
729
  healed_search_length: healedSearchLength,
708
730
  match_type_after_healing: matchTypeAfterHealing,
731
+ failure_reason: healingFailureReason,
709
732
  });
710
733
  }
711
734
  if (!usedHealing) {
712
- return JSON.stringify({
713
- output: [
714
- {
715
- success: false,
716
- error: 'Search content not found. Auto-healing attempted but no match found. Try splitting changes into smaller patterns.',
717
- },
718
- ],
719
- });
735
+ const reasonSuffix = healingFailureReason ? ` Reason: ${healingFailureReason}.` : '';
736
+ return {
737
+ output: {
738
+ success: false,
739
+ error: `Search content not found. Auto-healing attempted but no match found.${reasonSuffix} Try splitting changes into smaller patterns.`,
740
+ healing_failure_reason: healingFailureReason,
741
+ },
742
+ };
720
743
  }
721
744
  }
722
745
  }
@@ -726,16 +749,13 @@ export function createSearchReplaceToolDefinition(deps) {
726
749
  replaceAll: replace_all,
727
750
  });
728
751
  if (!replacementResult.success) {
729
- return JSON.stringify({
730
- output: [
731
- {
732
- success: false,
733
- error: replacementResult.error,
734
- },
735
- ],
736
- });
752
+ return {
753
+ output: {
754
+ success: false,
755
+ error: replacementResult.error,
756
+ },
757
+ };
737
758
  }
738
- await writeFileFn(targetPath, replacementResult.newContent);
739
759
  if (enableFileLogging) {
740
760
  loggingService.debug(`File updated (${replacementResult.matchType} match)`, {
741
761
  path: filePath,
@@ -745,25 +765,100 @@ export function createSearchReplaceToolDefinition(deps) {
745
765
  });
746
766
  }
747
767
  const successMessage = usedHealing
748
- ? `Updated ${filePath} (healed match - original search had minor differences)`
768
+ ? `Updated ${filePath} (Search param has minor difference with actual file, auto healing was used. Reread the file to make sure the edit is correct)`
749
769
  : `Updated ${filePath} (${replacementResult.replacedCount} ${replacementResult.matchType} match${replacementResult.replacedCount > 1 ? 'es' : ''})`;
770
+ return {
771
+ newContent: replacementResult.newContent,
772
+ output: {
773
+ success: true,
774
+ operation: 'search_replace',
775
+ path: filePath,
776
+ message: successMessage,
777
+ healed: usedHealing,
778
+ },
779
+ };
780
+ };
781
+ try {
782
+ const operations = getSearchReplaceOperations(params);
783
+ const indexedOperations = operations.map((operation, index) => ({
784
+ operation,
785
+ index,
786
+ targetPath: resolveWorkspacePath(operation.path, cwd),
787
+ }));
788
+ const groups = new Map();
789
+ for (const indexedOperation of indexedOperations) {
790
+ groups.set(indexedOperation.targetPath, [
791
+ ...(groups.get(indexedOperation.targetPath) ?? []),
792
+ indexedOperation,
793
+ ]);
794
+ }
795
+ const output = new Array(operations.length);
796
+ for (const [targetPath, group] of groups) {
797
+ await withFileLock(targetPath, async () => {
798
+ let content = '';
799
+ let fileExists = true;
800
+ try {
801
+ content = await readFileFn(targetPath);
802
+ }
803
+ catch (error) {
804
+ if (error?.code === 'ENOENT') {
805
+ fileExists = false;
806
+ }
807
+ else {
808
+ throw error;
809
+ }
810
+ }
811
+ if (enableFileLogging) {
812
+ loggingService.debug(`File operation started: search_replace`, {
813
+ path: group[0].operation.path,
814
+ targetPath,
815
+ operationCount: group.length,
816
+ });
817
+ }
818
+ let nextContent = content;
819
+ let changed = false;
820
+ for (const { operation, index } of group) {
821
+ if (!fileExists) {
822
+ if (operation.search_content === '') {
823
+ nextContent = operation.replace_content;
824
+ fileExists = true;
825
+ changed = true;
826
+ output[index] = {
827
+ success: true,
828
+ operation: 'search_replace',
829
+ path: operation.path,
830
+ message: `Created ${operation.path} (new file)`,
831
+ };
832
+ continue;
833
+ }
834
+ output[index] = {
835
+ success: false,
836
+ error: `File not found: ${operation.path}`,
837
+ };
838
+ continue;
839
+ }
840
+ const result = await applyToContent(operation, nextContent);
841
+ output[index] = result.output;
842
+ if (!result.output.success) {
843
+ continue;
844
+ }
845
+ nextContent = result.newContent;
846
+ changed = true;
847
+ }
848
+ if (changed) {
849
+ await writeFileFn(targetPath, nextContent);
850
+ }
851
+ });
852
+ }
750
853
  return JSON.stringify({
751
- output: [
752
- {
753
- success: true,
754
- operation: 'search_replace',
755
- path: filePath,
756
- message: successMessage,
757
- healed: usedHealing,
758
- },
759
- ],
854
+ output: output.filter(Boolean),
760
855
  });
761
856
  }
762
857
  catch (error) {
763
858
  if (enableFileLogging) {
764
859
  loggingService.error('File operation failed', {
765
860
  type: 'search_replace',
766
- path: params.path,
861
+ path: 'replacements' in params ? 'multiple' : params.path,
767
862
  error: error instanceof Error ? error.message : String(error),
768
863
  });
769
864
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search-replace.js","sourceRoot":"","sources":["../../source/tools/search-replace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-replace.js","sourceRoot":"","sources":["../../source/tools/search-replace.ts"],"names":[],"mappings":"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"}