@qduc/term2 0.1.7 → 0.1.8

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 (322) hide show
  1. package/dist/app.model-command-feedback.test.d.ts +2 -0
  2. package/dist/app.model-command-feedback.test.d.ts.map +1 -0
  3. package/dist/app.model-command-feedback.test.js +19 -0
  4. package/dist/app.model-command-feedback.test.js.map +1 -0
  5. package/dist/cli.js +5 -0
  6. package/dist/cli.js.map +1 -1
  7. package/dist/components/BottomArea.d.ts +1 -8
  8. package/dist/components/BottomArea.d.ts.map +1 -1
  9. package/dist/components/BottomArea.js.map +1 -1
  10. package/dist/components/InputBox.d.ts +6 -0
  11. package/dist/components/InputBox.d.ts.map +1 -1
  12. package/dist/components/InputBox.js +25 -3
  13. package/dist/components/InputBox.js.map +1 -1
  14. package/dist/components/InputBox.test.js +10 -1
  15. package/dist/components/InputBox.test.js.map +1 -1
  16. package/dist/components/MentorMode.test.d.ts +2 -0
  17. package/dist/components/MentorMode.test.d.ts.map +1 -0
  18. package/dist/components/MentorMode.test.js.map +1 -0
  19. package/dist/components/StatusBar.test.d.ts +2 -0
  20. package/dist/components/StatusBar.test.d.ts.map +1 -0
  21. package/dist/components/StatusBar.test.js +19 -0
  22. package/dist/components/StatusBar.test.js.map +1 -0
  23. package/dist/components/TextInput.d.ts.map +1 -1
  24. package/dist/components/TextInput.js +1 -2
  25. package/dist/components/TextInput.js.map +1 -1
  26. package/dist/components/TextInput.test.js.map +1 -1
  27. package/dist/contracts/conversation.d.ts +27 -0
  28. package/dist/contracts/conversation.d.ts.map +1 -0
  29. package/dist/contracts/conversation.js +2 -0
  30. package/dist/contracts/conversation.js.map +1 -0
  31. package/dist/debug-schema.d.ts +2 -0
  32. package/dist/debug-schema.d.ts.map +1 -0
  33. package/dist/debug-schema.js +22 -0
  34. package/dist/debug-schema.js.map +1 -0
  35. package/dist/hooks/use-conversation.d.ts +3 -14
  36. package/dist/hooks/use-conversation.d.ts.map +1 -1
  37. package/dist/hooks/use-conversation.js +15 -87
  38. package/dist/hooks/use-conversation.js.map +1 -1
  39. package/dist/hooks/use-model-selection.test.d.ts +2 -0
  40. package/dist/hooks/use-model-selection.test.d.ts.map +1 -0
  41. package/dist/hooks/use-model-selection.test.js +28 -0
  42. package/dist/hooks/use-model-selection.test.js.map +1 -0
  43. package/dist/hooks/use-path-completion.test.d.ts +2 -0
  44. package/dist/hooks/use-path-completion.test.d.ts.map +1 -0
  45. package/dist/hooks/use-path-completion.test.js +29 -0
  46. package/dist/hooks/use-path-completion.test.js.map +1 -0
  47. package/dist/lib/mentor-client.d.ts +41 -0
  48. package/dist/lib/mentor-client.d.ts.map +1 -0
  49. package/dist/lib/mentor-client.js +146 -0
  50. package/dist/lib/mentor-client.js.map +1 -0
  51. package/dist/lib/mentor-client.test.d.ts +2 -0
  52. package/dist/lib/mentor-client.test.d.ts.map +1 -0
  53. package/dist/lib/mentor-client.test.js +440 -0
  54. package/dist/lib/mentor-client.test.js.map +1 -0
  55. package/dist/lib/retry-strategy.d.ts +43 -0
  56. package/dist/lib/retry-strategy.d.ts.map +1 -0
  57. package/dist/lib/retry-strategy.js +93 -0
  58. package/dist/lib/retry-strategy.js.map +1 -0
  59. package/dist/lib/retry-strategy.test.d.ts +2 -0
  60. package/dist/lib/retry-strategy.test.d.ts.map +1 -0
  61. package/dist/lib/retry-strategy.test.js +200 -0
  62. package/dist/lib/retry-strategy.test.js.map +1 -0
  63. package/dist/lib/tool-invoke.d.ts +13 -0
  64. package/dist/lib/tool-invoke.d.ts.map +1 -1
  65. package/dist/lib/tool-invoke.js +61 -3
  66. package/dist/lib/tool-invoke.js.map +1 -1
  67. package/dist/lib/tool-invoke.test.js +139 -1
  68. package/dist/lib/tool-invoke.test.js.map +1 -1
  69. package/dist/prompts/default.md.bak +77 -0
  70. package/dist/prompts/simple-mentor.md +0 -8
  71. package/dist/prompts/simple.md +4 -0
  72. package/dist/providers/github-copilot/model-direct.d.ts +34 -0
  73. package/dist/providers/github-copilot/model-direct.d.ts.map +1 -0
  74. package/dist/providers/github-copilot/model-direct.js +443 -0
  75. package/dist/providers/github-copilot/model-direct.js.map +1 -0
  76. package/dist/providers/github-copilot/model.d.ts.map +1 -1
  77. package/dist/providers/github-copilot/model.js +108 -25
  78. package/dist/providers/github-copilot/model.js.map +1 -1
  79. package/dist/providers/github-copilot/provider.d.ts +5 -0
  80. package/dist/providers/github-copilot/provider.d.ts.map +1 -1
  81. package/dist/providers/github-copilot/provider.js +7 -2
  82. package/dist/providers/github-copilot/provider.js.map +1 -1
  83. package/dist/providers/openrouter/merge-messages.test.d.ts +2 -0
  84. package/dist/providers/openrouter/merge-messages.test.d.ts.map +1 -0
  85. package/dist/providers/openrouter/merge-messages.test.js +83 -0
  86. package/dist/providers/openrouter/merge-messages.test.js.map +1 -0
  87. package/dist/providers/openrouter.history.test.d.ts +2 -0
  88. package/dist/providers/openrouter.history.test.d.ts.map +1 -0
  89. package/dist/providers/openrouter.history.test.js +533 -0
  90. package/dist/providers/openrouter.history.test.js.map +1 -0
  91. package/dist/reproduce_issue.test.d.ts +2 -0
  92. package/dist/reproduce_issue.test.d.ts.map +1 -0
  93. package/dist/reproduce_issue.test.js +31 -0
  94. package/dist/reproduce_issue.test.js.map +1 -0
  95. package/dist/services/approval-presentation-policy.d.ts +17 -0
  96. package/dist/services/approval-presentation-policy.d.ts.map +1 -0
  97. package/dist/services/approval-presentation-policy.js +44 -0
  98. package/dist/services/approval-presentation-policy.js.map +1 -0
  99. package/dist/services/approval-presentation-policy.test.d.ts +2 -0
  100. package/dist/services/approval-presentation-policy.test.d.ts.map +1 -0
  101. package/dist/services/approval-presentation-policy.test.js +74 -0
  102. package/dist/services/approval-presentation-policy.test.js.map +1 -0
  103. package/dist/services/approval-state.d.ts +4 -4
  104. package/dist/services/approval-state.d.ts.map +1 -1
  105. package/dist/services/conversation-events.d.ts +12 -9
  106. package/dist/services/conversation-events.d.ts.map +1 -1
  107. package/dist/services/conversation-result-builder.d.ts +41 -0
  108. package/dist/services/conversation-result-builder.d.ts.map +1 -0
  109. package/dist/services/conversation-result-builder.js +110 -0
  110. package/dist/services/conversation-result-builder.js.map +1 -0
  111. package/dist/services/conversation-result-builder.test.d.ts +2 -0
  112. package/dist/services/conversation-result-builder.test.d.ts.map +1 -0
  113. package/dist/services/conversation-result-builder.test.js +76 -0
  114. package/dist/services/conversation-result-builder.test.js.map +1 -0
  115. package/dist/services/conversation-service.d.ts +7 -5
  116. package/dist/services/conversation-service.d.ts.map +1 -1
  117. package/dist/services/conversation-service.js +1 -1
  118. package/dist/services/conversation-service.js.map +1 -1
  119. package/dist/services/conversation-service.test.js +183 -149
  120. package/dist/services/conversation-session.d.ts +4 -24
  121. package/dist/services/conversation-session.d.ts.map +1 -1
  122. package/dist/services/conversation-session.js +172 -229
  123. package/dist/services/conversation-session.js.map +1 -1
  124. package/dist/services/conversation-session.usage.test.d.ts +2 -0
  125. package/dist/services/conversation-session.usage.test.d.ts.map +1 -0
  126. package/dist/services/conversation-session.usage.test.js +59 -0
  127. package/dist/services/conversation-session.usage.test.js.map +1 -0
  128. package/dist/services/conversation-store.d.ts +6 -0
  129. package/dist/services/conversation-store.d.ts.map +1 -1
  130. package/dist/services/conversation-store.js +13 -0
  131. package/dist/services/conversation-store.js.map +1 -1
  132. package/dist/services/stream-event-processor.d.ts +32 -0
  133. package/dist/services/stream-event-processor.d.ts.map +1 -0
  134. package/dist/services/stream-event-processor.js +344 -0
  135. package/dist/services/stream-event-processor.js.map +1 -0
  136. package/dist/services/stream-event-processor.test.d.ts +2 -0
  137. package/dist/services/stream-event-processor.test.d.ts.map +1 -0
  138. package/dist/services/stream-event-processor.test.js +117 -0
  139. package/dist/services/stream-event-processor.test.js.map +1 -0
  140. package/dist/test-search-tool.d.ts +2 -0
  141. package/dist/test-search-tool.d.ts.map +1 -0
  142. package/dist/test-search-tool.js +36 -0
  143. package/dist/test-search-tool.js.map +1 -0
  144. package/dist/tools/read-file.test.js +15 -0
  145. package/dist/tools/read-file.test.js.map +1 -1
  146. package/dist/tools/search-replace.d.ts.map +1 -1
  147. package/dist/tools/search-replace.js +157 -1
  148. package/dist/tools/search-replace.js.map +1 -1
  149. package/dist/tools/search-replace.test.js +177 -0
  150. package/dist/tools/search-replace.test.js.map +1 -1
  151. package/dist/tools/tool-capabilities.d.ts +6 -0
  152. package/dist/tools/tool-capabilities.d.ts.map +1 -0
  153. package/dist/tools/tool-capabilities.js +17 -0
  154. package/dist/tools/tool-capabilities.js.map +1 -0
  155. package/dist/tools/types.d.ts +4 -2
  156. package/dist/tools/types.d.ts.map +1 -1
  157. package/dist/tools/utils.d.ts.map +1 -1
  158. package/dist/tools/utils.js +4 -1
  159. package/dist/tools/utils.js.map +1 -1
  160. package/dist/tools/utils.test.d.ts +2 -0
  161. package/dist/tools/utils.test.d.ts.map +1 -0
  162. package/dist/tools/utils.test.js +26 -0
  163. package/dist/tools/utils.test.js.map +1 -0
  164. package/dist/types/messages.d.ts +29 -0
  165. package/dist/types/messages.d.ts.map +1 -0
  166. package/dist/types/messages.js +2 -0
  167. package/dist/types/messages.js.map +1 -0
  168. package/dist/utils/command-safety.d.ts.map +1 -1
  169. package/dist/utils/command-safety.js +364 -10
  170. package/dist/utils/command-safety.js.map +1 -1
  171. package/dist/utils/conversation-event-handler.d.ts +16 -10
  172. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  173. package/dist/utils/conversation-event-handler.js +4 -0
  174. package/dist/utils/conversation-event-handler.js.map +1 -1
  175. package/dist/utils/extract-command-messages.repro.test.d.ts +2 -0
  176. package/dist/utils/extract-command-messages.repro.test.d.ts.map +1 -0
  177. package/dist/utils/extract-command-messages.repro.test.js +31 -0
  178. package/dist/utils/extract-command-messages.repro.test.js.map +1 -0
  179. package/dist/utils/extract-command-messages.test.js +51 -58
  180. package/dist/utils/message-utils.d.ts +17 -0
  181. package/dist/utils/message-utils.d.ts.map +1 -0
  182. package/dist/utils/message-utils.js +52 -0
  183. package/dist/utils/message-utils.js.map +1 -0
  184. package/dist/utils/message-utils.test.d.ts +2 -0
  185. package/dist/utils/message-utils.test.d.ts.map +1 -0
  186. package/dist/utils/message-utils.test.js +48 -0
  187. package/dist/utils/message-utils.test.js.map +1 -0
  188. package/dist/utils/streaming-session-factory.d.ts +9 -9
  189. package/dist/utils/streaming-session-factory.d.ts.map +1 -1
  190. package/dist/utils/streaming-session-factory.js +7 -2
  191. package/dist/utils/streaming-session-factory.js.map +1 -1
  192. package/dist/utils/synchronized-output.d.ts +35 -0
  193. package/dist/utils/synchronized-output.d.ts.map +1 -0
  194. package/dist/utils/synchronized-output.js +66 -0
  195. package/dist/utils/synchronized-output.js.map +1 -0
  196. package/dist/utils/synchronized-output.test.d.ts +2 -0
  197. package/dist/utils/synchronized-output.test.d.ts.map +1 -0
  198. package/dist/utils/synchronized-output.test.js +70 -0
  199. package/dist/utils/synchronized-output.test.js.map +1 -0
  200. package/package.json +1 -1
  201. package/dist/agent.lite-mode.test.d.ts +0 -2
  202. package/dist/agent.lite-mode.test.d.ts.map +0 -1
  203. package/dist/agent.lite-mode.test.js +0 -39
  204. package/dist/agent.lite-mode.test.js.map +0 -1
  205. package/dist/debug_ask_mentor.d.ts +0 -2
  206. package/dist/debug_ask_mentor.d.ts.map +0 -1
  207. package/dist/debug_ask_mentor.js +0 -73
  208. package/dist/debug_ask_mentor.js.map +0 -1
  209. package/dist/modes/companion/command-index.d.ts +0 -26
  210. package/dist/modes/companion/command-index.d.ts.map +0 -1
  211. package/dist/modes/companion/command-index.js +0 -50
  212. package/dist/modes/companion/command-index.js.map +0 -1
  213. package/dist/modes/companion/command-index.test.d.ts +0 -2
  214. package/dist/modes/companion/command-index.test.d.ts.map +0 -1
  215. package/dist/modes/companion/command-index.test.js +0 -86
  216. package/dist/modes/companion/command-index.test.js.map +0 -1
  217. package/dist/modes/companion/companion-app.d.ts +0 -12
  218. package/dist/modes/companion/companion-app.d.ts.map +0 -1
  219. package/dist/modes/companion/companion-app.js +0 -297
  220. package/dist/modes/companion/companion-app.js.map +0 -1
  221. package/dist/modes/companion/companion-session.d.ts +0 -63
  222. package/dist/modes/companion/companion-session.d.ts.map +0 -1
  223. package/dist/modes/companion/companion-session.js +0 -146
  224. package/dist/modes/companion/companion-session.js.map +0 -1
  225. package/dist/modes/companion/companion-session.test.d.ts +0 -2
  226. package/dist/modes/companion/companion-session.test.d.ts.map +0 -1
  227. package/dist/modes/companion/companion-session.test.js +0 -28
  228. package/dist/modes/companion/companion-session.test.js.map +0 -1
  229. package/dist/modes/companion/components/status-bar.d.ts +0 -13
  230. package/dist/modes/companion/components/status-bar.d.ts.map +0 -1
  231. package/dist/modes/companion/components/status-bar.js +0 -26
  232. package/dist/modes/companion/components/status-bar.js.map +0 -1
  233. package/dist/modes/companion/context-buffer.d.ts +0 -65
  234. package/dist/modes/companion/context-buffer.d.ts.map +0 -1
  235. package/dist/modes/companion/context-buffer.js +0 -156
  236. package/dist/modes/companion/context-buffer.js.map +0 -1
  237. package/dist/modes/companion/context-buffer.test.d.ts +0 -2
  238. package/dist/modes/companion/context-buffer.test.d.ts.map +0 -1
  239. package/dist/modes/companion/context-buffer.test.js +0 -154
  240. package/dist/modes/companion/context-buffer.test.js.map +0 -1
  241. package/dist/modes/companion/event-detector.d.ts +0 -46
  242. package/dist/modes/companion/event-detector.d.ts.map +0 -1
  243. package/dist/modes/companion/event-detector.js +0 -169
  244. package/dist/modes/companion/event-detector.js.map +0 -1
  245. package/dist/modes/companion/event-detector.test.d.ts +0 -2
  246. package/dist/modes/companion/event-detector.test.d.ts.map +0 -1
  247. package/dist/modes/companion/event-detector.test.js +0 -121
  248. package/dist/modes/companion/event-detector.test.js.map +0 -1
  249. package/dist/modes/companion/index.d.ts +0 -33
  250. package/dist/modes/companion/index.d.ts.map +0 -1
  251. package/dist/modes/companion/index.js +0 -21
  252. package/dist/modes/companion/index.js.map +0 -1
  253. package/dist/modes/companion/input-key-mapper.d.ts +0 -3
  254. package/dist/modes/companion/input-key-mapper.d.ts.map +0 -1
  255. package/dist/modes/companion/input-key-mapper.js +0 -31
  256. package/dist/modes/companion/input-key-mapper.js.map +0 -1
  257. package/dist/modes/companion/input-key-mapper.test.d.ts +0 -2
  258. package/dist/modes/companion/input-key-mapper.test.d.ts.map +0 -1
  259. package/dist/modes/companion/input-key-mapper.test.js +0 -26
  260. package/dist/modes/companion/input-key-mapper.test.js.map +0 -1
  261. package/dist/modes/companion/input-parser.d.ts +0 -53
  262. package/dist/modes/companion/input-parser.d.ts.map +0 -1
  263. package/dist/modes/companion/input-parser.js +0 -114
  264. package/dist/modes/companion/input-parser.js.map +0 -1
  265. package/dist/modes/companion/input-parser.test.d.ts +0 -2
  266. package/dist/modes/companion/input-parser.test.d.ts.map +0 -1
  267. package/dist/modes/companion/input-parser.test.js +0 -123
  268. package/dist/modes/companion/input-parser.test.js.map +0 -1
  269. package/dist/modes/companion/mode-manager.d.ts +0 -41
  270. package/dist/modes/companion/mode-manager.d.ts.map +0 -1
  271. package/dist/modes/companion/mode-manager.js +0 -56
  272. package/dist/modes/companion/mode-manager.js.map +0 -1
  273. package/dist/modes/companion/mode-manager.test.d.ts +0 -2
  274. package/dist/modes/companion/mode-manager.test.d.ts.map +0 -1
  275. package/dist/modes/companion/mode-manager.test.js +0 -65
  276. package/dist/modes/companion/mode-manager.test.js.map +0 -1
  277. package/dist/modes/companion/output-classifier.d.ts +0 -15
  278. package/dist/modes/companion/output-classifier.d.ts.map +0 -1
  279. package/dist/modes/companion/output-classifier.js +0 -77
  280. package/dist/modes/companion/output-classifier.js.map +0 -1
  281. package/dist/modes/companion/output-classifier.test.d.ts +0 -2
  282. package/dist/modes/companion/output-classifier.test.d.ts.map +0 -1
  283. package/dist/modes/companion/output-classifier.test.js +0 -133
  284. package/dist/modes/companion/output-classifier.test.js.map +0 -1
  285. package/dist/modes/companion/pty-wrapper.d.ts +0 -46
  286. package/dist/modes/companion/pty-wrapper.d.ts.map +0 -1
  287. package/dist/modes/companion/pty-wrapper.js +0 -143
  288. package/dist/modes/companion/pty-wrapper.js.map +0 -1
  289. package/dist/modes/companion/safety-classifier.d.ts +0 -31
  290. package/dist/modes/companion/safety-classifier.d.ts.map +0 -1
  291. package/dist/modes/companion/safety-classifier.js +0 -140
  292. package/dist/modes/companion/safety-classifier.js.map +0 -1
  293. package/dist/modes/companion/safety-classifier.test.d.ts +0 -2
  294. package/dist/modes/companion/safety-classifier.test.d.ts.map +0 -1
  295. package/dist/modes/companion/safety-classifier.test.js +0 -151
  296. package/dist/modes/companion/safety-classifier.test.js.map +0 -1
  297. package/dist/modes/companion/summarizer.d.ts +0 -24
  298. package/dist/modes/companion/summarizer.d.ts.map +0 -1
  299. package/dist/modes/companion/summarizer.js +0 -132
  300. package/dist/modes/companion/summarizer.js.map +0 -1
  301. package/dist/modes/companion/terminal-history.d.ts +0 -27
  302. package/dist/modes/companion/terminal-history.d.ts.map +0 -1
  303. package/dist/modes/companion/terminal-history.js +0 -142
  304. package/dist/modes/companion/terminal-history.js.map +0 -1
  305. package/dist/providers/github-copilot/model.test.d.ts +0 -2
  306. package/dist/providers/github-copilot/model.test.d.ts.map +0 -1
  307. package/dist/providers/github-copilot/model.test.js +0 -63
  308. package/dist/providers/github-copilot/model.test.js.map +0 -1
  309. package/dist/services/check_mock.d.ts +0 -2
  310. package/dist/services/check_mock.d.ts.map +0 -1
  311. package/dist/services/check_mock.js +0 -22
  312. package/dist/services/check_mock.js.map +0 -1
  313. package/dist/services/conversation-service.test.d.ts +0 -2
  314. package/dist/services/conversation-service.test.d.ts.map +0 -1
  315. package/dist/services/conversation-service.test.js.map +0 -1
  316. package/dist/utils/command-safety.devnull.test.d.ts +0 -2
  317. package/dist/utils/command-safety.devnull.test.d.ts.map +0 -1
  318. package/dist/utils/command-safety.devnull.test.js +0 -13
  319. package/dist/utils/command-safety.devnull.test.js.map +0 -1
  320. package/dist/utils/extract-command-messages.test.d.ts +0 -2
  321. package/dist/utils/extract-command-messages.test.d.ts.map +0 -1
  322. package/dist/utils/extract-command-messages.test.js.map +0 -1
@@ -4,6 +4,7 @@ import path from 'path';
4
4
  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
+ import { getApprovalPresentationCapability } from './tool-capabilities.js';
7
8
  /**
8
9
  * Detect the predominant EOL style in file content.
9
10
  * Returns '\r\n' if CRLF is dominant, otherwise '\n'.
@@ -67,7 +68,9 @@ function detectSummarizationMarkers(content) {
67
68
  }
68
69
  const searchReplaceParametersSchema = z.object({
69
70
  path: z.string().describe('The absolute or relative path to the file'),
70
- search_content: z.string().describe('The exact content to search for'),
71
+ search_content: z
72
+ .string()
73
+ .describe('The exact content to search for. Use <...> on its own line to skip unchanged middle content (gap matching).'),
71
74
  replace_content: z.string().describe('The content to replace it with'),
72
75
  replace_all: z
73
76
  .boolean()
@@ -75,6 +78,18 @@ const searchReplaceParametersSchema = z.object({
75
78
  .default(false)
76
79
  .describe('Whether to replace all occurrences of the search content. If false, requires exactly one match.'),
77
80
  });
81
+ /**
82
+ * Gap marker constant used to indicate omitted middle content in search strings.
83
+ * When the model uses <...> in search_content, the search is split into segments
84
+ * that are matched sequentially, skipping any content between them.
85
+ */
86
+ const GAP_MARKER = '<...>';
87
+ /**
88
+ * Check if search content contains gap markers.
89
+ */
90
+ function containsGapMarker(content) {
91
+ return content.includes(GAP_MARKER);
92
+ }
78
93
  let lastEditCache = null;
79
94
  function getEditCacheKey(params) {
80
95
  return JSON.stringify({
@@ -141,11 +156,85 @@ function normalizeWhitespaceWithMap(content) {
141
156
  function normalizeWhitespace(content) {
142
157
  return normalizeWhitespaceWithMap(content).normalized;
143
158
  }
159
+ /**
160
+ * Find a segment (multi-line string) within file lines using relaxed matching.
161
+ * Returns the line index range [startLineIdx, endLineIdx) or null if not found.
162
+ * Searches starting from `fromLineIdx`.
163
+ */
164
+ function findSegmentInLines(lineInfos, segmentLines, fromLineIdx) {
165
+ for (let i = fromLineIdx; i <= lineInfos.length - segmentLines.length; i++) {
166
+ let isMatch = true;
167
+ for (let j = 0; j < segmentLines.length; j++) {
168
+ if (lineInfos[i + j].trimmed !== segmentLines[j]) {
169
+ isMatch = false;
170
+ break;
171
+ }
172
+ }
173
+ if (isMatch) {
174
+ return { startLineIdx: i, endLineIdx: i + segmentLines.length };
175
+ }
176
+ }
177
+ return null;
178
+ }
179
+ /**
180
+ * Find gap matches in content. Splits search content on GAP_MARKER,
181
+ * then matches each segment sequentially in the file content.
182
+ * The matched region spans from the start of the first segment to the end of the last.
183
+ */
184
+ function findGapMatches(content, searchContent) {
185
+ const segments = searchContent.split(GAP_MARKER);
186
+ // Filter out empty segments and trim each segment's lines
187
+ const segmentLineSets = segments.map((seg) => seg
188
+ .split(/\r?\n/)
189
+ .map((l) => l.trim())
190
+ .filter((l) => l.length > 0));
191
+ // Validate: all segments must have at least one non-empty line
192
+ if (segmentLineSets.some((lines) => lines.length === 0)) {
193
+ return { type: 'none' };
194
+ }
195
+ const lineInfos = parseFileLines(content);
196
+ const allMatches = [];
197
+ // Try every possible starting position for the first segment
198
+ let searchFrom = 0;
199
+ while (searchFrom <= lineInfos.length - segmentLineSets[0].length) {
200
+ // Find the first segment
201
+ const firstMatch = findSegmentInLines(lineInfos, segmentLineSets[0], searchFrom);
202
+ if (!firstMatch)
203
+ break;
204
+ // Try to match remaining segments sequentially after the first
205
+ let valid = true;
206
+ let lastEndLineIdx = firstMatch.endLineIdx;
207
+ for (let s = 1; s < segmentLineSets.length; s++) {
208
+ const nextMatch = findSegmentInLines(lineInfos, segmentLineSets[s], lastEndLineIdx);
209
+ if (!nextMatch) {
210
+ valid = false;
211
+ break;
212
+ }
213
+ lastEndLineIdx = nextMatch.endLineIdx;
214
+ }
215
+ if (valid) {
216
+ allMatches.push({
217
+ startIndex: lineInfos[firstMatch.startLineIdx].start,
218
+ endIndex: lineInfos[lastEndLineIdx - 1].end,
219
+ });
220
+ }
221
+ // Continue searching from the next line after this match's start
222
+ searchFrom = firstMatch.startLineIdx + 1;
223
+ }
224
+ if (allMatches.length > 0) {
225
+ return { type: 'gap', count: allMatches.length, matches: allMatches };
226
+ }
227
+ return { type: 'none' };
228
+ }
144
229
  /**
145
230
  * Find matches in content using exact matching first, then relaxed matching.
146
231
  * Returns detailed match information including positions for replacement.
147
232
  */
148
233
  function findMatchesInContent(content, searchContent) {
234
+ // 0. Check for gap markers first — delegate to gap matching
235
+ if (containsGapMarker(searchContent)) {
236
+ return findGapMatches(content, searchContent);
237
+ }
149
238
  // 1. Try exact match first
150
239
  let matchCount = 0;
151
240
  let index = content.indexOf(searchContent);
@@ -274,8 +363,10 @@ export function createSearchReplaceToolDefinition(deps) {
274
363
  name: 'search_replace',
275
364
  description: 'Replace text in a file using exact or relaxed matching.\n' +
276
365
  'Set replace_all to true to replace all occurrences instead of requiring a unique match.\n' +
366
+ 'Use <...> on its own line in search_content to skip unchanged middle content (gap matching) to save tokens.\n' +
277
367
  'Use this tool for precise edits where you know the content to be replaced.',
278
368
  parameters: searchReplaceParametersSchema,
369
+ approvalPresentation: getApprovalPresentationCapability('search_replace'),
279
370
  needsApproval: async (params) => {
280
371
  try {
281
372
  const editMode = settingsService.get('app.editMode');
@@ -389,6 +480,24 @@ export function createSearchReplaceToolDefinition(deps) {
389
480
  });
390
481
  return true;
391
482
  }
483
+ if (matchInfo.type === 'gap') {
484
+ if (!replace_all && matchInfo.count > 1) {
485
+ loggingService.warn('search_replace validation: multiple gap matches, replace_all=false - will fail in execute', {
486
+ path: filePath,
487
+ count: matchInfo.count,
488
+ });
489
+ return false;
490
+ }
491
+ loggingService.info('search_replace validation: gap match(es) found', {
492
+ path: filePath,
493
+ count: matchInfo.count,
494
+ replace_all,
495
+ });
496
+ if (editMode && insideCwd) {
497
+ return false;
498
+ }
499
+ return true;
500
+ }
392
501
  // matchInfo.type === 'none'
393
502
  loggingService.warn('search_replace validation: no match found - will fail in execute', {
394
503
  path: filePath,
@@ -673,6 +782,53 @@ export function createSearchReplaceToolDefinition(deps) {
673
782
  ],
674
783
  });
675
784
  }
785
+ if (matchInfo.type === 'gap') {
786
+ if (!replace_all && matchInfo.count > 1) {
787
+ return JSON.stringify({
788
+ output: [
789
+ {
790
+ success: false,
791
+ error: `Found ${matchInfo.count} gap matches. Please provide more context or set replace_all to true.`,
792
+ },
793
+ ],
794
+ });
795
+ }
796
+ let newContent = content;
797
+ if (replace_all) {
798
+ matchInfo.matches.sort((a, b) => b.startIndex - a.startIndex);
799
+ for (const m of matchInfo.matches) {
800
+ newContent =
801
+ newContent.substring(0, m.startIndex) + normalizedReplaceContent + newContent.substring(m.endIndex);
802
+ }
803
+ }
804
+ else {
805
+ const m = matchInfo.matches[0];
806
+ newContent = content.substring(0, m.startIndex) + normalizedReplaceContent + content.substring(m.endIndex);
807
+ }
808
+ await writeFileFn(targetPath, newContent);
809
+ if (enableFileLogging) {
810
+ loggingService.info('File updated (gap match)', {
811
+ path: filePath,
812
+ replace_all,
813
+ count: replace_all ? matchInfo.count : 1,
814
+ healed: usedHealing,
815
+ });
816
+ }
817
+ const successMessage = usedHealing
818
+ ? `Updated ${filePath} (healed match - original search had minor differences)`
819
+ : `Updated ${filePath} (${replace_all ? matchInfo.count : 1} gap match${replace_all && matchInfo.count > 1 ? 'es' : ''})`;
820
+ return JSON.stringify({
821
+ output: [
822
+ {
823
+ success: true,
824
+ operation: 'search_replace',
825
+ path: filePath,
826
+ message: successMessage,
827
+ healed: usedHealing,
828
+ },
829
+ ],
830
+ });
831
+ }
676
832
  // matchInfo.type === 'none'
677
833
  return JSON.stringify({
678
834
  output: [
@@ -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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"}
@@ -538,4 +538,181 @@ test.serial('execute rejects search content with // ... marker', async (t) => {
538
538
  t.true(parsed.output[0].error.includes('// ...'));
539
539
  });
540
540
  });
541
+ // ============================================================================
542
+ // Gap Matching Tests (<...> marker)
543
+ // ============================================================================
544
+ test.serial('execute performs gap match: head <...> tail replaces entire region', async (t) => {
545
+ await withTempDir(async (dir) => {
546
+ const tool = createTool(createMockSettingsService({ 'tools.enableEditHealing': false }));
547
+ const filePath = 'content.txt';
548
+ const absPath = path.join(dir, filePath);
549
+ await fs.writeFile(absPath, 'function foo() {\n const x = 1;\n const y = 2;\n const z = 3;\n return x + y + z;\n}\n');
550
+ const result = await tool.execute({
551
+ path: filePath,
552
+ search_content: 'function foo() {\n const x = 1;\n<...>\n return x + y + z;\n}',
553
+ replace_content: 'function foo() {\n return 6;\n}\n',
554
+ replace_all: false,
555
+ });
556
+ const parsed = JSON.parse(result);
557
+ t.true(parsed.output[0].success);
558
+ t.true(parsed.output[0].message.includes('gap'));
559
+ const updated = await fs.readFile(absPath, 'utf8');
560
+ t.is(updated, 'function foo() {\n return 6;\n}\n');
561
+ });
562
+ });
563
+ test.serial('execute performs gap match with single-line head and tail', async (t) => {
564
+ await withTempDir(async (dir) => {
565
+ const tool = createTool(createMockSettingsService({ 'tools.enableEditHealing': false }));
566
+ const filePath = 'content.txt';
567
+ const absPath = path.join(dir, filePath);
568
+ await fs.writeFile(absPath, 'start\nmiddle1\nmiddle2\nend\nafter');
569
+ const result = await tool.execute({
570
+ path: filePath,
571
+ search_content: 'start\n<...>\nend',
572
+ replace_content: 'replaced\n',
573
+ replace_all: false,
574
+ });
575
+ const parsed = JSON.parse(result);
576
+ t.true(parsed.output[0].success);
577
+ const updated = await fs.readFile(absPath, 'utf8');
578
+ t.is(updated, 'replaced\nafter');
579
+ });
580
+ });
581
+ test.serial('execute performs gap match with adjacent head and tail (no actual gap content)', async (t) => {
582
+ await withTempDir(async (dir) => {
583
+ const tool = createTool(createMockSettingsService({ 'tools.enableEditHealing': false }));
584
+ const filePath = 'content.txt';
585
+ const absPath = path.join(dir, filePath);
586
+ await fs.writeFile(absPath, 'line1\nline2\nline3');
587
+ const result = await tool.execute({
588
+ path: filePath,
589
+ search_content: 'line1\n<...>\nline2',
590
+ replace_content: 'replaced\n',
591
+ replace_all: false,
592
+ });
593
+ const parsed = JSON.parse(result);
594
+ t.true(parsed.output[0].success);
595
+ const updated = await fs.readFile(absPath, 'utf8');
596
+ t.is(updated, 'replaced\nline3');
597
+ });
598
+ });
599
+ test.serial('execute performs gap match with multiple <...> markers', async (t) => {
600
+ await withTempDir(async (dir) => {
601
+ const tool = createTool(createMockSettingsService({ 'tools.enableEditHealing': false }));
602
+ const filePath = 'content.txt';
603
+ const absPath = path.join(dir, filePath);
604
+ await fs.writeFile(absPath, 'function a() {\n body1;\n}\nfunction b() {\n body2;\n}\nfunction c() {\n body3;\n}\n');
605
+ const result = await tool.execute({
606
+ path: filePath,
607
+ search_content: 'function a() {\n<...>\nfunction b() {\n<...>\nfunction c() {\n body3;\n}',
608
+ replace_content: 'function abc() {\n combined;\n}\n',
609
+ replace_all: false,
610
+ });
611
+ const parsed = JSON.parse(result);
612
+ t.true(parsed.output[0].success);
613
+ const updated = await fs.readFile(absPath, 'utf8');
614
+ t.is(updated, 'function abc() {\n combined;\n}\n');
615
+ });
616
+ });
617
+ test.serial('execute gap match fails when head is not found', async (t) => {
618
+ await withTempDir(async (dir) => {
619
+ const tool = createTool(createMockSettingsService({ 'tools.enableEditHealing': false }));
620
+ const filePath = 'content.txt';
621
+ const absPath = path.join(dir, filePath);
622
+ await fs.writeFile(absPath, 'line1\nline2\nline3');
623
+ const result = await tool.execute({
624
+ path: filePath,
625
+ search_content: 'nonexistent\n<...>\nline3',
626
+ replace_content: 'replaced',
627
+ replace_all: false,
628
+ });
629
+ const parsed = JSON.parse(result);
630
+ t.false(parsed.output[0].success);
631
+ });
632
+ });
633
+ test.serial('execute gap match fails when tail is not found after head', async (t) => {
634
+ await withTempDir(async (dir) => {
635
+ const tool = createTool(createMockSettingsService({ 'tools.enableEditHealing': false }));
636
+ const filePath = 'content.txt';
637
+ const absPath = path.join(dir, filePath);
638
+ await fs.writeFile(absPath, 'line1\nline2\nline3');
639
+ const result = await tool.execute({
640
+ path: filePath,
641
+ search_content: 'line1\n<...>\nnonexistent',
642
+ replace_content: 'replaced',
643
+ replace_all: false,
644
+ });
645
+ const parsed = JSON.parse(result);
646
+ t.false(parsed.output[0].success);
647
+ });
648
+ });
649
+ test.serial('execute gap match rejects multiple matches when replace_all is false', async (t) => {
650
+ await withTempDir(async (dir) => {
651
+ const tool = createTool(createMockSettingsService({ 'tools.enableEditHealing': false }));
652
+ const filePath = 'content.txt';
653
+ const absPath = path.join(dir, filePath);
654
+ await fs.writeFile(absPath, 'start\nmiddle1\nend\nstart\nmiddle2\nend\n');
655
+ const result = await tool.execute({
656
+ path: filePath,
657
+ search_content: 'start\n<...>\nend',
658
+ replace_content: 'replaced',
659
+ replace_all: false,
660
+ });
661
+ const parsed = JSON.parse(result);
662
+ t.false(parsed.output[0].success);
663
+ t.true(parsed.output[0].error.includes('gap'));
664
+ });
665
+ });
666
+ test.serial('execute gap match replaces all when replace_all is true', async (t) => {
667
+ await withTempDir(async (dir) => {
668
+ const tool = createTool(createMockSettingsService({ 'tools.enableEditHealing': false }));
669
+ const filePath = 'content.txt';
670
+ const absPath = path.join(dir, filePath);
671
+ await fs.writeFile(absPath, 'start\nmiddle1\nend\nstart\nmiddle2\nend\n');
672
+ const result = await tool.execute({
673
+ path: filePath,
674
+ search_content: 'start\n<...>\nend',
675
+ replace_content: 'replaced\n',
676
+ replace_all: true,
677
+ });
678
+ const parsed = JSON.parse(result);
679
+ t.true(parsed.output[0].success);
680
+ const updated = await fs.readFile(absPath, 'utf8');
681
+ t.is(updated, 'replaced\nreplaced\n');
682
+ });
683
+ });
684
+ test.serial('execute gap match works with relaxed whitespace matching in segments', async (t) => {
685
+ await withTempDir(async (dir) => {
686
+ const tool = createTool(createMockSettingsService({ 'tools.enableEditHealing': false }));
687
+ const filePath = 'content.txt';
688
+ const absPath = path.join(dir, filePath);
689
+ await fs.writeFile(absPath, ' function foo() {\n const x = 1;\n const y = 2;\n return x;\n }\n');
690
+ const result = await tool.execute({
691
+ path: filePath,
692
+ search_content: 'function foo() {\n<...>\nreturn x;\n}',
693
+ replace_content: 'function foo() {\n return 42;\n}\n',
694
+ replace_all: false,
695
+ });
696
+ const parsed = JSON.parse(result);
697
+ t.true(parsed.output[0].success);
698
+ const updated = await fs.readFile(absPath, 'utf8');
699
+ t.is(updated, 'function foo() {\n return 42;\n}\n');
700
+ });
701
+ });
702
+ test.serial('needsApproval handles gap match in edit mode', async (t) => {
703
+ await withTempDir(async (dir) => {
704
+ const tool = createTool(createMockSettingsService({ app: { editMode: true } }));
705
+ const filePath = 'content.txt';
706
+ const absPath = path.join(dir, filePath);
707
+ await fs.writeFile(absPath, 'start\nmiddle\nend\n');
708
+ const result = await tool.needsApproval({
709
+ path: filePath,
710
+ search_content: 'start\n<...>\nend',
711
+ replace_content: 'replaced',
712
+ replace_all: false,
713
+ });
714
+ // In edit mode with a unique gap match, should auto-approve
715
+ t.false(result);
716
+ });
717
+ });
541
718
  //# sourceMappingURL=search-replace.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-replace.test.js","sourceRoot":"","sources":["../../source/tools/search-replace.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-replace.test.js","sourceRoot":"","sources":["../../source/tools/search-replace.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface ApprovalPresentationCapability {
2
+ annotateCommandMessage: boolean;
3
+ hidePendingDuringPrompt: boolean;
4
+ }
5
+ export declare const getApprovalPresentationCapability: (toolName?: string) => ApprovalPresentationCapability;
6
+ //# sourceMappingURL=tool-capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-capabilities.d.ts","sourceRoot":"","sources":["../../source/tools/tool-capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,8BAA8B;IAC7C,sBAAsB,EAAE,OAAO,CAAC;IAChC,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAcD,eAAO,MAAM,iCAAiC,GAAI,WAAW,MAAM,KAAG,8BAMrE,CAAC"}