@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
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StdioMCPServerImpl = void 0;
3
+ exports.MCPServerImpl = void 0;
4
4
  // have to import with extension since the exports map is ./* -> ./dist/cjs/*
5
5
  const index_js_1 = require("@modelcontextprotocol/sdk/client/index.js");
6
6
  const stdio_js_1 = require("@modelcontextprotocol/sdk/client/stdio.js");
7
- class StdioMCPServerImpl {
7
+ class MCPServerImpl {
8
8
  constructor(name, command, args, env, logger) {
9
9
  this.logger = logger;
10
10
  this.started = false;
@@ -78,21 +78,15 @@ class StdioMCPServerImpl {
78
78
  this.args = args;
79
79
  this.env = env;
80
80
  }
81
- async stop() {
82
- var _a, _b, _c;
81
+ stop() {
82
+ var _a;
83
83
  if (!this.started || !this.client) {
84
84
  return;
85
85
  }
86
86
  (_a = this.logger) === null || _a === void 0 ? void 0 : _a.log(`Stopping MCP server "${this.name}"`);
87
- try {
88
- await this.client.close();
89
- }
90
- catch (error) {
91
- (_b = this.logger) === null || _b === void 0 ? void 0 : _b.error(`Failed to stop MCP server "${this.name}":`, error);
92
- }
93
- (_c = this.logger) === null || _c === void 0 ? void 0 : _c.log(`MCP server "${this.name}" stopped`);
87
+ this.client.close();
94
88
  this.started = false;
95
89
  }
96
90
  }
97
- exports.StdioMCPServerImpl = StdioMCPServerImpl;
91
+ exports.MCPServerImpl = MCPServerImpl;
98
92
  //# sourceMappingURL=mcp-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/node/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/node/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,9 @@
1
1
  import { OpenAIProvider } from '@ai-sdk/openai';
2
- import { LanguageModelV1 } from 'ai';
3
2
  import { IAIBackServiceOption } from '@opensumi/ide-core-common';
4
- import { ModelInfo } from '../../common/model';
5
3
  import { BaseLanguageModel } from '../base-language-model';
4
+ export declare const DeepSeekModelIdentifier: unique symbol;
6
5
  export declare class OpenAIModel extends BaseLanguageModel {
7
6
  protected initializeProvider(options: IAIBackServiceOption): OpenAIProvider;
8
- protected getModelIdentifier(provider: OpenAIProvider, modelId: string): LanguageModelV1;
9
- protected getModelInfo(modelId: string): ModelInfo | undefined;
7
+ protected getModelIdentifier(provider: OpenAIProvider, modelId?: string): import("ai").LanguageModelV1;
10
8
  }
11
9
  //# sourceMappingURL=openai-language-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-language-model.d.ts","sourceRoot":"","sources":["../../../src/node/openai/openai-language-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAGrC,OAAO,EAA6B,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAE5F,OAAO,EAAE,SAAS,EAAsB,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,qBACa,WAAY,SAAQ,iBAAiB;IAChD,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,cAAc;IAU3E,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GACxC,eAAe;IAG7C,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;CAG/D"}
1
+ {"version":3,"file":"openai-language-model.d.ts","sourceRoot":"","sources":["../../../src/node/openai/openai-language-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,gBAAgB,CAAC;AAG9D,OAAO,EAA6B,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAE5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AAEzE,qBACa,WAAY,SAAQ,iBAAiB;IAChD,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,cAAc;IAW3E,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM;CAGxE"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpenAIModel = void 0;
3
+ exports.OpenAIModel = exports.DeepSeekModelIdentifier = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const openai_1 = require("@ai-sdk/openai");
6
6
  const di_1 = require("@opensumi/di");
7
7
  const ide_core_common_1 = require("@opensumi/ide-core-common");
8
- const model_1 = require("../../common/model");
9
8
  const base_language_model_1 = require("../base-language-model");
9
+ exports.DeepSeekModelIdentifier = Symbol('DeepSeekModelIdentifier');
10
10
  let OpenAIModel = class OpenAIModel extends base_language_model_1.BaseLanguageModel {
11
11
  initializeProvider(options) {
12
12
  const apiKey = options.apiKey;
@@ -15,13 +15,11 @@ let OpenAIModel = class OpenAIModel extends base_language_model_1.BaseLanguageMo
15
15
  }
16
16
  return (0, openai_1.createOpenAI)({
17
17
  apiKey,
18
+ baseURL: options.baseURL || 'https://dashscope.aliyuncs.com/compatible-mode/v1',
18
19
  });
19
20
  }
20
21
  getModelIdentifier(provider, modelId) {
21
- return provider(modelId);
22
- }
23
- getModelInfo(modelId) {
24
- return model_1.openAiNativeModels[modelId];
22
+ return provider(modelId || 'qwen-max');
25
23
  }
26
24
  };
27
25
  exports.OpenAIModel = OpenAIModel;
@@ -1 +1 @@
1
- {"version":3,"file":"openai-language-model.js","sourceRoot":"","sources":["../../../src/node/openai/openai-language-model.ts"],"names":[],"mappings":";;;;AAAA,2CAA8D;AAG9D,qCAA0C;AAC1C,+DAA4F;AAE5F,8CAAmE;AACnE,gEAA2D;AAGpD,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,uCAAiB;IACtC,kBAAkB,CAAC,OAA6B;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,2CAAyB,CAAC,YAAY,GAAG,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO,IAAA,qBAAY,EAAC;YAClB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAES,kBAAkB,CAAC,QAAwB,EAAE,OAAe;QACpE,OAAO,QAAQ,CAAC,OAAO,CAAoB,CAAC;IAC9C,CAAC;IAES,YAAY,CAAC,OAAe;QACpC,OAAO,0BAAkB,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CACF,CAAA;AAlBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,eAAU,GAAE;GACA,WAAW,CAkBvB"}
1
+ {"version":3,"file":"openai-language-model.js","sourceRoot":"","sources":["../../../src/node/openai/openai-language-model.ts"],"names":[],"mappings":";;;;AAAA,2CAA8D;AAE9D,qCAA0C;AAC1C,+DAA4F;AAE5F,gEAA2D;AAC9C,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAGlE,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,uCAAiB;IACtC,kBAAkB,CAAC,OAA6B;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,2CAAyB,CAAC,YAAY,GAAG,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO,IAAA,qBAAY,EAAC;YAClB,MAAM;YACN,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,mDAAmD;SAChF,CAAC,CAAC;IACL,CAAC;IAES,kBAAkB,CAAC,QAAwB,EAAE,OAAgB;QACrE,OAAO,QAAQ,CAAC,OAAO,IAAI,UAAU,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AAfY,kCAAW;sBAAX,WAAW;IADvB,IAAA,eAAU,GAAE;GACA,WAAW,CAevB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-ai-native",
3
- "version": "3.8.1-next-1741232004.0",
3
+ "version": "3.8.1-next-1741250387.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "src"
@@ -19,33 +19,32 @@
19
19
  "url": "git@github.com:opensumi/core.git"
20
20
  },
21
21
  "dependencies": {
22
- "@ai-sdk/anthropic": "^1.1.9",
23
- "@ai-sdk/deepseek": "^0.1.11",
22
+ "@ai-sdk/anthropic": "^1.1.6",
23
+ "@ai-sdk/deepseek": "^0.1.8",
24
24
  "@ai-sdk/openai": "^1.1.9",
25
- "@ai-sdk/openai-compatible": "^0.1.11",
26
25
  "@modelcontextprotocol/sdk": "^1.3.1",
27
- "@opensumi/ide-addons": "3.8.1-next-1741232004.0",
28
- "@opensumi/ide-components": "3.8.1-next-1741232004.0",
29
- "@opensumi/ide-connection": "3.8.1-next-1741232004.0",
30
- "@opensumi/ide-core-common": "3.8.1-next-1741232004.0",
31
- "@opensumi/ide-core-node": "3.8.1-next-1741232004.0",
32
- "@opensumi/ide-debug": "3.8.1-next-1741232004.0",
33
- "@opensumi/ide-design": "3.8.1-next-1741232004.0",
34
- "@opensumi/ide-editor": "3.8.1-next-1741232004.0",
35
- "@opensumi/ide-file-search": "3.8.1-next-1741232004.0",
36
- "@opensumi/ide-file-service": "3.8.1-next-1741232004.0",
37
- "@opensumi/ide-main-layout": "3.8.1-next-1741232004.0",
38
- "@opensumi/ide-markers": "3.8.1-next-1741232004.0",
39
- "@opensumi/ide-monaco": "3.8.1-next-1741232004.0",
40
- "@opensumi/ide-overlay": "3.8.1-next-1741232004.0",
41
- "@opensumi/ide-preferences": "3.8.1-next-1741232004.0",
42
- "@opensumi/ide-search": "3.8.1-next-1741232004.0",
43
- "@opensumi/ide-terminal-next": "3.8.1-next-1741232004.0",
44
- "@opensumi/ide-theme": "3.8.1-next-1741232004.0",
45
- "@opensumi/ide-utils": "3.8.1-next-1741232004.0",
46
- "@opensumi/ide-workspace": "3.8.1-next-1741232004.0",
26
+ "@opensumi/ide-addons": "3.8.1-next-1741250387.0",
27
+ "@opensumi/ide-components": "3.8.1-next-1741250387.0",
28
+ "@opensumi/ide-connection": "3.8.1-next-1741250387.0",
29
+ "@opensumi/ide-core-common": "3.8.1-next-1741250387.0",
30
+ "@opensumi/ide-core-node": "3.8.1-next-1741250387.0",
31
+ "@opensumi/ide-debug": "3.8.1-next-1741250387.0",
32
+ "@opensumi/ide-design": "3.8.1-next-1741250387.0",
33
+ "@opensumi/ide-editor": "3.8.1-next-1741250387.0",
34
+ "@opensumi/ide-file-search": "3.8.1-next-1741250387.0",
35
+ "@opensumi/ide-file-service": "3.8.1-next-1741250387.0",
36
+ "@opensumi/ide-main-layout": "3.8.1-next-1741250387.0",
37
+ "@opensumi/ide-markers": "3.8.1-next-1741250387.0",
38
+ "@opensumi/ide-monaco": "3.8.1-next-1741250387.0",
39
+ "@opensumi/ide-overlay": "3.8.1-next-1741250387.0",
40
+ "@opensumi/ide-preferences": "3.8.1-next-1741250387.0",
41
+ "@opensumi/ide-search": "3.8.1-next-1741250387.0",
42
+ "@opensumi/ide-terminal-next": "3.8.1-next-1741250387.0",
43
+ "@opensumi/ide-theme": "3.8.1-next-1741250387.0",
44
+ "@opensumi/ide-utils": "3.8.1-next-1741250387.0",
45
+ "@opensumi/ide-workspace": "3.8.1-next-1741250387.0",
47
46
  "@xterm/xterm": "5.5.0",
48
- "ai": "^4.1.45",
47
+ "ai": "^4.1.21",
49
48
  "ansi-regex": "^2.0.0",
50
49
  "diff": "^7.0.0",
51
50
  "dom-align": "^1.7.0",
@@ -58,7 +57,7 @@
58
57
  "zod-to-json-schema": "^3.24.1"
59
58
  },
60
59
  "devDependencies": {
61
- "@opensumi/ide-core-browser": "3.8.1-next-1741232004.0"
60
+ "@opensumi/ide-core-browser": "3.8.1-next-1741250387.0"
62
61
  },
63
- "gitHead": "51b236f403fa6bd72362e0daac5c93356c62eb38"
62
+ "gitHead": "bfdd5ab9d3121775ed7ba8655637eec77bed44df"
64
63
  }
@@ -1,13 +1,13 @@
1
1
  import { Autowired, Injectable, Optional } from '@opensumi/di';
2
2
  import { IContextKey, IContextKeyService, IScopedContextKeyService } from '@opensumi/ide-core-browser';
3
3
  import {
4
- CodeEditsIsVisible,
5
4
  InlineChatIsVisible,
6
5
  InlineCompletionIsTrigger,
7
6
  InlineDiffPartialEditsIsVisible,
8
7
  InlineHintWidgetIsVisible,
9
8
  InlineInputWidgetIsStreaming,
10
9
  InlineInputWidgetIsVisible,
10
+ MultiLineEditsIsVisible,
11
11
  } from '@opensumi/ide-core-browser/lib/contextkey/ai-native';
12
12
  import { ContextKeyService } from '@opensumi/monaco-editor-core/esm/vs/platform/contextkey/browser/contextKeyService';
13
13
  import { IContextKeyServiceTarget } from '@opensumi/monaco-editor-core/esm/vs/platform/contextkey/common/contextkey';
@@ -25,7 +25,7 @@ export class AINativeContextKey {
25
25
  public readonly inlineInputWidgetIsVisible: IContextKey<boolean>;
26
26
  public readonly inlineInputWidgetIsStreaming: IContextKey<boolean>;
27
27
  public readonly inlineDiffPartialEditsIsVisible: IContextKey<boolean>;
28
- public readonly codeEditsIsVisible: IContextKey<boolean>;
28
+ public readonly multiLineEditsIsVisible: IContextKey<boolean>;
29
29
  public get contextKeyService() {
30
30
  return this._contextKeyService;
31
31
  }
@@ -38,6 +38,6 @@ export class AINativeContextKey {
38
38
  this.inlineInputWidgetIsVisible = InlineInputWidgetIsVisible.bind(this._contextKeyService);
39
39
  this.inlineInputWidgetIsStreaming = InlineInputWidgetIsStreaming.bind(this._contextKeyService);
40
40
  this.inlineDiffPartialEditsIsVisible = InlineDiffPartialEditsIsVisible.bind(this._contextKeyService);
41
- this.codeEditsIsVisible = CodeEditsIsVisible.bind(this._contextKeyService);
41
+ this.multiLineEditsIsVisible = MultiLineEditsIsVisible.bind(this._contextKeyService);
42
42
  }
43
43
  }
@@ -14,12 +14,10 @@ import {
14
14
  Domain,
15
15
  IAIInlineChatService,
16
16
  IEditorExtensionContribution,
17
- IPreferenceSettingsService,
18
17
  KeybindingContribution,
19
18
  KeybindingRegistry,
20
19
  KeybindingScope,
21
20
  MonacoContribution,
22
- PreferenceSchemaProvider,
23
21
  PreferenceService,
24
22
  SlotLocation,
25
23
  SlotRendererContribution,
@@ -78,15 +76,11 @@ import {
78
76
  AI_CHAT_LOGO_AVATAR_ID,
79
77
  AI_CHAT_VIEW_ID,
80
78
  AI_MENU_BAR_DEBUG_TOOLBAR,
81
- BUILTIN_MCP_SERVER_NAME,
82
79
  ChatProxyServiceToken,
83
80
  IChatInternalService,
84
81
  IChatManagerService,
85
82
  ISumiMCPServerBackend,
86
83
  SumiMCPServerProxyServicePath,
87
- anthropicModels,
88
- deepSeekModels,
89
- openAiNativeModels,
90
84
  } from '../common';
91
85
  import { MCPServerDescription } from '../common/mcp-server-manager';
92
86
 
@@ -214,12 +208,6 @@ export class AINativeBrowserContribution
214
208
  @Autowired(CommandService)
215
209
  private readonly commandService: CommandService;
216
210
 
217
- @Autowired(PreferenceSchemaProvider)
218
- private preferenceSchemaProvider: PreferenceSchemaProvider;
219
-
220
- @Autowired(IPreferenceSettingsService)
221
- private preferenceSettings: IPreferenceSettingsService;
222
-
223
211
  @Autowired(PreferenceService)
224
212
  private readonly preferenceService: PreferenceService;
225
213
 
@@ -330,17 +318,9 @@ export class AINativeBrowserContribution
330
318
  }
331
319
  }
332
320
 
333
- onReconnect(): void {
334
- const { supportsMCP } = this.aiNativeConfigService.capabilities;
335
- if (supportsMCP) {
336
- this.initMCPServers();
337
- }
338
- }
339
-
340
321
  onDidStart() {
341
322
  runWhenIdle(() => {
342
- const { supportsRenameSuggestions, supportsInlineChat, supportsMCP, supportsCustomLLMSettings } =
343
- this.aiNativeConfigService.capabilities;
323
+ const { supportsRenameSuggestions, supportsInlineChat, supportsMCP } = this.aiNativeConfigService.capabilities;
344
324
  const prefChatVisibleType = this.preferenceService.getValid(AINativeSettingSectionsId.ChatVisibleType);
345
325
 
346
326
  if (prefChatVisibleType === 'always') {
@@ -357,69 +337,19 @@ export class AINativeBrowserContribution
357
337
  this.codeActionSingleHandler.load();
358
338
  }
359
339
 
360
- if (supportsCustomLLMSettings) {
361
- this.preferenceService.onSpecificPreferenceChange(AINativeSettingSectionsId.LLMModelSelection, (change) => {
362
- const model = this.getModelByName(change.newValue);
363
- const modelIds = model ? Object.keys(model) : [];
364
- const defaultModelId = modelIds.length ? modelIds[0] : '';
365
- const currentSchemas = this.preferenceSchemaProvider.getPreferenceProperty(AINativeSettingSectionsId.ModelID);
366
- this.preferenceSchemaProvider.setSchema(
367
- {
368
- properties: {
369
- [AINativeSettingSectionsId.ModelID]: {
370
- ...currentSchemas,
371
- default: defaultModelId,
372
- defaultValue: defaultModelId,
373
- enum: modelIds.length ? modelIds : undefined,
374
- },
375
- },
376
- },
377
- true,
378
- );
379
- this.preferenceService.set(AINativeSettingSectionsId.ModelID, defaultModelId, change.scope);
380
- this.preferenceSettings.setEnumLabels(
381
- AINativeSettingSectionsId.ModelID,
382
- modelIds.reduce((obj, item) => ({ ...obj, [item]: item }), {}),
383
- );
384
- });
385
- }
386
-
387
340
  if (supportsMCP) {
388
- this.initMCPServers();
389
- }
390
- });
391
- }
392
-
393
- private initMCPServers() {
394
- // 从 preferences 获取并初始化外部 MCP Servers
395
- const mcpServers = this.preferenceService.getValid<MCPServerDescription[]>(AINativeSettingSectionsId.MCPServers);
341
+ // 初始化内置 MCP Server
342
+ this.sumiMCPServerBackendProxy.initBuiltinMCPServer();
396
343
 
397
- // 查找内置 MCP Server 的配置
398
- const builtinServer = mcpServers?.find((server) => server.name === BUILTIN_MCP_SERVER_NAME);
399
-
400
- // 总是初始化内置服务器,根据配置决定是否启用
401
- this.sumiMCPServerBackendProxy.initBuiltinMCPServer(builtinServer?.enabled ?? true);
402
-
403
- // 初始化其他外部 MCP Servers
404
- if (mcpServers && mcpServers.length > 0) {
405
- const externalServers = mcpServers.filter((server) => server.name !== BUILTIN_MCP_SERVER_NAME);
406
- if (externalServers.length > 0) {
407
- this.sumiMCPServerBackendProxy.initExternalMCPServers(externalServers);
344
+ // preferences 获取并初始化外部 MCP Servers
345
+ const mcpServers = this.preferenceService.getValid<MCPServerDescription[]>(
346
+ AINativeSettingSectionsId.MCPServers,
347
+ );
348
+ if (mcpServers && mcpServers.length > 0) {
349
+ this.sumiMCPServerBackendProxy.initExternalMCPServers(mcpServers);
350
+ }
408
351
  }
409
- }
410
- }
411
-
412
- private getModelByName(modelName: string) {
413
- switch (modelName) {
414
- case 'deepseek':
415
- return deepSeekModels;
416
- case 'anthropic':
417
- return anthropicModels;
418
- case 'openai':
419
- return openAiNativeModels;
420
- default:
421
- return undefined;
422
- }
352
+ });
423
353
  }
424
354
 
425
355
  private registerFeature() {
@@ -526,10 +456,6 @@ export class AINativeBrowserContribution
526
456
  id: AINativeSettingSectionsId.LLMModelSelection,
527
457
  localized: 'preference.ai.native.llm.model.selection',
528
458
  },
529
- {
530
- id: AINativeSettingSectionsId.ModelID,
531
- localized: 'preference.ai.native.llm.model.id',
532
- },
533
459
  {
534
460
  id: AINativeSettingSectionsId.DeepseekApiKey,
535
461
  localized: 'preference.ai.native.deepseek.apiKey',
@@ -605,10 +531,7 @@ export class AINativeBrowserContribution
605
531
  id: INLINE_DIFF_MANAGER_WIDGET_ID,
606
532
  component: InlineDiffManager,
607
533
  displaysOnResource: (resource) => {
608
- if (
609
- this.aiNativeConfigService.capabilities.supportsMCP &&
610
- this.applyService.getUriCodeBlocks(resource.uri)?.filter((block) => block.status === 'pending').length
611
- ) {
534
+ if (this.applyService.getUriPendingCodeBlock(resource.uri)) {
612
535
  return true;
613
536
  }
614
537
  return false;
@@ -2,23 +2,21 @@ import flatMap from 'lodash/flatMap';
2
2
 
3
3
  import { Autowired, Injectable } from '@opensumi/di';
4
4
  import {
5
- AIServiceType,
6
- ActionSourceEnum,
7
- ActionTypeEnum,
8
5
  CancellationToken,
9
6
  ChatFeatureRegistryToken,
10
7
  ChatServiceToken,
11
8
  Disposable,
12
9
  Emitter,
13
- IAIReporter,
10
+ IChatContent,
14
11
  IChatProgress,
15
12
  IDisposable,
16
13
  ILogger,
17
14
  toDisposable,
18
15
  } from '@opensumi/ide-core-common';
16
+ import { ChatMessageRole } from '@opensumi/ide-core-common';
17
+ import { IChatMessage } from '@opensumi/ide-core-common/lib/types/ai-native';
19
18
 
20
19
  import {
21
- CoreMessage,
22
20
  IChatAgent,
23
21
  IChatAgentCommand,
24
22
  IChatAgentMetadata,
@@ -28,8 +26,6 @@ import {
28
26
  IChatFollowup,
29
27
  IChatMessageStructure,
30
28
  } from '../../common';
31
- import { LLMContextService, LLMContextServiceToken } from '../../common/llm-context';
32
- import { ChatAgentPromptProvider } from '../../common/prompts/context-prompt-provider';
33
29
  import { IChatFeatureRegistry } from '../types';
34
30
 
35
31
  import { ChatService } from './chat.api.service';
@@ -40,12 +36,6 @@ export class ChatAgentService extends Disposable implements IChatAgentService {
40
36
 
41
37
  private defaultAgentId: string | undefined;
42
38
 
43
- private initialUserMessageMap: Map<string, string> = new Map();
44
-
45
- private shouldUpdateContext = false;
46
-
47
- private contextVersion: number;
48
-
49
39
  private readonly _onDidChangeAgents = new Emitter<void>();
50
40
  readonly onDidChangeAgents = this._onDidChangeAgents.event;
51
41
 
@@ -55,15 +45,6 @@ export class ChatAgentService extends Disposable implements IChatAgentService {
55
45
  @Autowired(ILogger)
56
46
  logger: ILogger;
57
47
 
58
- @Autowired(IAIReporter)
59
- private readonly aiReporter: IAIReporter;
60
-
61
- @Autowired(LLMContextServiceToken)
62
- protected readonly contextService: LLMContextService;
63
-
64
- @Autowired(ChatAgentPromptProvider)
65
- protected readonly promptProvider: ChatAgentPromptProvider;
66
-
67
48
  @Autowired(ChatServiceToken)
68
49
  private aiChatService: ChatService;
69
50
 
@@ -73,14 +54,6 @@ export class ChatAgentService extends Disposable implements IChatAgentService {
73
54
  constructor() {
74
55
  super();
75
56
  this.addDispose(this._onDidChangeAgents);
76
- this.addDispose(
77
- this.contextService.onDidContextFilesChangeEvent((event) => {
78
- if (event.version !== this.contextVersion) {
79
- this.contextVersion = event.version;
80
- this.shouldUpdateContext = true;
81
- }
82
- }),
83
- );
84
57
  }
85
58
 
86
59
  registerAgent(agent: IChatAgent): IDisposable {
@@ -140,41 +113,24 @@ export class ChatAgentService extends Disposable implements IChatAgentService {
140
113
  id: string,
141
114
  request: IChatAgentRequest,
142
115
  progress: (part: IChatProgress) => void,
143
- history: CoreMessage[],
116
+ history: IChatMessage[],
144
117
  token: CancellationToken,
145
118
  ): Promise<IChatAgentResult> {
146
119
  const data = this.agents.get(id);
147
120
  if (!data) {
148
121
  throw new Error(`No agent with id ${id}`);
149
122
  }
150
-
151
- // 发送第一条消息时携带初始 context
152
- if (!this.initialUserMessageMap.has(request.sessionId)) {
153
- this.initialUserMessageMap.set(request.sessionId, request.message);
154
- const rawMessage = request.message;
155
- request.message = this.provideContextMessage(rawMessage, request.sessionId);
156
- } else if (this.shouldUpdateContext || request.regenerate || history.length === 0) {
157
- request.message = this.provideContextMessage(request.message, request.sessionId);
158
- this.shouldUpdateContext = false;
123
+ if (data.agent.metadata.systemPrompt) {
124
+ history.unshift({
125
+ role: ChatMessageRole.System,
126
+ content: data.agent.metadata.systemPrompt,
127
+ });
159
128
  }
160
129
 
161
130
  const result = await data.agent.invoke(request, progress, history, token);
162
131
  return result;
163
132
  }
164
133
 
165
- private provideContextMessage(message: string, sessionId: string) {
166
- const context = this.contextService.serialize();
167
- const fullMessage = this.promptProvider.provideContextPrompt(context, message);
168
- this.aiReporter.send({
169
- msgType: AIServiceType.Chat,
170
- actionType: ActionTypeEnum.ContextEnhance,
171
- actionSource: ActionSourceEnum.Chat,
172
- sessionId,
173
- message: fullMessage,
174
- });
175
- return fullMessage;
176
- }
177
-
178
134
  populateChatInput(id: string, message: IChatMessageStructure) {
179
135
  this.aiChatService.sendMessage({
180
136
  ...message,
@@ -6,12 +6,10 @@ import {
6
6
  DisposableMap,
7
7
  Emitter,
8
8
  IChatProgress,
9
- IChatToolContent,
10
9
  IStorage,
11
10
  STORAGE_NAMESPACE,
12
11
  StorageProvider,
13
12
  debounce,
14
- formatLocalize,
15
13
  } from '@opensumi/ide-core-common';
16
14
  import { ChatMessageRole, IChatMessage, IHistoryChatMessage } from '@opensumi/ide-core-common/lib/types/ai-native';
17
15
 
@@ -30,15 +28,12 @@ interface ISessionModel {
30
28
  isCanceled: boolean;
31
29
  responseText: string;
32
30
  responseContents: IChatProgressResponseContent[];
33
- responseParts: IChatProgressResponseContent[];
34
31
  errorDetails: IChatResponseErrorDetails | undefined;
35
32
  followups: IChatFollowup[];
36
33
  };
37
34
  }[];
38
35
  }
39
36
 
40
- const MAX_SESSION_COUNT = 20;
41
-
42
37
  @Injectable()
43
38
  export class ChatManagerService extends Disposable {
44
39
  #sessionModels = this.registerDispose(new DisposableMap<string, ChatModel>());
@@ -74,7 +69,6 @@ export class ChatManagerService extends Disposable {
74
69
  responseContents: request.response.responseContents,
75
70
  isComplete: true,
76
71
  responseText: request.response.responseText,
77
- responseParts: request.response.responseParts,
78
72
  errorDetails: request.response.errorDetails,
79
73
  followups: request.response.followups,
80
74
  isCanceled: request.response.isCanceled,
@@ -106,9 +100,6 @@ export class ChatManagerService extends Disposable {
106
100
  }
107
101
 
108
102
  startSession() {
109
- if (this.#sessionModels.size >= MAX_SESSION_COUNT) {
110
- throw new Error(formatLocalize('aiNative.chat.session.max', MAX_SESSION_COUNT.toString()));
111
- }
112
103
  const model = new ChatModel();
113
104
  this.#sessionModels.set(model.sessionId, model);
114
105
  this.listenSession(model);
@@ -156,7 +147,14 @@ export class ChatManagerService extends Disposable {
156
147
  request.response.cancel();
157
148
  });
158
149
 
159
- const history = model.messageHistory;
150
+ const history: IChatMessage[] = [];
151
+ for (const request of model.requests) {
152
+ if (!request.response.isComplete) {
153
+ continue;
154
+ }
155
+ history.push({ role: ChatMessageRole.User, content: request.message.prompt });
156
+ history.push({ role: ChatMessageRole.Assistant, content: request.response.responseText });
157
+ }
160
158
 
161
159
  try {
162
160
  const progressCallback = (progress: IChatProgress) => {