@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
@@ -5,7 +5,3 @@
5
5
  .input_wrapper {
6
6
  transform: translateY(-4px);
7
7
  }
8
-
9
- .input_decoration_pending_container {
10
- background-color: var(--vscode-diffEditor-unchangedCodeBackground);
11
- }
@@ -1,106 +1,27 @@
1
- import { Autowired, Injectable } from '@opensumi/di';
2
- import { KeybindingRegistry } from '@opensumi/ide-core-browser';
3
- import { AI_INLINE_CHAT_INTERACTIVE_INPUT_VISIBLE } from '@opensumi/ide-core-browser/lib/ai-native/command';
4
- import { Disposable, Emitter, Event, IDisposable } from '@opensumi/ide-core-common';
5
- import { ICodeEditor, Position, Selection } from '@opensumi/ide-monaco';
6
-
7
- import { LanguageParserService } from '../../languages/service';
8
- import { ERunStrategy, IInteractiveInputHandler, IInteractiveInputRunStrategy } from '../../types';
9
-
10
- import { InteractiveInputModel } from './model';
1
+ import { Injectable } from '@opensumi/di';
2
+ import { Emitter, Event } from '@opensumi/ide-core-common';
3
+ import { Position } from '@opensumi/ide-monaco';
11
4
 
12
5
  @Injectable()
13
- export class InlineInputService extends Disposable {
14
- @Autowired(KeybindingRegistry)
15
- private readonly keybindingRegistry: KeybindingRegistry;
16
-
17
- @Autowired(LanguageParserService)
18
- private readonly languageParserService: LanguageParserService;
19
-
20
- private interactiveInputModel: InteractiveInputModel = new InteractiveInputModel();
6
+ export class InlineInputChatService {
7
+ private _currentVisiblePosition: Position | undefined;
8
+ public get currentVisiblePosition(): Position | undefined {
9
+ return this._currentVisiblePosition;
10
+ }
21
11
 
22
12
  private readonly _onInteractiveInputVisibleInPosition = new Emitter<Position | undefined>();
23
13
  public readonly onInteractiveInputVisibleInPosition: Event<Position | undefined> =
24
14
  this._onInteractiveInputVisibleInPosition.event;
25
15
 
26
- private readonly _onInteractiveInputVisibleInSelection = new Emitter<Selection | undefined>();
27
- public readonly onInteractiveInputVisibleInSelection: Event<Selection | undefined> =
28
- this._onInteractiveInputVisibleInSelection.event;
29
-
30
- private readonly _onHidden = new Emitter<void>();
31
- public readonly onHidden: Event<void> = this._onHidden.event;
32
-
33
- public visibleByPosition(position: Position): void {
34
- this._onInteractiveInputVisibleInPosition.fire(position);
35
- }
36
-
37
- public visibleBySelection(selection: Selection): void {
38
- this._onInteractiveInputVisibleInSelection.fire(selection);
16
+ public setCurrentVisiblePosition(position: Position | undefined): void {
17
+ this._currentVisiblePosition = position;
39
18
  }
40
19
 
41
- public async visibleByNearestCodeBlock(position: Position, monacoEditor: ICodeEditor): Promise<void> {
42
- const codeBlock = await this.findNearestCodeBlockWithPosition(position, monacoEditor);
43
- if (codeBlock) {
44
- this.visibleBySelection(codeBlock);
45
- }
20
+ public visible(): void {
21
+ this._onInteractiveInputVisibleInPosition.fire(this._currentVisiblePosition);
46
22
  }
47
23
 
48
24
  public hide(): void {
49
- this._onHidden.fire();
50
- }
51
-
52
- public getInteractiveInputHandler(): IInteractiveInputHandler | undefined {
53
- return this.interactiveInputModel.handler();
54
- }
55
-
56
- public getInteractiveInputStrategyHandler() {
57
- return this.interactiveInputModel.strategyHandler();
58
- }
59
-
60
- // 根据光标位置自动检测并选中临近的代码块
61
- private async findNearestCodeBlockWithPosition(
62
- position: Position,
63
- monacoEditor: ICodeEditor,
64
- ): Promise<Selection | undefined> {
65
- const editorModel = monacoEditor.getModel();
66
- const cursor = editorModel?.getOffsetAt(position);
67
- const language = editorModel?.getLanguageId();
68
- const parser = this.languageParserService.createParser(language!);
69
- const codeBlock = await parser?.findNearestCodeBlockWithPosition(editorModel?.getValue() || '', cursor!);
70
-
71
- if (codeBlock) {
72
- return new Selection(
73
- codeBlock.range.start.line + 1,
74
- codeBlock.range.start.character,
75
- codeBlock.range.end.line + 1,
76
- codeBlock.range.end.character,
77
- );
78
- }
79
-
80
- return undefined;
81
- }
82
-
83
- public getSequenceKeyString() {
84
- const keybindings = this.keybindingRegistry.getKeybindingsForCommand(AI_INLINE_CHAT_INTERACTIVE_INPUT_VISIBLE.id);
85
- const resolved = keybindings[0]?.resolved;
86
- if (!resolved) {
87
- return '';
88
- }
89
- return this.keybindingRegistry.acceleratorForSequence(resolved, '+');
90
- }
91
-
92
- public registerInlineInput(
93
- runStrategy: IInteractiveInputRunStrategy,
94
- handler: IInteractiveInputHandler,
95
- ): IDisposable {
96
- this.interactiveInputModel.setHandler(handler);
97
-
98
- if (runStrategy.handleStrategy) {
99
- this.interactiveInputModel.setStrategyHandler(runStrategy.handleStrategy);
100
- } else {
101
- this.interactiveInputModel.setStrategyHandler(() => runStrategy.strategy || ERunStrategy.EXECUTE);
102
- }
103
-
104
- return this.interactiveInputModel;
25
+ this._onInteractiveInputVisibleInPosition.fire(undefined);
105
26
  }
106
27
  }
@@ -3,7 +3,6 @@ import { Disposable, Emitter, Event, FRAME_THREE, Schemes, Uri, randomString, sl
3
3
  import { ISingleEditOperation } from '@opensumi/ide-editor';
4
4
  import { ICodeEditor, ITextModel, Range, Selection } from '@opensumi/ide-monaco';
5
5
  import { StandaloneServices } from '@opensumi/ide-monaco/lib/browser/monaco-api/services';
6
- import { ISettableObservable, observableValue, transaction } from '@opensumi/ide-monaco/lib/common/observable';
7
6
  import { LineRange } from '@opensumi/monaco-editor-core/esm/vs/editor/common/core/lineRange';
8
7
  import { linesDiffComputers } from '@opensumi/monaco-editor-core/esm/vs/editor/common/diff/linesDiffComputers';
9
8
  import { DetailedLineRangeMapping } from '@opensumi/monaco-editor-core/esm/vs/editor/common/diff/rangeMapping';
@@ -16,7 +15,7 @@ import { IDiffPreviewerOptions, IInlineDiffPreviewerNode } from '../inline-diff/
16
15
 
17
16
  import { InlineStreamDiffComputer } from './inline-stream-diff-computer';
18
17
  import { IRemovedWidgetState } from './live-preview.component';
19
- import { LivePreviewDiffDecorationModel } from './live-preview.decoration';
18
+ import { ILivePreviewDiffDecorationSnapshotData, LivePreviewDiffDecorationModel } from './live-preview.decoration';
20
19
 
21
20
  interface IRangeChangeData {
22
21
  removedTextLines: string[];
@@ -30,7 +29,7 @@ interface IRangeChangeData {
30
29
  | undefined;
31
30
  }
32
31
 
33
- export interface IComputeDiffData {
32
+ interface IComputeDiffData {
34
33
  newFullRangeTextLines: string[];
35
34
  changes: IRangeChangeData[];
36
35
  activeLine: number;
@@ -42,6 +41,14 @@ export enum EComputerMode {
42
41
  default = 'default',
43
42
  }
44
43
 
44
+ export interface IInlineStreamDiffSnapshotData {
45
+ rawOriginalTextLines: string[];
46
+ rawOriginalTextLinesTokens: LineTokens[];
47
+ undoRedoGroup: UndoRedoGroup;
48
+ decorationSnapshotData: ILivePreviewDiffDecorationSnapshotData;
49
+ previewerOptions: IDiffPreviewerOptions;
50
+ }
51
+
45
52
  const inlineStreamDiffComputer = new InlineStreamDiffComputer();
46
53
 
47
54
  @Injectable({ multiple: true })
@@ -57,25 +64,18 @@ export class InlineStreamDiffHandler extends Disposable implements IInlineDiffPr
57
64
  private originalModel: ITextModel;
58
65
  private virtualModel: ITextModel;
59
66
 
67
+ // Parts that require snapshots
60
68
  private rawOriginalTextLines: string[];
61
69
  private rawOriginalTextLinesTokens: LineTokens[] = [];
62
- private undoRedoGroup: UndoRedoGroup = new UndoRedoGroup();
63
-
64
- private readonly diffModel: ISettableObservable<IComputeDiffData | undefined> = observableValue(this, undefined);
65
- private readonly finallyDiffModel: ISettableObservable<IComputeDiffData | undefined> = observableValue(
66
- this,
67
- undefined,
68
- );
70
+ private undoRedoGroup: UndoRedoGroup;
69
71
 
70
72
  public livePreviewDiffDecorationModel: LivePreviewDiffDecorationModel;
71
73
 
72
- public get uri() {
73
- return this.originalModel.uri;
74
- }
75
-
76
74
  constructor(private readonly monacoEditor: ICodeEditor) {
77
75
  super();
78
76
 
77
+ this.undoRedoGroup = new UndoRedoGroup();
78
+
79
79
  const modelService = StandaloneServices.get(IModelService);
80
80
  this.virtualModel = modelService.createModel(
81
81
  '',
@@ -136,6 +136,44 @@ export class InlineStreamDiffHandler extends Disposable implements IInlineDiffPr
136
136
  this.livePreviewDiffDecorationModel.initialize(zone);
137
137
  }
138
138
 
139
+ private _snapshotStore: IInlineStreamDiffSnapshotData | undefined;
140
+ restoreSnapshot(snapshot: IInlineStreamDiffSnapshotData): void {
141
+ this._snapshotStore = snapshot;
142
+ const {
143
+ rawOriginalTextLines,
144
+ rawOriginalTextLinesTokens,
145
+ undoRedoGroup,
146
+ decorationSnapshotData,
147
+ previewerOptions,
148
+ } = snapshot;
149
+
150
+ this.setPreviewerOptions(previewerOptions);
151
+
152
+ this.rawOriginalTextLines = rawOriginalTextLines;
153
+ this.rawOriginalTextLinesTokens = rawOriginalTextLinesTokens;
154
+ this.undoRedoGroup = undoRedoGroup;
155
+
156
+ this.livePreviewDiffDecorationModel.initialize(decorationSnapshotData.zone);
157
+ }
158
+
159
+ get currentSnapshotStore(): IInlineStreamDiffSnapshotData | undefined {
160
+ return this._snapshotStore;
161
+ }
162
+
163
+ restoreDecorationSnapshot(decorationSnapshotData: ILivePreviewDiffDecorationSnapshotData): void {
164
+ this.livePreviewDiffDecorationModel.restoreSnapshot(decorationSnapshotData);
165
+ }
166
+
167
+ createSnapshot(): IInlineStreamDiffSnapshotData {
168
+ return {
169
+ rawOriginalTextLines: this.rawOriginalTextLines,
170
+ rawOriginalTextLinesTokens: this.rawOriginalTextLinesTokens,
171
+ undoRedoGroup: this.undoRedoGroup,
172
+ decorationSnapshotData: this.livePreviewDiffDecorationModel.createSnapshot(),
173
+ previewerOptions: this.previewerOptions,
174
+ };
175
+ }
176
+
139
177
  getVirtualModelValue() {
140
178
  return this.virtualModel.getValue();
141
179
  }
@@ -290,9 +328,7 @@ export class InlineStreamDiffHandler extends Disposable implements IInlineDiffPr
290
328
  preRemovedLen += removedLinesOriginalRange.length - addedRange.length;
291
329
  }
292
330
 
293
- this.livePreviewDiffDecorationModel.touchRemovedWidget(states, () => {
294
- this._onDidEditChange.fire();
295
- });
331
+ this.livePreviewDiffDecorationModel.touchRemovedWidget(states);
296
332
  }
297
333
 
298
334
  /**
@@ -307,7 +343,7 @@ export class InlineStreamDiffHandler extends Disposable implements IInlineDiffPr
307
343
  });
308
344
  }
309
345
 
310
- private renderDiffEdits(diffModel: IComputeDiffData): void {
346
+ private handleEdits(diffModel: IComputeDiffData): void {
311
347
  const { activeLine, newFullRangeTextLines, pendingRange } = diffModel;
312
348
  const eol = this.originalModel.getEOL();
313
349
  const zone = this.getZone();
@@ -428,8 +464,9 @@ export class InlineStreamDiffHandler extends Disposable implements IInlineDiffPr
428
464
  }
429
465
 
430
466
  private currentEditLine = 0;
467
+ private finallyDiffModel: IComputeDiffData | null = null;
431
468
  private isEditing = false;
432
- public async rateRenderEditController(): Promise<void> {
469
+ private async rateEditController(): Promise<void> {
433
470
  if (this.isEditing === false) {
434
471
  this.isEditing = true;
435
472
 
@@ -441,22 +478,15 @@ export class InlineStreamDiffHandler extends Disposable implements IInlineDiffPr
441
478
  const virtualTextLines = this.virtualModel.getLinesContent();
442
479
  const currentText = virtualTextLines.slice(0, this.currentEditLine);
443
480
  const currentDiffModel = this.computeDiff(this.rawOriginalTextLines, currentText);
444
- transaction((tx) => {
445
- this.diffModel.set(currentDiffModel, tx);
446
- });
447
-
448
- if (this.originalModel.id === this.monacoEditor.getModel()?.id) {
449
- this.renderDiffEdits(currentDiffModel);
450
- }
481
+ this.handleEdits(currentDiffModel);
451
482
 
452
483
  this.currentEditLine += 1;
453
484
 
454
485
  await sleep(FRAME_THREE);
455
486
  }
456
487
 
457
- const finallyDiffModel = this.finallyDiffModel.get();
458
- if (finallyDiffModel) {
459
- this.finallyRender(finallyDiffModel);
488
+ if (this.finallyDiffModel) {
489
+ this.finallyRender(this.finallyDiffModel);
460
490
  }
461
491
 
462
492
  this.isEditing = false;
@@ -464,48 +494,27 @@ export class InlineStreamDiffHandler extends Disposable implements IInlineDiffPr
464
494
  }
465
495
 
466
496
  public addLinesToDiff(newText: string, computerMode: EComputerMode = EComputerMode.default): void {
467
- const diffModel = this.recompute(computerMode, newText);
468
- transaction((tx) => {
469
- this.diffModel.set(diffModel, tx);
470
- });
497
+ this.recompute(computerMode, newText);
498
+ this.rateEditController();
471
499
  }
472
500
 
473
501
  public pushRateFinallyDiffStack(diffModel: IComputeDiffData): void {
474
- // 可能存在 rate editor controller 处理完之后接口层流式才结束
502
+ this.finallyDiffModel = diffModel;
503
+
504
+ // 可能存在 rate editr controller 处理完之后接口层流式才结束
475
505
  if (this.isEditing === false) {
476
- this.finallyRender(diffModel);
506
+ this.finallyRender(this.finallyDiffModel);
477
507
  }
478
508
  }
479
509
 
480
510
  public finallyRender(diffModel: IComputeDiffData): void {
481
- transaction((tx) => {
482
- this.finallyDiffModel.set(diffModel, tx);
483
- this.diffModel.set(diffModel, tx);
484
- });
485
-
486
- if (this.originalModel.id !== this.monacoEditor.getModel()?.id) {
487
- return;
488
- }
489
-
511
+ // 流式结束后才会确定所有的 added range,再渲染 partial edit widgets
490
512
  this.renderPartialEditWidgets(diffModel);
491
- this.renderDiffEdits(diffModel);
513
+ this.handleEdits(diffModel);
492
514
  this.pushStackElement();
493
515
  this.monacoEditor.focus();
494
516
  }
495
517
 
496
- public hide(): void {
497
- this.livePreviewDiffDecorationModel.hide();
498
- }
499
-
500
- public resume(): void {
501
- const finallyDiffModel = this.finallyDiffModel.get();
502
- if (!finallyDiffModel) {
503
- this.rateRenderEditController();
504
- }
505
-
506
- this.livePreviewDiffDecorationModel.resume();
507
- }
508
-
509
518
  acceptAll(): void {
510
519
  this.livePreviewDiffDecorationModel.acceptUnProcessed();
511
520
  this.dispose();
@@ -21,11 +21,6 @@ import { LineTokens } from '@opensumi/monaco-editor-core/esm/vs/editor/common/to
21
21
  import { IOptions, ZoneWidget } from '@opensumi/monaco-editor-core/esm/vs/editor/contrib/zoneWidget/browser/zoneWidget';
22
22
  import { UndoRedoGroup } from '@opensumi/monaco-editor-core/esm/vs/platform/undoRedo/common/undoRedo';
23
23
 
24
- import {
25
- DeltaDecorations,
26
- EnhanceDecorationsCollection,
27
- IDeltaDecorationsOptions,
28
- } from '../../model/enhanceDecorationsCollection';
29
24
  import { renderLines } from '../ghost-text-widget/index';
30
25
 
31
26
  import styles from './inline-stream-diff.module.less';
@@ -39,7 +34,7 @@ interface IPartialEditWidgetComponent {
39
34
  discardSequence: string;
40
35
  }
41
36
 
42
- type IWidgetStatus = 'accept' | 'discard' | 'pending';
37
+ export type IWidgetStatus = 'accept' | 'discard' | 'pending';
43
38
 
44
39
  export interface IRemovedWidgetState {
45
40
  textLines: ITextLinesTokens[];
@@ -65,10 +60,6 @@ export interface IPartialEditEvent {
65
60
  * 已添加行数
66
61
  */
67
62
  totalAddedLinesCount: number;
68
- /**
69
- * 已采纳的个数
70
- */
71
- acceptPartialEditCount: number;
72
63
  /**
73
64
  * 已删除行数
74
65
  */
@@ -150,7 +141,7 @@ export class AcceptPartialEditWidget extends ReactInlineContentWidget {
150
141
  private readonly keybindingRegistry: KeybindingRegistry;
151
142
 
152
143
  private _id: string;
153
- private _addedRangeId: string;
144
+ private _decorationId: string;
154
145
 
155
146
  private readonly _onAccept = this.registerDispose(new Emitter<void>());
156
147
  public readonly onAccept: Event<void> = this._onAccept.event;
@@ -218,12 +209,12 @@ export class AcceptPartialEditWidget extends ReactInlineContentWidget {
218
209
  return styles.accept_partial_edit_widget_id;
219
210
  }
220
211
 
221
- public recordAddedRangeId(id: string): void {
222
- this._addedRangeId = id;
212
+ public recordDecorationId(id: string): void {
213
+ this._decorationId = id;
223
214
  }
224
215
 
225
- public getAddedRangeId(): string {
226
- return this._addedRangeId;
216
+ public getDecorationId(): string {
217
+ return this._decorationId;
227
218
  }
228
219
 
229
220
  public resume(): void {
@@ -323,8 +314,6 @@ export class RemovedZoneWidget extends ZoneWidget {
323
314
  return this._group;
324
315
  }
325
316
 
326
- public status: IWidgetStatus = 'pending';
327
-
328
317
  constructor(editor: ICodeEditor, public readonly textLines: ITextLinesTokens[], options: IRemovedZoneWidgetOptions) {
329
318
  super(editor, options);
330
319
 
@@ -373,23 +362,12 @@ export class RemovedZoneWidget extends ZoneWidget {
373
362
  return this.position || this._recordPosition;
374
363
  }
375
364
 
376
- accept(): void {
377
- this.status = 'accept';
378
- this.hide();
379
- }
380
-
381
- discard(): void {
382
- this.status = 'discard';
383
- super.hide();
384
- }
385
-
386
365
  hide(): void {
387
366
  this._hidden = true;
388
367
  super.hide();
389
368
  }
390
369
 
391
370
  resume(): void {
392
- this.status = 'pending';
393
371
  const position = this.getLastPosition();
394
372
  if (position) {
395
373
  this.show(position, this.height);
@@ -398,7 +376,6 @@ export class RemovedZoneWidget extends ZoneWidget {
398
376
 
399
377
  override show(pos: IPosition, heightInLines: number): void {
400
378
  this._hidden = false;
401
- this.status = 'pending';
402
379
  super.show(pos, heightInLines);
403
380
  }
404
381
 
@@ -430,23 +407,3 @@ export class RemovedZoneWidget extends ZoneWidget {
430
407
  super.dispose();
431
408
  }
432
409
  }
433
-
434
- class AddedRangeDeltaDecorations extends DeltaDecorations {
435
- public status: IWidgetStatus = 'pending';
436
-
437
- accept(): void {
438
- this.status = 'accept';
439
- super.hide();
440
- }
441
-
442
- discard(): void {
443
- this.status = 'discard';
444
- super.hide();
445
- }
446
- }
447
-
448
- export class AddedRangeDecorationsCollection extends EnhanceDecorationsCollection<AddedRangeDeltaDecorations> {
449
- protected override createDecorations(metaData: IDeltaDecorationsOptions) {
450
- return new AddedRangeDeltaDecorations(metaData);
451
- }
452
- }