@opensumi/ide-ai-native 3.7.2-next-1740448398.0 → 3.7.2-next-1741226843.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 (448) hide show
  1. package/lib/browser/ai-core.contextkeys.d.ts +0 -1
  2. package/lib/browser/ai-core.contextkeys.d.ts.map +1 -1
  3. package/lib/browser/ai-core.contextkeys.js +0 -1
  4. package/lib/browser/ai-core.contextkeys.js.map +1 -1
  5. package/lib/browser/ai-core.contribution.d.ts +2 -8
  6. package/lib/browser/ai-core.contribution.d.ts.map +1 -1
  7. package/lib/browser/ai-core.contribution.js +20 -149
  8. package/lib/browser/ai-core.contribution.js.map +1 -1
  9. package/lib/browser/chat/chat-agent.service.d.ts.map +1 -1
  10. package/lib/browser/chat/chat-agent.service.js +0 -6
  11. package/lib/browser/chat/chat-agent.service.js.map +1 -1
  12. package/lib/browser/chat/chat-manager.service.d.ts +2 -30
  13. package/lib/browser/chat/chat-manager.service.d.ts.map +1 -1
  14. package/lib/browser/chat/chat-manager.service.js +1 -45
  15. package/lib/browser/chat/chat-manager.service.js.map +1 -1
  16. package/lib/browser/chat/chat-model.d.ts +7 -34
  17. package/lib/browser/chat/chat-model.d.ts.map +1 -1
  18. package/lib/browser/chat/chat-model.js +57 -71
  19. package/lib/browser/chat/chat-model.js.map +1 -1
  20. package/lib/browser/chat/chat-proxy.service.d.ts +1 -6
  21. package/lib/browser/chat/chat-proxy.service.d.ts.map +1 -1
  22. package/lib/browser/chat/chat-proxy.service.js +3 -54
  23. package/lib/browser/chat/chat-proxy.service.js.map +1 -1
  24. package/lib/browser/chat/chat.api.service.d.ts +1 -1
  25. package/lib/browser/chat/chat.api.service.d.ts.map +1 -1
  26. package/lib/browser/chat/chat.api.service.js +2 -2
  27. package/lib/browser/chat/chat.api.service.js.map +1 -1
  28. package/lib/browser/chat/chat.internal.service.d.ts +2 -8
  29. package/lib/browser/chat/chat.internal.service.d.ts.map +1 -1
  30. package/lib/browser/chat/chat.internal.service.js +13 -41
  31. package/lib/browser/chat/chat.internal.service.js.map +1 -1
  32. package/lib/browser/chat/chat.module.less +41 -17
  33. package/lib/browser/chat/chat.view.d.ts.map +1 -1
  34. package/lib/browser/chat/chat.view.js +14 -102
  35. package/lib/browser/chat/chat.view.js.map +1 -1
  36. package/lib/browser/components/ChatEditor.d.ts +0 -1
  37. package/lib/browser/components/ChatEditor.d.ts.map +1 -1
  38. package/lib/browser/components/ChatEditor.js +3 -3
  39. package/lib/browser/components/ChatEditor.js.map +1 -1
  40. package/lib/browser/components/ChatInput.d.ts.map +1 -1
  41. package/lib/browser/components/ChatInput.js.map +1 -1
  42. package/lib/browser/components/ChatMarkdown.d.ts +0 -1
  43. package/lib/browser/components/ChatMarkdown.d.ts.map +1 -1
  44. package/lib/browser/components/ChatMarkdown.js +2 -2
  45. package/lib/browser/components/ChatMarkdown.js.map +1 -1
  46. package/lib/browser/components/ChatReply.d.ts.map +1 -1
  47. package/lib/browser/components/ChatReply.js +4 -29
  48. package/lib/browser/components/ChatReply.js.map +1 -1
  49. package/lib/browser/components/ChatThinking.js +1 -1
  50. package/lib/browser/components/ChatThinking.js.map +1 -1
  51. package/lib/browser/components/WelcomeMsg.js.map +1 -1
  52. package/lib/browser/components/components.module.less +31 -33
  53. package/lib/browser/components/utils.d.ts +2 -2
  54. package/lib/browser/contrib/intelligent-completions/index.d.ts +9 -16
  55. package/lib/browser/contrib/intelligent-completions/index.d.ts.map +1 -1
  56. package/lib/browser/contrib/intelligent-completions/index.js +1 -6
  57. package/lib/browser/contrib/intelligent-completions/index.js.map +1 -1
  58. package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.d.ts +0 -1
  59. package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.d.ts.map +1 -1
  60. package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.js +4 -26
  61. package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.js.map +1 -1
  62. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.d.ts +5 -5
  63. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.d.ts.map +1 -1
  64. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.js +48 -59
  65. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.js.map +1 -1
  66. package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.d.ts +0 -4
  67. package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.d.ts.map +1 -1
  68. package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.js +0 -7
  69. package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.js.map +1 -1
  70. package/lib/browser/contrib/intelligent-completions/source/base.d.ts +5 -14
  71. package/lib/browser/contrib/intelligent-completions/source/base.d.ts.map +1 -1
  72. package/lib/browser/contrib/intelligent-completions/source/base.js +8 -29
  73. package/lib/browser/contrib/intelligent-completions/source/base.js.map +1 -1
  74. package/lib/browser/contrib/intelligent-completions/source/line-change.source.d.ts +3 -10
  75. package/lib/browser/contrib/intelligent-completions/source/line-change.source.d.ts.map +1 -1
  76. package/lib/browser/contrib/intelligent-completions/source/line-change.source.js +22 -95
  77. package/lib/browser/contrib/intelligent-completions/source/line-change.source.js.map +1 -1
  78. package/lib/browser/contrib/intelligent-completions/source/lint-error.source.d.ts +3 -1
  79. package/lib/browser/contrib/intelligent-completions/source/lint-error.source.d.ts.map +1 -1
  80. package/lib/browser/contrib/intelligent-completions/source/lint-error.source.js +20 -13
  81. package/lib/browser/contrib/intelligent-completions/source/lint-error.source.js.map +1 -1
  82. package/lib/browser/contrib/terminal/component/terminal-command-suggest-controller.js +2 -2
  83. package/lib/browser/contrib/terminal/component/terminal-command-suggest-controller.js.map +1 -1
  84. package/lib/browser/index.d.ts +3 -11
  85. package/lib/browser/index.d.ts.map +1 -1
  86. package/lib/browser/index.js +4 -56
  87. package/lib/browser/index.js.map +1 -1
  88. package/lib/browser/languages/tree-sitter/wasm-manager.d.ts.map +1 -1
  89. package/lib/browser/languages/tree-sitter/wasm-manager.js +2 -14
  90. package/lib/browser/languages/tree-sitter/wasm-manager.js.map +1 -1
  91. package/lib/browser/layout/ai-layout.d.ts.map +1 -1
  92. package/lib/browser/layout/ai-layout.js +2 -2
  93. package/lib/browser/layout/ai-layout.js.map +1 -1
  94. package/lib/browser/layout/layout.module.less +9 -9
  95. package/lib/browser/layout/tabbar.view.d.ts.map +1 -1
  96. package/lib/browser/layout/tabbar.view.js +6 -5
  97. package/lib/browser/layout/tabbar.view.js.map +1 -1
  98. package/lib/browser/model/enhanceDecorationsCollection.d.ts +10 -14
  99. package/lib/browser/model/enhanceDecorationsCollection.d.ts.map +1 -1
  100. package/lib/browser/model/enhanceDecorationsCollection.js +53 -42
  101. package/lib/browser/model/enhanceDecorationsCollection.js.map +1 -1
  102. package/lib/browser/model/msg-history-manager.d.ts +1 -20
  103. package/lib/browser/model/msg-history-manager.d.ts.map +1 -1
  104. package/lib/browser/model/msg-history-manager.js +10 -46
  105. package/lib/browser/model/msg-history-manager.js.map +1 -1
  106. package/lib/browser/model/styles.module.less +7 -0
  107. package/lib/browser/preferences/schema.d.ts.map +1 -1
  108. package/lib/browser/preferences/schema.js +0 -69
  109. package/lib/browser/preferences/schema.js.map +1 -1
  110. package/lib/browser/types.d.ts +4 -74
  111. package/lib/browser/types.d.ts.map +1 -1
  112. package/lib/browser/types.js +1 -4
  113. package/lib/browser/types.js.map +1 -1
  114. package/lib/browser/widget/inline-chat/inline-chat-editor.controller.d.ts +1 -2
  115. package/lib/browser/widget/inline-chat/inline-chat-editor.controller.d.ts.map +1 -1
  116. package/lib/browser/widget/inline-chat/inline-chat-editor.controller.js +49 -21
  117. package/lib/browser/widget/inline-chat/inline-chat-editor.controller.js.map +1 -1
  118. package/lib/browser/widget/inline-chat/inline-chat.feature.registry.d.ts +13 -3
  119. package/lib/browser/widget/inline-chat/inline-chat.feature.registry.d.ts.map +1 -1
  120. package/lib/browser/widget/inline-chat/inline-chat.feature.registry.js +72 -24
  121. package/lib/browser/widget/inline-chat/inline-chat.feature.registry.js.map +1 -1
  122. package/lib/browser/widget/inline-chat/inline-chat.service.d.ts +6 -1
  123. package/lib/browser/widget/inline-chat/inline-chat.service.d.ts.map +1 -1
  124. package/lib/browser/widget/inline-chat/inline-chat.service.js +17 -5
  125. package/lib/browser/widget/inline-chat/inline-chat.service.js.map +1 -1
  126. package/lib/browser/widget/inline-chat/inline-content-widget.d.ts +5 -2
  127. package/lib/browser/widget/inline-chat/inline-content-widget.d.ts.map +1 -1
  128. package/lib/browser/widget/inline-chat/inline-content-widget.js +42 -17
  129. package/lib/browser/widget/inline-chat/inline-content-widget.js.map +1 -1
  130. package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts +5 -22
  131. package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts.map +1 -1
  132. package/lib/browser/widget/inline-diff/inline-diff-previewer.js +30 -61
  133. package/lib/browser/widget/inline-diff/inline-diff-previewer.js.map +1 -1
  134. package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts +12 -8
  135. package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts.map +1 -1
  136. package/lib/browser/widget/inline-diff/inline-diff.controller.js +96 -68
  137. package/lib/browser/widget/inline-diff/inline-diff.controller.js.map +1 -1
  138. package/lib/browser/widget/inline-hint/inline-hint.controller.d.ts +1 -0
  139. package/lib/browser/widget/inline-hint/inline-hint.controller.d.ts.map +1 -1
  140. package/lib/browser/widget/inline-hint/inline-hint.controller.js +5 -0
  141. package/lib/browser/widget/inline-hint/inline-hint.controller.js.map +1 -1
  142. package/lib/browser/widget/inline-input/inline-input-widget.d.ts +2 -12
  143. package/lib/browser/widget/inline-input/inline-input-widget.d.ts.map +1 -1
  144. package/lib/browser/widget/inline-input/inline-input-widget.js +18 -26
  145. package/lib/browser/widget/inline-input/inline-input-widget.js.map +1 -1
  146. package/lib/browser/widget/inline-input/inline-input.controller.d.ts +5 -14
  147. package/lib/browser/widget/inline-input/inline-input.controller.d.ts.map +1 -1
  148. package/lib/browser/widget/inline-input/inline-input.controller.js +165 -321
  149. package/lib/browser/widget/inline-input/inline-input.controller.js.map +1 -1
  150. package/lib/browser/widget/inline-input/inline-input.module.less +0 -4
  151. package/lib/browser/widget/inline-input/inline-input.service.d.ts +7 -19
  152. package/lib/browser/widget/inline-input/inline-input.service.d.ts.map +1 -1
  153. package/lib/browser/widget/inline-input/inline-input.service.js +12 -72
  154. package/lib/browser/widget/inline-input/inline-input.service.js.map +1 -1
  155. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts +19 -9
  156. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts.map +1 -1
  157. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js +39 -47
  158. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js.map +1 -1
  159. package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts +4 -21
  160. package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts.map +1 -1
  161. package/lib/browser/widget/inline-stream-diff/live-preview.component.js +5 -37
  162. package/lib/browser/widget/inline-stream-diff/live-preview.component.js.map +1 -1
  163. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts +11 -7
  164. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts.map +1 -1
  165. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js +77 -34
  166. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js.map +1 -1
  167. package/lib/common/index.d.ts +0 -10
  168. package/lib/common/index.d.ts.map +1 -1
  169. package/lib/common/index.js +1 -4
  170. package/lib/common/index.js.map +1 -1
  171. package/lib/common/types.d.ts +0 -17
  172. package/lib/common/types.d.ts.map +1 -1
  173. package/lib/common/utils.d.ts +0 -1
  174. package/lib/common/utils.d.ts.map +1 -1
  175. package/lib/common/utils.js +3 -5
  176. package/lib/common/utils.js.map +1 -1
  177. package/lib/node/index.d.ts.map +1 -1
  178. package/lib/node/index.js +0 -19
  179. package/lib/node/index.js.map +1 -1
  180. package/package.json +22 -33
  181. package/src/browser/ai-core.contextkeys.ts +0 -3
  182. package/src/browser/ai-core.contribution.ts +21 -167
  183. package/src/browser/chat/chat-agent.service.ts +0 -7
  184. package/src/browser/chat/chat-manager.service.ts +7 -83
  185. package/src/browser/chat/chat-model.ts +20 -86
  186. package/src/browser/chat/chat-proxy.service.ts +3 -55
  187. package/src/browser/chat/chat.api.service.ts +2 -2
  188. package/src/browser/chat/chat.internal.service.ts +6 -35
  189. package/src/browser/chat/chat.module.less +41 -17
  190. package/src/browser/chat/chat.view.tsx +45 -191
  191. package/src/browser/components/ChatEditor.tsx +10 -13
  192. package/src/browser/components/ChatInput.tsx +0 -1
  193. package/src/browser/components/ChatMarkdown.tsx +2 -4
  194. package/src/browser/components/ChatReply.tsx +9 -38
  195. package/src/browser/components/ChatThinking.tsx +1 -1
  196. package/src/browser/components/WelcomeMsg.tsx +1 -1
  197. package/src/browser/components/components.module.less +31 -33
  198. package/src/browser/contrib/intelligent-completions/index.ts +4 -19
  199. package/src/browser/contrib/intelligent-completions/intelligent-completions.contribution.ts +8 -32
  200. package/src/browser/contrib/intelligent-completions/intelligent-completions.controller.ts +67 -102
  201. package/src/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.ts +0 -11
  202. package/src/browser/contrib/intelligent-completions/source/base.ts +14 -39
  203. package/src/browser/contrib/intelligent-completions/source/line-change.source.ts +22 -129
  204. package/src/browser/contrib/intelligent-completions/source/lint-error.source.ts +31 -19
  205. package/src/browser/contrib/terminal/component/terminal-command-suggest-controller.tsx +1 -1
  206. package/src/browser/index.ts +6 -69
  207. package/src/browser/languages/tree-sitter/wasm-manager.ts +2 -12
  208. package/src/browser/layout/ai-layout.tsx +2 -5
  209. package/src/browser/layout/layout.module.less +9 -9
  210. package/src/browser/layout/tabbar.view.tsx +8 -10
  211. package/src/browser/model/enhanceDecorationsCollection.ts +77 -62
  212. package/src/browser/model/msg-history-manager.ts +2 -56
  213. package/src/browser/model/styles.module.less +7 -0
  214. package/src/browser/preferences/schema.ts +0 -69
  215. package/src/browser/types.ts +5 -100
  216. package/src/browser/widget/inline-chat/inline-chat-editor.controller.ts +65 -30
  217. package/src/browser/widget/inline-chat/inline-chat.feature.registry.ts +90 -23
  218. package/src/browser/widget/inline-chat/inline-chat.service.ts +17 -2
  219. package/src/browser/widget/inline-chat/inline-content-widget.tsx +69 -14
  220. package/src/browser/widget/inline-diff/inline-diff-previewer.ts +32 -87
  221. package/src/browser/widget/inline-diff/inline-diff.controller.ts +114 -90
  222. package/src/browser/widget/inline-hint/inline-hint.controller.ts +7 -1
  223. package/src/browser/widget/inline-input/inline-input-widget.tsx +12 -34
  224. package/src/browser/widget/inline-input/inline-input.controller.ts +242 -454
  225. package/src/browser/widget/inline-input/inline-input.module.less +0 -4
  226. package/src/browser/widget/inline-input/inline-input.service.ts +13 -92
  227. package/src/browser/widget/inline-stream-diff/inline-stream-diff.handler.tsx +67 -58
  228. package/src/browser/widget/inline-stream-diff/live-preview.component.tsx +6 -49
  229. package/src/browser/widget/inline-stream-diff/live-preview.decoration.tsx +112 -41
  230. package/src/common/index.ts +0 -15
  231. package/src/common/types.ts +0 -22
  232. package/src/common/utils.ts +2 -4
  233. package/src/node/index.ts +0 -21
  234. package/lib/browser/components/ChatContext/ContextSelector.d.ts +0 -12
  235. package/lib/browser/components/ChatContext/ContextSelector.d.ts.map +0 -1
  236. package/lib/browser/components/ChatContext/ContextSelector.js +0 -113
  237. package/lib/browser/components/ChatContext/ContextSelector.js.map +0 -1
  238. package/lib/browser/components/ChatContext/index.d.ts +0 -4
  239. package/lib/browser/components/ChatContext/index.d.ts.map +0 -1
  240. package/lib/browser/components/ChatContext/index.js +0 -100
  241. package/lib/browser/components/ChatContext/index.js.map +0 -1
  242. package/lib/browser/components/ChatContext/style.module.less +0 -201
  243. package/lib/browser/components/ChatHistory.d.ts +0 -21
  244. package/lib/browser/components/ChatHistory.d.ts.map +0 -1
  245. package/lib/browser/components/ChatHistory.js +0 -148
  246. package/lib/browser/components/ChatHistory.js.map +0 -1
  247. package/lib/browser/components/ChatToolRender.d.ts +0 -7
  248. package/lib/browser/components/ChatToolRender.d.ts.map +0 -1
  249. package/lib/browser/components/ChatToolRender.js +0 -71
  250. package/lib/browser/components/ChatToolRender.js.map +0 -1
  251. package/lib/browser/components/ChatToolRender.module.less +0 -86
  252. package/lib/browser/components/chat-history.css +0 -139
  253. package/lib/browser/context/llm-context.contribution.d.ts +0 -7
  254. package/lib/browser/context/llm-context.contribution.d.ts.map +0 -1
  255. package/lib/browser/context/llm-context.contribution.js +0 -21
  256. package/lib/browser/context/llm-context.contribution.js.map +0 -1
  257. package/lib/browser/context/llm-context.service.d.ts +0 -36
  258. package/lib/browser/context/llm-context.service.d.ts.map +0 -1
  259. package/lib/browser/context/llm-context.service.js +0 -170
  260. package/lib/browser/context/llm-context.service.js.map +0 -1
  261. package/lib/browser/contrib/intelligent-completions/source/trigger.source.d.ts +0 -13
  262. package/lib/browser/contrib/intelligent-completions/source/trigger.source.d.ts.map +0 -1
  263. package/lib/browser/contrib/intelligent-completions/source/trigger.source.js +0 -36
  264. package/lib/browser/contrib/intelligent-completions/source/trigger.source.js.map +0 -1
  265. package/lib/browser/contrib/intelligent-completions/source/typing.source.d.ts +0 -9
  266. package/lib/browser/contrib/intelligent-completions/source/typing.source.d.ts.map +0 -1
  267. package/lib/browser/contrib/intelligent-completions/source/typing.source.js +0 -36
  268. package/lib/browser/contrib/intelligent-completions/source/typing.source.js.map +0 -1
  269. package/lib/browser/mcp/base-apply.service.d.ts +0 -67
  270. package/lib/browser/mcp/base-apply.service.d.ts.map +0 -1
  271. package/lib/browser/mcp/base-apply.service.js +0 -290
  272. package/lib/browser/mcp/base-apply.service.js.map +0 -1
  273. package/lib/browser/mcp/mcp-server-proxy.service.d.ts +0 -30
  274. package/lib/browser/mcp/mcp-server-proxy.service.d.ts.map +0 -1
  275. package/lib/browser/mcp/mcp-server-proxy.service.js +0 -57
  276. package/lib/browser/mcp/mcp-server-proxy.service.js.map +0 -1
  277. package/lib/browser/mcp/mcp-server.feature.registry.d.ts +0 -20
  278. package/lib/browser/mcp/mcp-server.feature.registry.d.ts.map +0 -1
  279. package/lib/browser/mcp/mcp-server.feature.registry.js +0 -69
  280. package/lib/browser/mcp/mcp-server.feature.registry.js.map +0 -1
  281. package/lib/browser/mcp/mcp-tools-dialog.module.less +0 -44
  282. package/lib/browser/mcp/mcp-tools-dialog.view.d.ts +0 -8
  283. package/lib/browser/mcp/mcp-tools-dialog.view.d.ts.map +0 -1
  284. package/lib/browser/mcp/mcp-tools-dialog.view.js +0 -16
  285. package/lib/browser/mcp/mcp-tools-dialog.view.js.map +0 -1
  286. package/lib/browser/mcp/tools/components/EditFile.d.ts +0 -3
  287. package/lib/browser/mcp/tools/components/EditFile.d.ts.map +0 -1
  288. package/lib/browser/mcp/tools/components/EditFile.js +0 -101
  289. package/lib/browser/mcp/tools/components/EditFile.js.map +0 -1
  290. package/lib/browser/mcp/tools/components/SearchResult.d.ts +0 -11
  291. package/lib/browser/mcp/tools/components/SearchResult.d.ts.map +0 -1
  292. package/lib/browser/mcp/tools/components/SearchResult.js +0 -60
  293. package/lib/browser/mcp/tools/components/SearchResult.js.map +0 -1
  294. package/lib/browser/mcp/tools/components/Terminal.d.ts +0 -4
  295. package/lib/browser/mcp/tools/components/Terminal.d.ts.map +0 -1
  296. package/lib/browser/mcp/tools/components/Terminal.js +0 -64
  297. package/lib/browser/mcp/tools/components/Terminal.js.map +0 -1
  298. package/lib/browser/mcp/tools/components/index.module.less +0 -168
  299. package/lib/browser/mcp/tools/createNewFileWithText.d.ts +0 -9
  300. package/lib/browser/mcp/tools/createNewFileWithText.d.ts.map +0 -1
  301. package/lib/browser/mcp/tools/createNewFileWithText.js +0 -82
  302. package/lib/browser/mcp/tools/createNewFileWithText.js.map +0 -1
  303. package/lib/browser/mcp/tools/editFile.d.ts +0 -8
  304. package/lib/browser/mcp/tools/editFile.d.ts.map +0 -1
  305. package/lib/browser/mcp/tools/editFile.js +0 -95
  306. package/lib/browser/mcp/tools/editFile.js.map +0 -1
  307. package/lib/browser/mcp/tools/fileSearch.d.ts +0 -10
  308. package/lib/browser/mcp/tools/fileSearch.d.ts.map +0 -1
  309. package/lib/browser/mcp/tools/fileSearch.js +0 -94
  310. package/lib/browser/mcp/tools/fileSearch.js.map +0 -1
  311. package/lib/browser/mcp/tools/getDiagnosticsByPath.d.ts +0 -10
  312. package/lib/browser/mcp/tools/getDiagnosticsByPath.d.ts.map +0 -1
  313. package/lib/browser/mcp/tools/getDiagnosticsByPath.js +0 -118
  314. package/lib/browser/mcp/tools/getDiagnosticsByPath.js.map +0 -1
  315. package/lib/browser/mcp/tools/getOpenEditorFileDiagnostics.d.ts +0 -11
  316. package/lib/browser/mcp/tools/getOpenEditorFileDiagnostics.d.ts.map +0 -1
  317. package/lib/browser/mcp/tools/getOpenEditorFileDiagnostics.js +0 -118
  318. package/lib/browser/mcp/tools/getOpenEditorFileDiagnostics.js.map +0 -1
  319. package/lib/browser/mcp/tools/grepSearch.d.ts +0 -10
  320. package/lib/browser/mcp/tools/grepSearch.d.ts.map +0 -1
  321. package/lib/browser/mcp/tools/grepSearch.js +0 -118
  322. package/lib/browser/mcp/tools/grepSearch.js.map +0 -1
  323. package/lib/browser/mcp/tools/handlers/EditFile.d.ts +0 -10
  324. package/lib/browser/mcp/tools/handlers/EditFile.d.ts.map +0 -1
  325. package/lib/browser/mcp/tools/handlers/EditFile.js +0 -28
  326. package/lib/browser/mcp/tools/handlers/EditFile.js.map +0 -1
  327. package/lib/browser/mcp/tools/handlers/ListDir.d.ts +0 -21
  328. package/lib/browser/mcp/tools/handlers/ListDir.d.ts.map +0 -1
  329. package/lib/browser/mcp/tools/handlers/ListDir.js +0 -112
  330. package/lib/browser/mcp/tools/handlers/ListDir.js.map +0 -1
  331. package/lib/browser/mcp/tools/handlers/ReadFile.d.ts +0 -53
  332. package/lib/browser/mcp/tools/handlers/ReadFile.d.ts.map +0 -1
  333. package/lib/browser/mcp/tools/handlers/ReadFile.js +0 -161
  334. package/lib/browser/mcp/tools/handlers/ReadFile.js.map +0 -1
  335. package/lib/browser/mcp/tools/handlers/RunCommand.d.ts +0 -43
  336. package/lib/browser/mcp/tools/handlers/RunCommand.d.ts.map +0 -1
  337. package/lib/browser/mcp/tools/handlers/RunCommand.js +0 -104
  338. package/lib/browser/mcp/tools/handlers/RunCommand.js.map +0 -1
  339. package/lib/browser/mcp/tools/handlers/utils.d.ts +0 -2
  340. package/lib/browser/mcp/tools/handlers/utils.d.ts.map +0 -1
  341. package/lib/browser/mcp/tools/handlers/utils.js +0 -7
  342. package/lib/browser/mcp/tools/handlers/utils.js.map +0 -1
  343. package/lib/browser/mcp/tools/listDir.d.ts +0 -8
  344. package/lib/browser/mcp/tools/listDir.d.ts.map +0 -1
  345. package/lib/browser/mcp/tools/listDir.js +0 -64
  346. package/lib/browser/mcp/tools/listDir.js.map +0 -1
  347. package/lib/browser/mcp/tools/readFile.d.ts +0 -8
  348. package/lib/browser/mcp/tools/readFile.d.ts.map +0 -1
  349. package/lib/browser/mcp/tools/readFile.js +0 -81
  350. package/lib/browser/mcp/tools/readFile.js.map +0 -1
  351. package/lib/browser/mcp/tools/runTerminalCmd.d.ts +0 -13
  352. package/lib/browser/mcp/tools/runTerminalCmd.d.ts.map +0 -1
  353. package/lib/browser/mcp/tools/runTerminalCmd.js +0 -49
  354. package/lib/browser/mcp/tools/runTerminalCmd.js.map +0 -1
  355. package/lib/browser/widget/inline-input/model.d.ts +0 -34
  356. package/lib/browser/widget/inline-input/model.d.ts.map +0 -1
  357. package/lib/browser/widget/inline-input/model.js +0 -63
  358. package/lib/browser/widget/inline-input/model.js.map +0 -1
  359. package/lib/common/llm-context.d.ts +0 -40
  360. package/lib/common/llm-context.d.ts.map +0 -1
  361. package/lib/common/llm-context.js +0 -5
  362. package/lib/common/llm-context.js.map +0 -1
  363. package/lib/common/mcp-server-manager.d.ts +0 -40
  364. package/lib/common/mcp-server-manager.d.ts.map +0 -1
  365. package/lib/common/mcp-server-manager.js +0 -6
  366. package/lib/common/mcp-server-manager.js.map +0 -1
  367. package/lib/common/prompts/context-prompt-provider.d.ts +0 -14
  368. package/lib/common/prompts/context-prompt-provider.d.ts.map +0 -1
  369. package/lib/common/prompts/context-prompt-provider.js +0 -38
  370. package/lib/common/prompts/context-prompt-provider.js.map +0 -1
  371. package/lib/common/tool-invocation-registry.d.ts +0 -92
  372. package/lib/common/tool-invocation-registry.d.ts.map +0 -1
  373. package/lib/common/tool-invocation-registry.js +0 -90
  374. package/lib/common/tool-invocation-registry.js.map +0 -1
  375. package/lib/node/anthropic/anthropic-language-model.d.ts +0 -9
  376. package/lib/node/anthropic/anthropic-language-model.d.ts.map +0 -1
  377. package/lib/node/anthropic/anthropic-language-model.js +0 -26
  378. package/lib/node/anthropic/anthropic-language-model.js.map +0 -1
  379. package/lib/node/base-language-model.d.ts +0 -14
  380. package/lib/node/base-language-model.d.ts.map +0 -1
  381. package/lib/node/base-language-model.js +0 -140
  382. package/lib/node/base-language-model.js.map +0 -1
  383. package/lib/node/deepseek/deepseek-language-model.d.ts +0 -9
  384. package/lib/node/deepseek/deepseek-language-model.d.ts.map +0 -1
  385. package/lib/node/deepseek/deepseek-language-model.js +0 -26
  386. package/lib/node/deepseek/deepseek-language-model.js.map +0 -1
  387. package/lib/node/mcp/sumi-mcp-server.d.ts +0 -91
  388. package/lib/node/mcp/sumi-mcp-server.d.ts.map +0 -1
  389. package/lib/node/mcp/sumi-mcp-server.js +0 -175
  390. package/lib/node/mcp/sumi-mcp-server.js.map +0 -1
  391. package/lib/node/mcp-server-manager-impl.d.ts +0 -27
  392. package/lib/node/mcp-server-manager-impl.d.ts.map +0 -1
  393. package/lib/node/mcp-server-manager-impl.js +0 -128
  394. package/lib/node/mcp-server-manager-impl.js.map +0 -1
  395. package/lib/node/mcp-server.d.ts +0 -207
  396. package/lib/node/mcp-server.d.ts.map +0 -1
  397. package/lib/node/mcp-server.js +0 -92
  398. package/lib/node/mcp-server.js.map +0 -1
  399. package/lib/node/openai/openai-language-model.d.ts +0 -9
  400. package/lib/node/openai/openai-language-model.d.ts.map +0 -1
  401. package/lib/node/openai/openai-language-model.js +0 -29
  402. package/lib/node/openai/openai-language-model.js.map +0 -1
  403. package/src/browser/components/ChatContext/ContextSelector.tsx +0 -177
  404. package/src/browser/components/ChatContext/index.tsx +0 -151
  405. package/src/browser/components/ChatContext/style.module.less +0 -201
  406. package/src/browser/components/ChatHistory.tsx +0 -292
  407. package/src/browser/components/ChatToolRender.module.less +0 -86
  408. package/src/browser/components/ChatToolRender.tsx +0 -96
  409. package/src/browser/components/chat-history.css +0 -139
  410. package/src/browser/context/llm-context.contribution.ts +0 -14
  411. package/src/browser/context/llm-context.service.ts +0 -200
  412. package/src/browser/contrib/intelligent-completions/source/trigger.source.ts +0 -44
  413. package/src/browser/contrib/intelligent-completions/source/typing.source.ts +0 -34
  414. package/src/browser/mcp/base-apply.service.ts +0 -349
  415. package/src/browser/mcp/mcp-server-proxy.service.ts +0 -55
  416. package/src/browser/mcp/mcp-server.feature.registry.ts +0 -77
  417. package/src/browser/mcp/mcp-tools-dialog.module.less +0 -44
  418. package/src/browser/mcp/mcp-tools-dialog.view.tsx +0 -24
  419. package/src/browser/mcp/tools/components/EditFile.tsx +0 -144
  420. package/src/browser/mcp/tools/components/SearchResult.tsx +0 -92
  421. package/src/browser/mcp/tools/components/Terminal.tsx +0 -97
  422. package/src/browser/mcp/tools/components/index.module.less +0 -168
  423. package/src/browser/mcp/tools/createNewFileWithText.ts +0 -82
  424. package/src/browser/mcp/tools/editFile.ts +0 -100
  425. package/src/browser/mcp/tools/fileSearch.ts +0 -99
  426. package/src/browser/mcp/tools/getDiagnosticsByPath.ts +0 -122
  427. package/src/browser/mcp/tools/getOpenEditorFileDiagnostics.ts +0 -120
  428. package/src/browser/mcp/tools/grepSearch.ts +0 -121
  429. package/src/browser/mcp/tools/handlers/EditFile.ts +0 -21
  430. package/src/browser/mcp/tools/handlers/ListDir.ts +0 -117
  431. package/src/browser/mcp/tools/handlers/ReadFile.ts +0 -192
  432. package/src/browser/mcp/tools/handlers/RunCommand.ts +0 -115
  433. package/src/browser/mcp/tools/handlers/utils.ts +0 -3
  434. package/src/browser/mcp/tools/listDir.ts +0 -65
  435. package/src/browser/mcp/tools/readFile.ts +0 -81
  436. package/src/browser/mcp/tools/runTerminalCmd.ts +0 -45
  437. package/src/browser/widget/inline-input/model.ts +0 -74
  438. package/src/common/llm-context.ts +0 -47
  439. package/src/common/mcp-server-manager.ts +0 -51
  440. package/src/common/prompts/context-prompt-provider.ts +0 -46
  441. package/src/common/tool-invocation-registry.ts +0 -168
  442. package/src/node/anthropic/anthropic-language-model.ts +0 -25
  443. package/src/node/base-language-model.ts +0 -177
  444. package/src/node/deepseek/deepseek-language-model.ts +0 -25
  445. package/src/node/mcp/sumi-mcp-server.ts +0 -200
  446. package/src/node/mcp-server-manager-impl.ts +0 -156
  447. package/src/node/mcp-server.ts +0 -127
  448. package/src/node/openai/openai-language-model.ts +0 -25
@@ -1,95 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EditFileTool = void 0;
4
- const tslib_1 = require("tslib");
5
- const zod_1 = require("zod");
6
- const di_1 = require("@opensumi/di");
7
- const ide_core_common_1 = require("@opensumi/ide-core-common");
8
- const types_1 = require("../../types");
9
- const EditFile_1 = require("./components/EditFile");
10
- const EditFile_2 = require("./handlers/EditFile");
11
- const inputSchema = zod_1.z
12
- .object({
13
- target_file: zod_1.z
14
- .string()
15
- .describe('The target file to modify. Always specify the target file as the first argument and use the relative path in the workspace of the file to edit'),
16
- instructions: zod_1.z
17
- .string()
18
- .optional()
19
- .describe('A single sentence instruction describing what you are going to do for the sketched edit. This is used to assist the less intelligent model in applying the edit. Please use the first person to describe what you are going to do. Dont repeat what you have said previously in normal messages. And use it to disambiguate uncertainty in the edit.'),
20
- code_edit: zod_1.z
21
- .string()
22
- .describe("Specify ONLY the precise lines of code that you wish to edit. **NEVER specify or write out unchanged code**. Instead, represent all unchanged code using the comment of the language you're editing in - example: `// ... existing code ...`"),
23
- })
24
- .transform((data) => ({
25
- targetFile: data.target_file,
26
- instructions: data.instructions,
27
- codeEdit: data.code_edit,
28
- }));
29
- let EditFileTool = class EditFileTool {
30
- registerMCPServer(registry) {
31
- registry.registerMCPTool(this.getToolDefinition());
32
- registry.registerToolComponent('edit_file', EditFile_1.EditFileToolComponent);
33
- }
34
- getToolDefinition() {
35
- return {
36
- name: 'edit_file',
37
- label: 'Edit File',
38
- description: `Use this tool to propose an edit to an existing file.
39
- This will be read by a less intelligent model, which will quickly apply the edit. You should make it clear what the edit is, while also minimizing the unchanged code you write.
40
- When writing the edit, you should specify each edit in sequence, with the special comment \`// ... existing code ...\` to represent unchanged code in between edited lines.
41
- For example:
42
- \`\`\`
43
- // ... existing code ...
44
- FIRST_EDIT
45
- // ... existing code ...
46
- SECOND_EDIT
47
- // ... existing code ...
48
- THIRD_EDIT
49
- // ... existing code ...
50
- \`\`\`
51
- You should bias towards repeating as few lines of the original file as possible to convey the change.
52
- But, each edit should contain sufficient context of unchanged lines around the code you're editing to resolve ambiguity.
53
- DO NOT omit spans of pre-existing code without using the \`// ... existing code ...\` comment to indicate its absence.
54
- Make sure it is clear what the edit should be.
55
- You should specify the following arguments before the others: [target_file]`,
56
- inputSchema,
57
- handler: this.handler.bind(this),
58
- };
59
- }
60
- async handler(args, logger) {
61
- const result = await this.editFileHandler.handler(args.targetFile, args.codeEdit, args.instructions);
62
- return {
63
- content: [
64
- {
65
- type: 'text',
66
- // TODO: lint error
67
- text: result.applyResult
68
- ? `The apply model made the following changes to the file:
69
-
70
- \`\`\`
71
- ${result.applyResult.diff}
72
- \`\`\`
73
- ${result.applyResult.diagnosticInfos.length > 0
74
- ? `The edit introduced the following new linter errors:
75
- ${result.applyResult.diagnosticInfos
76
- .map((error) => `Line ${error.startLineNumber}: ${error.message.split('\n')[0]}`)
77
- .join('\n')}
78
-
79
- Please fix the linter errors if it is clear how to (or you can easily figure out how to). Do not make uneducated guesses. And do not loop more than 3 times on fixing linter errors on the same file.`
80
- : ''}`
81
- : 'User cancelled the edit.',
82
- },
83
- ],
84
- };
85
- }
86
- };
87
- exports.EditFileTool = EditFileTool;
88
- tslib_1.__decorate([
89
- (0, di_1.Autowired)(EditFile_2.EditFileHandler),
90
- tslib_1.__metadata("design:type", EditFile_2.EditFileHandler)
91
- ], EditFileTool.prototype, "editFileHandler", void 0);
92
- exports.EditFileTool = EditFileTool = tslib_1.__decorate([
93
- (0, ide_core_common_1.Domain)(types_1.MCPServerContribution)
94
- ], EditFileTool);
95
- //# sourceMappingURL=editFile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"editFile.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/editFile.ts"],"names":[],"mappings":";;;;AAAA,6BAAwB;AAExB,qCAAyC;AACzC,+DAAmD;AAEnD,uCAAsG;AAEtG,oDAA8D;AAC9D,kDAAsD;AACtD,MAAM,WAAW,GAAG,OAAC;KAClB,MAAM,CAAC;IACN,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,QAAQ,CACP,gJAAgJ,CACjJ;IACH,YAAY,EAAE,OAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,sVAAsV,CACvV;IACH,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,QAAQ,CACP,8OAA8O,CAC/O;CACJ,CAAC;KACD,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpB,UAAU,EAAE,IAAI,CAAC,WAAW;IAC5B,YAAY,EAAE,IAAI,CAAC,YAAY;IAC/B,QAAQ,EAAE,IAAI,CAAC,SAAS;CACzB,CAAC,CAAC,CAAC;AAGC,IAAM,YAAY,GAAlB,MAAM,YAAY;IAIvB,iBAAiB,CAAC,QAA4B;QAC5C,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACnD,QAAQ,CAAC,qBAAqB,CAAC,WAAW,EAAE,gCAAqB,CAAC,CAAC;IACrE,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE;;;;;;;;;;;;;;;;;4EAiByD;YACtE,WAAW;YACX,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;SACjC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,IAAiC,EAAE,MAAiB;QACxE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACrG,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,mBAAmB;oBACnB,IAAI,EAAE,MAAM,CAAC,WAAW;wBACtB,CAAC,CAAC;;;EAGZ,MAAM,CAAC,WAAW,CAAC,IAAI;;EAGvB,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;4BAC3C,CAAC,CAAC;EACJ,MAAM,CAAC,WAAW,CAAC,eAAe;iCACjC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iCAChF,IAAI,CAAC,IAAI,CAAC;;sMAEyL;4BAClM,CAAC,CAAC,EACN,EAAE;wBACU,CAAC,CAAC,0BAA0B;iBAC/B;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAhEY,oCAAY;AAEN;IADhB,IAAA,cAAS,EAAC,0BAAe,CAAC;sCACO,0BAAe;qDAAC;uBAFvC,YAAY;IADxB,IAAA,wBAAM,EAAC,6BAAqB,CAAC;GACjB,YAAY,CAgExB"}
@@ -1,10 +0,0 @@
1
- import { IMCPServerRegistry, MCPServerContribution, MCPToolDefinition } from '../../types';
2
- export declare class FileSearchTool implements MCPServerContribution {
3
- private readonly workspaceService;
4
- private readonly fileSearchService;
5
- private readonly chatInternalService;
6
- registerMCPServer(registry: IMCPServerRegistry): void;
7
- getToolDefinition(): MCPToolDefinition;
8
- private handler;
9
- }
10
- //# sourceMappingURL=fileSearch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fileSearch.d.ts","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/fileSearch.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,kBAAkB,EAAa,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAatG,qBACa,cAAe,YAAW,qBAAqB;IAE1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IAGvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAE1D,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAKrD,iBAAiB,IAAI,iBAAiB;YAWxB,OAAO;CAiDtB"}
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FileSearchTool = void 0;
4
- const tslib_1 = require("tslib");
5
- const zod_1 = require("zod");
6
- const di_1 = require("@opensumi/di");
7
- const ide_core_common_1 = require("@opensumi/ide-core-common");
8
- const common_1 = require("@opensumi/ide-file-search/lib/common");
9
- const ide_workspace_1 = require("@opensumi/ide-workspace");
10
- const common_2 = require("../../../common");
11
- const chat_internal_service_1 = require("../../chat/chat.internal.service");
12
- const types_1 = require("../../types");
13
- const SearchResult_1 = require("./components/SearchResult");
14
- const inputSchema = zod_1.z.object({
15
- query: zod_1.z.string().describe('Fuzzy filename to search for'),
16
- explanation: zod_1.z
17
- .string()
18
- .describe('One sentence explanation as to why this tool is being used, and how it contributes to the goal.'),
19
- });
20
- const MAX_RESULTS = 10;
21
- let FileSearchTool = class FileSearchTool {
22
- registerMCPServer(registry) {
23
- registry.registerMCPTool(this.getToolDefinition());
24
- registry.registerToolComponent('file_search', SearchResult_1.FileSearchToolComponent);
25
- }
26
- getToolDefinition() {
27
- return {
28
- name: 'file_search',
29
- label: 'Search Files',
30
- description: "Fast file search based on fuzzy matching against file path. Use if you know part of the file path but don't know where it's located exactly. Response will be capped to 10 results. Make your query more specific if need to filter results further.",
31
- inputSchema,
32
- handler: this.handler.bind(this),
33
- };
34
- }
35
- async handler(args, logger) {
36
- if (!args.query) {
37
- throw new Error('No fileSearch parameters provided. Need to give a query.');
38
- }
39
- // 获取工作区根目录
40
- const workspaceRoots = this.workspaceService.tryGetRoots();
41
- if (!workspaceRoots || workspaceRoots.length === 0) {
42
- throw new Error('Cannot determine project directory');
43
- }
44
- // 使用 OpenSumi 的文件搜索 API
45
- const searchPattern = args.query;
46
- const searchResults = await this.fileSearchService.find(searchPattern, {
47
- rootUris: [new ide_core_common_1.URI(workspaceRoots[0].uri).codeUri.fsPath],
48
- // TODO: 忽略配置
49
- excludePatterns: ['**/node_modules/**'],
50
- limit: 100,
51
- useGitIgnore: true,
52
- noIgnoreParent: true,
53
- fuzzyMatch: true,
54
- });
55
- const files = searchResults.slice(0, MAX_RESULTS).map((file) => {
56
- const uri = ide_core_common_1.URI.parse(file);
57
- return uri.codeUri.fsPath;
58
- });
59
- const messages = this.chatInternalService.sessionModel.history.getMessages();
60
- this.chatInternalService.sessionModel.history.setMessageAdditional(messages[messages.length - 1].id, {
61
- [args.toolCallId]: {
62
- files,
63
- },
64
- });
65
- logger.appendLine(`Found ${files.length} files matching "${args.query}"`);
66
- return {
67
- content: [
68
- {
69
- type: 'text',
70
- text: `${files.join('\n')}\n${searchResults.length > MAX_RESULTS
71
- ? `\nFound ${searchResults.length} files matching "${args.query}", only return the first ${MAX_RESULTS} results`
72
- : ''}`,
73
- },
74
- ],
75
- };
76
- }
77
- };
78
- exports.FileSearchTool = FileSearchTool;
79
- tslib_1.__decorate([
80
- (0, di_1.Autowired)(ide_workspace_1.IWorkspaceService),
81
- tslib_1.__metadata("design:type", Object)
82
- ], FileSearchTool.prototype, "workspaceService", void 0);
83
- tslib_1.__decorate([
84
- (0, di_1.Autowired)(common_1.FileSearchServicePath),
85
- tslib_1.__metadata("design:type", Object)
86
- ], FileSearchTool.prototype, "fileSearchService", void 0);
87
- tslib_1.__decorate([
88
- (0, di_1.Autowired)(common_2.IChatInternalService),
89
- tslib_1.__metadata("design:type", chat_internal_service_1.ChatInternalService)
90
- ], FileSearchTool.prototype, "chatInternalService", void 0);
91
- exports.FileSearchTool = FileSearchTool = tslib_1.__decorate([
92
- (0, ide_core_common_1.Domain)(types_1.MCPServerContribution)
93
- ], FileSearchTool);
94
- //# sourceMappingURL=fileSearch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fileSearch.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/fileSearch.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { IMCPServerRegistry, MCPServerContribution, MCPToolDefinition } from '../../types';
2
- export declare class GetDiagnosticsByPathTool implements MCPServerContribution {
3
- private readonly workspaceService;
4
- private readonly markerService;
5
- registerMCPServer(registry: IMCPServerRegistry): void;
6
- getToolDefinition(): MCPToolDefinition;
7
- private handler;
8
- private getSeverityString;
9
- }
10
- //# sourceMappingURL=getDiagnosticsByPath.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getDiagnosticsByPath.d.ts","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/getDiagnosticsByPath.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAa,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMtG,qBACa,wBAAyB,YAAW,qBAAqB;IAEpE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAE/C,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAIrD,iBAAiB,IAAI,iBAAiB;YAyBxB,OAAO;IAsDrB,OAAO,CAAC,iBAAiB;CAc1B"}
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GetDiagnosticsByPathTool = void 0;
4
- const tslib_1 = require("tslib");
5
- const path = tslib_1.__importStar(require("path"));
6
- const zod_1 = require("zod");
7
- const di_1 = require("@opensumi/di");
8
- const ide_core_common_1 = require("@opensumi/ide-core-common");
9
- const ide_workspace_1 = require("@opensumi/ide-workspace");
10
- const uri_1 = require("@opensumi/monaco-editor-core/esm/vs/base/common/uri");
11
- const markers_1 = require("@opensumi/monaco-editor-core/esm/vs/platform/markers/common/markers");
12
- const types_1 = require("../../types");
13
- const inputSchema = zod_1.z.object({
14
- filePathInProject: zod_1.z.string().describe('The relative path to the file to get diagnostics for'),
15
- });
16
- let GetDiagnosticsByPathTool = class GetDiagnosticsByPathTool {
17
- registerMCPServer(registry) {
18
- registry.registerMCPTool(this.getToolDefinition());
19
- }
20
- getToolDefinition() {
21
- return {
22
- name: 'get_diagnostics_by_path',
23
- description: 'Retrieves diagnostic information (errors, warnings, etc.) from a specific file in the project. ' +
24
- 'Use this tool to get information about problems in any project file. ' +
25
- 'IMPORTANT: This tool should be called after any code generation or modification operations to verify and fix potential issues. ' +
26
- 'Requires a filePathInProject parameter specifying the target file path relative to project root. ' +
27
- 'Returns a JSON-formatted list of diagnostics, where each entry contains: ' +
28
- '- path: The file path where the diagnostic was found ' +
29
- '- line: The line number (1-based) of the diagnostic ' +
30
- '- severity: The severity level ("error", "warning", "information", or "hint") ' +
31
- '- message: The diagnostic message ' +
32
- "Returns an empty list ([]) if no diagnostics are found or the file doesn't exist. " +
33
- 'Best Practice: Always check diagnostics after code generation to ensure code quality and fix any issues immediately. ' +
34
- 'Use this tool in combination with get_open_in_editor_file_diagnostics to verify all affected files after code changes. ' +
35
- 'Diagnostic Severity Handling Guidelines: ' +
36
- '- "error": Must be fixed immediately as they indicate critical issues that will prevent code from working correctly. ' +
37
- '- "warning": For user code, preserve unless the warning indicates a clear improvement opportunity. For generated code, optimize to remove warnings. ' +
38
- '- "information"/"hint": For user code, preserve as they might reflect intentional patterns. For generated code, optimize if it improves code quality without changing functionality.',
39
- inputSchema,
40
- handler: this.handler.bind(this),
41
- };
42
- }
43
- async handler(args, logger) {
44
- try {
45
- // 获取工作区根目录
46
- const workspaceRoots = this.workspaceService.tryGetRoots();
47
- if (!workspaceRoots || workspaceRoots.length === 0) {
48
- logger.appendLine('Error: Cannot determine project directory');
49
- return {
50
- content: [{ type: 'text', text: '[]' }],
51
- isError: true,
52
- };
53
- }
54
- // 构建完整的文件路径
55
- const rootUri = ide_core_common_1.URI.parse(workspaceRoots[0].uri);
56
- const fullPath = path.join(rootUri.codeUri.fsPath, args.filePathInProject);
57
- const uri = uri_1.URI.file(fullPath);
58
- // 检查文件是否在项目目录内
59
- const relativePath = path.relative(rootUri.codeUri.fsPath, fullPath);
60
- if (relativePath.startsWith('..') || path.isAbsolute(relativePath)) {
61
- logger.appendLine('Error: File is outside of project scope');
62
- return {
63
- content: [{ type: 'text', text: '[]' }],
64
- isError: true,
65
- };
66
- }
67
- // 获取文件的诊断信息
68
- const markers = this.markerService.read({ resource: uri });
69
- // 转换诊断信息
70
- const diagnosticInfos = markers.map((marker) => ({
71
- path: args.filePathInProject,
72
- line: marker.startLineNumber,
73
- severity: this.getSeverityString(marker.severity),
74
- message: marker.message,
75
- }));
76
- // 将结果转换为 JSON 字符串
77
- const resultJson = JSON.stringify(diagnosticInfos, null, 2);
78
- logger.appendLine(`Found ${diagnosticInfos.length} diagnostics in ${args.filePathInProject}`);
79
- return {
80
- content: [{ type: 'text', text: resultJson }],
81
- };
82
- }
83
- catch (error) {
84
- logger.appendLine(`Error getting diagnostics: ${error}`);
85
- return {
86
- content: [{ type: 'text', text: '[]' }],
87
- isError: true,
88
- };
89
- }
90
- }
91
- getSeverityString(severity) {
92
- switch (severity) {
93
- case markers_1.MarkerSeverity.Error:
94
- return 'error';
95
- case markers_1.MarkerSeverity.Warning:
96
- return 'warning';
97
- case markers_1.MarkerSeverity.Info:
98
- return 'information';
99
- case markers_1.MarkerSeverity.Hint:
100
- return 'hint';
101
- default:
102
- return 'unknown';
103
- }
104
- }
105
- };
106
- exports.GetDiagnosticsByPathTool = GetDiagnosticsByPathTool;
107
- tslib_1.__decorate([
108
- (0, di_1.Autowired)(ide_workspace_1.IWorkspaceService),
109
- tslib_1.__metadata("design:type", Object)
110
- ], GetDiagnosticsByPathTool.prototype, "workspaceService", void 0);
111
- tslib_1.__decorate([
112
- (0, di_1.Autowired)(markers_1.IMarkerService),
113
- tslib_1.__metadata("design:type", Object)
114
- ], GetDiagnosticsByPathTool.prototype, "markerService", void 0);
115
- exports.GetDiagnosticsByPathTool = GetDiagnosticsByPathTool = tslib_1.__decorate([
116
- (0, ide_core_common_1.Domain)(types_1.MCPServerContribution)
117
- ], GetDiagnosticsByPathTool);
118
- //# sourceMappingURL=getDiagnosticsByPath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getDiagnosticsByPath.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/getDiagnosticsByPath.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { IMCPServerRegistry, MCPServerContribution, MCPToolDefinition } from '../../types';
2
- export declare class GetOpenEditorFileDiagnosticsTool implements MCPServerContribution {
3
- private readonly editorService;
4
- private readonly workspaceService;
5
- private readonly markerService;
6
- registerMCPServer(registry: IMCPServerRegistry): void;
7
- getToolDefinition(): MCPToolDefinition;
8
- private handler;
9
- private getSeverityString;
10
- }
11
- //# sourceMappingURL=getOpenEditorFileDiagnostics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getOpenEditorFileDiagnostics.d.ts","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/getOpenEditorFileDiagnostics.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAa,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAItG,qBACa,gCAAiC,YAAW,qBAAqB;IAE5E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IAGvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAE/C,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAIrD,iBAAiB,IAAI,iBAAiB;YAuBxB,OAAO;IAoDrB,OAAO,CAAC,iBAAiB;CAc1B"}
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GetOpenEditorFileDiagnosticsTool = void 0;
4
- const tslib_1 = require("tslib");
5
- const path = tslib_1.__importStar(require("path"));
6
- const zod_1 = require("zod");
7
- const di_1 = require("@opensumi/di");
8
- const ide_core_common_1 = require("@opensumi/ide-core-common");
9
- const ide_editor_1 = require("@opensumi/ide-editor");
10
- const ide_workspace_1 = require("@opensumi/ide-workspace");
11
- const uri_1 = require("@opensumi/monaco-editor-core/esm/vs/base/common/uri");
12
- const markers_1 = require("@opensumi/monaco-editor-core/esm/vs/platform/markers/common/markers");
13
- const types_1 = require("../../types");
14
- const inputSchema = zod_1.z.object({});
15
- let GetOpenEditorFileDiagnosticsTool = class GetOpenEditorFileDiagnosticsTool {
16
- registerMCPServer(registry) {
17
- registry.registerMCPTool(this.getToolDefinition());
18
- }
19
- getToolDefinition() {
20
- return {
21
- name: 'get_open_in_editor_file_diagnostics',
22
- description: 'Retrieves diagnostic information (errors, warnings, etc.) from the currently active file in VS Code editor. ' +
23
- 'Use this tool to get information about problems in your current file. ' +
24
- 'IMPORTANT: This tool should be called after any code generation or modification operations to verify and fix potential issues. ' +
25
- 'Returns a JSON-formatted list of diagnostics, where each entry contains: ' +
26
- '- path: The file path where the diagnostic was found ' +
27
- '- line: The line number (1-based) of the diagnostic ' +
28
- '- severity: The severity level ("error", "warning", "information", or "hint") ' +
29
- '- message: The diagnostic message ' +
30
- 'Returns an empty list ([]) if no diagnostics are found or no file is open. ' +
31
- 'Best Practice: Always check diagnostics after code generation to ensure code quality and fix any issues immediately. ' +
32
- 'Diagnostic Severity Handling Guidelines: ' +
33
- '- "error": Must be fixed immediately as they indicate critical issues that will prevent code from working correctly. ' +
34
- '- "warning": For user code, preserve unless the warning indicates a clear improvement opportunity. For generated code, optimize to remove warnings. ' +
35
- '- "information"/"hint": For user code, preserve as they might reflect intentional patterns. For generated code, optimize if it improves code quality without changing functionality.',
36
- inputSchema,
37
- handler: this.handler.bind(this),
38
- };
39
- }
40
- async handler(args, logger) {
41
- try {
42
- // 获取当前活动的编辑器
43
- const editor = this.editorService.currentEditor;
44
- if (!editor || !editor.currentUri) {
45
- logger.appendLine('Error: No active text editor found');
46
- return {
47
- content: [{ type: 'text', text: '[]' }],
48
- isError: true,
49
- };
50
- }
51
- // 获取工作区根目录
52
- const workspaceRoots = this.workspaceService.tryGetRoots();
53
- if (!workspaceRoots || workspaceRoots.length === 0) {
54
- logger.appendLine('Error: Cannot determine project directory');
55
- return {
56
- content: [{ type: 'text', text: '[]' }],
57
- isError: true,
58
- };
59
- }
60
- // 获取当前文件的诊断信息
61
- const monacoUri = uri_1.URI.parse(editor.currentUri.toString());
62
- const markers = this.markerService.read({ resource: monacoUri });
63
- const rootUri = ide_core_common_1.URI.parse(workspaceRoots[0].uri);
64
- const relativePath = path.relative(rootUri.codeUri.fsPath, editor.currentUri.codeUri.fsPath);
65
- // 转换诊断信息
66
- const diagnosticInfos = markers.map((marker) => ({
67
- path: relativePath,
68
- line: marker.startLineNumber,
69
- severity: this.getSeverityString(marker.severity),
70
- message: marker.message,
71
- }));
72
- // 将结果转换为 JSON 字符串
73
- const resultJson = JSON.stringify(diagnosticInfos, null, 2);
74
- logger.appendLine(`Found ${diagnosticInfos.length} diagnostics in current file`);
75
- return {
76
- content: [{ type: 'text', text: resultJson }],
77
- };
78
- }
79
- catch (error) {
80
- logger.appendLine(`Error getting diagnostics: ${error}`);
81
- return {
82
- content: [{ type: 'text', text: '[]' }],
83
- isError: true,
84
- };
85
- }
86
- }
87
- getSeverityString(severity) {
88
- switch (severity) {
89
- case markers_1.MarkerSeverity.Error:
90
- return 'error';
91
- case markers_1.MarkerSeverity.Warning:
92
- return 'warning';
93
- case markers_1.MarkerSeverity.Info:
94
- return 'information';
95
- case markers_1.MarkerSeverity.Hint:
96
- return 'hint';
97
- default:
98
- return 'unknown';
99
- }
100
- }
101
- };
102
- exports.GetOpenEditorFileDiagnosticsTool = GetOpenEditorFileDiagnosticsTool;
103
- tslib_1.__decorate([
104
- (0, di_1.Autowired)(ide_editor_1.WorkbenchEditorService),
105
- tslib_1.__metadata("design:type", ide_editor_1.WorkbenchEditorService)
106
- ], GetOpenEditorFileDiagnosticsTool.prototype, "editorService", void 0);
107
- tslib_1.__decorate([
108
- (0, di_1.Autowired)(ide_workspace_1.IWorkspaceService),
109
- tslib_1.__metadata("design:type", Object)
110
- ], GetOpenEditorFileDiagnosticsTool.prototype, "workspaceService", void 0);
111
- tslib_1.__decorate([
112
- (0, di_1.Autowired)(markers_1.IMarkerService),
113
- tslib_1.__metadata("design:type", Object)
114
- ], GetOpenEditorFileDiagnosticsTool.prototype, "markerService", void 0);
115
- exports.GetOpenEditorFileDiagnosticsTool = GetOpenEditorFileDiagnosticsTool = tslib_1.__decorate([
116
- (0, ide_core_common_1.Domain)(types_1.MCPServerContribution)
117
- ], GetOpenEditorFileDiagnosticsTool);
118
- //# sourceMappingURL=getOpenEditorFileDiagnostics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getOpenEditorFileDiagnostics.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/getOpenEditorFileDiagnostics.ts"],"names":[],"mappings":";;;;AAAA,mDAA6B;AAE7B,6BAAwB;AAExB,qCAAqD;AACrD,+DAAwD;AACxD,qDAA8D;AAC9D,2DAA4D;AAC5D,6EAAuF;AACvF,iGAAqH;AAErH,uCAAsG;AAEtG,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAG1B,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;IAU3C,iBAAiB,CAAC,QAA4B;QAC5C,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,IAAI,EAAE,qCAAqC;YAC3C,WAAW,EACT,8GAA8G;gBAC9G,wEAAwE;gBACxE,iIAAiI;gBACjI,2EAA2E;gBAC3E,uDAAuD;gBACvD,sDAAsD;gBACtD,gFAAgF;gBAChF,oCAAoC;gBACpC,6EAA6E;gBAC7E,uHAAuH;gBACvH,2CAA2C;gBAC3C,uHAAuH;gBACvH,sJAAsJ;gBACtJ,sLAAsL;YACxL,WAAW;YACX,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;SACjC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,IAAiC,EAAE,MAAiB;QACxE,IAAI,CAAC;YACH,aAAa;YACb,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;YAChD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC;gBACxD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBACvC,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,WAAW;YACX,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YAC3D,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,CAAC,UAAU,CAAC,2CAA2C,CAAC,CAAC;gBAC/D,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBACvC,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,cAAc;YACd,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,qBAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAE7F,SAAS;YACT,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC/C,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,MAAM,CAAC,eAAe;gBAC5B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACjD,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAC,CAAC;YAEJ,kBAAkB;YAClB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,UAAU,CAAC,SAAS,eAAe,CAAC,MAAM,8BAA8B,CAAC,CAAC;YAEjF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;aAC9C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,UAAU,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;YACzD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACvC,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,QAAwB;QAChD,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,wBAAc,CAAC,KAAK;gBACvB,OAAO,OAAO,CAAC;YACjB,KAAK,wBAAc,CAAC,OAAO;gBACzB,OAAO,SAAS,CAAC;YACnB,KAAK,wBAAc,CAAC,IAAI;gBACtB,OAAO,aAAa,CAAC;YACvB,KAAK,wBAAc,CAAC,IAAI;gBACtB,OAAO,MAAM,CAAC;YAChB;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;CACF,CAAA;AAvGY,4EAAgC;AAE1B;IADhB,IAAA,cAAS,EAAC,mCAAsB,CAAC;sCACF,mCAAsB;uEAAC;AAGtC;IADhB,IAAA,cAAS,EAAC,iCAAiB,CAAC;;0EACwB;AAGpC;IADhB,IAAA,cAAS,EAAC,wBAAc,CAAC;;uEACqB;2CARpC,gCAAgC;IAD5C,IAAA,wBAAM,EAAC,6BAAqB,CAAC;GACjB,gCAAgC,CAuG5C"}
@@ -1,10 +0,0 @@
1
- import { IMCPServerRegistry, MCPServerContribution, MCPToolDefinition } from '../../types';
2
- export declare class GrepSearchTool implements MCPServerContribution {
3
- private readonly workspaceService;
4
- private readonly searchService;
5
- private readonly chatInternalService;
6
- registerMCPServer(registry: IMCPServerRegistry): void;
7
- getToolDefinition(): MCPToolDefinition;
8
- private handler;
9
- }
10
- //# sourceMappingURL=grepSearch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grepSearch.d.ts","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/grepSearch.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAa,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAoBtG,qBACa,cAAe,YAAW,qBAAqB;IAE1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAG3D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAE1D,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAKrD,iBAAiB,IAAI,iBAAiB;YAYxB,OAAO;CA8DtB"}
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GrepSearchTool = void 0;
4
- const tslib_1 = require("tslib");
5
- const zod_1 = require("zod");
6
- const di_1 = require("@opensumi/di");
7
- const ide_core_common_1 = require("@opensumi/ide-core-common");
8
- const ide_search_1 = require("@opensumi/ide-search");
9
- const search_service_1 = require("@opensumi/ide-search/lib/browser/search.service");
10
- const ide_workspace_1 = require("@opensumi/ide-workspace");
11
- const common_1 = require("../../../common");
12
- const chat_internal_service_1 = require("../../chat/chat.internal.service");
13
- const types_1 = require("../../types");
14
- const SearchResult_1 = require("./components/SearchResult");
15
- const inputSchema = zod_1.z.object({
16
- query: zod_1.z.string().describe('The regex pattern to search for'),
17
- case_sensitive: zod_1.z.boolean().optional().describe('Whether the search should be case sensitive'),
18
- include_pattern: zod_1.z
19
- .string()
20
- .optional()
21
- .describe('Glob pattern for files to include (e.g. "*.ts" for TypeScript files)'),
22
- exclude_pattern: zod_1.z.string().optional().describe('Glob pattern for files to exclude'),
23
- explanation: zod_1.z
24
- .string()
25
- .optional()
26
- .describe('One sentence explanation as to why this tool is being used, and how it contributes to the goal.'),
27
- });
28
- const MAX_RESULTS = 50;
29
- let GrepSearchTool = class GrepSearchTool {
30
- registerMCPServer(registry) {
31
- registry.registerMCPTool(this.getToolDefinition());
32
- registry.registerToolComponent('grep_search', SearchResult_1.GrepSearchToolComponent);
33
- }
34
- getToolDefinition() {
35
- return {
36
- name: 'grep_search',
37
- label: 'Search Contents',
38
- description:
39
- // TODO: 支持语义化搜索后需要描述清楚优劣势
40
- 'Fast text-based regex search that finds exact pattern matches within files or directories, utilizing the ripgrep command for efficient searching.\nResults will be formatted in the style of ripgrep and can be configured to include line numbers and content.\nTo avoid overwhelming output, the results are capped at 50 matches.\nUse the include or exclude patterns to filter the search scope by file type or specific paths.\n\nThis is best for finding exact text matches or regex patterns.',
41
- inputSchema,
42
- handler: this.handler.bind(this),
43
- };
44
- }
45
- async handler(args, logger) {
46
- var _a, _b;
47
- if (!args.query) {
48
- throw new Error('No ripgrep search parameters provided. Need to give at least a query.');
49
- }
50
- // 获取工作区根目录
51
- const workspaceRoots = this.workspaceService.tryGetRoots();
52
- if (!workspaceRoots || workspaceRoots.length === 0) {
53
- throw new Error('Cannot determine project directory');
54
- }
55
- // 使用 OpenSumi 的文件搜索 API
56
- const searchPattern = args.query;
57
- await this.searchService.doSearch(searchPattern, {
58
- isMatchCase: !!args.case_sensitive,
59
- include: (_a = args.include_pattern) === null || _a === void 0 ? void 0 : _a.split(','),
60
- exclude: (_b = args.exclude_pattern) === null || _b === void 0 ? void 0 : _b.split(','),
61
- maxResults: MAX_RESULTS,
62
- isUseRegexp: true,
63
- isToggleOpen: false,
64
- isDetailOpen: false,
65
- isWholeWord: false,
66
- isOnlyOpenEditors: false,
67
- isIncludeIgnored: false,
68
- }, ide_core_common_1.CancellationToken.None);
69
- const deferred = new ide_core_common_1.Deferred();
70
- this.searchService.onDidChange(() => {
71
- if (this.searchService.isSearching) {
72
- return;
73
- }
74
- const results = [];
75
- const files = [];
76
- for (const [fileUri, result] of this.searchService.searchResults.entries()) {
77
- results.push(`File: ${fileUri}\n${result
78
- .reduce((acc, r) => {
79
- if (acc.find((a) => a.line === r.line)) {
80
- return acc;
81
- }
82
- return [...acc, r];
83
- }, [])
84
- .map((r) => `Line: ${r.line}\nContent: ${r.lineText || r.renderLineText}`)
85
- .join('\n')}`);
86
- files.push(fileUri);
87
- }
88
- deferred.resolve(results.join('\n\n'));
89
- const messages = this.chatInternalService.sessionModel.history.getMessages();
90
- this.chatInternalService.sessionModel.history.setMessageAdditional(messages[messages.length - 1].id, {
91
- [args.toolCallId]: {
92
- files,
93
- },
94
- });
95
- });
96
- const text = await deferred.promise;
97
- return {
98
- content: [{ type: 'text', text }],
99
- };
100
- }
101
- };
102
- exports.GrepSearchTool = GrepSearchTool;
103
- tslib_1.__decorate([
104
- (0, di_1.Autowired)(ide_workspace_1.IWorkspaceService),
105
- tslib_1.__metadata("design:type", Object)
106
- ], GrepSearchTool.prototype, "workspaceService", void 0);
107
- tslib_1.__decorate([
108
- (0, di_1.Autowired)(ide_search_1.IContentSearchClientService),
109
- tslib_1.__metadata("design:type", search_service_1.ContentSearchClientService)
110
- ], GrepSearchTool.prototype, "searchService", void 0);
111
- tslib_1.__decorate([
112
- (0, di_1.Autowired)(common_1.IChatInternalService),
113
- tslib_1.__metadata("design:type", chat_internal_service_1.ChatInternalService)
114
- ], GrepSearchTool.prototype, "chatInternalService", void 0);
115
- exports.GrepSearchTool = GrepSearchTool = tslib_1.__decorate([
116
- (0, ide_core_common_1.Domain)(types_1.MCPServerContribution)
117
- ], GrepSearchTool);
118
- //# sourceMappingURL=grepSearch.js.map