@opensumi/ide-ai-native 3.9.1-next-1749007675.0 → 3.9.1-next-1749022016.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 (145) hide show
  1. package/lib/browser/chat/chat-manager.service.d.ts +0 -1
  2. package/lib/browser/chat/chat-manager.service.d.ts.map +1 -1
  3. package/lib/browser/chat/chat-manager.service.js +3 -8
  4. package/lib/browser/chat/chat-manager.service.js.map +1 -1
  5. package/lib/browser/chat/chat-model.d.ts +1 -3
  6. package/lib/browser/chat/chat-model.d.ts.map +1 -1
  7. package/lib/browser/chat/chat-model.js +17 -48
  8. package/lib/browser/chat/chat-model.js.map +1 -1
  9. package/lib/browser/chat/chat-proxy.service.d.ts +0 -2
  10. package/lib/browser/chat/chat-proxy.service.d.ts.map +1 -1
  11. package/lib/browser/chat/chat-proxy.service.js +50 -57
  12. package/lib/browser/chat/chat-proxy.service.js.map +1 -1
  13. package/lib/browser/chat/chat.view.d.ts.map +1 -1
  14. package/lib/browser/chat/chat.view.js +11 -7
  15. package/lib/browser/chat/chat.view.js.map +1 -1
  16. package/lib/browser/components/ChatMentionInput.d.ts.map +1 -1
  17. package/lib/browser/components/ChatMentionInput.js +141 -30
  18. package/lib/browser/components/ChatMentionInput.js.map +1 -1
  19. package/lib/browser/components/ChatReply.js +2 -2
  20. package/lib/browser/components/ChatReply.js.map +1 -1
  21. package/lib/browser/components/ChatToolRender.module.less +1 -0
  22. package/lib/browser/components/components.module.less +37 -8
  23. package/lib/browser/components/mention-input/mention-input.d.ts.map +1 -1
  24. package/lib/browser/components/mention-input/mention-input.js +161 -14
  25. package/lib/browser/components/mention-input/mention-input.js.map +1 -1
  26. package/lib/browser/components/mention-input/mention-input.module.less +165 -1
  27. package/lib/browser/components/mention-input/mention-select.d.ts +28 -0
  28. package/lib/browser/components/mention-input/mention-select.d.ts.map +1 -0
  29. package/lib/browser/components/mention-input/mention-select.js +136 -0
  30. package/lib/browser/components/mention-input/mention-select.js.map +1 -0
  31. package/lib/browser/components/mention-input/mention-select.module.less +297 -0
  32. package/lib/browser/components/mention-input/types.d.ts +16 -1
  33. package/lib/browser/components/mention-input/types.d.ts.map +1 -1
  34. package/lib/browser/components/mention-input/types.js +1 -0
  35. package/lib/browser/components/mention-input/types.js.map +1 -1
  36. package/lib/browser/components/utils.d.ts +2 -2
  37. package/lib/browser/context/llm-context.service.d.ts +21 -2
  38. package/lib/browser/context/llm-context.service.d.ts.map +1 -1
  39. package/lib/browser/context/llm-context.service.js +162 -20
  40. package/lib/browser/context/llm-context.service.js.map +1 -1
  41. package/lib/browser/contrib/intelligent-completions/decoration/additions-deletions.decoration.d.ts.map +1 -1
  42. package/lib/browser/contrib/intelligent-completions/decoration/additions-deletions.decoration.js.map +1 -1
  43. package/lib/browser/contrib/intelligent-completions/diff-computer.js +1 -1
  44. package/lib/browser/contrib/intelligent-completions/diff-computer.js.map +1 -1
  45. package/lib/browser/contrib/terminal/terminal.feature.registry.js.map +1 -1
  46. package/lib/browser/index.d.ts.map +1 -1
  47. package/lib/browser/index.js +7 -0
  48. package/lib/browser/index.js.map +1 -1
  49. package/lib/browser/mcp/base-apply.service.d.ts +2 -2
  50. package/lib/browser/mcp/base-apply.service.d.ts.map +1 -1
  51. package/lib/browser/mcp/base-apply.service.js.map +1 -1
  52. package/lib/browser/mcp/tools/getDiagnosticsByPath.js.map +1 -1
  53. package/lib/browser/mcp/tools/getOpenEditorFileDiagnostics.js.map +1 -1
  54. package/lib/browser/mcp/tools/handlers/ListDir.js.map +1 -1
  55. package/lib/browser/mcp/tools/runTerminalCmd.js.map +1 -1
  56. package/lib/browser/model/msg-history-manager.d.ts +1 -39
  57. package/lib/browser/model/msg-history-manager.d.ts.map +1 -1
  58. package/lib/browser/model/msg-history-manager.js +3 -170
  59. package/lib/browser/model/msg-history-manager.js.map +1 -1
  60. package/lib/browser/preferences/schema.d.ts.map +1 -1
  61. package/lib/browser/preferences/schema.js +5 -0
  62. package/lib/browser/preferences/schema.js.map +1 -1
  63. package/lib/browser/rules/rules.contribution.d.ts +29 -0
  64. package/lib/browser/rules/rules.contribution.d.ts.map +1 -0
  65. package/lib/browser/rules/rules.contribution.js +94 -0
  66. package/lib/browser/rules/rules.contribution.js.map +1 -0
  67. package/lib/browser/rules/rules.module.less +175 -0
  68. package/lib/browser/rules/rules.service.d.ts +25 -0
  69. package/lib/browser/rules/rules.service.d.ts.map +1 -0
  70. package/lib/browser/rules/rules.service.js +180 -0
  71. package/lib/browser/rules/rules.service.js.map +1 -0
  72. package/lib/browser/rules/rules.view.d.ts +3 -0
  73. package/lib/browser/rules/rules.view.d.ts.map +1 -0
  74. package/lib/browser/rules/rules.view.js +76 -0
  75. package/lib/browser/rules/rules.view.js.map +1 -0
  76. package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts.map +1 -1
  77. package/lib/browser/widget/inline-stream-diff/live-preview.component.js.map +1 -1
  78. package/lib/common/MDC_PARSER_README.md +171 -0
  79. package/lib/common/index.d.ts +2 -0
  80. package/lib/common/index.d.ts.map +1 -1
  81. package/lib/common/index.js +2 -0
  82. package/lib/common/index.js.map +1 -1
  83. package/lib/common/llm-context.d.ts +19 -0
  84. package/lib/common/llm-context.d.ts.map +1 -1
  85. package/lib/common/llm-context.js.map +1 -1
  86. package/lib/common/mdc-parser.d.ts +60 -0
  87. package/lib/common/mdc-parser.d.ts.map +1 -0
  88. package/lib/common/mdc-parser.js +246 -0
  89. package/lib/common/mdc-parser.js.map +1 -0
  90. package/lib/common/model.d.ts +1 -0
  91. package/lib/common/model.d.ts.map +1 -1
  92. package/lib/common/model.js.map +1 -1
  93. package/lib/common/prompts/context-prompt-provider.d.ts +0 -2
  94. package/lib/common/prompts/context-prompt-provider.d.ts.map +1 -1
  95. package/lib/common/prompts/context-prompt-provider.js +35 -29
  96. package/lib/common/prompts/context-prompt-provider.js.map +1 -1
  97. package/lib/common/prompts/system-prompt.d.ts +2 -0
  98. package/lib/common/prompts/system-prompt.d.ts.map +1 -0
  99. package/lib/common/prompts/system-prompt.js +5 -0
  100. package/lib/common/prompts/system-prompt.js.map +1 -0
  101. package/lib/common/types.d.ts +7 -0
  102. package/lib/common/types.d.ts.map +1 -1
  103. package/lib/node/base-language-model.d.ts.map +1 -1
  104. package/lib/node/base-language-model.js +2 -1
  105. package/lib/node/base-language-model.js.map +1 -1
  106. package/package.json +25 -24
  107. package/src/browser/chat/chat-manager.service.ts +6 -15
  108. package/src/browser/chat/chat-model.ts +19 -56
  109. package/src/browser/chat/chat-proxy.service.ts +68 -81
  110. package/src/browser/chat/chat.view.tsx +19 -7
  111. package/src/browser/components/ChatMentionInput.tsx +169 -35
  112. package/src/browser/components/ChatReply.tsx +4 -4
  113. package/src/browser/components/ChatToolRender.module.less +1 -0
  114. package/src/browser/components/components.module.less +37 -8
  115. package/src/browser/components/mention-input/mention-input.module.less +165 -1
  116. package/src/browser/components/mention-input/mention-input.tsx +257 -32
  117. package/src/browser/components/mention-input/mention-select.module.less +297 -0
  118. package/src/browser/components/mention-input/mention-select.tsx +256 -0
  119. package/src/browser/components/mention-input/types.ts +16 -0
  120. package/src/browser/context/llm-context.service.ts +182 -21
  121. package/src/browser/contrib/intelligent-completions/decoration/additions-deletions.decoration.ts +1 -1
  122. package/src/browser/contrib/intelligent-completions/diff-computer.ts +1 -1
  123. package/src/browser/contrib/terminal/terminal.feature.registry.ts +1 -1
  124. package/src/browser/index.ts +8 -0
  125. package/src/browser/mcp/base-apply.service.ts +0 -1
  126. package/src/browser/mcp/tools/getDiagnosticsByPath.ts +1 -1
  127. package/src/browser/mcp/tools/getOpenEditorFileDiagnostics.ts +1 -1
  128. package/src/browser/mcp/tools/handlers/ListDir.ts +1 -1
  129. package/src/browser/mcp/tools/runTerminalCmd.ts +1 -1
  130. package/src/browser/model/msg-history-manager.ts +3 -230
  131. package/src/browser/preferences/schema.ts +5 -0
  132. package/src/browser/rules/rules.contribution.ts +105 -0
  133. package/src/browser/rules/rules.module.less +175 -0
  134. package/src/browser/rules/rules.service.ts +189 -0
  135. package/src/browser/rules/rules.view.tsx +127 -0
  136. package/src/browser/widget/inline-stream-diff/live-preview.component.tsx +0 -1
  137. package/src/common/MDC_PARSER_README.md +171 -0
  138. package/src/common/index.ts +3 -0
  139. package/src/common/llm-context.ts +23 -0
  140. package/src/common/mdc-parser.ts +295 -0
  141. package/src/common/model.ts +1 -0
  142. package/src/common/prompts/context-prompt-provider.ts +55 -40
  143. package/src/common/prompts/system-prompt.ts +2 -0
  144. package/src/common/types.ts +8 -0
  145. package/src/node/base-language-model.ts +1 -2
@@ -524,7 +524,6 @@
524
524
  display: flex;
525
525
  font-size: 11px;
526
526
  align-items: center;
527
- min-width: 150px;
528
527
  }
529
528
 
530
529
  .mcp_desc {
@@ -585,7 +584,6 @@
585
584
  .reasoning_content {
586
585
  padding: 8px 12px;
587
586
  margin-top: 4px;
588
- border-left: 2px solid var(--descriptionForeground);
589
587
  color: var(--descriptionForeground);
590
588
  background: var(--design-block-background);
591
589
  border-radius: 4px;
@@ -597,8 +595,8 @@
597
595
  align-items: center;
598
596
  padding: 0 4px;
599
597
  margin: 0 2px;
600
- background: var(--badge-background);
601
- color: var(--badge-foreground);
598
+ background-color: var(--chat-slashCommandBackground);
599
+ color: var(--chat-slashCommandForeground);
602
600
  border-radius: 3px;
603
601
  vertical-align: middle;
604
602
  font-size: 12px;
@@ -609,10 +607,6 @@
609
607
  margin-right: 3px;
610
608
  }
611
609
  }
612
- &:hover {
613
- background-color: var(--chat-slashCommandBackground);
614
- color: var(--chat-slashCommandForeground);
615
- }
616
610
  }
617
611
 
618
612
  .attachment_text {
@@ -620,6 +614,13 @@
620
614
  vertical-align: middle;
621
615
  font-size: 12px;
622
616
  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;
623
624
  }
624
625
 
625
626
  .thumbnail_container {
@@ -672,3 +673,31 @@
672
673
  border-radius: 3px;
673
674
  overflow: hidden;
674
675
  }
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;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"}
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,CAszCpD,CAAC"}
@@ -10,6 +10,7 @@ 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");
13
14
  const types_1 = require("./types");
14
15
  exports.WHITE_SPACE_TEXT = ' ';
15
16
  const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, mentionKeyword = types_1.MENTION_KEYWORD, onSelectionChange, onImageUpload, labelService, workspaceService, placeholder = 'Ask anything, @ to mention', footerConfig = {
@@ -42,7 +43,10 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
42
43
  const [attachedFiles, setAttachedFiles] = React.useState({
43
44
  files: [],
44
45
  folders: [],
46
+ rules: [],
45
47
  });
48
+ // 添加用于跟踪 mention_tag 的状态
49
+ const prevMentionTagsRef = React.useRef([]);
46
50
  const getCurrentItems = () => {
47
51
  if (mentionState.level === 0) {
48
52
  return mentionItems;
@@ -134,13 +138,13 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
134
138
  }
135
139
  }, [debouncedSecondLevelFilter, mentionState.level, mentionState.parentType]);
136
140
  React.useEffect(() => {
137
- const disposable = contextService === null || contextService === void 0 ? void 0 : contextService.onDidContextFilesChangeEvent(({ attached, attachedFolders }) => {
138
- setAttachedFiles({ files: attached, folders: attachedFolders });
141
+ const disposable = contextService === null || contextService === void 0 ? void 0 : contextService.onDidContextFilesChangeEvent(({ attached, attachedFolders, attachedRules }) => {
142
+ setAttachedFiles({ files: attached, folders: attachedFolders, rules: attachedRules });
139
143
  });
140
144
  return () => {
141
145
  disposable === null || disposable === void 0 ? void 0 : disposable.dispose();
142
146
  };
143
- }, [contextService]);
147
+ }, []);
144
148
  // 获取光标位置
145
149
  const getCursorPosition = (element) => {
146
150
  const selection = window.getSelection();
@@ -159,6 +163,35 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
159
163
  setIsNavigatingHistory(false);
160
164
  setHistoryIndex(-1);
161
165
  }
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
+ }
162
195
  const selection = window.getSelection();
163
196
  if (!selection || !selection.rangeCount || !editorRef.current) {
164
197
  return;
@@ -417,7 +450,7 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
417
450
  const imageFiles = [];
418
451
  // eslint-disable-next-line @typescript-eslint/prefer-for-of
419
452
  for (let i = 0; i < items.length; i++) {
420
- if (items[i].kind === 'file' && items[i].type.startsWith('image/')) {
453
+ if (items[i].kind === types_1.MentionType.FILE && items[i].type.startsWith('image/')) {
421
454
  const file = items[i].getAsFile();
422
455
  if (file) {
423
456
  imageFiles.push(file);
@@ -484,6 +517,13 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
484
517
  if (placeholder && !editorRef.current.textContent) {
485
518
  editorRef.current.setAttribute('data-placeholder', placeholder);
486
519
  }
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;
487
527
  }
488
528
  }, [placeholder]);
489
529
  // 处理点击事件
@@ -614,6 +654,12 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
614
654
  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);
615
655
  }
616
656
  }
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
+ }
617
663
  const workspace = workspaceService === null || workspaceService === void 0 ? void 0 : workspaceService.workspace;
618
664
  let relativePath = item.text;
619
665
  if (workspace && item.contextId) {
@@ -700,10 +746,10 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
700
746
  mentionTag.dataset.contextId = item.contextId || '';
701
747
  mentionTag.contentEditable = 'false';
702
748
  // 为 file 和 folder 类型添加图标
703
- if (item.type === 'file' || item.type === 'folder') {
749
+ if (item.type === types_1.MentionType.FILE || item.type === 'folder') {
704
750
  // 创建图标容器
705
751
  const iconSpan = document.createElement('span');
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'));
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'));
707
753
  mentionTag.appendChild(iconSpan);
708
754
  }
709
755
  const workspace = workspaceService === null || workspaceService === void 0 ? void 0 : workspaceService.workspace;
@@ -835,6 +881,56 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
835
881
  const handleClearContext = React.useCallback(() => {
836
882
  contextService === null || contextService === void 0 ? void 0 : contextService.cleanFileContext();
837
883
  }, [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
+ }, []);
838
934
  const handleStop = React.useCallback(() => {
839
935
  if (onStop) {
840
936
  onStop();
@@ -845,14 +941,71 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
845
941
  .filter((button) => button.position === position)
846
942
  .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 },
847
943
  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]);
848
- const hasContext = React.useMemo(() => attachedFiles.files.length > 0 || attachedFiles.folders.length > 0, [attachedFiles]);
944
+ const hasContext = React.useMemo(() => attachedFiles.files.length > 0 || attachedFiles.folders.length > 0 || attachedFiles.rules.length > 0, [attachedFiles]);
849
945
  const renderModelSelectorTip = React.useCallback((children) => {
850
946
  if (footerConfig.disableModelSelector) {
851
947
  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));
852
948
  }
853
949
  return children;
854
950
  }, [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, onClick: () => contextService === null || contextService === void 0 ? void 0 : contextService.removeFileFromContext(file.uri, true) },
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', onClick: () => contextService === null || contextService === void 0 ? void 0 : contextService.removeFileFromContext(folder.uri, true) },
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', onClick: () => {
993
+ // 由于没有专门的删除规则方法,我们重新构建规则列表
994
+ contextService === null || contextService === void 0 ? void 0 : contextService.cleanFileContext();
995
+ // 重新添加除了当前要删除的规则之外的所有上下文
996
+ attachedFiles.files.forEach((file) => contextService === null || contextService === void 0 ? void 0 : contextService.addFileToContext(file.uri, file.selection, true));
997
+ attachedFiles.folders.forEach((folder) => contextService === null || contextService === void 0 ? void 0 : contextService.addFolderToContext(folder.uri, true));
998
+ attachedFiles.rules.forEach((r, i) => {
999
+ if (i !== index) {
1000
+ contextService === null || contextService === void 0 ? void 0 : contextService.addRuleToContext(new ide_utils_1.URI(r.path), true);
1001
+ }
1002
+ });
1003
+ } },
1004
+ 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) }),
1005
+ 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)) }),
1006
+ React.createElement("span", { className: mention_input_module_less_1.default.context_preview_item_text }, getFileNameFromPath(rule.path))))))), [handleClearContext, hasContext, attachedFiles, labelService, contextService, handleTitleClick, removeContext]);
855
1007
  return (React.createElement("div", { className: mention_input_module_less_1.default.input_container },
1008
+ renderContextPreview(),
856
1009
  mentionState.active && (React.createElement("div", { className: mention_input_module_less_1.default.mention_panel_container },
857
1010
  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 }))),
858
1011
  React.createElement("div", { className: mention_input_module_less_1.default.editor_area },
@@ -860,16 +1013,10 @@ const MentionInput = ({ mentionItems = [], onSend, onStop, loading = false, ment
860
1013
  React.createElement("div", { className: mention_input_module_less_1.default.footer },
861
1014
  React.createElement("div", { className: mention_input_module_less_1.default.left_control },
862
1015
  footerConfig.showModelSelector &&
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 })),
1016
+ 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 })),
864
1017
  renderButtons(types_1.FooterButtonPosition.LEFT)),
865
1018
  React.createElement("div", { className: mention_input_module_less_1.default.right_control },
866
1019
  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))))),
873
1020
  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 })))))));
874
1021
  };
875
1022
  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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"}