@opensumi/ide-ai-native 3.8.1-next-1741232004.0 → 3.8.1-next-1741250387.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 (325) hide show
  1. package/lib/browser/ai-core.contextkeys.d.ts +1 -1
  2. package/lib/browser/ai-core.contextkeys.d.ts.map +1 -1
  3. package/lib/browser/ai-core.contextkeys.js +1 -1
  4. package/lib/browser/ai-core.contextkeys.js.map +1 -1
  5. package/lib/browser/ai-core.contribution.d.ts +0 -5
  6. package/lib/browser/ai-core.contribution.d.ts.map +1 -1
  7. package/lib/browser/ai-core.contribution.js +9 -71
  8. package/lib/browser/ai-core.contribution.js.map +1 -1
  9. package/lib/browser/chat/chat-agent.service.d.ts +3 -11
  10. package/lib/browser/chat/chat-agent.service.d.ts.map +1 -1
  11. package/lib/browser/chat/chat-agent.service.js +5 -43
  12. package/lib/browser/chat/chat-agent.service.js.map +1 -1
  13. package/lib/browser/chat/chat-manager.service.d.ts +0 -1
  14. package/lib/browser/chat/chat-manager.service.d.ts.map +1 -1
  15. package/lib/browser/chat/chat-manager.service.js +8 -6
  16. package/lib/browser/chat/chat-manager.service.js.map +1 -1
  17. package/lib/browser/chat/chat-model.d.ts +1 -4
  18. package/lib/browser/chat/chat-model.d.ts.map +1 -1
  19. package/lib/browser/chat/chat-model.js +2 -57
  20. package/lib/browser/chat/chat-model.js.map +1 -1
  21. package/lib/browser/chat/chat-proxy.service.d.ts.map +1 -1
  22. package/lib/browser/chat/chat-proxy.service.js +6 -13
  23. package/lib/browser/chat/chat-proxy.service.js.map +1 -1
  24. package/lib/browser/chat/chat.api.service.d.ts +2 -1
  25. package/lib/browser/chat/chat.api.service.d.ts.map +1 -1
  26. package/lib/browser/chat/chat.api.service.js +4 -0
  27. package/lib/browser/chat/chat.api.service.js.map +1 -1
  28. package/lib/browser/chat/chat.internal.service.d.ts +0 -2
  29. package/lib/browser/chat/chat.internal.service.d.ts.map +1 -1
  30. package/lib/browser/chat/chat.internal.service.js +0 -3
  31. package/lib/browser/chat/chat.internal.service.js.map +1 -1
  32. package/lib/browser/chat/chat.module.less +2 -1
  33. package/lib/browser/chat/chat.view.d.ts.map +1 -1
  34. package/lib/browser/chat/chat.view.js +29 -46
  35. package/lib/browser/chat/chat.view.js.map +1 -1
  36. package/lib/browser/components/ChatContext/index.js +2 -2
  37. package/lib/browser/components/ChatContext/index.js.map +1 -1
  38. package/lib/browser/components/ChatInput.d.ts.map +1 -1
  39. package/lib/browser/components/ChatInput.js +1 -29
  40. package/lib/browser/components/ChatInput.js.map +1 -1
  41. package/lib/browser/components/ChatReply.js +1 -6
  42. package/lib/browser/components/ChatReply.js.map +1 -1
  43. package/lib/browser/components/ChatThinking.d.ts +2 -0
  44. package/lib/browser/components/ChatThinking.d.ts.map +1 -1
  45. package/lib/browser/components/ChatThinking.js +10 -2
  46. package/lib/browser/components/ChatThinking.js.map +1 -1
  47. package/lib/browser/components/ChatToolRender.d.ts.map +1 -1
  48. package/lib/browser/components/ChatToolRender.js +3 -2
  49. package/lib/browser/components/ChatToolRender.js.map +1 -1
  50. package/lib/browser/components/WelcomeMsg.js +1 -1
  51. package/lib/browser/components/WelcomeMsg.js.map +1 -1
  52. package/lib/browser/components/chat-history.module.less +1 -2
  53. package/lib/browser/components/components.module.less +0 -22
  54. package/lib/browser/context/llm-context.service.d.ts +5 -18
  55. package/lib/browser/context/llm-context.service.d.ts.map +1 -1
  56. package/lib/browser/context/llm-context.service.js +47 -81
  57. package/lib/browser/context/llm-context.service.js.map +1 -1
  58. package/lib/browser/contrib/inline-completions/inline-completions.controller.js +1 -1
  59. package/lib/browser/contrib/inline-completions/inline-completions.controller.js.map +1 -1
  60. package/lib/browser/contrib/inline-completions/prompt/matcher.js +2 -2
  61. package/lib/browser/contrib/inline-completions/prompt/similarSnippets.d.ts +1 -1
  62. package/lib/browser/contrib/inline-completions/prompt/similarSnippets.js +2 -2
  63. package/lib/browser/contrib/intelligent-completions/index.d.ts +1 -2
  64. package/lib/browser/contrib/intelligent-completions/index.d.ts.map +1 -1
  65. package/lib/browser/contrib/intelligent-completions/index.js +1 -4
  66. package/lib/browser/contrib/intelligent-completions/index.js.map +1 -1
  67. package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.js +2 -2
  68. package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.js.map +1 -1
  69. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.d.ts.map +1 -1
  70. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.js +5 -6
  71. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.js.map +1 -1
  72. package/lib/browser/contrib/intelligent-completions/view/code-edits-previewer.d.ts.map +1 -1
  73. package/lib/browser/contrib/intelligent-completions/view/code-edits-previewer.js +2 -4
  74. package/lib/browser/contrib/intelligent-completions/view/code-edits-previewer.js.map +1 -1
  75. package/lib/browser/contrib/intelligent-completions/view/default.d.ts.map +1 -1
  76. package/lib/browser/contrib/intelligent-completions/view/default.js +11 -23
  77. package/lib/browser/contrib/intelligent-completions/view/default.js.map +1 -1
  78. package/lib/browser/index.d.ts.map +1 -1
  79. package/lib/browser/index.js +0 -4
  80. package/lib/browser/index.js.map +1 -1
  81. package/lib/browser/layout/layout.module.less +4 -4
  82. package/lib/browser/mcp/base-apply.service.d.ts +11 -26
  83. package/lib/browser/mcp/base-apply.service.d.ts.map +1 -1
  84. package/lib/browser/mcp/base-apply.service.js +103 -255
  85. package/lib/browser/mcp/base-apply.service.js.map +1 -1
  86. package/lib/browser/mcp/mcp-server-proxy.service.d.ts +0 -6
  87. package/lib/browser/mcp/mcp-server-proxy.service.d.ts.map +1 -1
  88. package/lib/browser/mcp/mcp-server-proxy.service.js +1 -10
  89. package/lib/browser/mcp/mcp-server-proxy.service.js.map +1 -1
  90. package/lib/browser/mcp/mcp-server.feature.registry.d.ts +0 -8
  91. package/lib/browser/mcp/mcp-server.feature.registry.d.ts.map +1 -1
  92. package/lib/browser/mcp/mcp-server.feature.registry.js +3 -28
  93. package/lib/browser/mcp/mcp-server.feature.registry.js.map +1 -1
  94. package/lib/browser/mcp/tools/components/EditFile.d.ts.map +1 -1
  95. package/lib/browser/mcp/tools/components/EditFile.js +9 -15
  96. package/lib/browser/mcp/tools/components/EditFile.js.map +1 -1
  97. package/lib/browser/mcp/tools/components/SearchResult.d.ts +11 -0
  98. package/lib/browser/mcp/tools/components/SearchResult.d.ts.map +1 -0
  99. package/lib/browser/mcp/tools/components/{ExpandableFileList.js → SearchResult.js} +19 -29
  100. package/lib/browser/mcp/tools/components/SearchResult.js.map +1 -0
  101. package/lib/browser/mcp/tools/components/Terminal.d.ts.map +1 -1
  102. package/lib/browser/mcp/tools/components/Terminal.js +2 -10
  103. package/lib/browser/mcp/tools/components/Terminal.js.map +1 -1
  104. package/lib/browser/mcp/tools/components/index.module.less +0 -4
  105. package/lib/browser/mcp/tools/createNewFileWithText.d.ts +0 -1
  106. package/lib/browser/mcp/tools/createNewFileWithText.d.ts.map +1 -1
  107. package/lib/browser/mcp/tools/createNewFileWithText.js +11 -19
  108. package/lib/browser/mcp/tools/createNewFileWithText.js.map +1 -1
  109. package/lib/browser/mcp/tools/fileSearch.d.ts +0 -1
  110. package/lib/browser/mcp/tools/fileSearch.d.ts.map +1 -1
  111. package/lib/browser/mcp/tools/fileSearch.js +5 -14
  112. package/lib/browser/mcp/tools/fileSearch.js.map +1 -1
  113. package/lib/browser/mcp/tools/getDiagnosticsByPath.d.ts.map +1 -1
  114. package/lib/browser/mcp/tools/getDiagnosticsByPath.js +0 -1
  115. package/lib/browser/mcp/tools/getDiagnosticsByPath.js.map +1 -1
  116. package/lib/browser/mcp/tools/grepSearch.d.ts.map +1 -1
  117. package/lib/browser/mcp/tools/grepSearch.js +3 -6
  118. package/lib/browser/mcp/tools/grepSearch.js.map +1 -1
  119. package/lib/browser/mcp/tools/handlers/EditFile.js +1 -1
  120. package/lib/browser/mcp/tools/handlers/EditFile.js.map +1 -1
  121. package/lib/browser/mcp/tools/handlers/ListDir.d.ts +0 -1
  122. package/lib/browser/mcp/tools/handlers/ListDir.d.ts.map +1 -1
  123. package/lib/browser/mcp/tools/handlers/ListDir.js +0 -3
  124. package/lib/browser/mcp/tools/handlers/ListDir.js.map +1 -1
  125. package/lib/browser/mcp/tools/handlers/RunCommand.d.ts.map +1 -1
  126. package/lib/browser/mcp/tools/handlers/RunCommand.js +0 -2
  127. package/lib/browser/mcp/tools/handlers/RunCommand.js.map +1 -1
  128. package/lib/browser/mcp/tools/listDir.d.ts +0 -1
  129. package/lib/browser/mcp/tools/listDir.d.ts.map +1 -1
  130. package/lib/browser/mcp/tools/listDir.js +4 -35
  131. package/lib/browser/mcp/tools/listDir.js.map +1 -1
  132. package/lib/browser/mcp/tools/runTerminalCmd.d.ts.map +1 -1
  133. package/lib/browser/mcp/tools/runTerminalCmd.js +0 -1
  134. package/lib/browser/mcp/tools/runTerminalCmd.js.map +1 -1
  135. package/lib/browser/model/msg-history-manager.d.ts +2 -2
  136. package/lib/browser/model/msg-history-manager.d.ts.map +1 -1
  137. package/lib/browser/model/msg-history-manager.js +10 -4
  138. package/lib/browser/model/msg-history-manager.js.map +1 -1
  139. package/lib/browser/preferences/schema.d.ts.map +1 -1
  140. package/lib/browser/preferences/schema.js +2 -22
  141. package/lib/browser/preferences/schema.js.map +1 -1
  142. package/lib/browser/types.d.ts +0 -4
  143. package/lib/browser/types.d.ts.map +1 -1
  144. package/lib/browser/widget/inline-chat/inline-chat-controller.d.ts.map +1 -1
  145. package/lib/browser/widget/inline-chat/inline-chat-controller.js +1 -6
  146. package/lib/browser/widget/inline-chat/inline-chat-controller.js.map +1 -1
  147. package/lib/browser/widget/inline-diff/inline-diff-manager.d.ts.map +1 -1
  148. package/lib/browser/widget/inline-diff/inline-diff-manager.js +8 -68
  149. package/lib/browser/widget/inline-diff/inline-diff-manager.js.map +1 -1
  150. package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts +4 -10
  151. package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts.map +1 -1
  152. package/lib/browser/widget/inline-diff/inline-diff-previewer.js +3 -14
  153. package/lib/browser/widget/inline-diff/inline-diff-previewer.js.map +1 -1
  154. package/lib/browser/widget/inline-diff/inline-diff-widget.module.less +4 -25
  155. package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts +3 -3
  156. package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts.map +1 -1
  157. package/lib/browser/widget/inline-diff/inline-diff.controller.js +5 -10
  158. package/lib/browser/widget/inline-diff/inline-diff.controller.js.map +1 -1
  159. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts +17 -46
  160. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts.map +1 -1
  161. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js +53 -110
  162. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js.map +1 -1
  163. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts +0 -4
  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 +1 -26
  166. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js.map +1 -1
  167. package/lib/common/index.d.ts +4 -13
  168. package/lib/common/index.d.ts.map +1 -1
  169. package/lib/common/index.js +1 -5
  170. package/lib/common/index.js.map +1 -1
  171. package/lib/common/llm-context.d.ts +9 -13
  172. package/lib/common/llm-context.d.ts.map +1 -1
  173. package/lib/common/llm-context.js.map +1 -1
  174. package/lib/common/mcp-server-manager.d.ts +1 -17
  175. package/lib/common/mcp-server-manager.d.ts.map +1 -1
  176. package/lib/common/mcp-server-manager.js.map +1 -1
  177. package/lib/common/prompts/context-prompt-provider.d.ts +3 -4
  178. package/lib/common/prompts/context-prompt-provider.d.ts.map +1 -1
  179. package/lib/common/prompts/context-prompt-provider.js +22 -33
  180. package/lib/common/prompts/context-prompt-provider.js.map +1 -1
  181. package/lib/common/tool-invocation-registry.d.ts +2 -2
  182. package/lib/common/tool-invocation-registry.d.ts.map +1 -1
  183. package/lib/common/tool-invocation-registry.js +1 -1
  184. package/lib/common/tool-invocation-registry.js.map +1 -1
  185. package/lib/common/types.d.ts +0 -8
  186. package/lib/common/types.d.ts.map +1 -1
  187. package/lib/common/utils.d.ts.map +1 -1
  188. package/lib/common/utils.js +1 -2
  189. package/lib/common/utils.js.map +1 -1
  190. package/lib/node/anthropic/anthropic-language-model.d.ts +1 -3
  191. package/lib/node/anthropic/anthropic-language-model.d.ts.map +1 -1
  192. package/lib/node/anthropic/anthropic-language-model.js +2 -6
  193. package/lib/node/anthropic/anthropic-language-model.js.map +1 -1
  194. package/lib/node/base-language-model.d.ts +3 -6
  195. package/lib/node/base-language-model.d.ts.map +1 -1
  196. package/lib/node/base-language-model.js +31 -14
  197. package/lib/node/base-language-model.js.map +1 -1
  198. package/lib/node/deepseek/deepseek-language-model.d.ts +1 -3
  199. package/lib/node/deepseek/deepseek-language-model.d.ts.map +1 -1
  200. package/lib/node/deepseek/deepseek-language-model.js +2 -6
  201. package/lib/node/deepseek/deepseek-language-model.js.map +1 -1
  202. package/lib/node/mcp/sumi-mcp-server.d.ts +3 -17
  203. package/lib/node/mcp/sumi-mcp-server.d.ts.map +1 -1
  204. package/lib/node/mcp/sumi-mcp-server.js +6 -59
  205. package/lib/node/mcp/sumi-mcp-server.js.map +1 -1
  206. package/lib/node/mcp-server-manager-impl.d.ts +3 -4
  207. package/lib/node/mcp-server-manager-impl.d.ts.map +1 -1
  208. package/lib/node/mcp-server-manager-impl.js +6 -26
  209. package/lib/node/mcp-server-manager-impl.js.map +1 -1
  210. package/lib/node/mcp-server.d.ts +16 -5
  211. package/lib/node/mcp-server.d.ts.map +1 -1
  212. package/lib/node/mcp-server.js +6 -12
  213. package/lib/node/mcp-server.js.map +1 -1
  214. package/lib/node/openai/openai-language-model.d.ts +2 -4
  215. package/lib/node/openai/openai-language-model.d.ts.map +1 -1
  216. package/lib/node/openai/openai-language-model.js +4 -6
  217. package/lib/node/openai/openai-language-model.js.map +1 -1
  218. package/package.json +26 -27
  219. package/src/browser/ai-core.contextkeys.ts +3 -3
  220. package/src/browser/ai-core.contribution.ts +12 -89
  221. package/src/browser/chat/chat-agent.service.ts +9 -53
  222. package/src/browser/chat/chat-manager.service.ts +8 -10
  223. package/src/browser/chat/chat-model.ts +5 -63
  224. package/src/browser/chat/chat-proxy.service.ts +8 -16
  225. package/src/browser/chat/chat.api.service.ts +5 -1
  226. package/src/browser/chat/chat.internal.service.ts +0 -4
  227. package/src/browser/chat/chat.module.less +2 -1
  228. package/src/browser/chat/chat.view.tsx +69 -63
  229. package/src/browser/components/ChatContext/index.tsx +2 -2
  230. package/src/browser/components/ChatInput.tsx +6 -81
  231. package/src/browser/components/ChatReply.tsx +6 -6
  232. package/src/browser/components/ChatThinking.tsx +9 -3
  233. package/src/browser/components/ChatToolRender.tsx +2 -1
  234. package/src/browser/components/WelcomeMsg.tsx +1 -1
  235. package/src/browser/components/chat-history.module.less +1 -2
  236. package/src/browser/components/components.module.less +0 -22
  237. package/src/browser/context/llm-context.service.ts +54 -100
  238. package/src/browser/contrib/inline-completions/inline-completions.controller.ts +1 -1
  239. package/src/browser/contrib/inline-completions/prompt/matcher.ts +2 -2
  240. package/src/browser/contrib/inline-completions/prompt/similarSnippets.ts +2 -2
  241. package/src/browser/contrib/intelligent-completions/index.ts +1 -5
  242. package/src/browser/contrib/intelligent-completions/intelligent-completions.contribution.ts +3 -3
  243. package/src/browser/contrib/intelligent-completions/intelligent-completions.controller.ts +6 -7
  244. package/src/browser/contrib/intelligent-completions/view/code-edits-previewer.ts +2 -4
  245. package/src/browser/contrib/intelligent-completions/view/default.ts +19 -34
  246. package/src/browser/index.ts +0 -4
  247. package/src/browser/layout/layout.module.less +4 -4
  248. package/src/browser/mcp/base-apply.service.ts +109 -306
  249. package/src/browser/mcp/mcp-server-proxy.service.ts +2 -14
  250. package/src/browser/mcp/mcp-server.feature.registry.ts +4 -35
  251. package/src/browser/mcp/tools/components/EditFile.tsx +9 -16
  252. package/src/browser/mcp/tools/components/SearchResult.tsx +92 -0
  253. package/src/browser/mcp/tools/components/Terminal.tsx +2 -13
  254. package/src/browser/mcp/tools/components/index.module.less +0 -4
  255. package/src/browser/mcp/tools/createNewFileWithText.ts +12 -21
  256. package/src/browser/mcp/tools/fileSearch.ts +4 -14
  257. package/src/browser/mcp/tools/getDiagnosticsByPath.ts +0 -1
  258. package/src/browser/mcp/tools/grepSearch.ts +3 -6
  259. package/src/browser/mcp/tools/handlers/EditFile.ts +1 -1
  260. package/src/browser/mcp/tools/handlers/ListDir.ts +0 -4
  261. package/src/browser/mcp/tools/handlers/RunCommand.ts +0 -2
  262. package/src/browser/mcp/tools/listDir.ts +5 -36
  263. package/src/browser/mcp/tools/runTerminalCmd.ts +0 -1
  264. package/src/browser/model/msg-history-manager.ts +11 -5
  265. package/src/browser/preferences/schema.ts +2 -22
  266. package/src/browser/types.ts +0 -1
  267. package/src/browser/widget/inline-chat/inline-chat-controller.ts +1 -5
  268. package/src/browser/widget/inline-diff/inline-diff-manager.tsx +21 -143
  269. package/src/browser/widget/inline-diff/inline-diff-previewer.ts +7 -25
  270. package/src/browser/widget/inline-diff/inline-diff-widget.module.less +4 -25
  271. package/src/browser/widget/inline-diff/inline-diff.controller.ts +8 -16
  272. package/src/browser/widget/inline-stream-diff/inline-stream-diff.handler.tsx +68 -139
  273. package/src/browser/widget/inline-stream-diff/live-preview.decoration.tsx +1 -30
  274. package/src/common/index.ts +4 -15
  275. package/src/common/llm-context.ts +4 -10
  276. package/src/common/mcp-server-manager.ts +1 -17
  277. package/src/common/prompts/context-prompt-provider.ts +29 -38
  278. package/src/common/tool-invocation-registry.ts +2 -2
  279. package/src/common/types.ts +0 -8
  280. package/src/common/utils.ts +1 -3
  281. package/src/node/anthropic/anthropic-language-model.ts +2 -7
  282. package/src/node/base-language-model.ts +38 -25
  283. package/src/node/deepseek/deepseek-language-model.ts +2 -7
  284. package/src/node/mcp/sumi-mcp-server.ts +9 -67
  285. package/src/node/mcp-server-manager-impl.ts +9 -30
  286. package/src/node/mcp-server.ts +14 -11
  287. package/src/node/openai/openai-language-model.ts +4 -8
  288. package/lib/browser/mcp/config/components/mcp-config.module.less +0 -178
  289. package/lib/browser/mcp/config/components/mcp-config.view.d.ts +0 -3
  290. package/lib/browser/mcp/config/components/mcp-config.view.d.ts.map +0 -1
  291. package/lib/browser/mcp/config/components/mcp-config.view.js +0 -150
  292. package/lib/browser/mcp/config/components/mcp-config.view.js.map +0 -1
  293. package/lib/browser/mcp/config/components/mcp-server-form.d.ts +0 -16
  294. package/lib/browser/mcp/config/components/mcp-server-form.d.ts.map +0 -1
  295. package/lib/browser/mcp/config/components/mcp-server-form.js +0 -84
  296. package/lib/browser/mcp/config/components/mcp-server-form.js.map +0 -1
  297. package/lib/browser/mcp/config/components/mcp-server-form.module.less +0 -78
  298. package/lib/browser/mcp/config/mcp-config.commands.d.ts +0 -10
  299. package/lib/browser/mcp/config/mcp-config.commands.d.ts.map +0 -1
  300. package/lib/browser/mcp/config/mcp-config.commands.js +0 -35
  301. package/lib/browser/mcp/config/mcp-config.commands.js.map +0 -1
  302. package/lib/browser/mcp/config/mcp-config.contribution.d.ts +0 -16
  303. package/lib/browser/mcp/config/mcp-config.contribution.d.ts.map +0 -1
  304. package/lib/browser/mcp/config/mcp-config.contribution.js +0 -62
  305. package/lib/browser/mcp/config/mcp-config.contribution.js.map +0 -1
  306. package/lib/browser/mcp/tools/components/ExpandableFileList.d.ts +0 -13
  307. package/lib/browser/mcp/tools/components/ExpandableFileList.d.ts.map +0 -1
  308. package/lib/browser/mcp/tools/components/ExpandableFileList.js.map +0 -1
  309. package/lib/common/model.d.ts +0 -12
  310. package/lib/common/model.d.ts.map +0 -1
  311. package/lib/common/model.js +0 -83
  312. package/lib/common/model.js.map +0 -1
  313. package/lib/node/openai-compatible/openai-compatible-language-model.d.ts +0 -10
  314. package/lib/node/openai-compatible/openai-compatible-language-model.d.ts.map +0 -1
  315. package/lib/node/openai-compatible/openai-compatible-language-model.js +0 -32
  316. package/lib/node/openai-compatible/openai-compatible-language-model.js.map +0 -1
  317. package/src/browser/mcp/config/components/mcp-config.module.less +0 -178
  318. package/src/browser/mcp/config/components/mcp-config.view.tsx +0 -215
  319. package/src/browser/mcp/config/components/mcp-server-form.module.less +0 -78
  320. package/src/browser/mcp/config/components/mcp-server-form.tsx +0 -144
  321. package/src/browser/mcp/config/mcp-config.commands.ts +0 -29
  322. package/src/browser/mcp/config/mcp-config.contribution.ts +0 -65
  323. package/src/browser/mcp/tools/components/ExpandableFileList.tsx +0 -133
  324. package/src/common/model.ts +0 -90
  325. package/src/node/openai-compatible/openai-compatible-language-model.ts +0 -30
@@ -69,14 +69,9 @@ export const aiNativePreferenceSchema: PreferenceSchema = {
69
69
  [AINativeSettingSectionsId.LLMModelSelection]: {
70
70
  type: 'string',
71
71
  default: 'deepseek',
72
- enum: ['deepseek', 'anthropic', 'openai', 'openai-compatible'],
72
+ enum: ['deepseek', 'anthropic', 'openai'],
73
73
  description: localize('preference.ai.native.llm.model.selection.description'),
74
74
  },
75
- [AINativeSettingSectionsId.ModelID]: {
76
- type: 'string',
77
- default: 'deepseek-chat',
78
- description: localize('preference.ai.native.llm.model.id'),
79
- },
80
75
  [AINativeSettingSectionsId.DeepseekApiKey]: {
81
76
  type: 'string',
82
77
  default: '',
@@ -113,27 +108,11 @@ export const aiNativePreferenceSchema: PreferenceSchema = {
113
108
  type: 'string',
114
109
  description: localize('preference.ai.native.mcp.servers.command.description'),
115
110
  },
116
- type: {
117
- type: 'string',
118
- enum: ['stdio', 'sse'],
119
- enumDescriptions: [
120
- localize('preference.ai.native.mcp.servers.type.stdio'),
121
- localize('preference.ai.native.mcp.servers.type.sse'),
122
- ],
123
- description: localize('preference.ai.native.mcp.servers.type.description'),
124
- default: 'stdio',
125
- },
126
- enabled: {
127
- type: 'boolean',
128
- description: localize('preference.ai.native.mcp.servers.enabled.description'),
129
- default: true,
130
- },
131
111
  args: {
132
112
  type: 'array',
133
113
  items: {
134
114
  type: 'string',
135
115
  },
136
- default: [],
137
116
  description: localize('preference.ai.native.mcp.servers.args.description'),
138
117
  },
139
118
  env: {
@@ -153,6 +132,7 @@ export const aiNativePreferenceSchema: PreferenceSchema = {
153
132
  },
154
133
  [AINativeSettingSectionsId.SystemPrompt]: {
155
134
  type: 'string',
135
+ default: '',
156
136
  description: localize('preference.ai.native.chat.system.prompt.description'),
157
137
  },
158
138
  },
@@ -372,7 +372,6 @@ export interface IMCPServerToolComponentProps {
372
372
  }
373
373
 
374
374
  export interface IMCPServerRegistry {
375
- activeMessageInfo: { messageId: string; sessionId: string };
376
375
  registerMCPTool(tool: MCPToolDefinition): void;
377
376
  getMCPTools(): MCPToolDefinition[];
378
377
  getMCPTool(name: string): MCPToolDefinition | undefined;
@@ -83,11 +83,7 @@ export class InlineChatController {
83
83
  this._onData.fire(reply);
84
84
  },
85
85
  onEnd: () => {
86
- if (!wholeContent) {
87
- this._onError.fire(new ErrorResponse(new Error('No content')));
88
- } else {
89
- this._onEnd.fire();
90
- }
86
+ this._onEnd.fire();
91
87
  },
92
88
  onError: (error) => {
93
89
  if (AbortError.is(error)) {
@@ -1,160 +1,38 @@
1
- import React, { useCallback, useEffect, useMemo, useState } from 'react';
1
+ import React, { useEffect, useState } from 'react';
2
2
 
3
- import { Icon, Popover } from '@opensumi/ide-components';
4
- import { AppConfig, IDisposable, URI, localize, path, useInjectable } from '@opensumi/ide-core-browser';
5
- import { IResource, WorkbenchEditorService } from '@opensumi/ide-editor';
6
- import { Path } from '@opensumi/ide-utils/lib/path';
3
+ import { Button } from '@opensumi/ide-components';
4
+ import { localize, useInjectable } from '@opensumi/ide-core-browser';
5
+ import { IResource } from '@opensumi/ide-editor';
7
6
 
8
7
  import { BaseApplyService } from '../../mcp/base-apply.service';
9
8
 
10
9
  import styles from './inline-diff-widget.module.less';
11
10
 
12
- const IconWithPopover = (props: {
13
- icon: string;
14
- content: string;
15
- id: string;
16
- onClick?: () => void;
17
- disabled?: boolean;
18
- }) => (
19
- <Popover content={props.content} id={props.id} onClick={props.onClick}>
20
- <Icon iconClass={props.icon} className={props.disabled ? styles.disabled : ''} />
21
- </Popover>
22
- );
23
-
24
11
  export const InlineDiffManager: React.FC<{ resource: IResource }> = (props) => {
25
- const { resource } = props;
26
12
  const applyService = useInjectable<BaseApplyService>(BaseApplyService);
27
- const editorService = useInjectable<WorkbenchEditorService>(WorkbenchEditorService);
28
- const appConfig = useInjectable<AppConfig>(AppConfig);
29
13
  const [show, setShow] = useState(true);
30
- const [changesCount, setChangesCount] = useState(0);
31
- const [currentChangeIndex, setCurrentChangeIndex] = useState(0);
32
- const [filePaths, setFilePaths] = useState<string[]>(applyService.getPendingPaths());
33
-
34
- const currentFilePath = useMemo(
35
- () => path.relative(appConfig.workspaceDir, resource.uri.path.toString()),
36
- [resource],
37
- );
38
-
39
14
  useEffect(() => {
40
- const toDispose = applyService.onCodeBlockUpdate((codeBlock) => {
41
- if (path.relative(appConfig.workspaceDir, props.resource.uri.path.toString()) === codeBlock.relativePath) {
42
- setShow(codeBlock.status === 'pending');
43
- }
44
- const pendingPaths = applyService.getPendingPaths();
45
- setFilePaths(pendingPaths);
15
+ applyService.onCodeBlockUpdate((codeBlock) => {
16
+ setShow(codeBlock.status === 'pending');
46
17
  });
47
- return () => {
48
- toDispose.dispose();
49
- };
50
18
  }, []);
51
-
52
- // 不同编辑器是不同实例,所以不需要监听
53
- const decorationModelService = applyService.currentPreviewer?.getNode()?.livePreviewDiffDecorationModel;
54
-
55
- useEffect(() => {
56
- let toDispose: IDisposable | undefined;
57
- if (decorationModelService) {
58
- setChangesCount(decorationModelService.partialEditWidgetCount);
59
- toDispose = decorationModelService.onPartialEditWidgetListChange((e) => {
60
- setChangesCount(e.filter((item) => item.status === 'pending').length);
61
- });
62
- }
63
- return () => {
64
- toDispose?.dispose();
65
- };
66
- }, [decorationModelService]);
67
-
68
- const handleSiblingChange = useCallback(
69
- (direction: 'up' | 'down') => {
70
- const index = decorationModelService?.revealSiblingChange(direction);
71
- if (index !== undefined) {
72
- setCurrentChangeIndex(index);
73
- }
74
- },
75
- [decorationModelService],
76
- );
77
-
78
- const handleSiblingFile = useCallback(
79
- (direction: 'up' | 'down') => {
80
- const index = filePaths.indexOf(currentFilePath!);
81
- if (index === -1) {
82
- return;
83
- }
84
- const uri = URI.file(path.join(appConfig.workspaceDir, filePaths[index + (direction === 'up' ? -1 : 1)]));
85
- editorService.open(uri);
86
- },
87
- [currentFilePath, filePaths],
88
- );
89
-
90
- const changeTip = useMemo(() => {
91
- if (changesCount === 0) {
92
- return '';
93
- }
94
- return ` ${currentChangeIndex + 1} of ${changesCount}`;
95
- }, [changesCount, currentChangeIndex]);
96
-
97
- const fileTip = useMemo(() => {
98
- if (!currentFilePath) {
99
- return '';
100
- }
101
- return ` ${filePaths.indexOf(currentFilePath) + 1} of ${filePaths.length}`;
102
- }, [currentFilePath, filePaths]);
103
-
104
19
  return (
105
20
  <div className={styles.inlineDiffManager} style={{ display: show ? 'flex' : 'none' }}>
106
- {/* <div className={styles.left}>
107
- <IconWithPopover
108
- icon='codicon codicon-issues'
109
- content={localize('aiNative.inlineDiff.reveal')}
110
- id='inline-diff-manager-reveal'
111
- onClick={handleReveal}
112
- />
113
- </div> */}
114
- <div className={styles.mid}>
115
- <IconWithPopover
116
- icon='codicon codicon-check'
117
- onClick={() => applyService.processAll(props.resource.uri, 'accept')}
118
- content={localize('aiNative.inlineDiff.acceptAll')}
119
- id='inline-diff-manager-accept-all'
120
- />
121
- <IconWithPopover
122
- icon='codicon codicon-close'
123
- onClick={() => applyService.processAll(props.resource.uri, 'reject')}
124
- content={localize('aiNative.inlineDiff.rejectAll')}
125
- id='inline-diff-manager-reject-all'
126
- />
127
- <IconWithPopover
128
- icon='codicon codicon-arrow-up'
129
- content={localize('aiNative.inlineDiff.up') + changeTip}
130
- id='inline-diff-manager-up'
131
- disabled={currentChangeIndex === 0}
132
- onClick={() => handleSiblingChange('up')}
133
- />
134
- <IconWithPopover
135
- icon='codicon codicon-arrow-down'
136
- content={localize('aiNative.inlineDiff.down') + changeTip}
137
- id='inline-diff-manager-down'
138
- disabled={currentChangeIndex === changesCount - 1}
139
- onClick={() => handleSiblingChange('down')}
140
- />
141
- </div>
142
- <div className={styles.right}>
143
- <IconWithPopover
144
- icon='codicon codicon-arrow-left'
145
- onClick={() => handleSiblingFile('up')}
146
- disabled={filePaths.length === 0 || filePaths[0] === currentFilePath}
147
- content={localize('aiNative.inlineDiff.left') + fileTip}
148
- id='inline-diff-manager-left'
149
- />
150
- <IconWithPopover
151
- icon='codicon codicon-arrow-right'
152
- onClick={() => handleSiblingFile('down')}
153
- disabled={filePaths.length === 0 || filePaths[filePaths.length - 1] === currentFilePath}
154
- content={localize('aiNative.inlineDiff.right') + fileTip}
155
- id='inline-diff-manager-right'
156
- />
157
- </div>
21
+ <Button
22
+ onClick={() => {
23
+ applyService.processAll(props.resource.uri, 'accept');
24
+ }}
25
+ >
26
+ {localize('aiNative.inlineDiff.acceptAll')}
27
+ </Button>
28
+ <Button
29
+ type='ghost'
30
+ onClick={() => {
31
+ applyService.processAll(props.resource.uri, 'reject');
32
+ }}
33
+ >
34
+ {localize('aiNative.inlineDiff.rejectAll')}
35
+ </Button>
158
36
  </div>
159
37
  );
160
38
  };
@@ -1,6 +1,5 @@
1
1
  import { Autowired, INJECTOR_TOKEN, Injectable, Injector } from '@opensumi/di';
2
2
  import { Disposable, ErrorResponse, IDisposable, ReplyResponse } from '@opensumi/ide-core-common';
3
- import { WorkbenchEditorService } from '@opensumi/ide-editor';
4
3
  import { EOL, ICodeEditor, IPosition, ITextModel, Position, Selection } from '@opensumi/ide-monaco';
5
4
  import { ContentWidgetPositionPreference } from '@opensumi/ide-monaco/lib/browser/monaco-exports/editor';
6
5
  import { empty, getLeadingWhitespace } from '@opensumi/ide-utils/lib/strings';
@@ -15,12 +14,7 @@ import {
15
14
 
16
15
  import { EResultKind } from '../inline-chat/inline-chat.service';
17
16
  import { AIInlineContentWidget } from '../inline-chat/inline-content-widget';
18
- import {
19
- BaseInlineStreamDiffHandler,
20
- EComputerMode,
21
- InlineStreamDiffHandler,
22
- ReverseInlineStreamDiffHandler,
23
- } from '../inline-stream-diff/inline-stream-diff.handler';
17
+ import { EComputerMode, InlineStreamDiffHandler } from '../inline-stream-diff/inline-stream-diff.handler';
24
18
 
25
19
  import { InlineDiffWidget } from './inline-diff-widget';
26
20
 
@@ -35,11 +29,6 @@ export interface IDiffPreviewerOptions {
35
29
  * 默认情况下,removed widget 会在 `runWhenIdle` 内被添加,如果需要立即添加,可以设置为 true
36
30
  */
37
31
  renderRemovedWidgetImmediately?: boolean;
38
-
39
- /**
40
- * 是否为回退模式,即 setValue 内容作为 original,编辑器 getValue 内容作为 modified
41
- */
42
- reverse?: boolean;
43
32
  }
44
33
 
45
34
  export interface IInlineDiffPreviewerNode extends IDisposable {
@@ -52,8 +41,6 @@ export abstract class BaseInlineDiffPreviewer<N extends IInlineDiffPreviewerNode
52
41
  @Autowired(INJECTOR_TOKEN)
53
42
  protected readonly injector: Injector;
54
43
 
55
- @Autowired(WorkbenchEditorService)
56
- protected readonly editorService: WorkbenchEditorService;
57
44
  protected inlineContentWidget: AIInlineContentWidget | null = null;
58
45
  protected selection: Selection;
59
46
  protected model: ITextModel;
@@ -137,7 +124,7 @@ export abstract class BaseInlineDiffPreviewer<N extends IInlineDiffPreviewerNode
137
124
  return Disposable.NULL;
138
125
  }
139
126
 
140
- protected abstract createNode(reverse?: boolean): N;
127
+ protected abstract createNode(): N;
141
128
  abstract onData(data: ReplyResponse): void;
142
129
  abstract handleAction(action: EResultKind): void;
143
130
  abstract getPosition(): IPosition;
@@ -149,7 +136,7 @@ export abstract class BaseInlineDiffPreviewer<N extends IInlineDiffPreviewerNode
149
136
  },
150
137
  ): void {
151
138
  this.selection = selection;
152
- this.node = this.createNode(options.reverse);
139
+ this.node = this.createNode();
153
140
  this.node.setPreviewerOptions(options);
154
141
  }
155
142
 
@@ -324,8 +311,8 @@ export class SideBySideInlineDiffWidget extends BaseInlineDiffPreviewer<InlineDi
324
311
  }
325
312
 
326
313
  @Injectable({ multiple: true })
327
- export class LiveInlineDiffPreviewer extends BaseInlineDiffPreviewer<BaseInlineStreamDiffHandler> {
328
- private listenNode(node: BaseInlineStreamDiffHandler): void {
314
+ export class LiveInlineDiffPreviewer extends BaseInlineDiffPreviewer<InlineStreamDiffHandler> {
315
+ private listenNode(node: InlineStreamDiffHandler): void {
329
316
  node.addDispose(node.onDidEditChange(() => this.layout()));
330
317
  node.addDispose(
331
318
  node.onPartialEditWidgetListChange((widgets) => {
@@ -344,13 +331,8 @@ export class LiveInlineDiffPreviewer extends BaseInlineDiffPreviewer<BaseInlineS
344
331
  this.addDispose(node);
345
332
  }
346
333
 
347
- createNode(reverse?: boolean): BaseInlineStreamDiffHandler {
348
- let node: BaseInlineStreamDiffHandler;
349
- if (reverse) {
350
- node = this.injector.get(ReverseInlineStreamDiffHandler, [this.monacoEditor]);
351
- } else {
352
- node = this.injector.get(InlineStreamDiffHandler, [this.monacoEditor]);
353
- }
334
+ createNode(): InlineStreamDiffHandler {
335
+ const node = this.injector.get(InlineStreamDiffHandler, [this.monacoEditor]);
354
336
  node.initialize(this.selection);
355
337
  this.listenNode(node);
356
338
  return node;
@@ -22,33 +22,12 @@
22
22
 
23
23
  .inlineDiffManager {
24
24
  display: flex;
25
- border-radius: 14px;
26
- align-items: center;
25
+ padding: 12px 16px;
26
+ justify-content: center;
27
27
  position: absolute;
28
- bottom: 18px;
28
+ bottom: 0;
29
29
  left: 50%;
30
30
  transform: translateX(-50%);
31
- overflow: hidden;
31
+ gap: 12px;
32
32
  z-index: 999;
33
- > div {
34
- display: flex;
35
- align-items: center;
36
- }
37
- .mid {
38
- border-right: 1px solid var(--design-borderColor);
39
- }
40
- :global(.codicon) {
41
- font-size: 16px;
42
- padding: 6px;
43
- color: var(--kt-primaryButton-foreground);
44
- background-color: var(--kt-primaryButton-hoverBackground);
45
- &:hover {
46
- background-color: var(--kt-primaryButton-background);
47
- }
48
- }
49
- }
50
- .disabled {
51
- color: var(--kt-button-disableForeground) !important;
52
- background-color: var(--kt-button-disableBackground) !important;
53
- cursor: not-allowed;
54
33
  }
@@ -3,7 +3,6 @@ import {
3
3
  AINativeSettingSectionsId,
4
4
  ChatResponse,
5
5
  Disposable,
6
- DisposableCollection,
7
6
  Emitter,
8
7
  Event,
9
8
  IDisposable,
@@ -24,7 +23,7 @@ import { BaseAIMonacoEditorController } from '../../contrib/base';
24
23
  import { EInlineDiffPreviewMode } from '../../preferences/schema';
25
24
  import { InlineChatController } from '../inline-chat/inline-chat-controller';
26
25
  import { EResultKind } from '../inline-chat/inline-chat.service';
27
- import { BaseInlineStreamDiffHandler } from '../inline-stream-diff/inline-stream-diff.handler';
26
+ import { InlineStreamDiffHandler } from '../inline-stream-diff/inline-stream-diff.handler';
28
27
 
29
28
  import {
30
29
  BaseInlineDiffPreviewer,
@@ -34,7 +33,7 @@ import {
34
33
  } from './inline-diff-previewer';
35
34
  import { InlineDiffWidget } from './inline-diff-widget';
36
35
 
37
- type IInlineDiffPreviewer = BaseInlineDiffPreviewer<InlineDiffWidget | BaseInlineStreamDiffHandler>;
36
+ type IInlineDiffPreviewer = BaseInlineDiffPreviewer<InlineDiffWidget | InlineStreamDiffHandler>;
38
37
 
39
38
  export class InlineDiffController extends BaseAIMonacoEditorController {
40
39
  public static readonly ID = 'editor.contrib.ai.inline.diff';
@@ -119,26 +118,28 @@ export class InlineDiffController extends BaseAIMonacoEditorController {
119
118
  chatResponse?: ChatResponse | InlineChatController;
120
119
  previewerOptions?: IDiffPreviewerOptions;
121
120
  },
122
- ): BaseInlineDiffPreviewer<InlineDiffWidget | BaseInlineStreamDiffHandler> {
121
+ ): BaseInlineDiffPreviewer<InlineDiffWidget | InlineStreamDiffHandler> {
123
122
  const { crossSelection, chatResponse } = options;
124
123
 
125
124
  const disposable = new Disposable();
126
125
 
127
126
  const previewer = this.createDiffPreviewer(monacoEditor, crossSelection, options.previewerOptions);
127
+ transaction((tx) => {
128
+ this.currentPreviewer.set(previewer, tx);
129
+ this.previewerStore.set(previewer.modelId, previewer);
130
+ });
128
131
 
129
132
  const onFinish = () => {
130
133
  previewer.layout();
131
134
  disposable.dispose();
132
135
  };
133
136
 
134
- const previewerDisposable = new DisposableCollection();
135
-
136
137
  disposable.addDispose(
137
138
  previewer.onReady(() => {
138
139
  if (InlineChatController.is(chatResponse)) {
139
140
  const controller = chatResponse as InlineChatController;
140
141
 
141
- previewerDisposable.pushAll([
142
+ disposable.addDispose([
142
143
  controller.onData((data) => {
143
144
  if (ReplyResponse.is(data)) {
144
145
  this.renderDiff(previewer, data);
@@ -166,10 +167,6 @@ export class InlineDiffController extends BaseAIMonacoEditorController {
166
167
  }),
167
168
  );
168
169
 
169
- previewer.onDispose(() => {
170
- previewerDisposable.dispose();
171
- });
172
- disposable.addDispose(previewerDisposable);
173
170
  previewer.layout();
174
171
  return previewer;
175
172
  }
@@ -199,11 +196,6 @@ export class InlineDiffController extends BaseAIMonacoEditorController {
199
196
  }),
200
197
  );
201
198
 
202
- transaction((tx) => {
203
- this.currentPreviewer.set(previewer, tx);
204
- this.previewerStore.set(previewer.modelId, previewer);
205
- });
206
-
207
199
  return previewer;
208
200
  }
209
201