@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
@@ -26,6 +26,9 @@ const inversify_1 = require("@theia/core/shared/inversify");
26
26
  const React = require("@theia/core/shared/react");
27
27
  const monaco_editor_provider_1 = require("@theia/monaco/lib/browser/monaco-editor-provider");
28
28
  const chat_view_language_contribution_1 = require("./chat-view-language-contribution");
29
+ const browser_2 = require("@theia/ai-core/lib/browser");
30
+ const context_variable_picker_1 = require("./context-variable-picker");
31
+ const change_set_action_service_1 = require("./change-set-actions/change-set-action-service");
29
32
  exports.AIChatInputConfiguration = Symbol('AIChatInputConfiguration');
30
33
  let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends browser_1.ReactWidget {
31
34
  constructor() {
@@ -33,10 +36,14 @@ let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends br
33
36
  this.editorRef = undefined;
34
37
  this.editorReady = new promise_util_1.Deferred();
35
38
  this.isEnabled = false;
39
+ this.onDisposeForChatModel = new core_1.DisposableCollection();
36
40
  }
37
41
  set onQuery(query) {
38
42
  this._onQuery = query;
39
43
  }
44
+ set onUnpin(unpin) {
45
+ this._onUnpin = unpin;
46
+ }
40
47
  set onCancel(cancel) {
41
48
  this._onCancel = cancel;
42
49
  }
@@ -47,9 +54,20 @@ let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends br
47
54
  this._onDeleteChangeSetElement = deleteChangeSetElement;
48
55
  }
49
56
  set chatModel(chatModel) {
57
+ this.onDisposeForChatModel.dispose();
58
+ this.onDisposeForChatModel = new core_1.DisposableCollection();
59
+ this.onDisposeForChatModel.push(chatModel.onDidChange(event => {
60
+ if (event.kind === 'addVariable' || event.kind === 'removeVariable') {
61
+ this.update();
62
+ }
63
+ }));
50
64
  this._chatModel = chatModel;
51
65
  this.update();
52
66
  }
67
+ set pinnedAgent(pinnedAgent) {
68
+ this._pinnedAgent = pinnedAgent;
69
+ this.update();
70
+ }
53
71
  init() {
54
72
  this.id = AIChatInputWidget_1.ID;
55
73
  this.title.closable = false;
@@ -64,16 +82,62 @@ let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends br
64
82
  });
65
83
  }
66
84
  render() {
67
- var _a;
68
- return (React.createElement(ChatInput, { onQuery: this._onQuery.bind(this), onCancel: this._onCancel.bind(this), onDeleteChangeSet: this._onDeleteChangeSet.bind(this), onDeleteChangeSetElement: this._onDeleteChangeSetElement.bind(this), chatModel: this._chatModel, editorProvider: this.editorProvider, untitledResourceResolver: this.untitledResourceResolver, contextMenuCallback: this.handleContextMenu.bind(this), isEnabled: this.isEnabled, setEditorRef: editor => {
85
+ var _a, _b;
86
+ return (React.createElement(ChatInput, { onQuery: this._onQuery.bind(this), onUnpin: this._onUnpin.bind(this), onCancel: this._onCancel.bind(this), onDragOver: this.onDragOver.bind(this), onDrop: this.onDrop.bind(this), onDeleteChangeSet: this._onDeleteChangeSet.bind(this), onDeleteChangeSetElement: this._onDeleteChangeSetElement.bind(this), onAddContextElement: this.addContextElement.bind(this), onDeleteContextElement: this.deleteContextElement.bind(this), context: this._chatModel.context.getVariables(), chatModel: this._chatModel, pinnedAgent: this._pinnedAgent, editorProvider: this.editorProvider, resources: this.resources, contextMenuCallback: this.handleContextMenu.bind(this), isEnabled: this.isEnabled, setEditorRef: editor => {
69
87
  this.editorRef = editor;
70
88
  this.editorReady.resolve();
71
- }, showContext: (_a = this.configuration) === null || _a === void 0 ? void 0 : _a.showContext, labelProvider: this.labelProvider }));
89
+ }, showContext: (_a = this.configuration) === null || _a === void 0 ? void 0 : _a.showContext, showPinnedAgent: (_b = this.configuration) === null || _b === void 0 ? void 0 : _b.showPinnedAgent, labelProvider: this.labelProvider, actionService: this.changeSetActionService }));
90
+ }
91
+ onDragOver(event) {
92
+ var _a;
93
+ event.preventDefault();
94
+ event.stopPropagation();
95
+ this.node.classList.add('drag-over');
96
+ if ((_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.types.includes('text/plain')) {
97
+ event.dataTransfer.dropEffect = 'copy';
98
+ }
99
+ else {
100
+ event.dataTransfer.dropEffect = 'link';
101
+ }
102
+ }
103
+ onDrop(event) {
104
+ var _a, _b, _c;
105
+ event.preventDefault();
106
+ event.stopPropagation();
107
+ this.node.classList.remove('drag-over');
108
+ const dataTransferText = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('text/plain');
109
+ const position = (_c = (_b = this.editorRef) === null || _b === void 0 ? void 0 : _b.getControl().getTargetAtClientPoint(event.clientX, event.clientY)) === null || _c === void 0 ? void 0 : _c.position;
110
+ this.variableService.getDropResult(event.nativeEvent, { type: 'ai-chat-input-widget' }).then(result => {
111
+ var _a, _b;
112
+ result.variables.forEach(variable => this.addContext(variable));
113
+ const text = (_a = result.text) !== null && _a !== void 0 ? _a : dataTransferText;
114
+ if (position && text) {
115
+ (_b = this.editorRef) === null || _b === void 0 ? void 0 : _b.getControl().executeEdits('drag-and-drop', [{
116
+ range: {
117
+ startLineNumber: position.lineNumber,
118
+ startColumn: position.column,
119
+ endLineNumber: position.lineNumber,
120
+ endColumn: position.column
121
+ },
122
+ text
123
+ }]);
124
+ }
125
+ });
72
126
  }
73
127
  setEnabled(enabled) {
74
128
  this.isEnabled = enabled;
75
129
  this.update();
76
130
  }
131
+ addContextElement() {
132
+ this.contextVariablePicker.pickContextVariable().then(contextElement => {
133
+ if (contextElement) {
134
+ this._chatModel.context.addVariables(contextElement);
135
+ }
136
+ });
137
+ }
138
+ deleteContextElement(index) {
139
+ this._chatModel.context.deleteVariables(index);
140
+ }
77
141
  handleContextMenu(event) {
78
142
  this.contextMenuRenderer.render({
79
143
  menuPath: AIChatInputWidget_1.CONTEXT_MENU,
@@ -81,6 +145,9 @@ let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends br
81
145
  });
82
146
  event.preventDefault();
83
147
  }
148
+ addContext(variable) {
149
+ this._chatModel.context.addVariables(variable);
150
+ }
84
151
  };
85
152
  exports.AIChatInputWidget = AIChatInputWidget;
86
153
  AIChatInputWidget.ID = 'chat-input-widget';
@@ -90,9 +157,9 @@ tslib_1.__decorate([
90
157
  tslib_1.__metadata("design:type", monaco_editor_provider_1.MonacoEditorProvider)
91
158
  ], AIChatInputWidget.prototype, "editorProvider", void 0);
92
159
  tslib_1.__decorate([
93
- (0, inversify_1.inject)(core_1.UntitledResourceResolver),
94
- tslib_1.__metadata("design:type", core_1.UntitledResourceResolver)
95
- ], AIChatInputWidget.prototype, "untitledResourceResolver", void 0);
160
+ (0, inversify_1.inject)(core_1.InMemoryResources),
161
+ tslib_1.__metadata("design:type", core_1.InMemoryResources)
162
+ ], AIChatInputWidget.prototype, "resources", void 0);
96
163
  tslib_1.__decorate([
97
164
  (0, inversify_1.inject)(browser_1.ContextMenuRenderer),
98
165
  tslib_1.__metadata("design:type", browser_1.ContextMenuRenderer)
@@ -102,10 +169,22 @@ tslib_1.__decorate([
102
169
  (0, inversify_1.optional)(),
103
170
  tslib_1.__metadata("design:type", Object)
104
171
  ], AIChatInputWidget.prototype, "configuration", void 0);
172
+ tslib_1.__decorate([
173
+ (0, inversify_1.inject)(browser_2.FrontendVariableService),
174
+ tslib_1.__metadata("design:type", Object)
175
+ ], AIChatInputWidget.prototype, "variableService", void 0);
105
176
  tslib_1.__decorate([
106
177
  (0, inversify_1.inject)(browser_1.LabelProvider),
107
178
  tslib_1.__metadata("design:type", browser_1.LabelProvider)
108
179
  ], AIChatInputWidget.prototype, "labelProvider", void 0);
180
+ tslib_1.__decorate([
181
+ (0, inversify_1.inject)(context_variable_picker_1.ContextVariablePicker),
182
+ tslib_1.__metadata("design:type", context_variable_picker_1.ContextVariablePicker)
183
+ ], AIChatInputWidget.prototype, "contextVariablePicker", void 0);
184
+ tslib_1.__decorate([
185
+ (0, inversify_1.inject)(change_set_action_service_1.ChangeSetActionService),
186
+ tslib_1.__metadata("design:type", change_set_action_service_1.ChangeSetActionService)
187
+ ], AIChatInputWidget.prototype, "changeSetActionService", void 0);
109
188
  tslib_1.__decorate([
110
189
  (0, inversify_1.postConstruct)(),
111
190
  tslib_1.__metadata("design:type", Function),
@@ -120,19 +199,22 @@ const ChatInput = (props) => {
120
199
  const onDeleteChangeSetElement = (index) => props.onDeleteChangeSetElement(props.chatModel.id, index);
121
200
  const [inProgress, setInProgress] = React.useState(false);
122
201
  const [isInputEmpty, setIsInputEmpty] = React.useState(true);
123
- const [changeSetUI, setChangeSetUI] = React.useState(() => props.chatModel.changeSet ? buildChangeSetUI(props.chatModel.changeSet, props.labelProvider, onDeleteChangeSet, onDeleteChangeSetElement) : undefined);
202
+ const [changeSetUI, setChangeSetUI] = React.useState(() => props.chatModel.changeSet
203
+ ? buildChangeSetUI(props.chatModel.changeSet, props.labelProvider, props.actionService.getActionsForChangeset(props.chatModel.changeSet), onDeleteChangeSet, onDeleteChangeSetElement)
204
+ : undefined);
124
205
  // eslint-disable-next-line no-null/no-null
125
206
  const editorContainerRef = React.useRef(null);
126
207
  // eslint-disable-next-line no-null/no-null
127
208
  const placeholderRef = React.useRef(null);
128
209
  const editorRef = React.useRef(undefined);
129
210
  React.useEffect(() => {
211
+ const uri = new core_1.URI(`ai-chat:/input.${chat_view_language_contribution_1.CHAT_VIEW_LANGUAGE_EXTENSION}`);
212
+ const resource = props.resources.add(uri, '');
130
213
  const createInputElement = async () => {
131
214
  const paddingTop = 6;
132
215
  const lineHeight = 20;
133
216
  const maxHeight = 240;
134
- const resource = await props.untitledResourceResolver.createUntitledResource('', chat_view_language_contribution_1.CHAT_VIEW_LANGUAGE_EXTENSION);
135
- const editor = await props.editorProvider.createInline(resource.uri, editorContainerRef.current, {
217
+ const editor = await props.editorProvider.createInline(uri, editorContainerRef.current, {
136
218
  language: chat_view_language_contribution_1.CHAT_VIEW_LANGUAGE_EXTENSION,
137
219
  // Disable code lens, inlay hints and hover support to avoid console errors from other contributions
138
220
  codeLens: false,
@@ -190,6 +272,7 @@ const ChatInput = (props) => {
190
272
  };
191
273
  createInputElement();
192
274
  return () => {
275
+ resource.dispose();
193
276
  props.setEditorRef(undefined);
194
277
  if (editorRef.current) {
195
278
  editorRef.current.dispose();
@@ -211,15 +294,17 @@ const ChatInput = (props) => {
211
294
  responseListenerRef.current = event.request.response.onDidChange(() => setInProgress(ai_chat_1.ChatRequestModel.isInProgress(event.request)));
212
295
  }
213
296
  else if (ai_chat_1.ChatChangeEvent.isChangeSetEvent(event)) {
214
- if (event.changeSet) {
215
- setChangeSetUI(buildChangeSetUI(event.changeSet, props.labelProvider, onDeleteChangeSet, onDeleteChangeSetElement));
216
- }
217
- else {
297
+ if (event.kind === 'removeChangeSet') {
218
298
  setChangeSetUI(undefined);
219
299
  }
300
+ else if (event.kind === 'setChangeSet' || 'updateChangeSet') {
301
+ setChangeSetUI(buildChangeSetUI(event.changeSet, props.labelProvider, props.actionService.getActionsForChangeset(event.changeSet), onDeleteChangeSet, onDeleteChangeSetElement));
302
+ }
220
303
  }
221
304
  });
222
- setChangeSetUI(props.chatModel.changeSet ? buildChangeSetUI(props.chatModel.changeSet, props.labelProvider, onDeleteChangeSet, onDeleteChangeSetElement) : undefined);
305
+ setChangeSetUI(props.chatModel.changeSet
306
+ ? buildChangeSetUI(props.chatModel.changeSet, props.labelProvider, props.actionService.getActionsForChangeset(props.chatModel.changeSet), onDeleteChangeSet, onDeleteChangeSetElement)
307
+ : undefined);
223
308
  return () => {
224
309
  var _a;
225
310
  listener === null || listener === void 0 ? void 0 : listener.dispose();
@@ -227,7 +312,17 @@ const ChatInput = (props) => {
227
312
  responseListenerRef.current = undefined;
228
313
  };
229
314
  }, [props.chatModel]);
230
- function submit(value) {
315
+ React.useEffect(() => {
316
+ const disposable = props.actionService.onDidChange(() => {
317
+ if (!props.chatModel.changeSet) {
318
+ return;
319
+ }
320
+ const newActions = props.actionService.getActionsForChangeset(props.chatModel.changeSet);
321
+ setChangeSetUI(current => !current ? current : { ...current, actions: newActions });
322
+ });
323
+ return () => disposable.dispose();
324
+ });
325
+ const submit = React.useCallback(function submit(value) {
231
326
  if (!value || value.trim().length === 0) {
232
327
  return;
233
328
  }
@@ -236,7 +331,7 @@ const ChatInput = (props) => {
236
331
  if (editorRef.current) {
237
332
  editorRef.current.document.textEditorModel.setValue('');
238
333
  }
239
- }
334
+ }, [props.context, props.onQuery, editorRef]);
240
335
  const onKeyDown = React.useCallback((event) => {
241
336
  var _a;
242
337
  if (!props.isEnabled) {
@@ -246,7 +341,7 @@ const ChatInput = (props) => {
246
341
  event.preventDefault();
247
342
  submit(((_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.document.textEditorModel.getValue()) || '');
248
343
  }
249
- }, [props.isEnabled]);
344
+ }, [props.isEnabled, submit]);
250
345
  const handleInputFocus = () => {
251
346
  hidePlaceholderIfEditorFilled();
252
347
  };
@@ -270,14 +365,45 @@ const ChatInput = (props) => {
270
365
  (_b = placeholderRef.current) === null || _b === void 0 ? void 0 : _b.classList.add('hidden');
271
366
  }
272
367
  };
273
- const leftOptions = props.showContext ? [{
274
- title: 'Attach elements to context',
275
- handler: () => { },
276
- className: 'codicon-add'
277
- }] : [];
368
+ const handlePin = () => {
369
+ var _a, _b;
370
+ if (editorRef.current) {
371
+ (_a = editorRef.current.getControl().getModel()) === null || _a === void 0 ? void 0 : _a.applyEdits([{
372
+ range: {
373
+ startLineNumber: 1,
374
+ startColumn: 1,
375
+ endLineNumber: 1,
376
+ endColumn: 1
377
+ },
378
+ text: '@ ',
379
+ }]);
380
+ editorRef.current.getControl().setPosition({ lineNumber: 1, column: 2 });
381
+ (_b = editorRef.current.getControl().getAction('editor.action.triggerSuggest')) === null || _b === void 0 ? void 0 : _b.run();
382
+ }
383
+ };
384
+ const leftOptions = [
385
+ ...(props.showContext
386
+ ? [{
387
+ title: core_1.nls.localize('theia/ai/chat-ui/attachToContext', 'Attach elements to context'),
388
+ handler: () => props.onAddContextElement(),
389
+ className: 'codicon-add'
390
+ }]
391
+ : []),
392
+ ...(props.showPinnedAgent
393
+ ? [{
394
+ title: props.pinnedAgent ? core_1.nls.localize('theia/ai/chat-ui/unpinAgent', 'Unpin Agent') : core_1.nls.localize('theia/ai/chat-ui/pinAgent', 'Pin Agent'),
395
+ handler: props.pinnedAgent ? props.onUnpin : handlePin,
396
+ className: 'at-icon',
397
+ text: {
398
+ align: 'right',
399
+ content: props.pinnedAgent && props.pinnedAgent.name
400
+ },
401
+ }]
402
+ : []),
403
+ ];
278
404
  const rightOptions = inProgress
279
405
  ? [{
280
- title: 'Cancel (Esc)',
406
+ title: core_1.nls.localize('theia/ai/chat-ui/cancel', 'Cancel (Esc)'),
281
407
  handler: () => {
282
408
  const latestRequest = getLatestRequest(props.chatModel);
283
409
  if (latestRequest) {
@@ -288,7 +414,7 @@ const ChatInput = (props) => {
288
414
  className: 'codicon-stop-circle'
289
415
  }]
290
416
  : [{
291
- title: 'Send (Enter)',
417
+ title: core_1.nls.localize('theia/ai/chat-ui/send', 'Send (Enter)'),
292
418
  handler: () => {
293
419
  var _a;
294
420
  if (props.isEnabled) {
@@ -298,68 +424,95 @@ const ChatInput = (props) => {
298
424
  className: 'codicon-send',
299
425
  disabled: isInputEmpty || !props.isEnabled
300
426
  }];
301
- return React.createElement("div", { className: 'theia-ChatInput' },
427
+ const contextUI = buildContextUI(props.context, props.labelProvider, props.onDeleteContextElement);
428
+ return React.createElement("div", { className: 'theia-ChatInput', onDragOver: props.onDragOver, onDrop: props.onDrop },
302
429
  (changeSetUI === null || changeSetUI === void 0 ? void 0 : changeSetUI.elements) &&
303
430
  React.createElement(ChangeSetBox, { changeSet: changeSetUI }),
304
431
  React.createElement("div", { className: 'theia-ChatInput-Editor-Box' },
305
432
  React.createElement("div", { className: 'theia-ChatInput-Editor', ref: editorContainerRef, onKeyDown: onKeyDown, onFocus: handleInputFocus, onBlur: handleInputBlur },
306
- React.createElement("div", { ref: placeholderRef, className: 'theia-ChatInput-Editor-Placeholder' }, "Ask a question")),
433
+ React.createElement("div", { ref: placeholderRef, className: 'theia-ChatInput-Editor-Placeholder' }, core_1.nls.localizeByDefault('Ask a question'))),
434
+ props.context && props.context.length > 0 &&
435
+ React.createElement(ChatContext, { context: contextUI.context }),
307
436
  React.createElement(ChatInputOptions, { leftOptions: leftOptions, rightOptions: rightOptions })));
308
437
  };
309
438
  const noPropagation = (handler) => (e) => {
310
439
  handler();
311
440
  e.stopPropagation();
312
441
  };
313
- const buildChangeSetUI = (changeSet, labelProvider, onDeleteChangeSet, onDeleteChangeSetElement) => ({
442
+ const buildChangeSetUI = (changeSet, labelProvider, actions, onDeleteChangeSet, onDeleteChangeSetElement) => ({
314
443
  title: changeSet.title,
315
- disabled: !hasPendingElementsToAccept(changeSet),
316
- acceptAllPendingElements: () => acceptAllPendingElements(changeSet),
317
- delete: () => onDeleteChangeSet(),
444
+ changeSet,
445
+ deleteChangeSet: onDeleteChangeSet,
318
446
  elements: changeSet.getElements().map(element => {
319
447
  var _a, _b, _c, _d, _e, _f, _g, _h;
320
448
  return ({
321
- open: (_a = element === null || element === void 0 ? void 0 : element.open) === null || _a === void 0 ? void 0 : _a.bind(element),
449
+ open: (_a = element.open) === null || _a === void 0 ? void 0 : _a.bind(element),
322
450
  iconClass: (_c = (_b = element.icon) !== null && _b !== void 0 ? _b : labelProvider.getIcon(element.uri)) !== null && _c !== void 0 ? _c : labelProvider.fileIcon,
323
451
  nameClass: `${element.type} ${element.state}`,
324
452
  name: (_d = element.name) !== null && _d !== void 0 ? _d : labelProvider.getName(element.uri),
325
453
  additionalInfo: (_e = element.additionalInfo) !== null && _e !== void 0 ? _e : labelProvider.getDetails(element.uri),
326
454
  openChange: (_f = element === null || element === void 0 ? void 0 : element.openChange) === null || _f === void 0 ? void 0 : _f.bind(element),
327
- accept: element.state !== 'applied' ? (_g = element === null || element === void 0 ? void 0 : element.accept) === null || _g === void 0 ? void 0 : _g.bind(element) : undefined,
328
- discard: element.state === 'applied' ? (_h = element === null || element === void 0 ? void 0 : element.discard) === null || _h === void 0 ? void 0 : _h.bind(element) : undefined,
455
+ apply: element.state !== 'applied' ? (_g = element === null || element === void 0 ? void 0 : element.apply) === null || _g === void 0 ? void 0 : _g.bind(element) : undefined,
456
+ revert: element.state === 'applied' || element.state === 'stale' ? (_h = element === null || element === void 0 ? void 0 : element.revert) === null || _h === void 0 ? void 0 : _h.bind(element) : undefined,
329
457
  delete: () => onDeleteChangeSetElement(changeSet.getElements().indexOf(element))
330
458
  });
331
- })
459
+ }),
460
+ actions
332
461
  });
333
- const ChangeSetBox = ({ changeSet }) => (React.createElement("div", { className: 'theia-ChatInput-ChangeSet-Box' },
462
+ /** Memo because the parent element rerenders on every key press in the chat widget. */
463
+ const ChangeSetBox = React.memo(({ changeSet: { changeSet, title, deleteChangeSet, elements, actions } }) => (React.createElement("div", { className: 'theia-ChatInput-ChangeSet-Box' },
334
464
  React.createElement("div", { className: 'theia-ChatInput-ChangeSet-Header' },
335
- React.createElement("h3", null, changeSet.title),
465
+ React.createElement("h3", null, title),
336
466
  React.createElement("div", { className: 'theia-ChatInput-ChangeSet-Header-Actions' },
337
- React.createElement("button", { className: 'theia-button', disabled: changeSet.disabled, title: 'Accept all pending changes', onClick: () => changeSet.acceptAllPendingElements() }, "Accept"),
338
- React.createElement("span", { className: 'codicon codicon-close action', title: 'Delete Change Set', onClick: () => changeSet.delete() }))),
467
+ actions.map(action => React.createElement("div", { key: action.id, className: 'theia-changeSet-Action' }, action.render(changeSet))),
468
+ React.createElement("span", { className: 'codicon codicon-close action', title: core_1.nls.localize('theia/ai/chat-ui/deleteChangeSet', 'Delete Change Set'), onClick: () => deleteChangeSet() }))),
339
469
  React.createElement("div", { className: 'theia-ChatInput-ChangeSet-List' },
340
- React.createElement("ul", null, changeSet.elements.map((element, index) => (React.createElement("li", { key: index, title: 'Open Diff', onClick: () => { var _a; return (_a = element.openChange) === null || _a === void 0 ? void 0 : _a.call(element); } },
470
+ React.createElement("ul", null, elements.map((element, index) => (React.createElement("li", { key: index, title: core_1.nls.localize('theia/ai/chat-ui/openDiff', 'Open Diff'), onClick: () => { var _a; return (_a = element.openChange) === null || _a === void 0 ? void 0 : _a.call(element); } },
341
471
  React.createElement("div", { className: `theia-ChatInput-ChangeSet-Icon ${element.iconClass}` }),
342
- React.createElement("span", { className: `theia-ChatInput-ChangeSet-title ${element.nameClass}` }, element.name),
343
- React.createElement("span", { className: 'theia-ChatInput-ChangeSet-additionalInfo' }, element.additionalInfo),
472
+ React.createElement("span", { className: 'theia-ChatInput-ChangeSet-labelParts' },
473
+ React.createElement("span", { className: `theia-ChatInput-ChangeSet-title ${element.nameClass}` }, element.name),
474
+ React.createElement("span", { className: 'theia-ChatInput-ChangeSet-additionalInfo' }, element.additionalInfo)),
344
475
  React.createElement("div", { className: 'theia-ChatInput-ChangeSet-Actions' },
345
- element.open && (React.createElement("span", { className: 'codicon codicon-file action', title: 'Open Original File', onClick: noPropagation(() => element.open()) })),
346
- element.discard && (React.createElement("span", { className: 'codicon codicon-discard action', title: 'Undo', onClick: noPropagation(() => element.discard()) })),
347
- element.accept && (React.createElement("span", { className: 'codicon codicon-check action', title: 'Accept', onClick: noPropagation(() => element.accept()) })),
348
- React.createElement("span", { className: 'codicon codicon-close action', title: 'Delete', onClick: noPropagation(() => element.delete()) })))))))));
476
+ element.open && (React.createElement("span", { className: 'codicon codicon-file action', title: core_1.nls.localize('theia/ai/chat-ui/openOriginalFile', 'Open Original File'), onClick: noPropagation(() => element.open()) })),
477
+ element.revert && (React.createElement("span", { className: 'codicon codicon-discard action', title: core_1.nls.localizeByDefault('Revert'), onClick: noPropagation(() => element.revert()) })),
478
+ element.apply && (React.createElement("span", { className: 'codicon codicon-check action', title: core_1.nls.localizeByDefault('Apply'), onClick: noPropagation(() => element.apply()) })),
479
+ React.createElement("span", { className: 'codicon codicon-close action', title: core_1.nls.localizeByDefault('Delete'), onClick: noPropagation(() => element.delete()) }))))))))));
349
480
  const ChatInputOptions = ({ leftOptions, rightOptions }) => (React.createElement("div", { className: "theia-ChatInputOptions" },
350
- React.createElement("div", { className: "theia-ChatInputOptions-left" }, leftOptions.map((option, index) => (React.createElement("span", { key: index, className: `codicon ${option.className} option ${option.disabled ? 'disabled' : ''}`, title: option.title, onClick: option.handler })))),
351
- React.createElement("div", { className: "theia-ChatInputOptions-right" }, rightOptions.map((option, index) => (React.createElement("span", { key: index, className: `codicon ${option.className} option ${option.disabled ? 'disabled' : ''}`, title: option.title, onClick: option.handler }))))));
352
- function acceptAllPendingElements(changeSet) {
353
- acceptablePendingElements(changeSet).forEach(e => e.accept());
354
- }
355
- function hasPendingElementsToAccept(changeSet) {
356
- return acceptablePendingElements(changeSet).length > 0;
357
- }
358
- function acceptablePendingElements(changeSet) {
359
- return changeSet.getElements().filter(e => e.accept && (e.state === undefined || e.state === 'pending'));
360
- }
481
+ React.createElement("div", { className: "theia-ChatInputOptions-left" }, leftOptions.map((option, index) => {
482
+ var _a, _b;
483
+ return (React.createElement("span", { key: index, className: `option ${option.disabled ? 'disabled' : ''} ${((_a = option.text) === null || _a === void 0 ? void 0 : _a.align) === 'right' ? 'reverse' : ''}`, title: option.title, onClick: option.handler },
484
+ React.createElement("span", null, (_b = option.text) === null || _b === void 0 ? void 0 : _b.content),
485
+ React.createElement("span", { className: `codicon ${option.className}` })));
486
+ })),
487
+ React.createElement("div", { className: "theia-ChatInputOptions-right" }, rightOptions.map((option, index) => {
488
+ var _a, _b;
489
+ return (React.createElement("span", { key: index, className: `option ${option.disabled ? 'disabled' : ''} ${((_a = option.text) === null || _a === void 0 ? void 0 : _a.align) === 'right' ? 'reverse' : ''}`, title: option.title, onClick: option.handler },
490
+ React.createElement("span", null, (_b = option.text) === null || _b === void 0 ? void 0 : _b.content),
491
+ React.createElement("span", { className: `codicon ${option.className}` })));
492
+ }))));
361
493
  function getLatestRequest(chatModel) {
362
494
  const requests = chatModel.getRequests();
363
495
  return requests.length > 0 ? requests[requests.length - 1] : undefined;
364
496
  }
497
+ function buildContextUI(context, labelProvider, onDeleteContextElement) {
498
+ if (!context) {
499
+ return { context: [] };
500
+ }
501
+ return {
502
+ context: context.map((element, index) => ({
503
+ name: labelProvider.getName(element),
504
+ iconClass: labelProvider.getIcon(element),
505
+ nameClass: element.variable.name,
506
+ additionalInfo: labelProvider.getDetails(element),
507
+ details: labelProvider.getLongName(element),
508
+ delete: () => onDeleteContextElement(index),
509
+ }))
510
+ };
511
+ }
512
+ const ChatContext = ({ context }) => (React.createElement("div", { className: "theia-ChatInput-ChatContext" },
513
+ React.createElement("ul", null, context.map((element, index) => (React.createElement("li", { key: index, className: "theia-ChatInput-ChatContext-Element", title: element.details, onClick: () => { var _a; return (_a = element.open) === null || _a === void 0 ? void 0 : _a.call(element); } },
514
+ React.createElement("div", { className: `theia-ChatInput-ChatContext-Icon ${element.iconClass}` }),
515
+ React.createElement("span", { className: `theia-ChatInput-ChatContext-title ${element.nameClass}` }, element.name),
516
+ React.createElement("span", { className: 'theia-ChatInput-ChatContext-additionalInfo' }, element.additionalInfo),
517
+ React.createElement("span", { className: "codicon codicon-close action", title: core_1.nls.localizeByDefault('Delete'), onClick: () => element.delete() })))))));
365
518
  //# sourceMappingURL=chat-input-widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-input-widget.js","sourceRoot":"","sources":["../../src/browser/chat-input-widget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-input-widget.js","sourceRoot":"","sources":["../../src/browser/chat-input-widget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { RecursivePartial, URI } from '@theia/core';
2
+ import { EditorOpenerOptions, EditorWidget, Range } from '@theia/editor/lib/browser';
3
+ import { EditorSelectionResolver } from '@theia/editor/lib/browser/editor-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 class GitHubSelectionResolver implements EditorSelectionResolver {
9
+ priority: number;
10
+ resolveSelection(widget: EditorWidget, options: EditorOpenerOptions, uri?: URI): Promise<RecursivePartial<Range> | undefined>;
11
+ }
12
+ export declare class TypeDocSymbolSelectionResolver implements EditorSelectionResolver {
13
+ priority: number;
14
+ protected readonly m2p: MonacoToProtocolConverter;
15
+ resolveSelection(widget: EditorWidget, options: EditorOpenerOptions, uri?: URI): Promise<RecursivePartial<Range> | undefined>;
16
+ protected findSymbolPath(uri: URI): string[] | undefined;
17
+ protected findSymbolByPath(symbols: DocumentSymbol[], symbolPath: string[]): DocumentSymbol | undefined;
18
+ }
19
+ export declare class TextFragmentSelectionResolver implements EditorSelectionResolver {
20
+ resolveSelection(widget: EditorWidget, options: EditorOpenerOptions, uri?: URI): Promise<RecursivePartial<Range> | undefined>;
21
+ protected findFragment(uri: URI): string | undefined;
22
+ }
23
+ //# sourceMappingURL=ai-selection-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-selection-resolver.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/ai-selection-resolver.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAqB,gBAAgB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAErF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAK1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AAEnG,8FAA8F;AAC9F,eAAO,MAAM,cAAc,QAAiD,CAAC;AAE7E,qBACa,uBAAwB,YAAW,uBAAuB;IACnE,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,uBAAuB;IAC1E,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,uBAAuB;IACnE,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"}
@@ -15,18 +15,16 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.AIEditorManager = exports.TextFragmentSelectionResolver = exports.TypeDocSymbolSelectionResolver = exports.GitHubSelectionResolver = exports.AIEditorSelectionResolver = exports.LOCATION_REGEX = void 0;
18
+ exports.TextFragmentSelectionResolver = exports.TypeDocSymbolSelectionResolver = exports.GitHubSelectionResolver = exports.LOCATION_REGEX = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const core_1 = require("@theia/core");
21
21
  const inversify_1 = require("@theia/core/shared/inversify");
22
- const editor_preview_manager_1 = require("@theia/editor-preview/lib/browser/editor-preview-manager");
23
22
  const languageFeatures_1 = require("@theia/monaco-editor-core/esm/vs/editor/common/services/languageFeatures");
24
23
  const standaloneServices_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices");
25
24
  const monaco_editor_1 = require("@theia/monaco/lib/browser/monaco-editor");
26
25
  const monaco_to_protocol_converter_1 = require("@theia/monaco/lib/browser/monaco-to-protocol-converter");
27
26
  /** Regex to match GitHub-style position and range declaration with line (L) and column (C) */
28
27
  exports.LOCATION_REGEX = /#L(\d+)?(?:C(\d+))?(?:-L(\d+)?(?:C(\d+))?)?$/;
29
- exports.AIEditorSelectionResolver = Symbol('AIEditorSelectionResolver');
30
28
  let GitHubSelectionResolver = class GitHubSelectionResolver {
31
29
  constructor() {
32
30
  this.priority = 100;
@@ -147,38 +145,4 @@ exports.TextFragmentSelectionResolver = TextFragmentSelectionResolver;
147
145
  exports.TextFragmentSelectionResolver = TextFragmentSelectionResolver = tslib_1.__decorate([
148
146
  (0, inversify_1.injectable)()
149
147
  ], TextFragmentSelectionResolver);
150
- let AIEditorManager = class AIEditorManager extends editor_preview_manager_1.EditorPreviewManager {
151
- async revealSelection(widget, options = {}, uri) {
152
- if (!options.selection) {
153
- options.selection = await this.resolveSelection(options, widget, uri);
154
- }
155
- super.revealSelection(widget, options, uri);
156
- }
157
- async resolveSelection(options, widget, uri) {
158
- if (!options.selection) {
159
- const orderedResolvers = core_1.Prioritizeable.prioritizeAllSync(this.resolvers.getContributions(), resolver => { var _a; return (_a = resolver.priority) !== null && _a !== void 0 ? _a : 1; });
160
- for (const linkResolver of orderedResolvers) {
161
- try {
162
- const selection = await linkResolver.value.resolveSelection(widget, options, uri);
163
- if (selection) {
164
- return selection;
165
- }
166
- }
167
- catch (error) {
168
- console.error(error);
169
- }
170
- }
171
- }
172
- return undefined;
173
- }
174
- };
175
- exports.AIEditorManager = AIEditorManager;
176
- tslib_1.__decorate([
177
- (0, inversify_1.inject)(core_1.ContributionProvider),
178
- (0, inversify_1.named)(exports.AIEditorSelectionResolver),
179
- tslib_1.__metadata("design:type", Object)
180
- ], AIEditorManager.prototype, "resolvers", void 0);
181
- exports.AIEditorManager = AIEditorManager = tslib_1.__decorate([
182
- (0, inversify_1.injectable)()
183
- ], AIEditorManager);
184
- //# sourceMappingURL=ai-editor-manager.js.map
148
+ //# sourceMappingURL=ai-selection-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-selection-resolver.js","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/ai-selection-resolver.ts"],"names":[],"mappings":"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"}