@theia/ai-chat-ui 1.58.3 → 1.59.0-next.72

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 (75) hide show
  1. package/lib/browser/ai-chat-ui-contribution.d.ts.map +1 -1
  2. package/lib/browser/ai-chat-ui-contribution.js +7 -7
  3. package/lib/browser/ai-chat-ui-contribution.js.map +1 -1
  4. package/lib/browser/ai-chat-ui-frontend-module.d.ts +1 -1
  5. package/lib/browser/ai-chat-ui-frontend-module.d.ts.map +1 -1
  6. package/lib/browser/ai-chat-ui-frontend-module.js +17 -13
  7. package/lib/browser/ai-chat-ui-frontend-module.js.map +1 -1
  8. package/lib/browser/change-set-actions/change-set-accept-action.d.ts +10 -0
  9. package/lib/browser/change-set-actions/change-set-accept-action.d.ts.map +1 -0
  10. package/lib/browser/change-set-actions/change-set-accept-action.js +47 -0
  11. package/lib/browser/change-set-actions/change-set-accept-action.js.map +1 -0
  12. package/lib/browser/change-set-actions/change-set-action-service.d.ts +31 -0
  13. package/lib/browser/change-set-actions/change-set-action-service.d.ts.map +1 -0
  14. package/lib/browser/change-set-actions/change-set-action-service.js +57 -0
  15. package/lib/browser/change-set-actions/change-set-action-service.js.map +1 -0
  16. package/lib/browser/chat-input-widget.d.ts +22 -3
  17. package/lib/browser/chat-input-widget.d.ts.map +1 -1
  18. package/lib/browser/chat-input-widget.js +209 -56
  19. package/lib/browser/chat-input-widget.js.map +1 -1
  20. package/lib/browser/chat-response-renderer/ai-selection-resolver.d.ts +23 -0
  21. package/lib/browser/chat-response-renderer/ai-selection-resolver.d.ts.map +1 -0
  22. package/lib/browser/chat-response-renderer/{ai-editor-manager.js → ai-selection-resolver.js} +2 -38
  23. package/lib/browser/chat-response-renderer/ai-selection-resolver.js.map +1 -0
  24. package/lib/browser/chat-response-renderer/code-part-renderer.d.ts.map +1 -1
  25. package/lib/browser/chat-response-renderer/code-part-renderer.js +4 -3
  26. package/lib/browser/chat-response-renderer/code-part-renderer.js.map +1 -1
  27. package/lib/browser/chat-response-renderer/index.d.ts +1 -1
  28. package/lib/browser/chat-response-renderer/index.d.ts.map +1 -1
  29. package/lib/browser/chat-response-renderer/index.js +1 -1
  30. package/lib/browser/chat-response-renderer/index.js.map +1 -1
  31. package/lib/browser/chat-response-renderer/text-part-renderer.d.ts.map +1 -1
  32. package/lib/browser/chat-response-renderer/text-part-renderer.js +3 -1
  33. package/lib/browser/chat-response-renderer/text-part-renderer.js.map +1 -1
  34. package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts.map +1 -1
  35. package/lib/browser/chat-response-renderer/toolcall-part-renderer.js +7 -3
  36. package/lib/browser/chat-response-renderer/toolcall-part-renderer.js.map +1 -1
  37. package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts.map +1 -1
  38. package/lib/browser/chat-tree-view/chat-view-tree-widget.js +25 -16
  39. package/lib/browser/chat-tree-view/chat-view-tree-widget.js.map +1 -1
  40. package/lib/browser/chat-view-contribution.d.ts +2 -2
  41. package/lib/browser/chat-view-contribution.d.ts.map +1 -1
  42. package/lib/browser/chat-view-contribution.js +6 -6
  43. package/lib/browser/chat-view-contribution.js.map +1 -1
  44. package/lib/browser/chat-view-language-contribution.d.ts +10 -5
  45. package/lib/browser/chat-view-language-contribution.d.ts.map +1 -1
  46. package/lib/browser/chat-view-language-contribution.js +94 -14
  47. package/lib/browser/chat-view-language-contribution.js.map +1 -1
  48. package/lib/browser/chat-view-widget.d.ts +3 -0
  49. package/lib/browser/chat-view-widget.d.ts.map +1 -1
  50. package/lib/browser/chat-view-widget.js +15 -5
  51. package/lib/browser/chat-view-widget.js.map +1 -1
  52. package/lib/browser/context-variable-picker.d.ts +9 -0
  53. package/lib/browser/context-variable-picker.d.ts.map +1 -0
  54. package/lib/browser/context-variable-picker.js +86 -0
  55. package/lib/browser/context-variable-picker.js.map +1 -0
  56. package/package.json +11 -11
  57. package/src/browser/ai-chat-ui-contribution.ts +8 -8
  58. package/src/browser/ai-chat-ui-frontend-module.ts +18 -16
  59. package/src/browser/change-set-actions/change-set-accept-action.tsx +52 -0
  60. package/src/browser/change-set-actions/change-set-action-service.ts +65 -0
  61. package/src/browser/chat-input-widget.tsx +307 -75
  62. package/src/browser/chat-response-renderer/{ai-editor-manager.ts → ai-selection-resolver.ts} +6 -45
  63. package/src/browser/chat-response-renderer/code-part-renderer.tsx +4 -3
  64. package/src/browser/chat-response-renderer/index.ts +1 -1
  65. package/src/browser/chat-response-renderer/text-part-renderer.tsx +4 -1
  66. package/src/browser/chat-response-renderer/toolcall-part-renderer.tsx +9 -3
  67. package/src/browser/chat-tree-view/chat-view-tree-widget.tsx +26 -16
  68. package/src/browser/chat-view-contribution.ts +6 -6
  69. package/src/browser/chat-view-language-contribution.ts +103 -19
  70. package/src/browser/chat-view-widget.tsx +19 -6
  71. package/src/browser/context-variable-picker.ts +85 -0
  72. package/src/browser/style/index.css +110 -12
  73. package/lib/browser/chat-response-renderer/ai-editor-manager.d.ts +0 -36
  74. package/lib/browser/chat-response-renderer/ai-editor-manager.d.ts.map +0 -1
  75. package/lib/browser/chat-response-renderer/ai-editor-manager.js.map +0 -1
@@ -0,0 +1,85 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2025 EclipseSource GmbH.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { AIContextVariable, AIVariableResolutionRequest, AIVariableService, PromptText } from '@theia/ai-core';
18
+ import { QuickInputService } from '@theia/core';
19
+ import { inject, injectable } from '@theia/core/shared/inversify';
20
+
21
+ const QUERY_CONTEXT = { type: 'context-variable-picker' };
22
+
23
+ @injectable()
24
+ export class ContextVariablePicker {
25
+
26
+ @inject(AIVariableService)
27
+ protected readonly variableService: AIVariableService;
28
+
29
+ @inject(QuickInputService)
30
+ protected readonly quickInputService: QuickInputService;
31
+
32
+ async pickContextVariable(): Promise<AIVariableResolutionRequest | undefined> {
33
+ const variables = this.variableService.getContextVariables();
34
+ const selection = await this.quickInputService.showQuickPick(
35
+ variables.map(v => ({
36
+ id: v.id,
37
+ label: v.label ?? v.name,
38
+ variable: v,
39
+ iconClasses: v.iconClasses,
40
+ })),
41
+ { placeholder: 'Select a context variable to be attached to the message', }
42
+ );
43
+ if (!selection) {
44
+ return undefined;
45
+ }
46
+
47
+ const variable = selection.variable;
48
+ if (!variable.args || variable.args.length === 0) {
49
+ return { variable };
50
+ }
51
+
52
+ const argumentPicker = await this.variableService.getArgumentPicker(variable.name, QUERY_CONTEXT);
53
+ if (!argumentPicker) {
54
+ return this.useGenericArgumentPicker(variable);
55
+ }
56
+ const arg = await argumentPicker(QUERY_CONTEXT);
57
+ if (!arg) {
58
+ return undefined;
59
+ }
60
+
61
+ return { variable, arg };
62
+ }
63
+
64
+ protected async useGenericArgumentPicker(variable: AIContextVariable): Promise<AIVariableResolutionRequest | undefined> {
65
+ const args: string[] = [];
66
+ for (const argument of variable.args ?? []) {
67
+ const placeHolder = argument.description;
68
+ let input: string | undefined;
69
+ if (argument.enum) {
70
+ const picked = await this.quickInputService.pick(
71
+ argument.enum.map(enumItem => ({ label: enumItem })),
72
+ { placeHolder, canPickMany: false }
73
+ );
74
+ input = picked?.label;
75
+ } else {
76
+ input = await this.quickInputService.input({ placeHolder });
77
+ }
78
+ if (!input && !argument.isOptional) {
79
+ return;
80
+ }
81
+ args.push(input ?? '');
82
+ }
83
+ return { variable, arg: args.join(PromptText.VARIABLE_SEPARATOR_CHAR) };
84
+ }
85
+ }
@@ -95,15 +95,18 @@ div:last-child > .theia-ChatNode {
95
95
  margin-left: auto;
96
96
  line-height: 18px;
97
97
  }
98
+
98
99
  .theia-ChatNodeToolbar .theia-ChatNodeToolbarAction {
99
100
  display: none;
100
101
  align-items: center;
101
102
  padding: 4px;
102
103
  border-radius: 5px;
103
104
  }
105
+
104
106
  .theia-ChatNode:hover .theia-ChatNodeToolbar .theia-ChatNodeToolbarAction {
105
107
  display: inline-block;
106
108
  }
109
+
107
110
  .theia-ChatNodeToolbar .theia-ChatNodeToolbarAction:hover {
108
111
  cursor: pointer;
109
112
  background-color: var(--theia-toolbar-hoverBackground);
@@ -160,6 +163,67 @@ div:last-child > .theia-ChatNode {
160
163
  gap: 4px;
161
164
  }
162
165
 
166
+ .theia-ChatInput-ChatContext ul {
167
+ list-style-type: none;
168
+ padding: 0px 4px 8px 8px;
169
+ margin: 0;
170
+ display: flex;
171
+ flex-wrap: wrap;
172
+ gap: 6px;
173
+ }
174
+
175
+ .theia-ChatInput-ChatContext-Element {
176
+ display: flex;
177
+ align-items: center;
178
+ border-radius: calc(var(--theia-ui-padding) * 2 / 3);
179
+ border: var(--theia-border-width) solid var(--theia-dropdown-border);
180
+ padding: 2px 4px 2px 6px;
181
+ height: 18px;
182
+ line-height: 16px;
183
+ min-width: 0;
184
+ }
185
+
186
+ .theia-ChatInput-ChatContext-title {
187
+ flex: 10 1 auto;
188
+ min-width: 0;
189
+ overflow: hidden;
190
+ text-overflow: ellipsis;
191
+ white-space: nowrap;
192
+ }
193
+
194
+ .theia-ChatInput-ChatContext-additionalInfo {
195
+ color: var(--theia-disabledForeground);
196
+ font-size: calc(var(--theia-content-font-size) * 0.8);
197
+ margin-left: 4px;
198
+ line-height: 18px;
199
+ overflow: hidden;
200
+ text-overflow: ellipsis;
201
+ white-space: nowrap;
202
+ flex: 1 10 auto;
203
+ min-width: 0;
204
+ }
205
+
206
+ .theia-ChatInput-ChatContext-Element .action {
207
+ cursor: pointer;
208
+ margin-left: 4px;
209
+ border-radius: 4px;
210
+ flex-shrink: 0;
211
+ }
212
+
213
+ .theia-ChatInput-ChatContext-Element .action:hover {
214
+ background-color: var(--theia-toolbar-hoverBackground);
215
+ }
216
+
217
+ .theia-ChatInput-ChatContext-Icon {
218
+ display: inline;
219
+ line-height: 18px;
220
+ flex-shrink: 0;
221
+ }
222
+
223
+ .theia-ChatInput-ChatContext-Icon.codicon {
224
+ margin-right: 6px;
225
+ }
226
+
163
227
  .theia-ChatInput-ChangeSet-Box {
164
228
  margin: 0 16px -5px 16px;
165
229
  padding: 2px;
@@ -184,14 +248,15 @@ div:last-child > .theia-ChatNode {
184
248
  color: var(--theia-disabledForeground);
185
249
  padding-top: 0;
186
250
  margin: 0;
187
- display: flex;
188
251
  }
189
252
 
190
- .theia-ChatInput-ChangeSet-Header-Actions button {
253
+ .theia-ChatInput-ChangeSet-Header-Actions .theia-button {
254
+ height: 100%;
255
+ box-sizing: border-box;
191
256
  font-size: 12px;
192
257
  padding: 2px 4px;
193
258
  min-width: 40px;
194
- margin-left: 6px;
259
+ margin: 0;
195
260
  }
196
261
 
197
262
  .theia-ChatInput-ChangeSet-List ul {
@@ -217,10 +282,6 @@ div:last-child > .theia-ChatNode {
217
282
 
218
283
  .theia-ChatInput-ChangeSet-Actions {
219
284
  display: none;
220
- position: absolute;
221
- right: 8px;
222
- top: 2px;
223
- gap: 4px;
224
285
  }
225
286
 
226
287
  .theia-ChatInput-ChangeSet-List ul {
@@ -234,6 +295,9 @@ div:last-child > .theia-ChatNode {
234
295
 
235
296
  .theia-ChatInput-ChangeSet-List ul li:hover .theia-ChatInput-ChangeSet-Actions {
236
297
  display: flex;
298
+ justify-content: flex-end;
299
+ flex: auto;
300
+ gap: 4px;
237
301
  }
238
302
 
239
303
  .theia-ChatInput-ChangeSet-List .theia-ChatInput-ChangeSet-Icon {
@@ -247,8 +311,6 @@ div:last-child > .theia-ChatNode {
247
311
 
248
312
  .theia-ChatInput-ChangeSet-List .theia-ChatInput-ChangeSet-Icon::before {
249
313
  text-align: center;
250
- margin-right: 4px;
251
- font-size: calc(var(--theia-content-font-size) * 0.8);
252
314
  }
253
315
 
254
316
  .theia-ChatInput-ChangeSet-List
@@ -267,9 +329,26 @@ div:last-child > .theia-ChatNode {
267
329
  color: var(--theia-disabledForeground);
268
330
  }
269
331
 
332
+ .theia-ChatInput-ChangeSet-labelParts {
333
+ overflow: hidden;
334
+ text-overflow: ellipsis;
335
+ }
336
+
270
337
  .theia-ChatInput-ChangeSet-title {
271
338
  white-space: nowrap;
272
- overflow: visible;
339
+ overflow: hidden;
340
+ text-overflow: ellipsis;
341
+ }
342
+
343
+ .theia-ChatInput-ChangeSet-Header-Actions {
344
+ display: flex;
345
+ flex: none;
346
+ flex-flow: row nowrap;
347
+ gap: var(--theia-ui-padding);
348
+ }
349
+
350
+ .theia-changeSet-Action {
351
+ flex: none;
273
352
  }
274
353
 
275
354
  .theia-ChatInput-ChangeSet-Header-Actions,
@@ -288,6 +367,7 @@ div:last-child > .theia-ChatNode {
288
367
  border-radius: 4px;
289
368
  cursor: pointer;
290
369
  }
370
+
291
371
  .theia-ChatInput-ChangeSet-Header-Actions .codicon.action:hover {
292
372
  background-color: var(--theia-toolbar-hoverBackground);
293
373
  }
@@ -299,9 +379,11 @@ div:last-child > .theia-ChatNode {
299
379
  .theia-ChatInput-ChangeSet-title.add.pending {
300
380
  color: var(--theia-charts-green);
301
381
  }
382
+
302
383
  .theia-ChatInput-ChangeSet-title.modify.pending {
303
384
  color: var(--theia-charts-orange);
304
385
  }
386
+
305
387
  .theia-ChatInput-ChangeSet-title.delete.pending {
306
388
  color: var(--theia-charts-red);
307
389
  }
@@ -345,6 +427,7 @@ div:last-child > .theia-ChatNode {
345
427
  z-index: 10;
346
428
  text-align: left;
347
429
  }
430
+
348
431
  .theia-ChatInput-Editor-Placeholder.hidden {
349
432
  display: none;
350
433
  }
@@ -376,15 +459,19 @@ div:last-child > .theia-ChatNode {
376
459
  .theia-ChatInputOptions .theia-ChatInputOptions-right {
377
460
  display: flex;
378
461
  }
462
+
379
463
  .theia-ChatInputOptions .theia-ChatInputOptions-right {
380
464
  margin-right: 12px;
381
465
  }
382
466
 
383
467
  .theia-ChatInputOptions .option {
384
- width: 21px;
468
+ min-width: 21px;
385
469
  height: 21px;
386
470
  padding: 2px;
387
- display: inline-block;
471
+ display: flex;
472
+ justify-content: space-between;
473
+ align-items: center;
474
+ gap: 2px;
388
475
  box-sizing: border-box;
389
476
  user-select: none;
390
477
  background-repeat: no-repeat;
@@ -405,6 +492,10 @@ div:last-child > .theia-ChatNode {
405
492
  background-color: var(--theia-toolbar-hoverBackground);
406
493
  }
407
494
 
495
+ .theia-ChatInputOptions .reverse {
496
+ flex-direction: row-reverse;
497
+ }
498
+
408
499
  .theia-CodePartRenderer-root {
409
500
  display: flex;
410
501
  flex-direction: column;
@@ -433,6 +524,7 @@ div:last-child > .theia-ChatNode {
433
524
  border-radius: 5px;
434
525
  cursor: pointer;
435
526
  }
527
+
436
528
  .theia-CodePartRenderer-right .button:hover {
437
529
  background-color: var(--theia-toolbar-hoverBackground);
438
530
  }
@@ -453,19 +545,23 @@ div:last-child > .theia-ChatNode {
453
545
  border-radius: 5px;
454
546
  margin: 0 0 8px 0;
455
547
  }
548
+
456
549
  .theia-QuestionPartRenderer-options {
457
550
  display: flex;
458
551
  flex-wrap: wrap;
459
552
  gap: 12px;
460
553
  }
554
+
461
555
  .theia-QuestionPartRenderer-option {
462
556
  min-width: 100px;
463
557
  flex: 1 1 auto;
464
558
  margin: 0;
465
559
  }
560
+
466
561
  .theia-QuestionPartRenderer-option.selected:disabled:hover {
467
562
  background-color: var(--theia-button-disabledBackground);
468
563
  }
564
+
469
565
  .theia-QuestionPartRenderer-option:disabled:not(.selected) {
470
566
  background-color: var(--theia-button-secondaryBackground);
471
567
  }
@@ -519,9 +615,11 @@ details[open].collapsible-arguments .collapsible-arguments-summary {
519
615
  .theia-ResponseNode-ProgressMessage .inProgress {
520
616
  color: var(--theia-progressBar-background);
521
617
  }
618
+
522
619
  .theia-ResponseNode-ProgressMessage .completed {
523
620
  color: var(--theia-successBackground);
524
621
  }
622
+
525
623
  .theia-ResponseNode-ProgressMessage .failed {
526
624
  color: var(--theia-errorForeground);
527
625
  }
@@ -1,36 +0,0 @@
1
- import { ContributionProvider, RecursivePartial, URI } from '@theia/core';
2
- import { EditorOpenerOptions, EditorWidget, Range } from '@theia/editor/lib/browser';
3
- import { EditorPreviewManager } from '@theia/editor-preview/lib/browser/editor-preview-manager';
4
- import { DocumentSymbol } from '@theia/monaco-editor-core/esm/vs/editor/common/languages';
5
- import { MonacoToProtocolConverter } from '@theia/monaco/lib/browser/monaco-to-protocol-converter';
6
- /** Regex to match GitHub-style position and range declaration with line (L) and column (C) */
7
- export declare const LOCATION_REGEX: RegExp;
8
- export declare const AIEditorSelectionResolver: unique symbol;
9
- export interface AIEditorSelectionResolver {
10
- /**
11
- * The priority of the resolver. A higher value resolver will be called before others.
12
- */
13
- priority?: number;
14
- resolveSelection(widget: EditorWidget, options: EditorOpenerOptions, uri?: URI): Promise<RecursivePartial<Range> | undefined>;
15
- }
16
- export declare class GitHubSelectionResolver implements AIEditorSelectionResolver {
17
- priority: number;
18
- resolveSelection(widget: EditorWidget, options: EditorOpenerOptions, uri?: URI): Promise<RecursivePartial<Range> | undefined>;
19
- }
20
- export declare class TypeDocSymbolSelectionResolver implements AIEditorSelectionResolver {
21
- priority: number;
22
- protected readonly m2p: MonacoToProtocolConverter;
23
- resolveSelection(widget: EditorWidget, options: EditorOpenerOptions, uri?: URI): Promise<RecursivePartial<Range> | undefined>;
24
- protected findSymbolPath(uri: URI): string[] | undefined;
25
- protected findSymbolByPath(symbols: DocumentSymbol[], symbolPath: string[]): DocumentSymbol | undefined;
26
- }
27
- export declare class TextFragmentSelectionResolver implements AIEditorSelectionResolver {
28
- resolveSelection(widget: EditorWidget, options: EditorOpenerOptions, uri?: URI): Promise<RecursivePartial<Range> | undefined>;
29
- protected findFragment(uri: URI): string | undefined;
30
- }
31
- export declare class AIEditorManager extends EditorPreviewManager {
32
- protected readonly resolvers: ContributionProvider<AIEditorSelectionResolver>;
33
- protected revealSelection(widget: EditorWidget, options?: EditorOpenerOptions, uri?: URI): Promise<void>;
34
- protected resolveSelection(options: EditorOpenerOptions, widget: EditorWidget, uri: URI | undefined): Promise<RecursivePartial<Range> | undefined>;
35
- }
36
- //# sourceMappingURL=ai-editor-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-editor-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/ai-editor-manager.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAqB,oBAAoB,EAAkB,gBAAgB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAE7G,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAErF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAK1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AAEnG,8FAA8F;AAC9F,eAAO,MAAM,cAAc,QAAiD,CAAC;AAE7E,eAAO,MAAM,yBAAyB,eAAsC,CAAC;AAC7E,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAA;CAChI;AAED,qBACa,uBAAwB,YAAW,yBAAyB;IACrE,QAAQ,SAAO;IAET,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CAsBtI;AAED,qBACa,8BAA+B,YAAW,yBAAyB;IAC5E,QAAQ,SAAM;IAEqB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,yBAAyB,CAAC;IAE/E,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IA6BnI,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,SAAS;IAIxD,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,cAAc,GAAG,SAAS;CAe1G;AAED,qBACa,6BAA8B,YAAW,yBAAyB;IACrE,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAuBnI,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;CAGvD;AAED,qBACa,eAAgB,SAAQ,oBAAoB;IAErD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;cAErD,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,mBAAwB,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;cAO3G,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,GAAG,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CAgB3J"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-editor-manager.js","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/ai-editor-manager.ts"],"names":[],"mappings":"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"}