@theia/ai-chat-ui 1.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -0
- package/lib/browser/ai-chat-ui-contribution.d.ts +24 -0
- package/lib/browser/ai-chat-ui-contribution.d.ts.map +1 -0
- package/lib/browser/ai-chat-ui-contribution.js +161 -0
- package/lib/browser/ai-chat-ui-contribution.js.map +1 -0
- package/lib/browser/ai-chat-ui-frontend-module.d.ts +5 -0
- package/lib/browser/ai-chat-ui-frontend-module.d.ts.map +1 -0
- package/lib/browser/ai-chat-ui-frontend-module.js +83 -0
- package/lib/browser/ai-chat-ui-frontend-module.js.map +1 -0
- package/lib/browser/chat-input-widget.d.ts +32 -0
- package/lib/browser/chat-input-widget.d.ts.map +1 -0
- package/lib/browser/chat-input-widget.js +205 -0
- package/lib/browser/chat-input-widget.js.map +1 -0
- package/lib/browser/chat-node-toolbar-action-contribution.d.ts +47 -0
- package/lib/browser/chat-node-toolbar-action-contribution.d.ts.map +1 -0
- package/lib/browser/chat-node-toolbar-action-contribution.js +25 -0
- package/lib/browser/chat-node-toolbar-action-contribution.js.map +1 -0
- package/lib/browser/chat-response-part-renderer.d.ts +10 -0
- package/lib/browser/chat-response-part-renderer.d.ts.map +1 -0
- package/lib/browser/chat-response-part-renderer.js +20 -0
- package/lib/browser/chat-response-part-renderer.js.map +1 -0
- package/lib/browser/chat-response-renderer/ai-editor-manager.d.ts +36 -0
- package/lib/browser/chat-response-renderer/ai-editor-manager.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/ai-editor-manager.js +184 -0
- package/lib/browser/chat-response-renderer/ai-editor-manager.js.map +1 -0
- package/lib/browser/chat-response-renderer/code-part-renderer.d.ts +45 -0
- package/lib/browser/chat-response-renderer/code-part-renderer.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/code-part-renderer.js +186 -0
- package/lib/browser/chat-response-renderer/code-part-renderer.js.map +1 -0
- package/lib/browser/chat-response-renderer/command-part-renderer.d.ts +12 -0
- package/lib/browser/chat-response-renderer/command-part-renderer.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/command-part-renderer.js +70 -0
- package/lib/browser/chat-response-renderer/command-part-renderer.js.map +1 -0
- package/lib/browser/chat-response-renderer/error-part-renderer.d.ts +9 -0
- package/lib/browser/chat-response-renderer/error-part-renderer.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/error-part-renderer.js +40 -0
- package/lib/browser/chat-response-renderer/error-part-renderer.js.map +1 -0
- package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.d.ts +12 -0
- package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.js +54 -0
- package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.js.map +1 -0
- package/lib/browser/chat-response-renderer/index.d.ts +9 -0
- package/lib/browser/chat-response-renderer/index.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/index.js +27 -0
- package/lib/browser/chat-response-renderer/index.js.map +1 -0
- package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts +17 -0
- package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/markdown-part-renderer.js +70 -0
- package/lib/browser/chat-response-renderer/markdown-part-renderer.js.map +1 -0
- package/lib/browser/chat-response-renderer/text-part-renderer.d.ts +9 -0
- package/lib/browser/chat-response-renderer/text-part-renderer.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/text-part-renderer.js +41 -0
- package/lib/browser/chat-response-renderer/text-part-renderer.js.map +1 -0
- package/lib/browser/chat-response-renderer/text-part-renderer.spec.d.ts +2 -0
- package/lib/browser/chat-response-renderer/text-part-renderer.spec.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/text-part-renderer.spec.js +46 -0
- package/lib/browser/chat-response-renderer/text-part-renderer.spec.js.map +1 -0
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts +9 -0
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.js +49 -0
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.js.map +1 -0
- package/lib/browser/chat-tree-view/chat-view-tree-container.d.ts +4 -0
- package/lib/browser/chat-tree-view/chat-view-tree-container.d.ts.map +1 -0
- package/lib/browser/chat-tree-view/chat-view-tree-container.js +33 -0
- package/lib/browser/chat-tree-view/chat-view-tree-container.js.map +1 -0
- package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts +53 -0
- package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts.map +1 -0
- package/lib/browser/chat-tree-view/chat-view-tree-widget.js +324 -0
- package/lib/browser/chat-tree-view/chat-view-tree-widget.js.map +1 -0
- package/lib/browser/chat-tree-view/index.d.ts +3 -0
- package/lib/browser/chat-tree-view/index.d.ts.map +1 -0
- package/lib/browser/chat-tree-view/index.js +21 -0
- package/lib/browser/chat-tree-view/index.js.map +1 -0
- package/lib/browser/chat-view-commands.d.ts +8 -0
- package/lib/browser/chat-view-commands.d.ts.map +1 -0
- package/lib/browser/chat-view-commands.js +44 -0
- package/lib/browser/chat-view-commands.js.map +1 -0
- package/lib/browser/chat-view-contribution.d.ts +18 -0
- package/lib/browser/chat-view-contribution.d.ts.map +1 -0
- package/lib/browser/chat-view-contribution.js +153 -0
- package/lib/browser/chat-view-contribution.js.map +1 -0
- package/lib/browser/chat-view-language-contribution.d.ts +20 -0
- package/lib/browser/chat-view-language-contribution.d.ts.map +1 -0
- package/lib/browser/chat-view-language-contribution.js +98 -0
- package/lib/browser/chat-view-language-contribution.js.map +1 -0
- package/lib/browser/chat-view-widget-toolbar-contribution.d.ts +11 -0
- package/lib/browser/chat-view-widget-toolbar-contribution.d.ts.map +1 -0
- package/lib/browser/chat-view-widget-toolbar-contribution.js +65 -0
- package/lib/browser/chat-view-widget-toolbar-contribution.js.map +1 -0
- package/lib/browser/chat-view-widget.d.ts +41 -0
- package/lib/browser/chat-view-widget.d.ts.map +1 -0
- package/lib/browser/chat-view-widget.js +182 -0
- package/lib/browser/chat-view-widget.js.map +1 -0
- package/package.json +59 -0
- package/src/browser/ai-chat-ui-contribution.ts +171 -0
- package/src/browser/ai-chat-ui-frontend-module.ts +101 -0
- package/src/browser/chat-input-widget.tsx +247 -0
- package/src/browser/chat-node-toolbar-action-contribution.ts +63 -0
- package/src/browser/chat-response-part-renderer.ts +25 -0
- package/src/browser/chat-response-renderer/ai-editor-manager.ts +183 -0
- package/src/browser/chat-response-renderer/code-part-renderer.tsx +208 -0
- package/src/browser/chat-response-renderer/command-part-renderer.tsx +60 -0
- package/src/browser/chat-response-renderer/error-part-renderer.tsx +35 -0
- package/src/browser/chat-response-renderer/horizontal-layout-part-renderer.tsx +59 -0
- package/src/browser/chat-response-renderer/index.ts +23 -0
- package/src/browser/chat-response-renderer/markdown-part-renderer.tsx +71 -0
- package/src/browser/chat-response-renderer/text-part-renderer.spec.ts +50 -0
- package/src/browser/chat-response-renderer/text-part-renderer.tsx +35 -0
- package/src/browser/chat-response-renderer/toolcall-part-renderer.tsx +49 -0
- package/src/browser/chat-tree-view/chat-view-tree-container.ts +32 -0
- package/src/browser/chat-tree-view/chat-view-tree-widget.tsx +410 -0
- package/src/browser/chat-tree-view/index.ts +18 -0
- package/src/browser/chat-view-commands.ts +45 -0
- package/src/browser/chat-view-contribution.ts +154 -0
- package/src/browser/chat-view-language-contribution.ts +141 -0
- package/src/browser/chat-view-widget-toolbar-contribution.tsx +54 -0
- package/src/browser/chat-view-widget.tsx +194 -0
- package/src/browser/style/index.css +328 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ChatAgentService, ChatModel, ChatRequestModel, ChatResponseContent, ChatResponseModel } from '@theia/ai-chat';
|
|
3
|
+
import { ContributionProvider } from '@theia/core';
|
|
4
|
+
import { ContextMenuRenderer, NodeProps, TreeModel, TreeNode, TreeProps, TreeWidget } from '@theia/core/lib/browser';
|
|
5
|
+
import * as React from '@theia/core/shared/react';
|
|
6
|
+
import { ChatNodeToolbarActionContribution } from '../chat-node-toolbar-action-contribution';
|
|
7
|
+
import { ChatResponsePartRenderer } from '../chat-response-part-renderer';
|
|
8
|
+
export interface RequestNode extends TreeNode {
|
|
9
|
+
request: ChatRequestModel;
|
|
10
|
+
}
|
|
11
|
+
export declare const isRequestNode: (node: TreeNode) => node is RequestNode;
|
|
12
|
+
export interface ResponseNode extends TreeNode {
|
|
13
|
+
response: ChatResponseModel;
|
|
14
|
+
}
|
|
15
|
+
export declare const isResponseNode: (node: TreeNode) => node is ResponseNode;
|
|
16
|
+
export declare class ChatViewTreeWidget extends TreeWidget {
|
|
17
|
+
static readonly ID = "chat-tree-widget";
|
|
18
|
+
static readonly CONTEXT_MENU: string[];
|
|
19
|
+
protected readonly chatResponsePartRenderers: ContributionProvider<ChatResponsePartRenderer<ChatResponseContent>>;
|
|
20
|
+
protected readonly chatNodeToolbarActionContributions: ContributionProvider<ChatNodeToolbarActionContribution>;
|
|
21
|
+
private renderer;
|
|
22
|
+
protected chatAgentService: ChatAgentService;
|
|
23
|
+
private commandRegistry;
|
|
24
|
+
protected _shouldScrollToEnd: boolean;
|
|
25
|
+
protected isEnabled: boolean;
|
|
26
|
+
set shouldScrollToEnd(shouldScrollToEnd: boolean);
|
|
27
|
+
get shouldScrollToEnd(): boolean;
|
|
28
|
+
constructor(props: TreeProps, model: TreeModel, contextMenuRenderer: ContextMenuRenderer);
|
|
29
|
+
protected init(): void;
|
|
30
|
+
setEnabled(enabled: boolean): void;
|
|
31
|
+
protected renderTree(model: TreeModel): React.ReactNode;
|
|
32
|
+
private renderDisabledMessage;
|
|
33
|
+
private renderLinkButton;
|
|
34
|
+
private mapRequestToNode;
|
|
35
|
+
private mapResponseToNode;
|
|
36
|
+
/**
|
|
37
|
+
* Tracks the ChatModel handed over.
|
|
38
|
+
* Tracking multiple chat models will result in a weird UI
|
|
39
|
+
*/
|
|
40
|
+
trackChatModel(chatModel: ChatModel): void;
|
|
41
|
+
protected getScrollToRow(): number | undefined;
|
|
42
|
+
private recreateModelTree;
|
|
43
|
+
protected renderNode(node: TreeNode, props: NodeProps): React.ReactNode;
|
|
44
|
+
private renderAgent;
|
|
45
|
+
private getAgentLabel;
|
|
46
|
+
private getAgentIconClassName;
|
|
47
|
+
private renderDetail;
|
|
48
|
+
private renderChatRequest;
|
|
49
|
+
private renderChatResponse;
|
|
50
|
+
private getChatResponsePartRenderer;
|
|
51
|
+
protected handleContextMenu(node: TreeNode | undefined, event: React.MouseEvent<HTMLElement>): void;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=chat-view-tree-widget.d.ts.map
|
|
@@ -0,0 +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,EACH,gBAAgB,EAChB,SAAS,EAET,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAmB,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAIH,mBAAmB,EAGnB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,EACb,MAAM,yBAAyB,CAAC;AAQjC,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAGlD,OAAO,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAI1E,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,OAAO,CAAC,QAAQ,CAAmB;IAGnC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAG7C,OAAO,CAAC,eAAe,CAAkB;IAEzC,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;IAsCnB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,kBAAkB;IAe1B,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"}
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var ChatViewTreeWidget_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ChatViewTreeWidget = exports.isResponseNode = exports.isRequestNode = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
// *****************************************************************************
|
|
7
|
+
// Copyright (C) 2024 EclipseSource GmbH.
|
|
8
|
+
//
|
|
9
|
+
// This program and the accompanying materials are made available under the
|
|
10
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
11
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
12
|
+
//
|
|
13
|
+
// This Source Code may also be made available under the following Secondary
|
|
14
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
15
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
16
|
+
// with the GNU Classpath Exception which is available at
|
|
17
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
18
|
+
//
|
|
19
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
20
|
+
// *****************************************************************************
|
|
21
|
+
const ai_chat_1 = require("@theia/ai-chat");
|
|
22
|
+
const core_1 = require("@theia/core");
|
|
23
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
24
|
+
const markdown_string_1 = require("@theia/core/lib/common/markdown-rendering/markdown-string");
|
|
25
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
26
|
+
const React = require("@theia/core/shared/react");
|
|
27
|
+
const markdown_renderer_1 = require("@theia/core/lib/browser/markdown-rendering/markdown-renderer");
|
|
28
|
+
const chat_node_toolbar_action_contribution_1 = require("../chat-node-toolbar-action-contribution");
|
|
29
|
+
const chat_response_part_renderer_1 = require("../chat-response-part-renderer");
|
|
30
|
+
const markdown_part_renderer_1 = require("../chat-response-renderer/markdown-part-renderer");
|
|
31
|
+
const isRequestNode = (node) => 'request' in node;
|
|
32
|
+
exports.isRequestNode = isRequestNode;
|
|
33
|
+
const isResponseNode = (node) => 'response' in node;
|
|
34
|
+
exports.isResponseNode = isResponseNode;
|
|
35
|
+
function isEnterKey(e) {
|
|
36
|
+
var _a;
|
|
37
|
+
return browser_1.Key.ENTER.keyCode === ((_a = browser_1.KeyCode.createKeyCode(e.nativeEvent).key) === null || _a === void 0 ? void 0 : _a.keyCode);
|
|
38
|
+
}
|
|
39
|
+
let ChatViewTreeWidget = ChatViewTreeWidget_1 = class ChatViewTreeWidget extends browser_1.TreeWidget {
|
|
40
|
+
set shouldScrollToEnd(shouldScrollToEnd) {
|
|
41
|
+
this._shouldScrollToEnd = shouldScrollToEnd;
|
|
42
|
+
this.shouldScrollToRow = this._shouldScrollToEnd;
|
|
43
|
+
}
|
|
44
|
+
get shouldScrollToEnd() {
|
|
45
|
+
return this._shouldScrollToEnd;
|
|
46
|
+
}
|
|
47
|
+
constructor(props, model, contextMenuRenderer) {
|
|
48
|
+
super(props, model, contextMenuRenderer);
|
|
49
|
+
this._shouldScrollToEnd = true;
|
|
50
|
+
this.isEnabled = false;
|
|
51
|
+
this.id = ChatViewTreeWidget_1.ID;
|
|
52
|
+
this.title.closable = false;
|
|
53
|
+
model.root = {
|
|
54
|
+
id: 'ChatTree',
|
|
55
|
+
name: 'ChatRootNode',
|
|
56
|
+
parent: undefined,
|
|
57
|
+
visible: false,
|
|
58
|
+
children: [],
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
init() {
|
|
62
|
+
super.init();
|
|
63
|
+
this.id = ChatViewTreeWidget_1.ID + '-treeContainer';
|
|
64
|
+
this.addClass('treeContainer');
|
|
65
|
+
}
|
|
66
|
+
setEnabled(enabled) {
|
|
67
|
+
this.isEnabled = enabled;
|
|
68
|
+
this.update();
|
|
69
|
+
}
|
|
70
|
+
renderTree(model) {
|
|
71
|
+
if (this.isEnabled) {
|
|
72
|
+
return super.renderTree(model);
|
|
73
|
+
}
|
|
74
|
+
return this.renderDisabledMessage();
|
|
75
|
+
}
|
|
76
|
+
renderDisabledMessage() {
|
|
77
|
+
return React.createElement("div", { className: 'theia-ResponseNode' },
|
|
78
|
+
React.createElement("div", { className: 'theia-ResponseNode-Content', key: 'disabled-message' },
|
|
79
|
+
React.createElement("div", { className: "disable-message" },
|
|
80
|
+
React.createElement("span", { className: "section-header" }, " \uD83D\uDE80 Experimental AI Feature Available!"),
|
|
81
|
+
React.createElement("div", { className: "section-title" },
|
|
82
|
+
React.createElement("p", null,
|
|
83
|
+
React.createElement("code", null, "Currently, all AI Features are disabled!"))),
|
|
84
|
+
React.createElement("div", { className: "section-title" },
|
|
85
|
+
React.createElement("p", null, "How to Enable Experimental AI Features:")),
|
|
86
|
+
React.createElement("div", { className: "section-content" },
|
|
87
|
+
React.createElement("p", null,
|
|
88
|
+
"To enable the experimental AI features, please go to \u00A0",
|
|
89
|
+
this.renderLinkButton('the settings menu', browser_1.CommonCommands.OPEN_PREFERENCES.id),
|
|
90
|
+
"\u00A0and locate the ",
|
|
91
|
+
React.createElement("strong", null, "AI Features"),
|
|
92
|
+
" section."),
|
|
93
|
+
React.createElement("ol", null,
|
|
94
|
+
React.createElement("li", null,
|
|
95
|
+
"Toggle the switch for ",
|
|
96
|
+
React.createElement("strong", null, "'Ai-features: Enable'"),
|
|
97
|
+
"."),
|
|
98
|
+
React.createElement("li", null,
|
|
99
|
+
"Provide at least one LLM provider (e.g. OpenAI), also see ",
|
|
100
|
+
React.createElement("a", { href: "https://theia-ide.org/docs/user_ai/", target: "_blank" }, "the documentation"),
|
|
101
|
+
"for more information.")),
|
|
102
|
+
React.createElement("p", null, "This will activate the new AI capabilities in the app. Please remember, these features are still in development, so they may change or be unstable. \uD83D\uDEA7")),
|
|
103
|
+
React.createElement("div", { className: "section-title" },
|
|
104
|
+
React.createElement("p", null, "Currently Supported Views and Features:")),
|
|
105
|
+
React.createElement("div", { className: "section-content" },
|
|
106
|
+
React.createElement("p", null, "Once the experimental AI features are enabled, you can access the following views and features:"),
|
|
107
|
+
React.createElement("ul", null,
|
|
108
|
+
React.createElement("li", null, "Code Completion"),
|
|
109
|
+
React.createElement("li", null, "Terminal Assistance (via CTRL+I in a terminal)"),
|
|
110
|
+
React.createElement("li", null,
|
|
111
|
+
"This Chat View (features the following agents):",
|
|
112
|
+
React.createElement("ul", null,
|
|
113
|
+
React.createElement("li", null, "Universal Chat Agent"),
|
|
114
|
+
React.createElement("li", null, "Workspace Chat Agent"),
|
|
115
|
+
React.createElement("li", null, "Command Chat Agent"),
|
|
116
|
+
React.createElement("li", null, "Orchestrator Chat Agent"))),
|
|
117
|
+
React.createElement("li", null, this.renderLinkButton('AI History View', 'aiHistory:open')),
|
|
118
|
+
React.createElement("li", null, this.renderLinkButton('AI Configuration View', 'aiConfiguration:open'))),
|
|
119
|
+
React.createElement("p", null,
|
|
120
|
+
"See ",
|
|
121
|
+
React.createElement("a", { href: "https://theia-ide.org/docs/user_ai/", target: "_blank" }, "the documentation"),
|
|
122
|
+
" for more information.")))));
|
|
123
|
+
}
|
|
124
|
+
renderLinkButton(title, openCommandId) {
|
|
125
|
+
return React.createElement("a", { role: 'button', tabIndex: 0, onClick: () => this.commandRegistry.executeCommand(openCommandId), onKeyDown: e => isEnterKey(e) && this.commandRegistry.executeCommand(openCommandId) }, title);
|
|
126
|
+
}
|
|
127
|
+
mapRequestToNode(request) {
|
|
128
|
+
return {
|
|
129
|
+
id: request.id,
|
|
130
|
+
parent: this.model.root,
|
|
131
|
+
request
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
mapResponseToNode(response) {
|
|
135
|
+
return {
|
|
136
|
+
id: response.id,
|
|
137
|
+
parent: this.model.root,
|
|
138
|
+
response
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Tracks the ChatModel handed over.
|
|
143
|
+
* Tracking multiple chat models will result in a weird UI
|
|
144
|
+
*/
|
|
145
|
+
trackChatModel(chatModel) {
|
|
146
|
+
this.recreateModelTree(chatModel);
|
|
147
|
+
chatModel.getRequests().forEach(request => {
|
|
148
|
+
if (!request.response.isComplete) {
|
|
149
|
+
request.response.onDidChange(() => this.scheduleUpdateScrollToRow());
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
this.toDispose.push(chatModel.onDidChange(event => {
|
|
153
|
+
this.recreateModelTree(chatModel);
|
|
154
|
+
if (event.kind === 'addRequest' && !event.request.response.isComplete) {
|
|
155
|
+
event.request.response.onDidChange(() => this.scheduleUpdateScrollToRow());
|
|
156
|
+
}
|
|
157
|
+
}));
|
|
158
|
+
}
|
|
159
|
+
getScrollToRow() {
|
|
160
|
+
if (this.shouldScrollToEnd) {
|
|
161
|
+
return this.rows.size;
|
|
162
|
+
}
|
|
163
|
+
return super.getScrollToRow();
|
|
164
|
+
}
|
|
165
|
+
async recreateModelTree(chatModel) {
|
|
166
|
+
if (browser_1.CompositeTreeNode.is(this.model.root)) {
|
|
167
|
+
const nodes = [];
|
|
168
|
+
chatModel.getRequests().forEach(request => {
|
|
169
|
+
nodes.push(this.mapRequestToNode(request));
|
|
170
|
+
nodes.push(this.mapResponseToNode(request.response));
|
|
171
|
+
});
|
|
172
|
+
this.model.root.children = nodes;
|
|
173
|
+
this.model.refresh();
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
renderNode(node, props) {
|
|
177
|
+
if (!browser_1.TreeNode.isVisible(node)) {
|
|
178
|
+
return undefined;
|
|
179
|
+
}
|
|
180
|
+
if (!((0, exports.isRequestNode)(node) || (0, exports.isResponseNode)(node))) {
|
|
181
|
+
return super.renderNode(node, props);
|
|
182
|
+
}
|
|
183
|
+
return React.createElement(React.Fragment, { key: node.id },
|
|
184
|
+
React.createElement("div", { className: 'theia-ChatNode', onContextMenu: e => this.handleContextMenu(node, e) },
|
|
185
|
+
this.renderAgent(node),
|
|
186
|
+
this.renderDetail(node)));
|
|
187
|
+
}
|
|
188
|
+
renderAgent(node) {
|
|
189
|
+
const inProgress = (0, exports.isResponseNode)(node) && !node.response.isComplete && !node.response.isCanceled && !node.response.isError;
|
|
190
|
+
const toolbarContributions = !inProgress
|
|
191
|
+
? this.chatNodeToolbarActionContributions.getContributions()
|
|
192
|
+
.flatMap(c => c.getToolbarActions(node))
|
|
193
|
+
.filter(action => this.commandRegistry.isEnabled(action.commandId, node))
|
|
194
|
+
.sort((a, b) => { var _a, _b; return ((_a = a.priority) !== null && _a !== void 0 ? _a : 0) - ((_b = b.priority) !== null && _b !== void 0 ? _b : 0); })
|
|
195
|
+
: [];
|
|
196
|
+
return React.createElement(React.Fragment, null,
|
|
197
|
+
React.createElement("div", { className: 'theia-ChatNodeHeader' },
|
|
198
|
+
React.createElement("div", { className: `theia-AgentAvatar ${this.getAgentIconClassName(node)}` }),
|
|
199
|
+
React.createElement("h3", { className: 'theia-AgentLabel' }, this.getAgentLabel(node)),
|
|
200
|
+
inProgress && React.createElement("span", { className: 'theia-ChatContentInProgress' }, "Generating"),
|
|
201
|
+
React.createElement("div", { className: 'theia-ChatNodeToolbar' }, !inProgress &&
|
|
202
|
+
toolbarContributions.length > 0 &&
|
|
203
|
+
toolbarContributions.map(action => React.createElement("span", { className: `theia-ChatNodeToolbarAction ${action.icon}`, title: action.tooltip, onClick: e => {
|
|
204
|
+
e.stopPropagation();
|
|
205
|
+
this.commandRegistry.executeCommand(action.commandId, node);
|
|
206
|
+
}, onKeyDown: e => {
|
|
207
|
+
if (isEnterKey(e)) {
|
|
208
|
+
e.stopPropagation();
|
|
209
|
+
this.commandRegistry.executeCommand(action.commandId, node);
|
|
210
|
+
}
|
|
211
|
+
}, role: 'button' })))));
|
|
212
|
+
}
|
|
213
|
+
getAgentLabel(node) {
|
|
214
|
+
var _a;
|
|
215
|
+
if ((0, exports.isRequestNode)(node)) {
|
|
216
|
+
// TODO find user name
|
|
217
|
+
return 'You';
|
|
218
|
+
}
|
|
219
|
+
const agent = node.response.agentId ? this.chatAgentService.getAgent(node.response.agentId) : undefined;
|
|
220
|
+
return (_a = agent === null || agent === void 0 ? void 0 : agent.name) !== null && _a !== void 0 ? _a : 'AI';
|
|
221
|
+
}
|
|
222
|
+
getAgentIconClassName(node) {
|
|
223
|
+
var _a;
|
|
224
|
+
if ((0, exports.isRequestNode)(node)) {
|
|
225
|
+
return (0, browser_1.codicon)('account');
|
|
226
|
+
}
|
|
227
|
+
const agent = node.response.agentId ? this.chatAgentService.getAgent(node.response.agentId) : undefined;
|
|
228
|
+
return (_a = agent === null || agent === void 0 ? void 0 : agent.iconClass) !== null && _a !== void 0 ? _a : (0, browser_1.codicon)('copilot');
|
|
229
|
+
}
|
|
230
|
+
renderDetail(node) {
|
|
231
|
+
if ((0, exports.isRequestNode)(node)) {
|
|
232
|
+
return this.renderChatRequest(node);
|
|
233
|
+
}
|
|
234
|
+
if ((0, exports.isResponseNode)(node)) {
|
|
235
|
+
return this.renderChatResponse(node);
|
|
236
|
+
}
|
|
237
|
+
;
|
|
238
|
+
}
|
|
239
|
+
renderChatRequest(node) {
|
|
240
|
+
var _a;
|
|
241
|
+
const text = (_a = node.request.request.displayText) !== null && _a !== void 0 ? _a : node.request.request.text;
|
|
242
|
+
const markdownString = new markdown_string_1.MarkdownStringImpl(text, { supportHtml: true, isTrusted: true });
|
|
243
|
+
return (React.createElement("div", { className: 'theia-RequestNode' }, React.createElement(markdown_part_renderer_1.MarkdownWrapper, { data: markdownString, renderCallback: () => this.renderer.render(markdownString).element })));
|
|
244
|
+
}
|
|
245
|
+
renderChatResponse(node) {
|
|
246
|
+
return (React.createElement("div", { className: 'theia-ResponseNode' },
|
|
247
|
+
!node.response.isComplete
|
|
248
|
+
&& node.response.response.content.length === 0
|
|
249
|
+
&& node.response.progressMessages.map((c, i) => React.createElement(ProgressMessage, { ...c, key: `${node.id}-progress-${i}` })),
|
|
250
|
+
node.response.response.content.map((c, i) => React.createElement("div", { className: 'theia-ResponseNode-Content', key: `${node.id}-content-${i}` }, this.getChatResponsePartRenderer(c, node)))));
|
|
251
|
+
}
|
|
252
|
+
getChatResponsePartRenderer(content, node) {
|
|
253
|
+
const renderer = this.chatResponsePartRenderers.getContributions().reduce((prev, current) => {
|
|
254
|
+
const prio = current.canHandle(content);
|
|
255
|
+
if (prio > prev[0]) {
|
|
256
|
+
return [prio, current];
|
|
257
|
+
}
|
|
258
|
+
return prev;
|
|
259
|
+
}, [-1, undefined])[1];
|
|
260
|
+
if (!renderer) {
|
|
261
|
+
console.error('No renderer found for content', content);
|
|
262
|
+
return React.createElement("div", null, "Error: No renderer found");
|
|
263
|
+
}
|
|
264
|
+
return renderer.render(content, node);
|
|
265
|
+
}
|
|
266
|
+
handleContextMenu(node, event) {
|
|
267
|
+
this.contextMenuRenderer.render({
|
|
268
|
+
menuPath: ChatViewTreeWidget_1.CONTEXT_MENU,
|
|
269
|
+
anchor: { x: event.clientX, y: event.clientY },
|
|
270
|
+
args: [node]
|
|
271
|
+
});
|
|
272
|
+
event.preventDefault();
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
exports.ChatViewTreeWidget = ChatViewTreeWidget;
|
|
276
|
+
ChatViewTreeWidget.ID = 'chat-tree-widget';
|
|
277
|
+
ChatViewTreeWidget.CONTEXT_MENU = ['chat-tree-context-menu'];
|
|
278
|
+
tslib_1.__decorate([
|
|
279
|
+
(0, inversify_1.inject)(core_1.ContributionProvider),
|
|
280
|
+
(0, inversify_1.named)(chat_response_part_renderer_1.ChatResponsePartRenderer),
|
|
281
|
+
tslib_1.__metadata("design:type", Object)
|
|
282
|
+
], ChatViewTreeWidget.prototype, "chatResponsePartRenderers", void 0);
|
|
283
|
+
tslib_1.__decorate([
|
|
284
|
+
(0, inversify_1.inject)(core_1.ContributionProvider),
|
|
285
|
+
(0, inversify_1.named)(chat_node_toolbar_action_contribution_1.ChatNodeToolbarActionContribution),
|
|
286
|
+
tslib_1.__metadata("design:type", Object)
|
|
287
|
+
], ChatViewTreeWidget.prototype, "chatNodeToolbarActionContributions", void 0);
|
|
288
|
+
tslib_1.__decorate([
|
|
289
|
+
(0, inversify_1.inject)(markdown_renderer_1.MarkdownRenderer),
|
|
290
|
+
tslib_1.__metadata("design:type", Object)
|
|
291
|
+
], ChatViewTreeWidget.prototype, "renderer", void 0);
|
|
292
|
+
tslib_1.__decorate([
|
|
293
|
+
(0, inversify_1.inject)(ai_chat_1.ChatAgentService),
|
|
294
|
+
tslib_1.__metadata("design:type", Object)
|
|
295
|
+
], ChatViewTreeWidget.prototype, "chatAgentService", void 0);
|
|
296
|
+
tslib_1.__decorate([
|
|
297
|
+
(0, inversify_1.inject)(core_1.CommandRegistry),
|
|
298
|
+
tslib_1.__metadata("design:type", core_1.CommandRegistry)
|
|
299
|
+
], ChatViewTreeWidget.prototype, "commandRegistry", void 0);
|
|
300
|
+
tslib_1.__decorate([
|
|
301
|
+
(0, inversify_1.postConstruct)(),
|
|
302
|
+
tslib_1.__metadata("design:type", Function),
|
|
303
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
304
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
305
|
+
], ChatViewTreeWidget.prototype, "init", null);
|
|
306
|
+
exports.ChatViewTreeWidget = ChatViewTreeWidget = ChatViewTreeWidget_1 = tslib_1.__decorate([
|
|
307
|
+
(0, inversify_1.injectable)(),
|
|
308
|
+
tslib_1.__param(0, (0, inversify_1.inject)(browser_1.TreeProps)),
|
|
309
|
+
tslib_1.__param(1, (0, inversify_1.inject)(browser_1.TreeModel)),
|
|
310
|
+
tslib_1.__param(2, (0, inversify_1.inject)(browser_1.ContextMenuRenderer)),
|
|
311
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, browser_1.ContextMenuRenderer])
|
|
312
|
+
], ChatViewTreeWidget);
|
|
313
|
+
const ProgressMessage = (c) => (React.createElement("div", { className: 'theia-ResponseNode-ProgressMessage' },
|
|
314
|
+
React.createElement(Indicator, { ...c }),
|
|
315
|
+
" ",
|
|
316
|
+
c.content));
|
|
317
|
+
const Indicator = (progressMessage) => (React.createElement("span", { className: 'theia-ResponseNode-ProgressMessage-Indicator' },
|
|
318
|
+
progressMessage.status === 'inProgress' &&
|
|
319
|
+
React.createElement("i", { className: 'fa fa-spinner fa-spin ' + progressMessage.status }),
|
|
320
|
+
progressMessage.status === 'completed' &&
|
|
321
|
+
React.createElement("i", { className: 'fa fa-check ' + progressMessage.status }),
|
|
322
|
+
progressMessage.status === 'failed' &&
|
|
323
|
+
React.createElement("i", { className: 'fa fa-warning ' + progressMessage.status })));
|
|
324
|
+
//# sourceMappingURL=chat-view-tree-widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-view-tree-widget.js","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/chat-view-tree-widget.tsx"],"names":[],"mappings":";;;;;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,4CAOwB;AACxB,sCAAoE;AACpE,qDAYiC;AACjC,+FAA+F;AAC/F,4DAKsC;AACtC,kDAAkD;AAElD,oGAAgG;AAChG,oGAA6F;AAC7F,gFAA0E;AAC1E,6FAAmF;AAM5E,MAAM,aAAa,GAAG,CAAC,IAAc,EAAuB,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC;AAA3E,QAAA,aAAa,iBAA8D;AAMjF,MAAM,cAAc,GAAG,CAAC,IAAc,EAAwB,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC;AAA9E,QAAA,cAAc,kBAAgE;AAE3F,SAAS,UAAU,CAAC,CAAsB;;IACtC,OAAO,aAAG,CAAC,KAAK,CAAC,OAAO,MAAK,MAAA,iBAAO,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,0CAAE,OAAO,CAAA,CAAC;AACnF,CAAC;AAGM,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,oBAAU;IAuB9C,IAAI,iBAAiB,CAAC,iBAA0B;QAC5C,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACrD,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,YACuB,KAAgB,EAChB,KAAgB,EACN,mBAAwC;QAErE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAlBnC,uBAAkB,GAAG,IAAI,CAAC;QAE1B,cAAS,GAAG,KAAK,CAAC;QAkBxB,IAAI,CAAC,EAAE,GAAG,oBAAkB,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QAE5B,KAAK,CAAC,IAAI,GAAG;YACT,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,EAAE;SACM,CAAC;IAC3B,CAAC;IAGkB,IAAI;QACnB,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,IAAI,CAAC,EAAE,GAAG,oBAAkB,CAAC,EAAE,GAAG,gBAAgB,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAEM,UAAU,CAAC,OAAgB;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAEkB,UAAU,CAAC,KAAgB;QAC1C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACxC,CAAC;IAEO,qBAAqB;QACzB,OAAO,6BAAK,SAAS,EAAE,oBAAoB;YACvC,6BAAK,SAAS,EAAC,4BAA4B,EAAC,GAAG,EAAE,kBAAkB;gBAC/D,6BAAK,SAAS,EAAC,iBAAiB;oBAC5B,8BAAM,SAAS,EAAC,gBAAgB,uDAA8C;oBAC9E,6BAAK,SAAS,EAAC,eAAe;wBAC1B;4BAAG,6EAAqD,CAAI,CAC1D;oBACN,6BAAK,SAAS,EAAC,eAAe;wBAC1B,yEAA8C,CAC5C;oBACN,6BAAK,SAAS,EAAC,iBAAiB;wBAC5B;;4BACK,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,wBAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;;4BAC1D,kDAA4B;wCAAa;wBAClE;4BACI;;gCAA0B,4DAAsC;oCAAM;4BACtE;;gCAA8D,2BAAG,IAAI,EAAC,qCAAqC,EAAC,MAAM,EAAC,QAAQ,wBAAsB;wDACnH,CAC7B;wBACL,kMAA6J,CAC3J;oBAEN,6BAAK,SAAS,EAAC,eAAe;wBAC1B,yEAA8C,CAC5C;oBACN,6BAAK,SAAS,EAAC,iBAAiB;wBAC5B,iIAAsG;wBACtG;4BACI,kDAAwB;4BACxB,iFAAuD;4BACvD;;gCACI;oCACI,uDAA6B;oCAC7B,uDAA6B;oCAC7B,qDAA2B;oCAC3B,0DAAgC,CAC/B,CACJ;4BACL,gCAAK,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAM;4BACrE,gCAAK,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAM,CAChF;wBACL;;4BAAO,2BAAG,IAAI,EAAC,qCAAqC,EAAC,MAAM,EAAC,QAAQ,wBAAsB;qDAA0B,CAClH,CACJ,CACJ,CACH,CAAC;IACZ,CAAC;IAEO,gBAAgB,CAAC,KAAa,EAAE,aAAqB;QACzD,OAAO,2BACH,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,aAAa,CAAC,EACjE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,aAAa,CAAC,IAClF,KAAK,CACN,CAAC;IACT,CAAC;IAEO,gBAAgB,CAAC,OAAyB;QAC9C,OAAO;YACH,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAyB;YAC5C,OAAO;SACV,CAAC;IACN,CAAC;IAEO,iBAAiB,CAAC,QAA2B;QACjD,OAAO;YACH,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAyB;YAC5C,QAAQ;SACX,CAAC;IACN,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,SAAoB;QACtC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;YACzE,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,CACf,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACpE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAEkB,cAAc;QAC7B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,OAAO,KAAK,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,SAAoB;QAChD,IAAI,2BAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,KAAK,GAAe,EAAE,CAAC;YAC7B,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACtC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAEkB,UAAU,CACzB,IAAc,EACd,KAAgB;QAEhB,IAAI,CAAC,kBAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,CAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE;YAC/B,6BAAK,SAAS,EAAC,gBAAgB,EAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CACtB,CACO,CAAC;IACtB,CAAC;IAEO,WAAW,CAAC,IAAgC;QAChD,MAAM,UAAU,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5H,MAAM,oBAAoB,GAAG,CAAC,UAAU;YACpC,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,gBAAgB,EAAE;iBACvD,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;iBACvC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;iBACxE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,eAAC,OAAA,CAAC,MAAA,CAAC,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAA,EAAA,CAAC;YAC1D,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,oBAAC,KAAK,CAAC,QAAQ;YAClB,6BAAK,SAAS,EAAC,sBAAsB;gBACjC,6BAAK,SAAS,EAAE,qBAAqB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,GAAQ;gBAC/E,4BAAI,SAAS,EAAC,kBAAkB,IAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAM;gBAC/D,UAAU,IAAI,8BAAM,SAAS,EAAC,6BAA6B,iBAAkB;gBAC9E,6BAAK,SAAS,EAAC,uBAAuB,IACjC,CAAC,UAAU;oBACR,oBAAoB,CAAC,MAAM,GAAG,CAAC;oBAC/B,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAC9B,8BACI,SAAS,EAAE,+BAA+B,MAAM,CAAC,IAAI,EAAE,EACvD,KAAK,EAAE,MAAM,CAAC,OAAO,EACrB,OAAO,EAAE,CAAC,CAAC,EAAE;4BACT,CAAC,CAAC,eAAe,EAAE,CAAC;4BACpB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;wBAChE,CAAC,EACD,SAAS,EAAE,CAAC,CAAC,EAAE;4BACX,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gCAChB,CAAC,CAAC,eAAe,EAAE,CAAC;gCACpB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;4BAChE,CAAC;wBACL,CAAC,EACD,IAAI,EAAC,QAAQ,GACT,CACX,CACH,CACJ,CACO,CAAC;IACtB,CAAC;IAEO,aAAa,CAAC,IAAgC;;QAClD,IAAI,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,sBAAsB;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxG,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,IAAI,CAAC;IAC/B,CAAC;IAEO,qBAAqB,CAAC,IAAgC;;QAC1D,IAAI,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,IAAA,iBAAO,EAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxG,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,mCAAI,IAAA,iBAAO,EAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAEO,YAAY,CAAC,IAAgC;QACjD,IAAI,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAAA,CAAC;IACN,CAAC;IAEO,iBAAiB,CAAC,IAAiB;;QACvC,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,mCAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3E,MAAM,cAAc,GAAG,IAAI,oCAAkB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,OAAO,CACH,6BAAK,SAAS,EAAE,mBAAmB,IAC9B,oBAAC,wCAAe,IACb,IAAI,EAAE,cAAc,EACpB,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,GACnD,CACjB,CACT,CAAC;IACN,CAAC;IAEO,kBAAkB,CAAC,IAAkB;QACzC,OAAO,CACH,6BAAK,SAAS,EAAE,oBAAoB;YAC/B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU;mBACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;mBAC3C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3C,oBAAC,eAAe,OAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,aAAa,CAAC,EAAE,GAAI,CAC9D;YACJ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACzC,6BAAK,SAAS,EAAC,4BAA4B,EAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,YAAY,CAAC,EAAE,IAAG,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,CAAC,CAAO,CAChI,CACC,CACT,CAAC;IACN,CAAC;IAEO,2BAA2B,CAAC,OAA4B,EAAE,IAAkB;QAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,CAAC,MAAM,CACrE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YACd,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,IAAI,CAAC;QAClB,CAAC,EACD,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;YACxD,OAAO,4DAAmC,CAAC;QAC/C,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAES,iBAAiB,CAAC,IAA0B,EAAE,KAAoC;QACxF,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAC5B,QAAQ,EAAE,oBAAkB,CAAC,YAAY;YACzC,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE;YAC9C,IAAI,EAAE,CAAC,IAAI,CAAC;SACf,CAAC,CAAC;QACH,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3B,CAAC;;AAhUQ,gDAAkB;AACX,qBAAE,GAAG,kBAAkB,AAArB,CAAsB;AACxB,+BAAY,GAAG,CAAC,wBAAwB,CAAC,AAA7B,CAA8B;AAGvC;IADlB,IAAA,kBAAM,EAAC,2BAAoB,CAAC;IAAE,IAAA,iBAAK,EAAC,sDAAwB,CAAC;;qEACoD;AAG/F;IADlB,IAAA,kBAAM,EAAC,2BAAoB,CAAC;IAAE,IAAA,iBAAK,EAAC,yEAAiC,CAAC;;8EACwC;AAGvG;IADP,IAAA,kBAAM,EAAC,oCAAgB,CAAC;;oDACU;AAGzB;IADT,IAAA,kBAAM,EAAC,0BAAgB,CAAC;;4DACoB;AAGrC;IADP,IAAA,kBAAM,EAAC,sBAAe,CAAC;sCACC,sBAAe;2DAAC;AAmCtB;IADlB,IAAA,yBAAa,GAAE;;;;8CAMf;6BAzDQ,kBAAkB;IAD9B,IAAA,sBAAU,GAAE;IAkCJ,mBAAA,IAAA,kBAAM,EAAC,mBAAS,CAAC,CAAA;IACjB,mBAAA,IAAA,kBAAM,EAAC,mBAAS,CAAC,CAAA;IACjB,mBAAA,IAAA,kBAAM,EAAC,6BAAmB,CAAC,CAAA;6DAAsB,6BAAmB;GAnChE,kBAAkB,CAiU9B;AAED,MAAM,eAAe,GAAG,CAAC,CAAsB,EAAE,EAAE,CAAC,CAChD,6BAAK,SAAS,EAAC,oCAAoC;IAC/C,oBAAC,SAAS,OAAK,CAAC,GAAI;;IAAE,CAAC,CAAC,OAAO,CAC7B,CACT,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,eAAoC,EAAE,EAAE,CAAC,CACxD,8BAAM,SAAS,EAAC,8CAA8C;IACzD,eAAe,CAAC,MAAM,KAAK,YAAY;QACpC,2BAAG,SAAS,EAAE,wBAAwB,GAAG,eAAe,CAAC,MAAM,GAAM;IAExE,eAAe,CAAC,MAAM,KAAK,WAAW;QACnC,2BAAG,SAAS,EAAE,cAAc,GAAG,eAAe,CAAC,MAAM,GAAM;IAE9D,eAAe,CAAC,MAAM,KAAK,QAAQ;QAChC,2BAAG,SAAS,EAAE,gBAAgB,GAAG,eAAe,CAAC,MAAM,GAAM,CAE9D,CACV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/index.ts"],"names":[],"mappings":"AAgBA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2024 EclipseSource GmbH.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const tslib_1 = require("tslib");
|
|
19
|
+
tslib_1.__exportStar(require("./chat-view-tree-container"), exports);
|
|
20
|
+
tslib_1.__exportStar(require("./chat-view-tree-widget"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,qEAA2C;AAC3C,kEAAwC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from '@theia/core';
|
|
2
|
+
export declare namespace ChatCommands {
|
|
3
|
+
const SCROLL_LOCK_WIDGET: Command;
|
|
4
|
+
const SCROLL_UNLOCK_WIDGET: Command;
|
|
5
|
+
}
|
|
6
|
+
export declare const AI_CHAT_NEW_CHAT_WINDOW_COMMAND: Command;
|
|
7
|
+
export declare const AI_CHAT_SHOW_CHATS_COMMAND: Command;
|
|
8
|
+
//# sourceMappingURL=chat-view-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-view-commands.d.ts","sourceRoot":"","sources":["../../src/browser/chat-view-commands.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAO,MAAM,aAAa,CAAC;AAG3C,yBAAiB,YAAY,CAAC;IAInB,MAAM,kBAAkB,SAIN,CAAC;IAEnB,MAAM,oBAAoB,SAIR,CAAC;CAC7B;AAED,eAAO,MAAM,+BAA+B,EAAE,OAG7C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,OAGxC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2024 EclipseSource GmbH.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.AI_CHAT_SHOW_CHATS_COMMAND = exports.AI_CHAT_NEW_CHAT_WINDOW_COMMAND = exports.ChatCommands = void 0;
|
|
19
|
+
const core_1 = require("@theia/core");
|
|
20
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
21
|
+
var ChatCommands;
|
|
22
|
+
(function (ChatCommands) {
|
|
23
|
+
const CHAT_CATEGORY = 'Chat';
|
|
24
|
+
const CHAT_CATEGORY_KEY = core_1.nls.getDefaultKey(CHAT_CATEGORY);
|
|
25
|
+
ChatCommands.SCROLL_LOCK_WIDGET = core_1.Command.toLocalizedCommand({
|
|
26
|
+
id: 'chat:widget:lock',
|
|
27
|
+
category: CHAT_CATEGORY,
|
|
28
|
+
iconClass: (0, browser_1.codicon)('unlock')
|
|
29
|
+
}, '', CHAT_CATEGORY_KEY);
|
|
30
|
+
ChatCommands.SCROLL_UNLOCK_WIDGET = core_1.Command.toLocalizedCommand({
|
|
31
|
+
id: 'chat:widget:unlock',
|
|
32
|
+
category: CHAT_CATEGORY,
|
|
33
|
+
iconClass: (0, browser_1.codicon)('lock')
|
|
34
|
+
}, '', CHAT_CATEGORY_KEY);
|
|
35
|
+
})(ChatCommands || (exports.ChatCommands = ChatCommands = {}));
|
|
36
|
+
exports.AI_CHAT_NEW_CHAT_WINDOW_COMMAND = {
|
|
37
|
+
id: 'ai-chat-ui.new-chat',
|
|
38
|
+
iconClass: (0, browser_1.codicon)('add')
|
|
39
|
+
};
|
|
40
|
+
exports.AI_CHAT_SHOW_CHATS_COMMAND = {
|
|
41
|
+
id: 'ai-chat-ui.show-chats',
|
|
42
|
+
iconClass: (0, browser_1.codicon)('history')
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=chat-view-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-view-commands.js","sourceRoot":"","sources":["../../src/browser/chat-view-commands.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,sCAA2C;AAC3C,qDAAkD;AAElD,IAAiB,YAAY,CAe5B;AAfD,WAAiB,YAAY;IACzB,MAAM,aAAa,GAAG,MAAM,CAAC;IAC7B,MAAM,iBAAiB,GAAG,UAAG,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAE9C,+BAAkB,GAAG,cAAO,CAAC,kBAAkB,CAAC;QACzD,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,IAAA,iBAAO,EAAC,QAAQ,CAAC;KAC/B,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAEb,iCAAoB,GAAG,cAAO,CAAC,kBAAkB,CAAC;QAC3D,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,IAAA,iBAAO,EAAC,MAAM,CAAC;KAC7B,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC;AAC9B,CAAC,EAfgB,YAAY,4BAAZ,YAAY,QAe5B;AAEY,QAAA,+BAA+B,GAAY;IACpD,EAAE,EAAE,qBAAqB;IACzB,SAAS,EAAE,IAAA,iBAAO,EAAC,KAAK,CAAC;CAC5B,CAAC;AAEW,QAAA,0BAA0B,GAAY;IAC/C,EAAE,EAAE,uBAAuB;IAC3B,SAAS,EAAE,IAAA,iBAAO,EAAC,SAAS,CAAC;CAChC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Command, CommandContribution, CommandRegistry, CommandService, MenuContribution, MenuModelRegistry } from '@theia/core';
|
|
2
|
+
import { ClipboardService } from '@theia/core/lib/browser/clipboard-service';
|
|
3
|
+
import { RequestNode, ResponseNode } from './chat-tree-view/chat-view-tree-widget';
|
|
4
|
+
export declare namespace ChatViewCommands {
|
|
5
|
+
const COPY_MESSAGE: Command;
|
|
6
|
+
const COPY_ALL: Command;
|
|
7
|
+
const COPY_CODE: Command;
|
|
8
|
+
}
|
|
9
|
+
export declare class ChatViewMenuContribution implements MenuContribution, CommandContribution {
|
|
10
|
+
protected readonly clipboardService: ClipboardService;
|
|
11
|
+
protected readonly commandService: CommandService;
|
|
12
|
+
registerCommands(commands: CommandRegistry): void;
|
|
13
|
+
protected copyMessage(args: (RequestNode | ResponseNode)[]): void;
|
|
14
|
+
protected getTextAndJoin(args: (RequestNode | ResponseNode)[] | undefined): string;
|
|
15
|
+
protected getText(arg: RequestNode | ResponseNode): string;
|
|
16
|
+
registerMenus(menus: MenuModelRegistry): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=chat-view-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-view-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/chat-view-contribution.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAY,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE3I,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,OAAO,EAAqD,WAAW,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAGtI,yBAAiB,gBAAgB,CAAC;IACvB,MAAM,YAAY,SAGvB,CAAC;IACI,MAAM,QAAQ,SAGnB,CAAC;IACI,MAAM,SAAS,SAGpB,CAAC;CACN;AAED,qBACa,wBAAyB,YAAW,gBAAgB,EAAE,mBAAmB;IAGlF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAElD,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAgDjD,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,GAAG,YAAY,CAAC,EAAE,GAAG,IAAI;IAKjE,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,WAAW,GAAG,YAAY,CAAC,EAAE,GAAG,SAAS,GAAG,MAAM;IAIlF,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,GAAG,MAAM;IAS1D,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;CAqBhD"}
|