@theia/ai-chat-ui 1.57.0-next.7 → 1.57.1

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 (31) hide show
  1. package/README.md +2 -1
  2. package/lib/browser/ai-chat-ui-frontend-module.d.ts.map +1 -1
  3. package/lib/browser/ai-chat-ui-frontend-module.js +6 -1
  4. package/lib/browser/ai-chat-ui-frontend-module.js.map +1 -1
  5. package/lib/browser/chat-input-widget.d.ts +3 -0
  6. package/lib/browser/chat-input-widget.d.ts.map +1 -1
  7. package/lib/browser/chat-input-widget.js +33 -5
  8. package/lib/browser/chat-input-widget.js.map +1 -1
  9. package/lib/browser/chat-response-renderer/code-part-renderer.d.ts +30 -2
  10. package/lib/browser/chat-response-renderer/code-part-renderer.d.ts.map +1 -1
  11. package/lib/browser/chat-response-renderer/code-part-renderer.js +45 -10
  12. package/lib/browser/chat-response-renderer/code-part-renderer.js.map +1 -1
  13. package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts +8 -3
  14. package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts.map +1 -1
  15. package/lib/browser/chat-response-renderer/markdown-part-renderer.js +38 -10
  16. package/lib/browser/chat-response-renderer/markdown-part-renderer.js.map +1 -1
  17. package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts +2 -1
  18. package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts.map +1 -1
  19. package/lib/browser/chat-tree-view/chat-view-tree-widget.js +8 -4
  20. package/lib/browser/chat-tree-view/chat-view-tree-widget.js.map +1 -1
  21. package/lib/browser/chat-view-widget.d.ts +2 -1
  22. package/lib/browser/chat-view-widget.d.ts.map +1 -1
  23. package/lib/browser/chat-view-widget.js +4 -0
  24. package/lib/browser/chat-view-widget.js.map +1 -1
  25. package/package.json +11 -11
  26. package/src/browser/ai-chat-ui-frontend-module.ts +23 -4
  27. package/src/browser/chat-input-widget.tsx +38 -3
  28. package/src/browser/chat-response-renderer/code-part-renderer.tsx +48 -9
  29. package/src/browser/chat-response-renderer/markdown-part-renderer.tsx +39 -12
  30. package/src/browser/chat-tree-view/chat-view-tree-widget.tsx +10 -4
  31. package/src/browser/chat-view-widget.tsx +6 -1
package/README.md CHANGED
@@ -28,5 +28,6 @@ It is based on `@theia/ai-chat`.
28
28
  - [一 (Secondary) GNU General Public License, version 2 with the GNU Classpath Exception](https://projects.eclipse.org/license/secondary-gpl-2.0-cp)
29
29
 
30
30
  ## Trademark
31
+
31
32
  "Theia" is a trademark of the Eclipse Foundation
32
- https://www.eclipse.org/theia
33
+ <https://www.eclipse.org/theia>
@@ -1 +1 @@
1
- {"version":3,"file":"ai-chat-ui-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;AAE3E,OAAO,mCAAmC,CAAC;;AAmB3C,wBAiDG"}
1
+ {"version":3,"file":"ai-chat-ui-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;AAgC3E,OAAO,mCAAmC,CAAC;;AAE3C,wBAuDG"}
@@ -20,7 +20,6 @@ const browser_1 = require("@theia/core/lib/browser");
20
20
  const tab_bar_toolbar_1 = require("@theia/core/lib/browser/shell/tab-bar-toolbar");
21
21
  const inversify_1 = require("@theia/core/shared/inversify");
22
22
  const browser_2 = require("@theia/editor/lib/browser");
23
- require("../../src/browser/style/index.css");
24
23
  const ai_chat_ui_contribution_1 = require("./ai-chat-ui-contribution");
25
24
  const chat_input_widget_1 = require("./chat-input-widget");
26
25
  const chat_node_toolbar_action_contribution_1 = require("./chat-node-toolbar-action-contribution");
@@ -35,6 +34,7 @@ const chat_view_widget_1 = require("./chat-view-widget");
35
34
  const chat_view_widget_toolbar_contribution_1 = require("./chat-view-widget-toolbar-contribution");
36
35
  const editor_preview_manager_1 = require("@theia/editor-preview/lib/browser/editor-preview-manager");
37
36
  const question_part_renderer_1 = require("./chat-response-renderer/question-part-renderer");
37
+ require("../../src/browser/style/index.css");
38
38
  exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebind) => {
39
39
  (0, browser_1.bindViewContribution)(bind, ai_chat_ui_contribution_1.AIChatContribution);
40
40
  bind(tab_bar_toolbar_1.TabBarToolbarContribution).toService(ai_chat_ui_contribution_1.AIChatContribution);
@@ -59,6 +59,11 @@ exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebi
59
59
  bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(chat_response_renderer_1.ErrorPartRenderer).inSingletonScope();
60
60
  bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(question_part_renderer_1.QuestionPartRenderer).inSingletonScope();
61
61
  [core_1.CommandContribution, core_1.MenuContribution].forEach(serviceIdentifier => bind(serviceIdentifier).to(chat_view_contribution_1.ChatViewMenuContribution).inSingletonScope());
62
+ (0, core_1.bindContributionProvider)(bind, chat_response_renderer_1.CodePartRendererAction);
63
+ bind(chat_response_renderer_1.CopyToClipboardButtonAction).toSelf().inSingletonScope();
64
+ bind(chat_response_renderer_1.CodePartRendererAction).toService(chat_response_renderer_1.CopyToClipboardButtonAction);
65
+ bind(chat_response_renderer_1.InsertCodeAtCursorButtonAction).toSelf().inSingletonScope();
66
+ bind(chat_response_renderer_1.CodePartRendererAction).toService(chat_response_renderer_1.InsertCodeAtCursorButtonAction);
62
67
  bind(ai_editor_manager_1.AIEditorManager).toSelf().inSingletonScope();
63
68
  rebind(browser_2.EditorManager).toService(ai_editor_manager_1.AIEditorManager);
64
69
  rebind(editor_preview_manager_1.EditorPreviewManager).toService(ai_editor_manager_1.AIEditorManager);
@@ -1 +1 @@
1
- {"version":3,"file":"ai-chat-ui-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-chat-ui-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  import { ChatAgent, ChatAgentService, ChatModel, ChatRequestModel } from '@theia/ai-chat';
3
3
  import { UntitledResourceResolver } from '@theia/core';
4
4
  import { ContextMenuRenderer, Message, ReactWidget } from '@theia/core/lib/browser';
5
+ import { MonacoEditor } from '@theia/monaco/lib/browser/monaco-editor';
5
6
  import * as React from '@theia/core/shared/react';
6
7
  import { MonacoEditorProvider } from '@theia/monaco/lib/browser/monaco-editor-provider';
7
8
  import { IMouseEvent } from '@theia/monaco-editor-core';
@@ -14,6 +15,8 @@ export declare class AIChatInputWidget extends ReactWidget {
14
15
  protected readonly editorProvider: MonacoEditorProvider;
15
16
  protected readonly untitledResourceResolver: UntitledResourceResolver;
16
17
  protected readonly contextMenuRenderer: ContextMenuRenderer;
18
+ protected editorRef: MonacoEditor | undefined;
19
+ private editorReady;
17
20
  protected isEnabled: boolean;
18
21
  private _onQuery;
19
22
  set onQuery(query: Query);
@@ -1 +1 @@
1
- {"version":3,"file":"chat-input-widget.d.ts","sourceRoot":"","sources":["../../src/browser/chat-input-widget.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGpF,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9C,KAAK,MAAM,GAAG,CAAC,YAAY,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEvD,qBACa,iBAAkB,SAAQ,WAAW;IAC9C,OAAc,EAAE,SAAuB;IACvC,MAAM,CAAC,QAAQ,CAAC,YAAY,WAA+B;IAG3D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAGtE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAE5D,SAAS,CAAC,SAAS,UAAS;IAE5B,OAAO,CAAC,QAAQ,CAAQ;IACxB,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,EAEvB;IACD,OAAO,CAAC,SAAS,CAAS;IAC1B,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAE1B;IACD,OAAO,CAAC,UAAU,CAAY;IAC9B,IAAI,SAAS,CAAC,SAAS,EAAE,SAAS,EAGjC;IAGD,SAAS,CAAC,IAAI,IAAI,IAAI;cAKH,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKxD,SAAS,CAAC,aAAa,IAAI,SAAS,EAAE;IAItC,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS;IAe5B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKzC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;CAQxD"}
1
+ {"version":3,"file":"chat-input-widget.d.ts","sourceRoot":"","sources":["../../src/browser/chat-input-widget.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEpF,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9C,KAAK,MAAM,GAAG,CAAC,YAAY,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEvD,qBACa,iBAAkB,SAAQ,WAAW;IAC9C,OAAc,EAAE,SAAuB;IACvC,MAAM,CAAC,QAAQ,CAAC,YAAY,WAA+B;IAG3D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAGtE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAE5D,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,CAAa;IAC1D,OAAO,CAAC,WAAW,CAAwB;IAE3C,SAAS,CAAC,SAAS,UAAS;IAE5B,OAAO,CAAC,QAAQ,CAAQ;IACxB,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,EAEvB;IACD,OAAO,CAAC,SAAS,CAAS;IAC1B,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAE1B;IACD,OAAO,CAAC,UAAU,CAAY;IAC9B,IAAI,SAAS,CAAC,SAAS,EAAE,SAAS,EAGjC;IAGD,SAAS,CAAC,IAAI,IAAI,IAAI;cAMH,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IASxD,SAAS,CAAC,aAAa,IAAI,SAAS,EAAE;IAItC,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS;IAmB5B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKzC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;CAQxD"}
@@ -25,9 +25,12 @@ const inversify_1 = require("@theia/core/shared/inversify");
25
25
  const React = require("@theia/core/shared/react");
26
26
  const monaco_editor_provider_1 = require("@theia/monaco/lib/browser/monaco-editor-provider");
27
27
  const chat_view_language_contribution_1 = require("./chat-view-language-contribution");
28
+ const promise_util_1 = require("@theia/core/lib/common/promise-util");
28
29
  let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends browser_1.ReactWidget {
29
30
  constructor() {
30
31
  super(...arguments);
32
+ this.editorRef = undefined;
33
+ this.editorReady = new promise_util_1.Deferred();
31
34
  this.isEnabled = false;
32
35
  }
33
36
  set onQuery(query) {
@@ -47,13 +50,20 @@ let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends br
47
50
  }
48
51
  onActivateRequest(msg) {
49
52
  super.onActivateRequest(msg);
50
- this.node.focus({ preventScroll: true });
53
+ this.editorReady.promise.then(() => {
54
+ if (this.editorRef) {
55
+ this.editorRef.focus();
56
+ }
57
+ });
51
58
  }
52
59
  getChatAgents() {
53
60
  return this.agentService.getAgents();
54
61
  }
55
62
  render() {
56
- return (React.createElement(ChatInput, { onQuery: this._onQuery.bind(this), onCancel: this._onCancel.bind(this), chatModel: this._chatModel, getChatAgents: this.getChatAgents.bind(this), editorProvider: this.editorProvider, untitledResourceResolver: this.untitledResourceResolver, contextMenuCallback: this.handleContextMenu.bind(this), isEnabled: this.isEnabled }));
63
+ return (React.createElement(ChatInput, { onQuery: this._onQuery.bind(this), onCancel: this._onCancel.bind(this), chatModel: this._chatModel, getChatAgents: this.getChatAgents.bind(this), editorProvider: this.editorProvider, untitledResourceResolver: this.untitledResourceResolver, contextMenuCallback: this.handleContextMenu.bind(this), isEnabled: this.isEnabled, setEditorRef: editor => {
64
+ this.editorRef = editor;
65
+ this.editorReady.resolve();
66
+ } }));
57
67
  }
58
68
  setEnabled(enabled) {
59
69
  this.isEnabled = enabled;
@@ -148,7 +158,10 @@ const ChatInput = (props) => {
148
158
  editorContainerRef.current.style.height = `${Math.min(contentHeight, maxHeight)}px`;
149
159
  }
150
160
  };
151
- editor.getControl().onDidChangeModelContent(updateEditorHeight);
161
+ editor.getControl().onDidChangeModelContent(() => {
162
+ updateEditorHeight();
163
+ handleOnChange();
164
+ });
152
165
  const resizeObserver = new ResizeObserver(updateEditorHeight);
153
166
  if (editorContainerRef.current) {
154
167
  resizeObserver.observe(editorContainerRef.current);
@@ -158,10 +171,12 @@ const ChatInput = (props) => {
158
171
  });
159
172
  editor.getControl().onContextMenu(e => props.contextMenuCallback(e.event));
160
173
  editorRef.current = editor;
174
+ props.setEditorRef(editor);
161
175
  };
162
176
  React.useEffect(() => {
163
177
  createInputElement();
164
178
  return () => {
179
+ props.setEditorRef(undefined);
165
180
  if (editorRef.current) {
166
181
  editorRef.current.dispose();
167
182
  }
@@ -193,15 +208,28 @@ const ChatInput = (props) => {
193
208
  }
194
209
  }, [props.isEnabled]);
195
210
  const handleInputFocus = () => {
196
- var _a;
197
- (_a = placeholderRef.current) === null || _a === void 0 ? void 0 : _a.classList.add('hidden');
211
+ hidePlaceholderIfEditorFilled();
212
+ };
213
+ const handleOnChange = () => {
214
+ showPlaceholderIfEditorEmpty();
215
+ hidePlaceholderIfEditorFilled();
198
216
  };
199
217
  const handleInputBlur = () => {
218
+ showPlaceholderIfEditorEmpty();
219
+ };
220
+ const showPlaceholderIfEditorEmpty = () => {
200
221
  var _a, _b;
201
222
  if (!((_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.getControl().getValue())) {
202
223
  (_b = placeholderRef.current) === null || _b === void 0 ? void 0 : _b.classList.remove('hidden');
203
224
  }
204
225
  };
226
+ const hidePlaceholderIfEditorFilled = () => {
227
+ var _a, _b;
228
+ const value = (_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.getControl().getValue();
229
+ if (value && value.length > 0) {
230
+ (_b = placeholderRef.current) === null || _b === void 0 ? void 0 : _b.classList.add('hidden');
231
+ }
232
+ };
205
233
  return React.createElement("div", { className: 'theia-ChatInput' },
206
234
  React.createElement("div", { className: 'theia-ChatInput-Editor-Box' },
207
235
  React.createElement("div", { className: 'theia-ChatInput-Editor', ref: editorContainerRef, onKeyDown: onKeyDown, onFocus: handleInputFocus, onBlur: handleInputBlur },
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { ChatResponseContent, CodeChatResponseContent } from '@theia/ai-chat/lib/common';
3
- import { UntitledResourceResolver, URI } from '@theia/core';
3
+ import { ContributionProvider, UntitledResourceResolver, URI } from '@theia/core';
4
4
  import { ContextMenuRenderer, TreeNode } from '@theia/core/lib/browser';
5
5
  import { ClipboardService } from '@theia/core/lib/browser/clipboard-service';
6
6
  import * as React from '@theia/core/shared/react';
@@ -12,13 +12,31 @@ import { MonacoLanguages } from '@theia/monaco/lib/browser/monaco-languages';
12
12
  import { ChatResponsePartRenderer } from '../chat-response-part-renderer';
13
13
  import { ResponseNode } from '../chat-tree-view/chat-view-tree-widget';
14
14
  import { IMouseEvent } from '@theia/monaco-editor-core';
15
+ export declare const CodePartRendererAction: unique symbol;
16
+ /**
17
+ * The CodePartRenderer offers to contribute arbitrary React nodes to the rendered code part.
18
+ * Technically anything can be rendered, however it is intended to be used for actions, like
19
+ * "Copy to Clipboard" or "Insert at Cursor".
20
+ */
21
+ export interface CodePartRendererAction {
22
+ render(response: CodeChatResponseContent, parentNode: ResponseNode): ReactNode;
23
+ /**
24
+ * Determines if the action should be rendered for the given response.
25
+ */
26
+ canRender?(response: CodeChatResponseContent, parentNode: ResponseNode): boolean;
27
+ /**
28
+ * The priority determines the order in which the actions are rendered.
29
+ * The default priorities are 10 and 20.
30
+ */
31
+ priority: number;
32
+ }
15
33
  export declare class CodePartRenderer implements ChatResponsePartRenderer<CodeChatResponseContent> {
16
- protected readonly clipboardService: ClipboardService;
17
34
  protected readonly editorManager: EditorManager;
18
35
  protected readonly untitledResourceResolver: UntitledResourceResolver;
19
36
  protected readonly editorProvider: MonacoEditorProvider;
20
37
  protected readonly languageService: MonacoLanguages;
21
38
  protected readonly contextMenuRenderer: ContextMenuRenderer;
39
+ protected readonly codePartRendererActions: ContributionProvider<CodePartRendererAction>;
22
40
  canHandle(response: ChatResponseContent): number;
23
41
  render(response: CodeChatResponseContent, parentNode: ResponseNode): ReactNode;
24
42
  protected renderTitle(response: CodeChatResponseContent): ReactNode;
@@ -32,6 +50,16 @@ export declare class CodePartRenderer implements ChatResponsePartRenderer<CodeCh
32
50
  openFileAtPosition(uri: URI, position: Position): Promise<void>;
33
51
  protected handleContextMenuEvent(node: TreeNode | undefined, event: IMouseEvent, code: string): void;
34
52
  }
53
+ export declare class CopyToClipboardButtonAction implements CodePartRendererAction {
54
+ protected readonly clipboardService: ClipboardService;
55
+ priority: number;
56
+ render(response: CodeChatResponseContent): ReactNode;
57
+ }
58
+ export declare class InsertCodeAtCursorButtonAction implements CodePartRendererAction {
59
+ protected readonly editorManager: EditorManager;
60
+ priority: number;
61
+ render(response: CodeChatResponseContent): ReactNode;
62
+ }
35
63
  /**
36
64
  * Renders the given code within a Monaco Editor
37
65
  */
@@ -1 +1 @@
1
- {"version":3,"file":"code-part-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/code-part-renderer.tsx"],"names":[],"mappings":";AAgBA,OAAO,EACH,mBAAmB,EACnB,uBAAuB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAgB,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAsB,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,qBACa,gBACT,YAAW,wBAAwB,CAAC,uBAAuB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAEtE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAExD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAEpD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAE5D,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS;IAyB9E,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,uBAAuB,GAAG,SAAS;IASnE,OAAO,CAAC,QAAQ;IAMhB;;;;;OAKG;IACG,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrE,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;CAQvG;AAgCD;;GAEG;AACH,eAAO,MAAM,WAAW,UAAW;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,cAAc,EAAE,oBAAoB,CAAC;IACrC,mBAAmB,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,CAAA;CAChD,sBA8CA,CAAC"}
1
+ {"version":3,"file":"code-part-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/code-part-renderer.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CodeWrapper = exports.InsertCodeAtCursorButtonAction = exports.CopyToClipboardButtonAction = exports.CodePartRenderer = exports.CodePartRendererAction = void 0;
4
+ const tslib_1 = require("tslib");
2
5
  // *****************************************************************************
3
6
  // Copyright (C) 2024 EclipseSource GmbH.
4
7
  //
@@ -14,9 +17,6 @@
14
17
  //
15
18
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
19
  // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.CodeWrapper = exports.CodePartRenderer = void 0;
19
- const tslib_1 = require("tslib");
20
20
  const common_1 = require("@theia/ai-chat/lib/common");
21
21
  const core_1 = require("@theia/core");
22
22
  const browser_1 = require("@theia/core/lib/browser");
@@ -27,6 +27,7 @@ const browser_2 = require("@theia/editor/lib/browser");
27
27
  const monaco_editor_provider_1 = require("@theia/monaco/lib/browser/monaco-editor-provider");
28
28
  const monaco_languages_1 = require("@theia/monaco/lib/browser/monaco-languages");
29
29
  const chat_view_tree_widget_1 = require("../chat-tree-view/chat-view-tree-widget");
30
+ exports.CodePartRendererAction = Symbol('CodePartRendererAction');
30
31
  let CodePartRenderer = class CodePartRenderer {
31
32
  canHandle(response) {
32
33
  if (common_1.CodeChatResponseContent.is(response)) {
@@ -39,9 +40,10 @@ let CodePartRenderer = class CodePartRenderer {
39
40
  return (React.createElement("div", { className: "theia-CodePartRenderer-root" },
40
41
  React.createElement("div", { className: "theia-CodePartRenderer-top" },
41
42
  React.createElement("div", { className: "theia-CodePartRenderer-left" }, this.renderTitle(response)),
42
- React.createElement("div", { className: "theia-CodePartRenderer-right" },
43
- React.createElement(CopyToClipboardButton, { code: response.code, clipboardService: this.clipboardService }),
44
- React.createElement(InsertCodeAtCursorButton, { code: response.code, editorManager: this.editorManager }))),
43
+ React.createElement("div", { className: "theia-CodePartRenderer-right theia-CodePartRenderer-actions" }, this.codePartRendererActions.getContributions()
44
+ .filter(action => action.canRender ? action.canRender(response, parentNode) : true)
45
+ .sort((a, b) => a.priority - b.priority)
46
+ .map(action => action.render(response, parentNode)))),
45
47
  React.createElement("div", { className: "theia-CodePartRenderer-separator" }),
46
48
  React.createElement("div", { className: "theia-CodePartRenderer-bottom" },
47
49
  React.createElement(exports.CodeWrapper, { content: response.code, language: language, editorProvider: this.editorProvider, untitledResourceResolver: this.untitledResourceResolver, contextMenuCallback: e => this.handleContextMenuEvent(parentNode, e, response.code) }))));
@@ -86,10 +88,6 @@ let CodePartRenderer = class CodePartRenderer {
86
88
  }
87
89
  };
88
90
  exports.CodePartRenderer = CodePartRenderer;
89
- tslib_1.__decorate([
90
- (0, inversify_1.inject)(clipboard_service_1.ClipboardService),
91
- tslib_1.__metadata("design:type", Object)
92
- ], CodePartRenderer.prototype, "clipboardService", void 0);
93
91
  tslib_1.__decorate([
94
92
  (0, inversify_1.inject)(browser_2.EditorManager),
95
93
  tslib_1.__metadata("design:type", browser_2.EditorManager)
@@ -110,9 +108,30 @@ tslib_1.__decorate([
110
108
  (0, inversify_1.inject)(browser_1.ContextMenuRenderer),
111
109
  tslib_1.__metadata("design:type", browser_1.ContextMenuRenderer)
112
110
  ], CodePartRenderer.prototype, "contextMenuRenderer", void 0);
111
+ tslib_1.__decorate([
112
+ (0, inversify_1.inject)(core_1.ContributionProvider),
113
+ (0, inversify_1.named)(exports.CodePartRendererAction),
114
+ tslib_1.__metadata("design:type", Object)
115
+ ], CodePartRenderer.prototype, "codePartRendererActions", void 0);
113
116
  exports.CodePartRenderer = CodePartRenderer = tslib_1.__decorate([
114
117
  (0, inversify_1.injectable)()
115
118
  ], CodePartRenderer);
119
+ let CopyToClipboardButtonAction = class CopyToClipboardButtonAction {
120
+ constructor() {
121
+ this.priority = 10;
122
+ }
123
+ render(response) {
124
+ return React.createElement(CopyToClipboardButton, { key: 'copyToClipBoard', code: response.code, clipboardService: this.clipboardService });
125
+ }
126
+ };
127
+ exports.CopyToClipboardButtonAction = CopyToClipboardButtonAction;
128
+ tslib_1.__decorate([
129
+ (0, inversify_1.inject)(clipboard_service_1.ClipboardService),
130
+ tslib_1.__metadata("design:type", Object)
131
+ ], CopyToClipboardButtonAction.prototype, "clipboardService", void 0);
132
+ exports.CopyToClipboardButtonAction = CopyToClipboardButtonAction = tslib_1.__decorate([
133
+ (0, inversify_1.injectable)()
134
+ ], CopyToClipboardButtonAction);
116
135
  const CopyToClipboardButton = (props) => {
117
136
  const { code, clipboardService } = props;
118
137
  const copyCodeToClipboard = React.useCallback(() => {
@@ -120,6 +139,22 @@ const CopyToClipboardButton = (props) => {
120
139
  }, [code, clipboardService]);
121
140
  return React.createElement("div", { className: 'button codicon codicon-copy', title: 'Copy', role: 'button', onClick: copyCodeToClipboard });
122
141
  };
142
+ let InsertCodeAtCursorButtonAction = class InsertCodeAtCursorButtonAction {
143
+ constructor() {
144
+ this.priority = 20;
145
+ }
146
+ render(response) {
147
+ return React.createElement(InsertCodeAtCursorButton, { key: 'insertCodeAtCursor', code: response.code, editorManager: this.editorManager });
148
+ }
149
+ };
150
+ exports.InsertCodeAtCursorButtonAction = InsertCodeAtCursorButtonAction;
151
+ tslib_1.__decorate([
152
+ (0, inversify_1.inject)(browser_2.EditorManager),
153
+ tslib_1.__metadata("design:type", browser_2.EditorManager)
154
+ ], InsertCodeAtCursorButtonAction.prototype, "editorManager", void 0);
155
+ exports.InsertCodeAtCursorButtonAction = InsertCodeAtCursorButtonAction = tslib_1.__decorate([
156
+ (0, inversify_1.injectable)()
157
+ ], InsertCodeAtCursorButtonAction);
123
158
  const InsertCodeAtCursorButton = (props) => {
124
159
  const { code, editorManager } = props;
125
160
  const insertCode = React.useCallback(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"code-part-renderer.js","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/code-part-renderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-part-renderer.js","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/code-part-renderer.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,9 @@ import { ReactNode } from '@theia/core/shared/react';
5
5
  import * as React from '@theia/core/shared/react';
6
6
  import * as markdownit from '@theia/core/shared/markdown-it';
7
7
  import { MarkdownString } from '@theia/core/lib/common/markdown-rendering';
8
+ import { OpenerService } from '@theia/core/lib/browser';
8
9
  export declare class MarkdownPartRenderer implements ChatResponsePartRenderer<MarkdownChatResponseContent | InformationalChatResponseContent> {
10
+ protected readonly openerService: OpenerService;
9
11
  protected readonly markdownIt: markdownit;
10
12
  canHandle(response: ChatResponseContent): number;
11
13
  render(response: MarkdownChatResponseContent | InformationalChatResponseContent): ReactNode;
@@ -14,12 +16,15 @@ export declare class MarkdownPartRenderer implements ChatResponsePartRenderer<Ma
14
16
  * This hook uses markdown-it directly to render markdown.
15
17
  * The reason to use markdown-it directly is that the MarkdownRenderer is
16
18
  * overridden by theia with a monaco version. This monaco version strips all html
17
- * tags from the markdown with empty content.
18
- * This leads to unexpected behavior when rendering markdown with html tags.
19
+ * tags from the markdown with empty content. This leads to unexpected behavior when
20
+ * rendering markdown with html tags.
21
+ *
22
+ * Moreover, we want to intercept link clicks to use the Theia OpenerService instead of the default browser behavior.
19
23
  *
20
24
  * @param markdown the string to render as markdown
21
25
  * @param skipSurroundingParagraph whether to remove a surrounding paragraph element (default: false)
26
+ * @param openerService the service to handle link opening
22
27
  * @returns the ref to use in an element to render the markdown
23
28
  */
24
- export declare const useMarkdownRendering: (markdown: string | MarkdownString, skipSurroundingParagraph?: boolean) => React.MutableRefObject<HTMLDivElement | null>;
29
+ export declare const useMarkdownRendering: (markdown: string | MarkdownString, openerService: OpenerService, skipSurroundingParagraph?: boolean) => React.MutableRefObject<HTMLDivElement | null>;
25
30
  //# sourceMappingURL=markdown-part-renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-part-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/markdown-part-renderer.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,OAAO,EACH,mBAAmB,EACnB,gCAAgC,EAChC,2BAA2B,EAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAqB,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,qBACa,oBAAqB,YAAW,wBAAwB,CAAC,2BAA2B,GAAG,gCAAgC,CAAC;IACjI,SAAS,CAAC,QAAQ,CAAC,UAAU,aAAgB;IAC7C,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAShD,MAAM,CAAC,QAAQ,EAAE,2BAA2B,GAAG,gCAAgC,GAAG,SAAS;CAW9F;AAQD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,aAAc,MAAM,GAAG,cAAc,6BAA4B,OAAO,kDAoBxG,CAAC"}
1
+ {"version":3,"file":"markdown-part-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/markdown-part-renderer.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,OAAO,EACH,mBAAmB,EACnB,gCAAgC,EAChC,2BAA2B,EAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAqB,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAQ,MAAM,yBAAyB,CAAC;AAG9D,qBACa,oBAAqB,YAAW,wBAAwB,CAAC,2BAA2B,GAAG,gCAAgC,CAAC;IAC1G,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACvE,SAAS,CAAC,QAAQ,CAAC,UAAU,aAAgB;IAC7C,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAShD,MAAM,CAAC,QAAQ,EAAE,2BAA2B,GAAG,gCAAgC,GAAG,SAAS;CAU9F;AAQD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,aAAc,MAAM,GAAG,cAAc,iBAAiB,aAAa,6BAA4B,OAAO,kDA0CtI,CAAC"}
@@ -23,6 +23,8 @@ const react_1 = require("@theia/core/shared/react");
23
23
  const React = require("@theia/core/shared/react");
24
24
  const markdownit = require("@theia/core/shared/markdown-it");
25
25
  const DOMPurify = require("@theia/core/shared/dompurify");
26
+ const browser_1 = require("@theia/core/lib/browser");
27
+ const core_1 = require("@theia/core");
26
28
  let MarkdownPartRenderer = class MarkdownPartRenderer {
27
29
  constructor() {
28
30
  this.markdownIt = markdownit();
@@ -43,46 +45,72 @@ let MarkdownPartRenderer = class MarkdownPartRenderer {
43
45
  // eslint-disable-next-line no-null/no-null
44
46
  return null;
45
47
  }
46
- return React.createElement(MarkdownRender, { response: response });
48
+ return React.createElement(MarkdownRender, { response: response, openerService: this.openerService });
47
49
  }
48
50
  };
49
51
  exports.MarkdownPartRenderer = MarkdownPartRenderer;
52
+ tslib_1.__decorate([
53
+ (0, inversify_1.inject)(browser_1.OpenerService),
54
+ tslib_1.__metadata("design:type", Object)
55
+ ], MarkdownPartRenderer.prototype, "openerService", void 0);
50
56
  exports.MarkdownPartRenderer = MarkdownPartRenderer = tslib_1.__decorate([
51
57
  (0, inversify_1.injectable)()
52
58
  ], MarkdownPartRenderer);
53
- const MarkdownRender = ({ response }) => {
54
- const ref = (0, exports.useMarkdownRendering)(response.content);
59
+ const MarkdownRender = ({ response, openerService }) => {
60
+ const ref = (0, exports.useMarkdownRendering)(response.content, openerService);
55
61
  return React.createElement("div", { ref: ref });
56
62
  };
57
63
  /**
58
64
  * This hook uses markdown-it directly to render markdown.
59
65
  * The reason to use markdown-it directly is that the MarkdownRenderer is
60
66
  * overridden by theia with a monaco version. This monaco version strips all html
61
- * tags from the markdown with empty content.
62
- * This leads to unexpected behavior when rendering markdown with html tags.
67
+ * tags from the markdown with empty content. This leads to unexpected behavior when
68
+ * rendering markdown with html tags.
69
+ *
70
+ * Moreover, we want to intercept link clicks to use the Theia OpenerService instead of the default browser behavior.
63
71
  *
64
72
  * @param markdown the string to render as markdown
65
73
  * @param skipSurroundingParagraph whether to remove a surrounding paragraph element (default: false)
74
+ * @param openerService the service to handle link opening
66
75
  * @returns the ref to use in an element to render the markdown
67
76
  */
68
- const useMarkdownRendering = (markdown, skipSurroundingParagraph = false) => {
77
+ const useMarkdownRendering = (markdown, openerService, skipSurroundingParagraph = false) => {
78
+ // null is valid in React
69
79
  // eslint-disable-next-line no-null/no-null
70
80
  const ref = (0, react_1.useRef)(null);
71
81
  const markdownString = typeof markdown === 'string' ? markdown : markdown.value;
72
82
  (0, react_1.useEffect)(() => {
73
- var _a, _b;
83
+ var _a, _b, _c;
74
84
  const markdownIt = markdownit();
75
85
  const host = document.createElement('div');
76
- // markdownIt always puts the content in a paragraph element, so we remove it if we don't want it
86
+ // markdownIt always puts the content in a paragraph element, so we remove it if we don't want that
77
87
  const html = skipSurroundingParagraph ? markdownIt.render(markdownString).replace(/^<p>|<\/p>|<p><\/p>$/g, '') : markdownIt.render(markdownString);
78
88
  host.innerHTML = DOMPurify.sanitize(html, {
79
- ALLOW_UNKNOWN_PROTOCOLS: true // DOMPurify usually strips non http(s) links from hrefs
89
+ // DOMPurify usually strips non http(s) links from hrefs
90
+ // but we want to allow them (see handleClick via OpenerService below)
91
+ ALLOW_UNKNOWN_PROTOCOLS: true
80
92
  });
81
93
  while ((_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.firstChild) {
82
94
  ref.current.removeChild(ref.current.firstChild);
83
95
  }
84
96
  (_b = ref === null || ref === void 0 ? void 0 : ref.current) === null || _b === void 0 ? void 0 : _b.appendChild(host);
85
- }, [markdownString]);
97
+ // intercept link clicks to use the Theia OpenerService instead of the default browser behavior
98
+ const handleClick = (event) => {
99
+ let target = event.target;
100
+ while (target && target.tagName !== 'A') {
101
+ target = target.parentElement;
102
+ }
103
+ if (target && target.tagName === 'A') {
104
+ const href = target.getAttribute('href');
105
+ if (href) {
106
+ (0, browser_1.open)(openerService, new core_1.URI(href));
107
+ event.preventDefault();
108
+ }
109
+ }
110
+ };
111
+ (_c = ref === null || ref === void 0 ? void 0 : ref.current) === null || _c === void 0 ? void 0 : _c.addEventListener('click', handleClick);
112
+ return () => { var _a; return (_a = ref.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('click', handleClick); };
113
+ }, [markdownString, skipSurroundingParagraph, openerService]);
86
114
  return ref;
87
115
  };
88
116
  exports.useMarkdownRendering = useMarkdownRendering;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-part-renderer.js","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/markdown-part-renderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown-part-renderer.js","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/markdown-part-renderer.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { ChatAgentService, ChatModel, ChatRequestModel, ChatResponseContent, ChatResponseModel } from '@theia/ai-chat';
3
3
  import { ContributionProvider } from '@theia/core';
4
- import { ContextMenuRenderer, NodeProps, TreeModel, TreeNode, TreeProps, TreeWidget } from '@theia/core/lib/browser';
4
+ import { ContextMenuRenderer, NodeProps, OpenerService, TreeModel, TreeNode, TreeProps, TreeWidget } from '@theia/core/lib/browser';
5
5
  import * as React from '@theia/core/shared/react';
6
6
  import { ChatNodeToolbarActionContribution } from '../chat-node-toolbar-action-contribution';
7
7
  import { ChatResponsePartRenderer } from '../chat-response-part-renderer';
@@ -22,6 +22,7 @@ export declare class ChatViewTreeWidget extends TreeWidget {
22
22
  protected chatAgentService: ChatAgentService;
23
23
  protected readonly variableService: AIVariableService;
24
24
  private commandRegistry;
25
+ protected readonly openerService: OpenerService;
25
26
  private hoverService;
26
27
  protected _shouldScrollToEnd: boolean;
27
28
  protected isEnabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-view-tree-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/chat-view-tree-widget.tsx"],"names":[],"mappings":";AAeA,OAAO,EAEH,gBAAgB,EAChB,SAAS,EAET,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EAGpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAmB,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAIH,mBAAmB,EAInB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,EACb,MAAM,yBAAyB,CAAC;AAOjC,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,MAAM,WAAW,WAAY,SAAQ,QAAQ;IACzC,OAAO,EAAE,gBAAgB,CAAA;CAC5B;AACD,eAAO,MAAM,aAAa,SAAU,QAAQ,wBAA2C,CAAC;AAGxF,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC1C,QAAQ,EAAE,iBAAiB,CAAA;CAC9B;AACD,eAAO,MAAM,cAAc,SAAU,QAAQ,yBAA6C,CAAC;AAM3F,qBACa,kBAAmB,SAAQ,UAAU;IAC9C,MAAM,CAAC,QAAQ,CAAC,EAAE,sBAAsB;IACxC,MAAM,CAAC,QAAQ,CAAC,YAAY,WAA8B;IAG1D,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,oBAAoB,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAGlH,SAAS,CAAC,QAAQ,CAAC,kCAAkC,EAAE,oBAAoB,CAAC,iCAAiC,CAAC,CAAC;IAG/G,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAG7C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAGtD,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,YAAY,CAAe;IAEnC,SAAS,CAAC,kBAAkB,UAAQ;IAEpC,SAAS,CAAC,SAAS,UAAS;IAE5B,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,EAG/C;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;gBAGsB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EACN,mBAAmB,EAAE,mBAAmB;cAiBtD,IAAI,IAAI,IAAI;IAOxB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;cAKtB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,SAAS;IAOhE,OAAO,CAAC,qBAAqB;IAiD7B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,iBAAiB;IAQzB;;;OAGG;IACI,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;cAiB9B,cAAc,IAAI,MAAM,GAAG,SAAS;YAOzC,iBAAiB;cAYZ,UAAU,CACzB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,SAAS,GACjB,KAAK,CAAC,SAAS;IAelB,OAAO,CAAC,WAAW;IAuDnB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,2BAA2B;IAgBnC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI;CAQtG"}
1
+ {"version":3,"file":"chat-view-tree-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/chat-view-tree-widget.tsx"],"names":[],"mappings":";AAeA,OAAO,EAEH,gBAAgB,EAChB,SAAS,EAET,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EAGpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAmB,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAIH,mBAAmB,EAInB,SAAS,EACT,aAAa,EACb,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,EACb,MAAM,yBAAyB,CAAC;AAOjC,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,MAAM,WAAW,WAAY,SAAQ,QAAQ;IACzC,OAAO,EAAE,gBAAgB,CAAA;CAC5B;AACD,eAAO,MAAM,aAAa,SAAU,QAAQ,wBAA2C,CAAC;AAGxF,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC1C,QAAQ,EAAE,iBAAiB,CAAA;CAC9B;AACD,eAAO,MAAM,cAAc,SAAU,QAAQ,yBAA6C,CAAC;AAM3F,qBACa,kBAAmB,SAAQ,UAAU;IAC9C,MAAM,CAAC,QAAQ,CAAC,EAAE,sBAAsB;IACxC,MAAM,CAAC,QAAQ,CAAC,YAAY,WAA8B;IAG1D,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,oBAAoB,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAGlH,SAAS,CAAC,QAAQ,CAAC,kCAAkC,EAAE,oBAAoB,CAAC,iCAAiC,CAAC,CAAC;IAG/G,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAG7C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAGtD,OAAO,CAAC,eAAe,CAAkB;IAGzC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,OAAO,CAAC,YAAY,CAAe;IAEnC,SAAS,CAAC,kBAAkB,UAAQ;IAEpC,SAAS,CAAC,SAAS,UAAS;IAE5B,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,EAG/C;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;gBAGsB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EACN,mBAAmB,EAAE,mBAAmB;cAiBtD,IAAI,IAAI,IAAI;IAOxB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;cAKtB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,SAAS;IAOhE,OAAO,CAAC,qBAAqB;IAiD7B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,iBAAiB;IAQzB;;;OAGG;IACI,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;cAiB9B,cAAc,IAAI,MAAM,GAAG,SAAS;YAOzC,iBAAiB;cAYZ,UAAU,CACzB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,SAAS,GACjB,KAAK,CAAC,SAAS;IAelB,OAAO,CAAC,WAAW;IAuDnB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,2BAA2B;IAgBnC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI;CAQtG"}