@opensumi/ide-ai-native 3.8.3-next-1741685617.0 → 3.8.3-next-1741747748.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 (79) hide show
  1. package/lib/browser/chat/chat-agent.service.d.ts.map +1 -1
  2. package/lib/browser/chat/chat-agent.service.js +4 -4
  3. package/lib/browser/chat/chat-agent.service.js.map +1 -1
  4. package/lib/browser/chat/chat.view.d.ts.map +1 -1
  5. package/lib/browser/chat/chat.view.js +46 -16
  6. package/lib/browser/chat/chat.view.js.map +1 -1
  7. package/lib/browser/components/ChatMentionInput.d.ts +25 -0
  8. package/lib/browser/components/ChatMentionInput.d.ts.map +1 -0
  9. package/lib/browser/components/ChatMentionInput.js +221 -0
  10. package/lib/browser/components/ChatMentionInput.js.map +1 -0
  11. package/lib/browser/components/{ChatContext/ContextSelector.d.ts → chat-context/context-selector.d.ts} +1 -1
  12. package/lib/browser/components/chat-context/context-selector.d.ts.map +1 -0
  13. package/lib/browser/components/{ChatContext/ContextSelector.js → chat-context/context-selector.js} +1 -1
  14. package/lib/browser/components/chat-context/context-selector.js.map +1 -0
  15. package/lib/browser/components/chat-context/index.d.ts.map +1 -0
  16. package/lib/browser/components/{ChatContext → chat-context}/index.js +2 -2
  17. package/lib/browser/components/chat-context/index.js.map +1 -0
  18. package/lib/browser/components/components.module.less +1 -0
  19. package/lib/browser/components/mention-input/mention-input.d.ts +5 -0
  20. package/lib/browser/components/mention-input/mention-input.d.ts.map +1 -0
  21. package/lib/browser/components/mention-input/mention-input.js +734 -0
  22. package/lib/browser/components/mention-input/mention-input.js.map +1 -0
  23. package/lib/browser/components/mention-input/mention-input.module.less +309 -0
  24. package/lib/browser/components/mention-input/mention-item.d.ts +10 -0
  25. package/lib/browser/components/mention-input/mention-item.d.ts.map +1 -0
  26. package/lib/browser/components/mention-input/mention-item.js +16 -0
  27. package/lib/browser/components/mention-input/mention-item.js.map +1 -0
  28. package/lib/browser/components/mention-input/mention-panel.d.ts +15 -0
  29. package/lib/browser/components/mention-input/mention-panel.d.ts.map +1 -0
  30. package/lib/browser/components/mention-input/mention-panel.js +49 -0
  31. package/lib/browser/components/mention-input/mention-panel.js.map +1 -0
  32. package/lib/browser/components/mention-input/types.d.ts +74 -0
  33. package/lib/browser/components/mention-input/types.d.ts.map +1 -0
  34. package/lib/browser/components/mention-input/types.js +16 -0
  35. package/lib/browser/components/mention-input/types.js.map +1 -0
  36. package/lib/browser/context/llm-context.service.d.ts +10 -2
  37. package/lib/browser/context/llm-context.service.d.ts.map +1 -1
  38. package/lib/browser/context/llm-context.service.js +71 -2
  39. package/lib/browser/context/llm-context.service.js.map +1 -1
  40. package/lib/browser/mcp/config/components/mcp-config.view.d.ts.map +1 -1
  41. package/lib/browser/mcp/config/components/mcp-config.view.js +28 -18
  42. package/lib/browser/mcp/config/components/mcp-config.view.js.map +1 -1
  43. package/lib/browser/mcp/config/components/mcp-server-form.d.ts.map +1 -1
  44. package/lib/browser/mcp/config/components/mcp-server-form.js +33 -25
  45. package/lib/browser/mcp/config/components/mcp-server-form.js.map +1 -1
  46. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts.map +1 -1
  47. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js +10 -5
  48. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js.map +1 -1
  49. package/lib/common/llm-context.d.ts +15 -1
  50. package/lib/common/llm-context.d.ts.map +1 -1
  51. package/lib/common/llm-context.js.map +1 -1
  52. package/lib/common/prompts/context-prompt-provider.d.ts.map +1 -1
  53. package/lib/common/prompts/context-prompt-provider.js +23 -20
  54. package/lib/common/prompts/context-prompt-provider.js.map +1 -1
  55. package/package.json +23 -23
  56. package/src/browser/chat/chat-agent.service.ts +4 -4
  57. package/src/browser/chat/chat.view.tsx +47 -19
  58. package/src/browser/components/ChatMentionInput.tsx +267 -0
  59. package/src/browser/components/{ChatContext → chat-context}/index.tsx +1 -1
  60. package/src/browser/components/components.module.less +1 -0
  61. package/src/browser/components/mention-input/mention-input.module.less +309 -0
  62. package/src/browser/components/mention-input/mention-input.tsx +913 -0
  63. package/src/browser/components/mention-input/mention-item.tsx +24 -0
  64. package/src/browser/components/mention-input/mention-panel.tsx +89 -0
  65. package/src/browser/components/mention-input/types.ts +79 -0
  66. package/src/browser/context/llm-context.service.ts +83 -3
  67. package/src/browser/mcp/config/components/mcp-config.view.tsx +23 -12
  68. package/src/browser/mcp/config/components/mcp-server-form.tsx +68 -54
  69. package/src/browser/widget/inline-stream-diff/live-preview.decoration.tsx +9 -5
  70. package/src/common/llm-context.ts +16 -1
  71. package/src/common/prompts/context-prompt-provider.ts +26 -23
  72. package/lib/browser/components/ChatContext/ContextSelector.d.ts.map +0 -1
  73. package/lib/browser/components/ChatContext/ContextSelector.js.map +0 -1
  74. package/lib/browser/components/ChatContext/index.d.ts.map +0 -1
  75. package/lib/browser/components/ChatContext/index.js.map +0 -1
  76. /package/lib/browser/components/{ChatContext → chat-context}/index.d.ts +0 -0
  77. /package/lib/browser/components/{ChatContext → chat-context}/style.module.less +0 -0
  78. /package/src/browser/components/{ChatContext/ContextSelector.tsx → chat-context/context-selector.tsx} +0 -0
  79. /package/src/browser/components/{ChatContext → chat-context}/style.module.less +0 -0
@@ -0,0 +1,309 @@
1
+ .input_container {
2
+ position: relative;
3
+ width: 100%;
4
+ margin: 0 auto;
5
+ border-radius: 4px;
6
+ .model_selector {
7
+ margin-right: 5px;
8
+ }
9
+
10
+ .editor_area {
11
+ position: relative;
12
+ padding: 0 15px;
13
+ min-height: 42px;
14
+ max-height: 105px;
15
+ }
16
+
17
+ .editor {
18
+ width: 100%;
19
+ background-color: transparent;
20
+ border: none;
21
+ font-size: 14px;
22
+ line-height: 1.5;
23
+ outline: none;
24
+ resize: none;
25
+ min-height: 24px;
26
+ max-height: 120px;
27
+ overflow-y: auto;
28
+ border-radius: 4px;
29
+ word-break: break-word;
30
+
31
+ .mention_tag {
32
+ margin: 0 2px;
33
+ vertical-align: middle;
34
+ }
35
+ }
36
+
37
+ .editor:empty:before,
38
+ .editor[data-content=''] + .editor:before {
39
+ content: attr(data-placeholder);
40
+ color: var(--descriptionForeground);
41
+ pointer-events: none;
42
+ display: block;
43
+ }
44
+
45
+ .ai_enhance_icon {
46
+ border-radius: 6px;
47
+ padding: 2px 3px;
48
+ display: flex;
49
+ align-items: center;
50
+ cursor: pointer;
51
+ text-wrap: nowrap;
52
+ white-space: nowrap;
53
+ box-sizing: border-box;
54
+
55
+ span {
56
+ color: var(--design-text-foreground);
57
+ }
58
+ &:hover {
59
+ background-color: var(--badge-background);
60
+ span {
61
+ color: var(--badge-foreground);
62
+ }
63
+ }
64
+
65
+ > span {
66
+ &::before {
67
+ font-size: 14px;
68
+ }
69
+ }
70
+ }
71
+
72
+ .footer {
73
+ padding: 12px 15px;
74
+ display: flex;
75
+ justify-content: flex-start;
76
+ align-items: center;
77
+ flex-direction: row;
78
+ .left_control {
79
+ display: flex;
80
+ align-items: center;
81
+ justify-content: flex-start;
82
+ flex-direction: row;
83
+ flex: 1;
84
+ }
85
+ .right_control {
86
+ display: flex;
87
+ align-items: center;
88
+ justify-content: flex-end;
89
+ flex-direction: row;
90
+ .send_logo,
91
+ .stop_logo {
92
+ background-color: var(--badge-background);
93
+ color: var(--badge-foreground);
94
+ &:hover {
95
+ background-color: var(--kt-primaryButton-background);
96
+ .send_logo_icon,
97
+ .stop_logo_icon {
98
+ color: var(--kt-primaryButton-foreground);
99
+ }
100
+ }
101
+ }
102
+ }
103
+ }
104
+
105
+ .send_button {
106
+ color: var(--icon-foreground);
107
+ border: none;
108
+ border-radius: 4px;
109
+ padding: 6px 12px;
110
+ cursor: pointer;
111
+ display: flex;
112
+ align-items: center;
113
+ justify-content: center;
114
+ transition: background-color 0.2s;
115
+ }
116
+
117
+ .send_button:hover {
118
+ background-color: var(--notification-success-background);
119
+ }
120
+ }
121
+
122
+ .mention_panel_container {
123
+ position: absolute;
124
+ top: -20px;
125
+ left: 0;
126
+ right: 0;
127
+ width: 100%;
128
+ z-index: 1000;
129
+ transform: translateY(-100%);
130
+ display: flex;
131
+ justify-content: center;
132
+ }
133
+
134
+ .mention_panel {
135
+ background-color: var(--editor-background);
136
+ color: var(--editor-foreground);
137
+ border-radius: 6px;
138
+ max-height: 300px;
139
+ overflow-y: auto;
140
+ z-index: 1000;
141
+ padding: 8px 4px;
142
+ width: 100%;
143
+ }
144
+
145
+ .mention_item {
146
+ padding: 0 8px;
147
+ border-radius: 8px;
148
+ cursor: pointer;
149
+ line-height: 22px;
150
+ height: 22px;
151
+ display: flex;
152
+ align-items: center;
153
+ transition: all 0.2s ease;
154
+ justify-content: space-between;
155
+ color: var(--foreground);
156
+ border-radius: 4px;
157
+ margin-bottom: 5px;
158
+ &:last-child {
159
+ margin-bottom: 0;
160
+ }
161
+ }
162
+
163
+ .mention_list {
164
+ margin: 0;
165
+ padding: 0;
166
+ list-style: none;
167
+ }
168
+
169
+ .mention_item.active {
170
+ color: var(--kt-tree-inactiveSelectionForeground);
171
+ background: var(--kt-tree-inactiveSelectionBackground);
172
+ }
173
+
174
+ .mention_item:hover:not(.active) {
175
+ color: var(--kt-tree-inactiveSelectionForeground);
176
+ background: var(--kt-tree-inactiveSelectionBackground);
177
+ }
178
+
179
+ .mention_item_left {
180
+ display: flex;
181
+ align-items: center;
182
+ flex: 1;
183
+ }
184
+
185
+ .mention_item_icon {
186
+ margin-right: 8px;
187
+ width: 18px;
188
+ height: 18px;
189
+ display: flex;
190
+ align-items: center;
191
+ justify-content: center;
192
+ }
193
+
194
+ .mention_item_text {
195
+ font-size: 13px;
196
+ margin-right: 6px;
197
+ display: inline;
198
+ white-space: pre;
199
+ }
200
+
201
+ .mention_item_description {
202
+ color: var(--descriptionForeground);
203
+ font-size: 13px;
204
+ display: inline;
205
+ flex: 1;
206
+ text-overflow: ellipsis;
207
+ overflow: hidden;
208
+ white-space: nowrap;
209
+ margin-left: 5px;
210
+ text-align: right;
211
+ }
212
+
213
+ .mention_item_right {
214
+ color: #8b949e;
215
+ font-size: 12px;
216
+ }
217
+
218
+ .mention_panel_title {
219
+ padding: 8px 12px;
220
+ font-size: 12px;
221
+ display: flex;
222
+ justify-content: space-between;
223
+ align-items: center;
224
+ }
225
+
226
+ .back_button {
227
+ background: none;
228
+ border: none;
229
+ cursor: pointer;
230
+ font-size: 12px;
231
+ display: flex;
232
+ align-items: center;
233
+ }
234
+
235
+ .back_button:hover {
236
+ text-decoration: underline;
237
+ }
238
+
239
+ .mention_tag {
240
+ background-color: var(--chat-slashCommandBackground);
241
+ color: var(--chat-slashCommandForeground);
242
+ border-radius: 4px;
243
+ padding: 0 4px;
244
+ margin: 0 3px;
245
+ display: inline-block;
246
+ user-select: all;
247
+ cursor: default;
248
+ }
249
+
250
+ .empty_state {
251
+ padding: 5px 10px;
252
+ text-align: center;
253
+ color: var(--descriptionForeground);
254
+ font-size: 14px;
255
+ }
256
+
257
+ .model_selector {
258
+ margin-right: 5px;
259
+ }
260
+
261
+ .mcp_logo {
262
+ margin-right: 5px;
263
+ }
264
+
265
+ .send_logo {
266
+ color: var(--icon-foreground);
267
+ cursor: pointer;
268
+ margin-left: auto;
269
+
270
+ &:hover {
271
+ color: var(--notification-success-foreground);
272
+ }
273
+ }
274
+
275
+ .popover_icon {
276
+ // 移除 margin-left: auto
277
+ }
278
+
279
+ .loading_container {
280
+ display: none;
281
+ }
282
+
283
+ .loading_bar {
284
+ position: absolute;
285
+ top: 0;
286
+ left: 0;
287
+ height: 2px;
288
+ width: 100%;
289
+ background: linear-gradient(90deg, transparent, var(--kt-primaryButton-background), transparent);
290
+ background-size: 200% 100%;
291
+ animation: loading-bar 1.5s infinite;
292
+ z-index: 10;
293
+ }
294
+
295
+ @keyframes loading-bar {
296
+ 0% {
297
+ background-position: 100% 0;
298
+ }
299
+ 100% {
300
+ background-position: -100% 0;
301
+ }
302
+ }
303
+
304
+ .no_results {
305
+ padding: 12px;
306
+ text-align: center;
307
+ color: #666;
308
+ font-style: italic;
309
+ }