@opensumi/ide-ai-native 3.9.1-next-1749538805.0 → 3.9.1-next-1749540423.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 (253) hide show
  1. package/lib/browser/ai-core.contribution.d.ts.map +1 -1
  2. package/lib/browser/ai-core.contribution.js +4 -9
  3. package/lib/browser/ai-core.contribution.js.map +1 -1
  4. package/lib/browser/chat/apply.service.d.ts +0 -3
  5. package/lib/browser/chat/apply.service.d.ts.map +1 -1
  6. package/lib/browser/chat/apply.service.js +0 -47
  7. package/lib/browser/chat/apply.service.js.map +1 -1
  8. package/lib/browser/chat/chat-manager.service.d.ts +0 -1
  9. package/lib/browser/chat/chat-manager.service.d.ts.map +1 -1
  10. package/lib/browser/chat/chat-manager.service.js +3 -9
  11. package/lib/browser/chat/chat-manager.service.js.map +1 -1
  12. package/lib/browser/chat/chat-model.d.ts +1 -8
  13. package/lib/browser/chat/chat-model.d.ts.map +1 -1
  14. package/lib/browser/chat/chat-model.js +76 -113
  15. package/lib/browser/chat/chat-model.js.map +1 -1
  16. package/lib/browser/chat/chat-proxy.service.d.ts +2 -0
  17. package/lib/browser/chat/chat-proxy.service.d.ts.map +1 -1
  18. package/lib/browser/chat/chat-proxy.service.js +57 -50
  19. package/lib/browser/chat/chat-proxy.service.js.map +1 -1
  20. package/lib/browser/chat/chat.feature.registry.d.ts +1 -4
  21. package/lib/browser/chat/chat.feature.registry.d.ts.map +1 -1
  22. package/lib/browser/chat/chat.feature.registry.js +0 -6
  23. package/lib/browser/chat/chat.feature.registry.js.map +1 -1
  24. package/lib/browser/chat/chat.view.d.ts.map +1 -1
  25. package/lib/browser/chat/chat.view.js +10 -50
  26. package/lib/browser/chat/chat.view.js.map +1 -1
  27. package/lib/browser/components/ChatEditor.js +2 -2
  28. package/lib/browser/components/ChatEditor.js.map +1 -1
  29. package/lib/browser/components/ChatHistory.d.ts.map +1 -1
  30. package/lib/browser/components/ChatHistory.js +1 -2
  31. package/lib/browser/components/ChatHistory.js.map +1 -1
  32. package/lib/browser/components/ChatMentionInput.d.ts.map +1 -1
  33. package/lib/browser/components/ChatMentionInput.js +30 -148
  34. package/lib/browser/components/ChatMentionInput.js.map +1 -1
  35. package/lib/browser/components/ChatReply.js +2 -2
  36. package/lib/browser/components/ChatReply.js.map +1 -1
  37. package/lib/browser/components/ChatToolRender.d.ts.map +1 -1
  38. package/lib/browser/components/ChatToolRender.js +2 -7
  39. package/lib/browser/components/ChatToolRender.js.map +1 -1
  40. package/lib/browser/components/ChatToolRender.module.less +0 -25
  41. package/lib/browser/components/components.module.less +8 -37
  42. package/lib/browser/components/mention-input/mention-input.d.ts.map +1 -1
  43. package/lib/browser/components/mention-input/mention-input.js +14 -150
  44. package/lib/browser/components/mention-input/mention-input.js.map +1 -1
  45. package/lib/browser/components/mention-input/mention-input.module.less +1 -165
  46. package/lib/browser/components/mention-input/types.d.ts +1 -28
  47. package/lib/browser/components/mention-input/types.d.ts.map +1 -1
  48. package/lib/browser/components/mention-input/types.js +0 -1
  49. package/lib/browser/components/mention-input/types.js.map +1 -1
  50. package/lib/browser/components/utils.d.ts +2 -2
  51. package/lib/browser/context/llm-context.service.d.ts +2 -21
  52. package/lib/browser/context/llm-context.service.d.ts.map +1 -1
  53. package/lib/browser/context/llm-context.service.js +20 -162
  54. package/lib/browser/context/llm-context.service.js.map +1 -1
  55. package/lib/browser/contrib/intelligent-completions/decoration/additions-deletions.decoration.d.ts.map +1 -1
  56. package/lib/browser/contrib/intelligent-completions/decoration/additions-deletions.decoration.js.map +1 -1
  57. package/lib/browser/contrib/intelligent-completions/diff-computer.js +1 -1
  58. package/lib/browser/contrib/intelligent-completions/diff-computer.js.map +1 -1
  59. package/lib/browser/contrib/terminal/terminal.feature.registry.js.map +1 -1
  60. package/lib/browser/index.d.ts.map +1 -1
  61. package/lib/browser/index.js +0 -7
  62. package/lib/browser/index.js.map +1 -1
  63. package/lib/browser/layout/ai-layout.d.ts.map +1 -1
  64. package/lib/browser/layout/ai-layout.js +4 -6
  65. package/lib/browser/layout/ai-layout.js.map +1 -1
  66. package/lib/browser/layout/tabbar.view.d.ts +1 -1
  67. package/lib/browser/layout/tabbar.view.d.ts.map +1 -1
  68. package/lib/browser/layout/tabbar.view.js +12 -5
  69. package/lib/browser/layout/tabbar.view.js.map +1 -1
  70. package/lib/browser/mcp/base-apply.service.d.ts +4 -5
  71. package/lib/browser/mcp/base-apply.service.d.ts.map +1 -1
  72. package/lib/browser/mcp/base-apply.service.js +5 -23
  73. package/lib/browser/mcp/base-apply.service.js.map +1 -1
  74. package/lib/browser/mcp/mcp-server-proxy.service.d.ts +1 -3
  75. package/lib/browser/mcp/mcp-server-proxy.service.d.ts.map +1 -1
  76. package/lib/browser/mcp/mcp-server-proxy.service.js +0 -4
  77. package/lib/browser/mcp/mcp-server-proxy.service.js.map +1 -1
  78. package/lib/browser/mcp/mcp-server.feature.registry.d.ts.map +1 -1
  79. package/lib/browser/mcp/mcp-server.feature.registry.js +1 -7
  80. package/lib/browser/mcp/mcp-server.feature.registry.js.map +1 -1
  81. package/lib/browser/mcp/tools/createNewFileWithText.d.ts +3 -1
  82. package/lib/browser/mcp/tools/createNewFileWithText.d.ts.map +1 -1
  83. package/lib/browser/mcp/tools/createNewFileWithText.js +40 -14
  84. package/lib/browser/mcp/tools/createNewFileWithText.js.map +1 -1
  85. package/lib/browser/mcp/tools/fileSearch.d.ts.map +1 -1
  86. package/lib/browser/mcp/tools/fileSearch.js +5 -9
  87. package/lib/browser/mcp/tools/fileSearch.js.map +1 -1
  88. package/lib/browser/mcp/tools/getDiagnosticsByPath.js.map +1 -1
  89. package/lib/browser/mcp/tools/getOpenEditorFileDiagnostics.js.map +1 -1
  90. package/lib/browser/mcp/tools/grepSearch.d.ts.map +1 -1
  91. package/lib/browser/mcp/tools/grepSearch.js +10 -22
  92. package/lib/browser/mcp/tools/grepSearch.js.map +1 -1
  93. package/lib/browser/mcp/tools/handlers/ListDir.js +1 -1
  94. package/lib/browser/mcp/tools/handlers/ListDir.js.map +1 -1
  95. package/lib/browser/mcp/tools/handlers/ReadFile.js +1 -1
  96. package/lib/browser/mcp/tools/handlers/ReadFile.js.map +1 -1
  97. package/lib/browser/mcp/tools/handlers/RunCommand.d.ts +1 -11
  98. package/lib/browser/mcp/tools/handlers/RunCommand.d.ts.map +1 -1
  99. package/lib/browser/mcp/tools/handlers/RunCommand.js +4 -11
  100. package/lib/browser/mcp/tools/handlers/RunCommand.js.map +1 -1
  101. package/lib/browser/mcp/tools/listDir.d.ts.map +1 -1
  102. package/lib/browser/mcp/tools/listDir.js +15 -19
  103. package/lib/browser/mcp/tools/listDir.js.map +1 -1
  104. package/lib/browser/mcp/tools/runTerminalCmd.js.map +1 -1
  105. package/lib/browser/model/msg-history-manager.d.ts +1 -47
  106. package/lib/browser/model/msg-history-manager.d.ts.map +1 -1
  107. package/lib/browser/model/msg-history-manager.js +2 -127
  108. package/lib/browser/model/msg-history-manager.js.map +1 -1
  109. package/lib/browser/preferences/schema.d.ts.map +1 -1
  110. package/lib/browser/preferences/schema.js +0 -5
  111. package/lib/browser/preferences/schema.js.map +1 -1
  112. package/lib/browser/types.d.ts +1 -12
  113. package/lib/browser/types.d.ts.map +1 -1
  114. package/lib/browser/types.js.map +1 -1
  115. package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts.map +1 -1
  116. package/lib/browser/widget/inline-stream-diff/live-preview.component.js.map +1 -1
  117. package/lib/common/index.d.ts +1 -5
  118. package/lib/common/index.d.ts.map +1 -1
  119. package/lib/common/index.js +0 -2
  120. package/lib/common/index.js.map +1 -1
  121. package/lib/common/llm-context.d.ts +0 -19
  122. package/lib/common/llm-context.d.ts.map +1 -1
  123. package/lib/common/llm-context.js.map +1 -1
  124. package/lib/common/model.d.ts +0 -1
  125. package/lib/common/model.d.ts.map +1 -1
  126. package/lib/common/model.js.map +1 -1
  127. package/lib/common/prompts/context-prompt-provider.d.ts +2 -0
  128. package/lib/common/prompts/context-prompt-provider.d.ts.map +1 -1
  129. package/lib/common/prompts/context-prompt-provider.js +29 -35
  130. package/lib/common/prompts/context-prompt-provider.js.map +1 -1
  131. package/lib/common/types.d.ts +0 -21
  132. package/lib/common/types.d.ts.map +1 -1
  133. package/lib/common/types.js.map +1 -1
  134. package/lib/common/utils.d.ts +0 -1
  135. package/lib/common/utils.d.ts.map +1 -1
  136. package/lib/common/utils.js +2 -5
  137. package/lib/common/utils.js.map +1 -1
  138. package/lib/node/anthropic/anthropic-language-model.d.ts +1 -1
  139. package/lib/node/base-language-model.d.ts +1 -2
  140. package/lib/node/base-language-model.d.ts.map +1 -1
  141. package/lib/node/base-language-model.js +2 -12
  142. package/lib/node/base-language-model.js.map +1 -1
  143. package/lib/node/deepseek/deepseek-language-model.d.ts +1 -1
  144. package/lib/node/mcp/sumi-mcp-server.d.ts +1 -3
  145. package/lib/node/mcp/sumi-mcp-server.d.ts.map +1 -1
  146. package/lib/node/mcp/sumi-mcp-server.js +1 -7
  147. package/lib/node/mcp/sumi-mcp-server.js.map +1 -1
  148. package/lib/node/mcp-server-manager-impl.d.ts +1 -3
  149. package/lib/node/mcp-server-manager-impl.d.ts.map +1 -1
  150. package/lib/node/mcp-server-manager-impl.js +2 -14
  151. package/lib/node/mcp-server-manager-impl.js.map +1 -1
  152. package/lib/node/mcp-server.sse.d.ts +1 -187
  153. package/lib/node/mcp-server.sse.d.ts.map +1 -1
  154. package/lib/node/mcp-server.sse.js +2 -2
  155. package/lib/node/mcp-server.sse.js.map +1 -1
  156. package/lib/node/mcp-server.stdio.d.ts +1 -187
  157. package/lib/node/mcp-server.stdio.d.ts.map +1 -1
  158. package/package.json +26 -27
  159. package/src/browser/ai-core.contribution.ts +4 -14
  160. package/src/browser/chat/apply.service.ts +1 -62
  161. package/src/browser/chat/chat-manager.service.ts +7 -16
  162. package/src/browser/chat/chat-model.ts +73 -130
  163. package/src/browser/chat/chat-proxy.service.ts +81 -68
  164. package/src/browser/chat/chat.feature.registry.ts +1 -17
  165. package/src/browser/chat/chat.view.tsx +12 -73
  166. package/src/browser/components/ChatEditor.tsx +1 -1
  167. package/src/browser/components/ChatHistory.tsx +1 -2
  168. package/src/browser/components/ChatMentionInput.tsx +35 -180
  169. package/src/browser/components/ChatReply.tsx +4 -4
  170. package/src/browser/components/ChatToolRender.module.less +0 -25
  171. package/src/browser/components/ChatToolRender.tsx +2 -10
  172. package/src/browser/components/components.module.less +8 -37
  173. package/src/browser/components/mention-input/mention-input.module.less +1 -165
  174. package/src/browser/components/mention-input/mention-input.tsx +31 -232
  175. package/src/browser/components/mention-input/types.ts +0 -29
  176. package/src/browser/context/llm-context.service.ts +21 -182
  177. package/src/browser/contrib/intelligent-completions/decoration/additions-deletions.decoration.ts +1 -1
  178. package/src/browser/contrib/intelligent-completions/diff-computer.ts +1 -1
  179. package/src/browser/contrib/terminal/terminal.feature.registry.ts +1 -1
  180. package/src/browser/index.ts +0 -8
  181. package/src/browser/layout/ai-layout.tsx +8 -12
  182. package/src/browser/layout/tabbar.view.tsx +23 -10
  183. package/src/browser/mcp/base-apply.service.ts +10 -30
  184. package/src/browser/mcp/mcp-server-proxy.service.ts +1 -6
  185. package/src/browser/mcp/mcp-server.feature.registry.ts +1 -6
  186. package/src/browser/mcp/tools/createNewFileWithText.ts +46 -17
  187. package/src/browser/mcp/tools/fileSearch.ts +5 -8
  188. package/src/browser/mcp/tools/getDiagnosticsByPath.ts +1 -1
  189. package/src/browser/mcp/tools/getOpenEditorFileDiagnostics.ts +1 -1
  190. package/src/browser/mcp/tools/grepSearch.ts +21 -32
  191. package/src/browser/mcp/tools/handlers/ListDir.ts +2 -2
  192. package/src/browser/mcp/tools/handlers/ReadFile.ts +2 -2
  193. package/src/browser/mcp/tools/handlers/RunCommand.ts +14 -21
  194. package/src/browser/mcp/tools/listDir.ts +12 -15
  195. package/src/browser/mcp/tools/runTerminalCmd.ts +1 -1
  196. package/src/browser/model/msg-history-manager.ts +2 -181
  197. package/src/browser/preferences/schema.ts +0 -5
  198. package/src/browser/types.ts +0 -18
  199. package/src/browser/widget/inline-stream-diff/live-preview.component.tsx +1 -0
  200. package/src/common/index.ts +1 -6
  201. package/src/common/llm-context.ts +0 -23
  202. package/src/common/model.ts +0 -1
  203. package/src/common/prompts/context-prompt-provider.ts +40 -55
  204. package/src/common/types.ts +0 -18
  205. package/src/common/utils.ts +1 -4
  206. package/src/node/base-language-model.ts +14 -11
  207. package/src/node/mcp/sumi-mcp-server.ts +2 -10
  208. package/src/node/mcp-server-manager-impl.ts +2 -17
  209. package/src/node/mcp-server.sse.ts +2 -1
  210. package/lib/browser/components/mention-input/mention-select.d.ts +0 -28
  211. package/lib/browser/components/mention-input/mention-select.d.ts.map +0 -1
  212. package/lib/browser/components/mention-input/mention-select.js +0 -136
  213. package/lib/browser/components/mention-input/mention-select.js.map +0 -1
  214. package/lib/browser/components/mention-input/mention-select.module.less +0 -297
  215. package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.d.ts +0 -15
  216. package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.d.ts.map +0 -1
  217. package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.js +0 -53
  218. package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.js.map +0 -1
  219. package/lib/browser/rules/rules.contribution.d.ts +0 -29
  220. package/lib/browser/rules/rules.contribution.d.ts.map +0 -1
  221. package/lib/browser/rules/rules.contribution.js +0 -94
  222. package/lib/browser/rules/rules.contribution.js.map +0 -1
  223. package/lib/browser/rules/rules.module.less +0 -175
  224. package/lib/browser/rules/rules.service.d.ts +0 -25
  225. package/lib/browser/rules/rules.service.d.ts.map +0 -1
  226. package/lib/browser/rules/rules.service.js +0 -180
  227. package/lib/browser/rules/rules.service.js.map +0 -1
  228. package/lib/browser/rules/rules.view.d.ts +0 -3
  229. package/lib/browser/rules/rules.view.d.ts.map +0 -1
  230. package/lib/browser/rules/rules.view.js +0 -76
  231. package/lib/browser/rules/rules.view.js.map +0 -1
  232. package/lib/common/image-compression.d.ts +0 -25
  233. package/lib/common/image-compression.d.ts.map +0 -1
  234. package/lib/common/image-compression.js +0 -153
  235. package/lib/common/image-compression.js.map +0 -1
  236. package/lib/common/mdc-parser.d.ts +0 -60
  237. package/lib/common/mdc-parser.d.ts.map +0 -1
  238. package/lib/common/mdc-parser.js +0 -246
  239. package/lib/common/mdc-parser.js.map +0 -1
  240. package/lib/common/prompts/system-prompt.d.ts +0 -2
  241. package/lib/common/prompts/system-prompt.d.ts.map +0 -1
  242. package/lib/common/prompts/system-prompt.js +0 -5
  243. package/lib/common/prompts/system-prompt.js.map +0 -1
  244. package/src/browser/components/mention-input/mention-select.module.less +0 -297
  245. package/src/browser/components/mention-input/mention-select.tsx +0 -256
  246. package/src/browser/mcp/tools/handlers/CreateNewFileWithText.ts +0 -49
  247. package/src/browser/rules/rules.contribution.ts +0 -105
  248. package/src/browser/rules/rules.module.less +0 -175
  249. package/src/browser/rules/rules.service.ts +0 -189
  250. package/src/browser/rules/rules.view.tsx +0 -127
  251. package/src/common/image-compression.ts +0 -174
  252. package/src/common/mdc-parser.ts +0 -295
  253. package/src/common/prompts/system-prompt.ts +0 -2
@@ -23,7 +23,6 @@
23
23
  display: flex;
24
24
  align-items: center;
25
25
  font-weight: 500;
26
- width: calc(100% - 20px);
27
26
  color: var(--design-text-foreground);
28
27
  }
29
28
 
@@ -35,30 +34,6 @@
35
34
  margin-left: 5px;
36
35
  font-size: 11px;
37
36
  color: var(--descriptionForeground);
38
- width: calc(100% - 36px);
39
- display: flex;
40
- align-items: center;
41
- justify-content: flex-start;
42
-
43
- .tool_prefix {
44
- color: var(--design-text-placeholderForeground);
45
- margin-right: 10px;
46
- flex-shrink: 0;
47
- }
48
-
49
- .tool_name {
50
- opacity: 0.8;
51
- font-size: 9px;
52
- flex: 1;
53
- text-overflow: ellipsis;
54
- direction: rtl;
55
- unicode-bidi: plaintext;
56
- overflow: hidden;
57
- white-space: nowrap;
58
- display: inline-block;
59
- margin-right: 10px;
60
- text-align: left;
61
- }
62
37
  }
63
38
 
64
39
  .expand_icon {
@@ -524,6 +524,7 @@
524
524
  display: flex;
525
525
  font-size: 11px;
526
526
  align-items: center;
527
+ min-width: 150px;
527
528
  }
528
529
 
529
530
  .mcp_desc {
@@ -584,6 +585,7 @@
584
585
  .reasoning_content {
585
586
  padding: 8px 12px;
586
587
  margin-top: 4px;
588
+ border-left: 2px solid var(--descriptionForeground);
587
589
  color: var(--descriptionForeground);
588
590
  background: var(--design-block-background);
589
591
  border-radius: 4px;
@@ -595,8 +597,8 @@
595
597
  align-items: center;
596
598
  padding: 0 4px;
597
599
  margin: 0 2px;
598
- background-color: var(--chat-slashCommandBackground);
599
- color: var(--chat-slashCommandForeground);
600
+ background: var(--badge-background);
601
+ color: var(--badge-foreground);
600
602
  border-radius: 3px;
601
603
  vertical-align: middle;
602
604
  font-size: 12px;
@@ -607,6 +609,10 @@
607
609
  margin-right: 3px;
608
610
  }
609
611
  }
612
+ &:hover {
613
+ background-color: var(--chat-slashCommandBackground);
614
+ color: var(--chat-slashCommandForeground);
615
+ }
610
616
  }
611
617
 
612
618
  .attachment_text {
@@ -614,13 +620,6 @@
614
620
  vertical-align: middle;
615
621
  font-size: 12px;
616
622
  word-break: break-all;
617
- max-width: 100px;
618
- text-overflow: ellipsis;
619
- direction: rtl;
620
- unicode-bidi: plaintext;
621
- overflow: hidden;
622
- white-space: nowrap;
623
- display: inline-block;
624
623
  }
625
624
 
626
625
  .thumbnail_container {
@@ -673,31 +672,3 @@
673
672
  border-radius: 3px;
674
673
  overflow: hidden;
675
674
  }
676
-
677
- .shiny_text {
678
- color: #b5b5b5a4; /* Adjust this color to change intensity/style */
679
- background: linear-gradient(
680
- 120deg,
681
- rgba(255, 255, 255, 0) 40%,
682
- rgba(255, 255, 255, 0.8) 50%,
683
- rgba(255, 255, 255, 0) 60%
684
- );
685
- background-size: 200% 100%;
686
- -webkit-background-clip: text;
687
- background-clip: text;
688
- display: inline-block;
689
- animation: shine 5s linear infinite;
690
- }
691
-
692
- @keyframes shine {
693
- 0% {
694
- background-position: 100%;
695
- }
696
- 100% {
697
- background-position: -100%;
698
- }
699
- }
700
-
701
- .shiny_text.disabled {
702
- animation: none;
703
- }
@@ -1 +1 @@
1
- {"version":3,"file":"mention-input.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/mention-input/mention-input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EAGL,iBAAiB,EAIlB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8xCpD,CAAC"}
1
+ {"version":3,"file":"mention-input.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/mention-input/mention-input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EAGL,iBAAiB,EAIlB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAulCpD,CAAC"}
@@ -10,7 +10,6 @@ const ai_native_1 = require("@opensumi/ide-core-browser/lib/components/ai-native
10
10
  const ide_utils_1 = require("@opensumi/ide-utils");
11
11
  const mention_input_module_less_1 = tslib_1.__importDefault(require("./mention-input.module.less"));
12
12
  const mention_panel_1 = require("./mention-panel");
13
- const mention_select_1 = require("./mention-select");
14
13
  const types_1 = require("./types");
15
14
  exports.WHITE_SPACE_TEXT = ' ';
16
15
  const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, mentionKeyword = types_1.MENTION_KEYWORD, onSelectionChange, onImageUpload, labelService, workspaceService, placeholder = 'Ask anything, @ to mention', footerConfig = {
@@ -43,10 +42,7 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
43
42
  const [attachedFiles, setAttachedFiles] = React.useState({
44
43
  files: [],
45
44
  folders: [],
46
- rules: [],
47
45
  });
48
- // 添加用于跟踪 mention_tag 的状态
49
- const prevMentionTagsRef = React.useRef([]);
50
46
  const getCurrentItems = () => {
51
47
  if (mentionState.level === 0) {
52
48
  return mentionItems;
@@ -138,13 +134,13 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
138
134
  }
139
135
  }, [debouncedSecondLevelFilter, mentionState.level, mentionState.parentType]);
140
136
  React.useEffect(() => {
141
- const disposable = contextService === null || contextService === void 0 ? void 0 : contextService.onDidContextFilesChangeEvent(({ attached, attachedFolders, attachedRules }) => {
142
- setAttachedFiles({ files: attached, folders: attachedFolders, rules: attachedRules });
137
+ const disposable = contextService === null || contextService === void 0 ? void 0 : contextService.onDidContextFilesChangeEvent(({ attached, attachedFolders }) => {
138
+ setAttachedFiles({ files: attached, folders: attachedFolders });
143
139
  });
144
140
  return () => {
145
141
  disposable === null || disposable === void 0 ? void 0 : disposable.dispose();
146
142
  };
147
- }, []);
143
+ }, [contextService]);
148
144
  // 获取光标位置
149
145
  const getCursorPosition = (element) => {
150
146
  const selection = window.getSelection();
@@ -163,35 +159,6 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
163
159
  setIsNavigatingHistory(false);
164
160
  setHistoryIndex(-1);
165
161
  }
166
- // 检测 mention_tag 的删除
167
- if (editorRef.current) {
168
- const currentMentionTags = Array.from(editorRef.current.querySelectorAll(`.${mention_input_module_less_1.default.mention_tag}`)).map((tag) => ({
169
- id: tag.getAttribute('data-id') || '',
170
- type: tag.getAttribute('data-type') || '',
171
- contextId: tag.getAttribute('data-context-id') || '',
172
- }));
173
- // 找出被删除的 mention_tag
174
- const deletedTags = prevMentionTagsRef.current.filter((prevTag) => !currentMentionTags.some((currentTag) => currentTag.id === prevTag.id &&
175
- currentTag.type === prevTag.type &&
176
- currentTag.contextId === prevTag.contextId));
177
- // 清理被删除的 mention_tag 对应的 context
178
- deletedTags.forEach((deletedTag) => {
179
- if (deletedTag.contextId) {
180
- const uri = new ide_utils_1.URI(deletedTag.contextId);
181
- if (deletedTag.type === types_1.MentionType.FILE) {
182
- removeContext(types_1.MentionType.FILE, uri);
183
- }
184
- else if (deletedTag.type === types_1.MentionType.FOLDER) {
185
- removeContext(types_1.MentionType.FOLDER, uri);
186
- }
187
- else if (deletedTag.type === types_1.MentionType.RULE) {
188
- removeContext(types_1.MentionType.RULE, uri);
189
- }
190
- }
191
- });
192
- // 更新 mention_tag 状态
193
- prevMentionTagsRef.current = currentMentionTags;
194
- }
195
162
  const selection = window.getSelection();
196
163
  if (!selection || !selection.rangeCount || !editorRef.current) {
197
164
  return;
@@ -450,7 +417,7 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
450
417
  const imageFiles = [];
451
418
  // eslint-disable-next-line @typescript-eslint/prefer-for-of
452
419
  for (let i = 0; i < items.length; i++) {
453
- if (items[i].kind === types_1.MentionType.FILE && items[i].type.startsWith('image/')) {
420
+ if (items[i].kind === 'file' && items[i].type.startsWith('image/')) {
454
421
  const file = items[i].getAsFile();
455
422
  if (file) {
456
423
  imageFiles.push(file);
@@ -517,13 +484,6 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
517
484
  if (placeholder && !editorRef.current.textContent) {
518
485
  editorRef.current.setAttribute('data-placeholder', placeholder);
519
486
  }
520
- // 初始化 mention_tag 状态
521
- const initialMentionTags = Array.from(editorRef.current.querySelectorAll(`.${mention_input_module_less_1.default.mention_tag}`)).map((tag) => ({
522
- id: tag.getAttribute('data-id') || '',
523
- type: tag.getAttribute('data-type') || '',
524
- contextId: tag.getAttribute('data-context-id') || '',
525
- }));
526
- prevMentionTagsRef.current = initialMentionTags;
527
487
  }
528
488
  }, [placeholder]);
529
489
  // 处理点击事件
@@ -654,12 +614,6 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
654
614
  contextService === null || contextService === void 0 ? void 0 : contextService.addFileToContext(new ide_utils_1.URI(item.contextId), [item.symbol.range.startLineNumber, item.symbol.range.endLineNumber], true);
655
615
  }
656
616
  }
657
- else if (item.type === types_1.MentionType.RULE) {
658
- const iconSpan = document.createElement('span');
659
- iconSpan.className = (0, classnames_1.default)(mention_input_module_less_1.default.mention_icon, (0, components_1.getIcon)('rules'));
660
- mentionTag.appendChild(iconSpan);
661
- contextService === null || contextService === void 0 ? void 0 : contextService.addRuleToContext(new ide_utils_1.URI(item.contextId), true);
662
- }
663
617
  const workspace = workspaceService === null || workspaceService === void 0 ? void 0 : workspaceService.workspace;
664
618
  let relativePath = item.text;
665
619
  if (workspace && item.contextId) {
@@ -746,10 +700,10 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
746
700
  mentionTag.dataset.contextId = item.contextId || '';
747
701
  mentionTag.contentEditable = 'false';
748
702
  // 为 file 和 folder 类型添加图标
749
- if (item.type === types_1.MentionType.FILE || item.type === 'folder') {
703
+ if (item.type === 'file' || item.type === 'folder') {
750
704
  // 创建图标容器
751
705
  const iconSpan = document.createElement('span');
752
- iconSpan.className = (0, classnames_1.default)(mention_input_module_less_1.default.mention_icon, item.type === types_1.MentionType.FILE ? labelService === null || labelService === void 0 ? void 0 : labelService.getIcon(new ide_utils_1.URI(item.text)) : (0, components_1.getIcon)('folder'));
706
+ iconSpan.className = (0, classnames_1.default)(mention_input_module_less_1.default.mention_icon, item.type === 'file' ? labelService === null || labelService === void 0 ? void 0 : labelService.getIcon(new ide_utils_1.URI(item.text)) : (0, components_1.getIcon)('folder'));
753
707
  mentionTag.appendChild(iconSpan);
754
708
  }
755
709
  const workspace = workspaceService === null || workspaceService === void 0 ? void 0 : workspaceService.workspace;
@@ -881,56 +835,6 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
881
835
  const handleClearContext = React.useCallback(() => {
882
836
  contextService === null || contextService === void 0 ? void 0 : contextService.cleanFileContext();
883
837
  }, [contextService]);
884
- const handleTitleClick = React.useCallback(() => {
885
- if (!editorRef.current) {
886
- return;
887
- }
888
- // 聚焦输入框
889
- editorRef.current.focus();
890
- // 获取当前光标位置
891
- const selection = window.getSelection();
892
- if (!selection) {
893
- return;
894
- }
895
- // 在当前位置插入 @ 符号
896
- const range = document.createRange();
897
- // 如果编辑器为空,直接插入
898
- if (!editorRef.current.textContent || editorRef.current.textContent.trim() === '') {
899
- editorRef.current.innerHTML = '@';
900
- range.setStart(editorRef.current.firstChild || editorRef.current, 1);
901
- range.setEnd(editorRef.current.firstChild || editorRef.current, 1);
902
- }
903
- else {
904
- // 当输入框有内容时,总是在末尾插入 @ 符号
905
- const textNode = document.createTextNode(' @');
906
- // 移动到编辑器末尾
907
- range.selectNodeContents(editorRef.current);
908
- range.collapse(false); // 移动到末尾
909
- // 在末尾插入空格和 @ 符号
910
- range.insertNode(textNode);
911
- range.setStartAfter(textNode);
912
- range.setEndAfter(textNode);
913
- }
914
- // 设置新的光标位置
915
- selection.removeAllRanges();
916
- selection.addRange(range);
917
- // 获取插入后的光标位置
918
- const newCursorPos = getCursorPosition(editorRef.current);
919
- // 激活菜单状态
920
- setMentionState({
921
- active: true,
922
- startPos: newCursorPos,
923
- filter: '@',
924
- position: { top: 0, left: 0 },
925
- activeIndex: 0,
926
- level: 0,
927
- parentType: null,
928
- secondLevelFilter: '',
929
- inlineSearchActive: false,
930
- inlineSearchStartPos: null,
931
- loading: false,
932
- });
933
- }, []);
934
838
  const handleStop = React.useCallback(() => {
935
839
  if (onStop) {
936
840
  onStop();
@@ -941,60 +845,14 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
941
845
  .filter((button) => button.position === position)
942
846
  .map((button) => (React.createElement(components_1.Popover, { key: button.id, overlayClassName: mention_input_module_less_1.default.popover_icon, id: `ai-chat-${button.id}`, position: components_1.PopoverPosition.top, title: button.title },
943
847
  React.createElement(ai_native_1.EnhanceIcon, { className: (0, classnames_1.default)(button.icon ? (0, components_1.getIcon)(button.icon) : button.iconClass, mention_input_module_less_1.default[`${button.id}_logo`]), tabIndex: 0, role: 'button', ariaLabel: button.title, onClick: button.onClick })))), [footerConfig.buttons]);
944
- const hasContext = React.useMemo(() => attachedFiles.files.length > 0 || attachedFiles.folders.length > 0 || attachedFiles.rules.length > 0, [attachedFiles]);
848
+ const hasContext = React.useMemo(() => attachedFiles.files.length > 0 || attachedFiles.folders.length > 0, [attachedFiles]);
945
849
  const renderModelSelectorTip = React.useCallback((children) => {
946
850
  if (footerConfig.disableModelSelector) {
947
851
  return (React.createElement(components_1.Popover, { id: 'ai-chat-model-selector', title: (0, ide_core_browser_1.localize)('aiNative.chat.modelSelector.disableTip'), position: components_1.PopoverPosition.top }, children));
948
852
  }
949
853
  return children;
950
854
  }, [footerConfig.disableModelSelector]);
951
- // 转换模型选项为扩展格式
952
- const getExtendedModelOptions = React.useMemo(() => {
953
- // 如果有扩展模型选项,直接使用
954
- if (footerConfig.extendedModelOptions) {
955
- return footerConfig.extendedModelOptions.map((option) => ({
956
- ...option,
957
- selected: option.value === selectedModel,
958
- }));
959
- }
960
- // 否则从基础模型选项转换
961
- return (footerConfig.modelOptions || []).map((option) => {
962
- const extendedOption = {
963
- ...option,
964
- };
965
- // 设置选中状态:如果当前模型匹配选中的模型,则标记为选中
966
- extendedOption.selected = option.value === selectedModel;
967
- return extendedOption;
968
- });
969
- }, [footerConfig.modelOptions, footerConfig.extendedModelOptions, selectedModel]);
970
- const removeContext = React.useCallback((type, uri) => {
971
- if (type === types_1.MentionType.FILE) {
972
- contextService === null || contextService === void 0 ? void 0 : contextService.removeFileFromContext(uri, true);
973
- }
974
- else if (type === types_1.MentionType.FOLDER) {
975
- contextService === null || contextService === void 0 ? void 0 : contextService.removeFolderFromContext(uri);
976
- }
977
- else if (type === types_1.MentionType.RULE) {
978
- contextService === null || contextService === void 0 ? void 0 : contextService.removeRuleFromContext(uri);
979
- }
980
- }, [contextService]);
981
- const getFileNameFromPath = (path) => decodeURIComponent(path.split('/').pop() || 'Unknown Rule');
982
- const renderContextPreview = React.useCallback(() => (React.createElement("div", { className: mention_input_module_less_1.default.context_preview_container },
983
- React.createElement("span", { className: (0, classnames_1.default)(mention_input_module_less_1.default.context_preview_title, hasContext && mention_input_module_less_1.default.has_context), onClick: handleTitleClick }, !hasContext ? (0, ide_core_browser_1.localize)('aiNative.chat.context.title') : ''),
984
- attachedFiles.files.map((file, index) => (React.createElement("div", { key: `file-${index}`, className: mention_input_module_less_1.default.context_preview_item, "data-type": types_1.MentionType.FILE },
985
- React.createElement(components_1.Icon, { iconClass: (0, classnames_1.default)((labelService === null || labelService === void 0 ? void 0 : labelService.getIcon(file.uri)) || types_1.MentionType.FILE, mention_input_module_less_1.default.context_preview_item_icon, mention_input_module_less_1.default.icon) }),
986
- React.createElement(components_1.Icon, { iconClass: (0, classnames_1.default)(mention_input_module_less_1.default.close_icon, (0, components_1.getIcon)('close')), onClick: () => removeContext(types_1.MentionType.FILE, file.uri) }),
987
- React.createElement("span", { className: mention_input_module_less_1.default.context_preview_item_text }, new ide_utils_1.URI(file.uri.toString()).displayName)))),
988
- attachedFiles.folders.map((folder, index) => (React.createElement("div", { key: `folder-${index}`, className: mention_input_module_less_1.default.context_preview_item, "data-type": 'folder' },
989
- React.createElement(components_1.Icon, { iconClass: (0, classnames_1.default)((0, components_1.getIcon)('folder'), mention_input_module_less_1.default.context_preview_item_icon, mention_input_module_less_1.default.icon) }),
990
- React.createElement(components_1.Icon, { iconClass: (0, classnames_1.default)(mention_input_module_less_1.default.close_icon, (0, components_1.getIcon)('close')), onClick: () => removeContext(types_1.MentionType.FOLDER, folder.uri) }),
991
- React.createElement("span", { className: mention_input_module_less_1.default.context_preview_item_text }, new ide_utils_1.URI(folder.uri.toString()).displayName)))),
992
- attachedFiles.rules.map((rule, index) => (React.createElement("div", { key: `rule-${index}`, className: mention_input_module_less_1.default.context_preview_item, "data-type": 'rule' },
993
- React.createElement(components_1.Icon, { iconClass: (0, classnames_1.default)((0, components_1.getIcon)('rules'), mention_input_module_less_1.default.context_preview_item_icon, mention_input_module_less_1.default.icon) }),
994
- React.createElement(components_1.Icon, { iconClass: (0, classnames_1.default)(mention_input_module_less_1.default.close_icon, (0, components_1.getIcon)('close')), onClick: () => removeContext(types_1.MentionType.RULE, new ide_utils_1.URI(rule.path)) }),
995
- React.createElement("span", { className: mention_input_module_less_1.default.context_preview_item_text }, getFileNameFromPath(rule.path).replace('.mdc', ''))))))), [handleClearContext, hasContext, attachedFiles, labelService, contextService, handleTitleClick, removeContext]);
996
855
  return (React.createElement("div", { className: mention_input_module_less_1.default.input_container },
997
- renderContextPreview(),
998
856
  mentionState.active && (React.createElement("div", { className: mention_input_module_less_1.default.mention_panel_container },
999
857
  React.createElement(mention_panel_1.MentionPanel, { items: getCurrentItems(), activeIndex: mentionState.activeIndex, onSelectItem: (item) => handleSelectItem(item, true), position: { top: 0, left: 0 }, filter: mentionState.level === 0 ? mentionState.filter : mentionState.secondLevelFilter, visible: true, level: mentionState.level, loading: mentionState.loading }))),
1000
858
  React.createElement("div", { className: mention_input_module_less_1.default.editor_area },
@@ -1002,10 +860,16 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
1002
860
  React.createElement("div", { className: mention_input_module_less_1.default.footer },
1003
861
  React.createElement("div", { className: mention_input_module_less_1.default.left_control },
1004
862
  footerConfig.showModelSelector &&
1005
- renderModelSelectorTip(React.createElement(mention_select_1.MentionSelect, { options: getExtendedModelOptions, value: selectedModel, onChange: handleModelChange, className: mention_input_module_less_1.default.model_selector, size: 'small', disabled: footerConfig.disableModelSelector, showThinking: footerConfig.showThinking, thinkingEnabled: footerConfig.thinkingEnabled, onThinkingChange: footerConfig.onThinkingChange })),
863
+ renderModelSelectorTip(React.createElement(components_1.Select, { options: footerConfig.modelOptions || [], value: selectedModel, onChange: handleModelChange, className: mention_input_module_less_1.default.model_selector, size: 'small', disabled: footerConfig.disableModelSelector })),
1006
864
  renderButtons(types_1.FooterButtonPosition.LEFT)),
1007
865
  React.createElement("div", { className: mention_input_module_less_1.default.right_control },
1008
866
  renderButtons(types_1.FooterButtonPosition.RIGHT),
867
+ hasContext && (React.createElement(components_1.Popover, { overlayClassName: mention_input_module_less_1.default.popover_icon, id: 'ai-chat-clear-context', position: components_1.PopoverPosition.top, content: (0, ide_core_browser_1.localize)('aiNative.chat.context.clear') },
868
+ React.createElement("div", { className: mention_input_module_less_1.default.context_container, onClick: handleClearContext },
869
+ React.createElement("div", { className: mention_input_module_less_1.default.context_icon },
870
+ React.createElement(components_1.Icon, { icon: 'out-link' }),
871
+ React.createElement(components_1.Icon, { icon: 'close' })),
872
+ React.createElement("div", { className: mention_input_module_less_1.default.context_description }, (0, ide_core_browser_1.formatLocalize)('aiNative.chat.context.description', attachedFiles.files.length + attachedFiles.folders.length))))),
1009
873
  React.createElement(components_1.Popover, { overlayClassName: mention_input_module_less_1.default.popover_icon, id: 'ai-chat-send', position: components_1.PopoverPosition.top, content: !loading ? 'Send' : 'Stop' }, !loading ? (React.createElement(ai_native_1.EnhanceIcon, { wrapperClassName: mention_input_module_less_1.default.send_logo, className: (0, classnames_1.default)((0, components_1.getIcon)('send-outlined'), mention_input_module_less_1.default.send_logo_icon), tabIndex: 0, role: 'button', onClick: handleSend, ariaLabel: 'Send' })) : (React.createElement(ai_native_1.EnhanceIcon, { wrapperClassName: mention_input_module_less_1.default.stop_logo, className: (0, classnames_1.default)((0, components_1.getIcon)('stop'), mention_input_module_less_1.default.stop_logo_icon), tabIndex: 0, role: 'button', ariaLabel: 'Stop', onClick: handleStop })))))));
1010
874
  };
1011
875
  exports.MentionInput = MentionInput;
@@ -1 +1 @@
1
- {"version":3,"file":"mention-input.js","sourceRoot":"","sources":["../../../../src/browser/components/mention-input/mention-input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mention-input.js","sourceRoot":"","sources":["../../../../src/browser/components/mention-input/mention-input.tsx"],"names":[],"mappings":"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"}