@theia/ai-chat-ui 1.46.0-next.241
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 +33 -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 +87 -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 +217 -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 +190 -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 +25 -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 +89 -0
- package/lib/browser/chat-response-renderer/markdown-part-renderer.js.map +1 -0
- package/lib/browser/chat-response-renderer/question-part-renderer.d.ts +10 -0
- package/lib/browser/chat-response-renderer/question-part-renderer.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/question-part-renderer.js +43 -0
- package/lib/browser/chat-response-renderer/question-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 +12 -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 +81 -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 +56 -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 +388 -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 +105 -0
- package/src/browser/chat-input-widget.tsx +262 -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 +211 -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 +92 -0
- package/src/browser/chat-response-renderer/question-part-renderer.tsx +59 -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 +89 -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 +526 -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 +415 -0
|
@@ -0,0 +1,81 @@
|
|
|
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.ToolCallPartRenderer = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const common_1 = require("@theia/ai-chat/lib/common");
|
|
22
|
+
const React = require("@theia/core/shared/react");
|
|
23
|
+
let ToolCallPartRenderer = class ToolCallPartRenderer {
|
|
24
|
+
canHandle(response) {
|
|
25
|
+
if (common_1.ToolCallChatResponseContent.is(response)) {
|
|
26
|
+
return 10;
|
|
27
|
+
}
|
|
28
|
+
return -1;
|
|
29
|
+
}
|
|
30
|
+
render(response) {
|
|
31
|
+
return (React.createElement("h4", { className: 'theia-toolCall' }, response.finished ? (React.createElement("details", null,
|
|
32
|
+
React.createElement("summary", null,
|
|
33
|
+
"Ran ",
|
|
34
|
+
response.name,
|
|
35
|
+
"(",
|
|
36
|
+
this.renderCollapsibleArguments(response.arguments),
|
|
37
|
+
")"),
|
|
38
|
+
React.createElement("pre", null, this.tryPrettyPrintJson(response)))) : (React.createElement("span", null,
|
|
39
|
+
React.createElement(Spinner, null),
|
|
40
|
+
" Running ",
|
|
41
|
+
response.name,
|
|
42
|
+
"(",
|
|
43
|
+
this.renderCollapsibleArguments(response.arguments),
|
|
44
|
+
")"))));
|
|
45
|
+
}
|
|
46
|
+
renderCollapsibleArguments(args) {
|
|
47
|
+
if (!args || !args.trim() || args.trim() === '{}') {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
return (React.createElement("details", { className: "collapsible-arguments" },
|
|
51
|
+
React.createElement("summary", { className: "collapsible-arguments-summary" }, "..."),
|
|
52
|
+
React.createElement("span", null, this.prettyPrintArgs(args))));
|
|
53
|
+
}
|
|
54
|
+
prettyPrintArgs(args) {
|
|
55
|
+
try {
|
|
56
|
+
return JSON.stringify(JSON.parse(args), undefined, 2);
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
// fall through
|
|
60
|
+
return args;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
tryPrettyPrintJson(response) {
|
|
64
|
+
let responseContent = response.result;
|
|
65
|
+
try {
|
|
66
|
+
if (response.result) {
|
|
67
|
+
responseContent = JSON.stringify(JSON.parse(response.result), undefined, 2);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
// fall through
|
|
72
|
+
}
|
|
73
|
+
return responseContent;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
exports.ToolCallPartRenderer = ToolCallPartRenderer;
|
|
77
|
+
exports.ToolCallPartRenderer = ToolCallPartRenderer = tslib_1.__decorate([
|
|
78
|
+
(0, inversify_1.injectable)()
|
|
79
|
+
], ToolCallPartRenderer);
|
|
80
|
+
const Spinner = () => (React.createElement("i", { className: "fa fa-spinner fa-spin" }));
|
|
81
|
+
//# sourceMappingURL=toolcall-part-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolcall-part-renderer.js","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/toolcall-part-renderer.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;;;;AAGhF,4DAA0D;AAC1D,sDAA6F;AAE7F,kDAAkD;AAG3C,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAE7B,SAAS,CAAC,QAA6B;QACnC,IAAI,oCAA2B,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAED,MAAM,CAAC,QAAqC;QACxC,OAAO,CACH,4BAAI,SAAS,EAAC,gBAAgB,IACzB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CACjB;YACI;;gBAAc,QAAQ,CAAC,IAAI;;gBACrB,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAC/C;YACV,iCAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAO,CACxC,CACb,CAAC,CAAC,CAAC,CACA;YACI,oBAAC,OAAO,OAAG;;YAAU,QAAQ,CAAC,IAAI;;YAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACrF,CACV,CACA,CACR,CAAC;IACN,CAAC;IAES,0BAA0B,CAAC,IAAwB;QACzD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChD,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,CACH,iCAAS,SAAS,EAAC,uBAAuB;YACtC,iCAAS,SAAS,EAAC,+BAA+B,UAAc;YAChE,kCAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAQ,CACnC,CACb,CAAC;IACN,CAAC;IAEO,eAAe,CAAC,IAAY;QAChC,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,eAAe;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,QAAqC;QAC5D,IAAI,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC;QACtC,IAAI,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClB,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAChF,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,eAAe;QACnB,CAAC;QACD,OAAO,eAAe,CAAC;IAC3B,CAAC;CACJ,CAAA;AA7DY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CA6DhC;AAED,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAClB,2BAAG,SAAS,EAAC,uBAAuB,GAAK,CAC5C,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { interfaces } from '@theia/core/shared/inversify';
|
|
2
|
+
import { ChatViewTreeWidget } from './chat-view-tree-widget';
|
|
3
|
+
export declare function createChatViewTreeWidget(parent: interfaces.Container): ChatViewTreeWidget;
|
|
4
|
+
//# sourceMappingURL=chat-view-tree-container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-view-tree-container.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/chat-view-tree-container.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAO7D,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,GAAG,kBAAkB,CAMzF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
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.createChatViewTreeWidget = void 0;
|
|
19
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
20
|
+
const chat_view_tree_widget_1 = require("./chat-view-tree-widget");
|
|
21
|
+
const CHAT_VIEW_TREE_PROPS = {
|
|
22
|
+
multiSelect: false,
|
|
23
|
+
search: false,
|
|
24
|
+
};
|
|
25
|
+
function createChatViewTreeWidget(parent) {
|
|
26
|
+
const child = (0, browser_1.createTreeContainer)(parent, {
|
|
27
|
+
props: CHAT_VIEW_TREE_PROPS,
|
|
28
|
+
widget: chat_view_tree_widget_1.ChatViewTreeWidget,
|
|
29
|
+
});
|
|
30
|
+
return child.get(chat_view_tree_widget_1.ChatViewTreeWidget);
|
|
31
|
+
}
|
|
32
|
+
exports.createChatViewTreeWidget = createChatViewTreeWidget;
|
|
33
|
+
//# sourceMappingURL=chat-view-tree-container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-view-tree-container.js","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/chat-view-tree-container.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,qDAAyE;AAEzE,mEAA6D;AAE7D,MAAM,oBAAoB,GAAG;IACzB,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,KAAK;CACH,CAAC;AAEf,SAAgB,wBAAwB,CAAC,MAA4B;IACjE,MAAM,KAAK,GAAG,IAAA,6BAAmB,EAAC,MAAM,EAAE;QACtC,KAAK,EAAE,oBAAoB;QAC3B,MAAM,EAAE,0CAAkB;KAC7B,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,GAAG,CAAC,0CAAkB,CAAC,CAAC;AACzC,CAAC;AAND,4DAMC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
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
|
+
import { AIVariableService } from '@theia/ai-core';
|
|
9
|
+
export interface RequestNode extends TreeNode {
|
|
10
|
+
request: ChatRequestModel;
|
|
11
|
+
}
|
|
12
|
+
export declare const isRequestNode: (node: TreeNode) => node is RequestNode;
|
|
13
|
+
export interface ResponseNode extends TreeNode {
|
|
14
|
+
response: ChatResponseModel;
|
|
15
|
+
}
|
|
16
|
+
export declare const isResponseNode: (node: TreeNode) => node is ResponseNode;
|
|
17
|
+
export declare class ChatViewTreeWidget extends TreeWidget {
|
|
18
|
+
static readonly ID = "chat-tree-widget";
|
|
19
|
+
static readonly CONTEXT_MENU: string[];
|
|
20
|
+
protected readonly chatResponsePartRenderers: ContributionProvider<ChatResponsePartRenderer<ChatResponseContent>>;
|
|
21
|
+
protected readonly chatNodeToolbarActionContributions: ContributionProvider<ChatNodeToolbarActionContribution>;
|
|
22
|
+
protected chatAgentService: ChatAgentService;
|
|
23
|
+
protected readonly variableService: AIVariableService;
|
|
24
|
+
private commandRegistry;
|
|
25
|
+
private hoverService;
|
|
26
|
+
protected _shouldScrollToEnd: boolean;
|
|
27
|
+
protected isEnabled: boolean;
|
|
28
|
+
set shouldScrollToEnd(shouldScrollToEnd: boolean);
|
|
29
|
+
get shouldScrollToEnd(): boolean;
|
|
30
|
+
constructor(props: TreeProps, model: TreeModel, contextMenuRenderer: ContextMenuRenderer);
|
|
31
|
+
protected init(): void;
|
|
32
|
+
setEnabled(enabled: boolean): void;
|
|
33
|
+
protected renderTree(model: TreeModel): React.ReactNode;
|
|
34
|
+
private renderDisabledMessage;
|
|
35
|
+
private renderLinkButton;
|
|
36
|
+
private mapRequestToNode;
|
|
37
|
+
private mapResponseToNode;
|
|
38
|
+
/**
|
|
39
|
+
* Tracks the ChatModel handed over.
|
|
40
|
+
* Tracking multiple chat models will result in a weird UI
|
|
41
|
+
*/
|
|
42
|
+
trackChatModel(chatModel: ChatModel): void;
|
|
43
|
+
protected getScrollToRow(): number | undefined;
|
|
44
|
+
private recreateModelTree;
|
|
45
|
+
protected renderNode(node: TreeNode, props: NodeProps): React.ReactNode;
|
|
46
|
+
private renderAgent;
|
|
47
|
+
private getAgentLabel;
|
|
48
|
+
private getAgent;
|
|
49
|
+
private getAgentIconClassName;
|
|
50
|
+
private renderDetail;
|
|
51
|
+
private renderChatRequest;
|
|
52
|
+
private renderChatResponse;
|
|
53
|
+
private getChatResponsePartRenderer;
|
|
54
|
+
protected handleContextMenu(node: TreeNode | undefined, event: React.MouseEvent<HTMLElement>): void;
|
|
55
|
+
}
|
|
56
|
+
//# 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,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"}
|
|
@@ -0,0 +1,388 @@
|
|
|
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 inversify_1 = require("@theia/core/shared/inversify");
|
|
25
|
+
const React = require("@theia/core/shared/react");
|
|
26
|
+
const chat_node_toolbar_action_contribution_1 = require("../chat-node-toolbar-action-contribution");
|
|
27
|
+
const chat_response_part_renderer_1 = require("../chat-response-part-renderer");
|
|
28
|
+
const markdown_part_renderer_1 = require("../chat-response-renderer/markdown-part-renderer");
|
|
29
|
+
const ai_core_1 = require("@theia/ai-core");
|
|
30
|
+
const isRequestNode = (node) => 'request' in node;
|
|
31
|
+
exports.isRequestNode = isRequestNode;
|
|
32
|
+
const isResponseNode = (node) => 'response' in node;
|
|
33
|
+
exports.isResponseNode = isResponseNode;
|
|
34
|
+
function isEnterKey(e) {
|
|
35
|
+
var _a;
|
|
36
|
+
return browser_1.Key.ENTER.keyCode === ((_a = browser_1.KeyCode.createKeyCode(e.nativeEvent).key) === null || _a === void 0 ? void 0 : _a.keyCode);
|
|
37
|
+
}
|
|
38
|
+
let ChatViewTreeWidget = ChatViewTreeWidget_1 = class ChatViewTreeWidget extends browser_1.TreeWidget {
|
|
39
|
+
set shouldScrollToEnd(shouldScrollToEnd) {
|
|
40
|
+
this._shouldScrollToEnd = shouldScrollToEnd;
|
|
41
|
+
this.shouldScrollToRow = this._shouldScrollToEnd;
|
|
42
|
+
}
|
|
43
|
+
get shouldScrollToEnd() {
|
|
44
|
+
return this._shouldScrollToEnd;
|
|
45
|
+
}
|
|
46
|
+
constructor(props, model, contextMenuRenderer) {
|
|
47
|
+
super(props, model, contextMenuRenderer);
|
|
48
|
+
this._shouldScrollToEnd = true;
|
|
49
|
+
this.isEnabled = false;
|
|
50
|
+
this.id = ChatViewTreeWidget_1.ID;
|
|
51
|
+
this.title.closable = false;
|
|
52
|
+
model.root = {
|
|
53
|
+
id: 'ChatTree',
|
|
54
|
+
name: 'ChatRootNode',
|
|
55
|
+
parent: undefined,
|
|
56
|
+
visible: false,
|
|
57
|
+
children: [],
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
init() {
|
|
61
|
+
super.init();
|
|
62
|
+
this.id = ChatViewTreeWidget_1.ID + '-treeContainer';
|
|
63
|
+
this.addClass('treeContainer');
|
|
64
|
+
}
|
|
65
|
+
setEnabled(enabled) {
|
|
66
|
+
this.isEnabled = enabled;
|
|
67
|
+
this.update();
|
|
68
|
+
}
|
|
69
|
+
renderTree(model) {
|
|
70
|
+
if (this.isEnabled) {
|
|
71
|
+
return super.renderTree(model);
|
|
72
|
+
}
|
|
73
|
+
return this.renderDisabledMessage();
|
|
74
|
+
}
|
|
75
|
+
renderDisabledMessage() {
|
|
76
|
+
return React.createElement("div", { className: 'theia-ResponseNode' },
|
|
77
|
+
React.createElement("div", { className: 'theia-ResponseNode-Content', key: 'disabled-message' },
|
|
78
|
+
React.createElement("div", { className: "disable-message" },
|
|
79
|
+
React.createElement("span", { className: "section-header" }, " \uD83D\uDE80 Experimental AI Feature Available!"),
|
|
80
|
+
React.createElement("div", { className: "section-title" },
|
|
81
|
+
React.createElement("p", null,
|
|
82
|
+
React.createElement("code", null, "Currently, all AI Features are disabled!"))),
|
|
83
|
+
React.createElement("div", { className: "section-title" },
|
|
84
|
+
React.createElement("p", null, "How to Enable Experimental AI Features:")),
|
|
85
|
+
React.createElement("div", { className: "section-content" },
|
|
86
|
+
React.createElement("p", null,
|
|
87
|
+
"To enable the experimental AI features, please go to \u00A0",
|
|
88
|
+
this.renderLinkButton('the settings menu', browser_1.CommonCommands.OPEN_PREFERENCES.id),
|
|
89
|
+
"\u00A0and locate the ",
|
|
90
|
+
React.createElement("strong", null, "AI Features"),
|
|
91
|
+
" section."),
|
|
92
|
+
React.createElement("ol", null,
|
|
93
|
+
React.createElement("li", null,
|
|
94
|
+
"Toggle the switch for ",
|
|
95
|
+
React.createElement("strong", null, "'Ai-features: Enable'"),
|
|
96
|
+
"."),
|
|
97
|
+
React.createElement("li", null,
|
|
98
|
+
"Provide at least one LLM provider (e.g. OpenAI), also see ",
|
|
99
|
+
React.createElement("a", { href: "https://theia-ide.org/docs/user_ai/", target: "_blank" }, "the documentation"),
|
|
100
|
+
"for more information.")),
|
|
101
|
+
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")),
|
|
102
|
+
React.createElement("div", { className: "section-title" },
|
|
103
|
+
React.createElement("p", null, "Currently Supported Views and Features:")),
|
|
104
|
+
React.createElement("div", { className: "section-content" },
|
|
105
|
+
React.createElement("p", null, "Once the experimental AI features are enabled, you can access the following views and features:"),
|
|
106
|
+
React.createElement("ul", null,
|
|
107
|
+
React.createElement("li", null, "Code Completion"),
|
|
108
|
+
React.createElement("li", null, "Terminal Assistance (via CTRL+I in a terminal)"),
|
|
109
|
+
React.createElement("li", null,
|
|
110
|
+
"This Chat View (features the following agents):",
|
|
111
|
+
React.createElement("ul", null,
|
|
112
|
+
React.createElement("li", null, "Universal Chat Agent"),
|
|
113
|
+
React.createElement("li", null, "Workspace Chat Agent"),
|
|
114
|
+
React.createElement("li", null, "Command Chat Agent"),
|
|
115
|
+
React.createElement("li", null, "Orchestrator Chat Agent"))),
|
|
116
|
+
React.createElement("li", null, this.renderLinkButton('AI History View', 'aiHistory:open')),
|
|
117
|
+
React.createElement("li", null, this.renderLinkButton('AI Configuration View', 'aiConfiguration:open'))),
|
|
118
|
+
React.createElement("p", null,
|
|
119
|
+
"See ",
|
|
120
|
+
React.createElement("a", { href: "https://theia-ide.org/docs/user_ai/", target: "_blank" }, "the documentation"),
|
|
121
|
+
" for more information.")))));
|
|
122
|
+
}
|
|
123
|
+
renderLinkButton(title, openCommandId) {
|
|
124
|
+
return React.createElement("a", { role: 'button', tabIndex: 0, onClick: () => this.commandRegistry.executeCommand(openCommandId), onKeyDown: e => isEnterKey(e) && this.commandRegistry.executeCommand(openCommandId) }, title);
|
|
125
|
+
}
|
|
126
|
+
mapRequestToNode(request) {
|
|
127
|
+
return {
|
|
128
|
+
id: request.id,
|
|
129
|
+
parent: this.model.root,
|
|
130
|
+
request
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
mapResponseToNode(response) {
|
|
134
|
+
return {
|
|
135
|
+
id: response.id,
|
|
136
|
+
parent: this.model.root,
|
|
137
|
+
response
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Tracks the ChatModel handed over.
|
|
142
|
+
* Tracking multiple chat models will result in a weird UI
|
|
143
|
+
*/
|
|
144
|
+
trackChatModel(chatModel) {
|
|
145
|
+
this.recreateModelTree(chatModel);
|
|
146
|
+
chatModel.getRequests().forEach(request => {
|
|
147
|
+
if (!request.response.isComplete) {
|
|
148
|
+
request.response.onDidChange(() => this.scheduleUpdateScrollToRow());
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
this.toDispose.push(chatModel.onDidChange(event => {
|
|
152
|
+
this.recreateModelTree(chatModel);
|
|
153
|
+
if (event.kind === 'addRequest' && !event.request.response.isComplete) {
|
|
154
|
+
event.request.response.onDidChange(() => this.scheduleUpdateScrollToRow());
|
|
155
|
+
}
|
|
156
|
+
}));
|
|
157
|
+
}
|
|
158
|
+
getScrollToRow() {
|
|
159
|
+
if (this.shouldScrollToEnd) {
|
|
160
|
+
return this.rows.size;
|
|
161
|
+
}
|
|
162
|
+
return super.getScrollToRow();
|
|
163
|
+
}
|
|
164
|
+
async recreateModelTree(chatModel) {
|
|
165
|
+
if (browser_1.CompositeTreeNode.is(this.model.root)) {
|
|
166
|
+
const nodes = [];
|
|
167
|
+
chatModel.getRequests().forEach(request => {
|
|
168
|
+
nodes.push(this.mapRequestToNode(request));
|
|
169
|
+
nodes.push(this.mapResponseToNode(request.response));
|
|
170
|
+
});
|
|
171
|
+
this.model.root.children = nodes;
|
|
172
|
+
this.model.refresh();
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
renderNode(node, props) {
|
|
176
|
+
if (!browser_1.TreeNode.isVisible(node)) {
|
|
177
|
+
return undefined;
|
|
178
|
+
}
|
|
179
|
+
if (!((0, exports.isRequestNode)(node) || (0, exports.isResponseNode)(node))) {
|
|
180
|
+
return super.renderNode(node, props);
|
|
181
|
+
}
|
|
182
|
+
return React.createElement(React.Fragment, { key: node.id },
|
|
183
|
+
React.createElement("div", { className: 'theia-ChatNode', onContextMenu: e => this.handleContextMenu(node, e) },
|
|
184
|
+
this.renderAgent(node),
|
|
185
|
+
this.renderDetail(node)));
|
|
186
|
+
}
|
|
187
|
+
renderAgent(node) {
|
|
188
|
+
var _a;
|
|
189
|
+
const inProgress = (0, exports.isResponseNode)(node) && !node.response.isComplete && !node.response.isCanceled && !node.response.isError;
|
|
190
|
+
const waitingForInput = (0, exports.isResponseNode)(node) && node.response.isWaitingForInput;
|
|
191
|
+
const toolbarContributions = !inProgress
|
|
192
|
+
? this.chatNodeToolbarActionContributions.getContributions()
|
|
193
|
+
.flatMap(c => c.getToolbarActions(node))
|
|
194
|
+
.filter(action => this.commandRegistry.isEnabled(action.commandId, node))
|
|
195
|
+
.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); })
|
|
196
|
+
: [];
|
|
197
|
+
const agentLabel = React.createRef();
|
|
198
|
+
const agentDescription = (_a = this.getAgent(node)) === null || _a === void 0 ? void 0 : _a.description;
|
|
199
|
+
return React.createElement(React.Fragment, null,
|
|
200
|
+
React.createElement("div", { className: 'theia-ChatNodeHeader' },
|
|
201
|
+
React.createElement("div", { className: `theia-AgentAvatar ${this.getAgentIconClassName(node)}` }),
|
|
202
|
+
React.createElement("h3", { ref: agentLabel, className: 'theia-AgentLabel', onMouseEnter: () => {
|
|
203
|
+
if (agentDescription) {
|
|
204
|
+
this.hoverService.requestHover({
|
|
205
|
+
content: agentDescription,
|
|
206
|
+
target: agentLabel.current,
|
|
207
|
+
position: 'right'
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
} }, this.getAgentLabel(node)),
|
|
211
|
+
inProgress && React.createElement("span", { className: 'theia-ChatContentInProgress' }, "Generating"),
|
|
212
|
+
inProgress && waitingForInput && React.createElement("span", { className: 'theia-ChatContentInProgress' }, "Waiting for input"),
|
|
213
|
+
React.createElement("div", { className: 'theia-ChatNodeToolbar' }, !inProgress &&
|
|
214
|
+
toolbarContributions.length > 0 &&
|
|
215
|
+
toolbarContributions.map(action => React.createElement("span", { key: action.commandId, className: `theia-ChatNodeToolbarAction ${action.icon}`, title: action.tooltip, onClick: e => {
|
|
216
|
+
e.stopPropagation();
|
|
217
|
+
this.commandRegistry.executeCommand(action.commandId, node);
|
|
218
|
+
}, onKeyDown: e => {
|
|
219
|
+
if (isEnterKey(e)) {
|
|
220
|
+
e.stopPropagation();
|
|
221
|
+
this.commandRegistry.executeCommand(action.commandId, node);
|
|
222
|
+
}
|
|
223
|
+
}, role: 'button' })))));
|
|
224
|
+
}
|
|
225
|
+
getAgentLabel(node) {
|
|
226
|
+
var _a, _b;
|
|
227
|
+
if ((0, exports.isRequestNode)(node)) {
|
|
228
|
+
// TODO find user name
|
|
229
|
+
return 'You';
|
|
230
|
+
}
|
|
231
|
+
return (_b = (_a = this.getAgent(node)) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : 'AI';
|
|
232
|
+
}
|
|
233
|
+
getAgent(node) {
|
|
234
|
+
if ((0, exports.isRequestNode)(node)) {
|
|
235
|
+
return undefined;
|
|
236
|
+
}
|
|
237
|
+
return node.response.agentId ? this.chatAgentService.getAgent(node.response.agentId) : undefined;
|
|
238
|
+
}
|
|
239
|
+
getAgentIconClassName(node) {
|
|
240
|
+
var _a;
|
|
241
|
+
if ((0, exports.isRequestNode)(node)) {
|
|
242
|
+
return (0, browser_1.codicon)('account');
|
|
243
|
+
}
|
|
244
|
+
const agent = node.response.agentId ? this.chatAgentService.getAgent(node.response.agentId) : undefined;
|
|
245
|
+
return (_a = agent === null || agent === void 0 ? void 0 : agent.iconClass) !== null && _a !== void 0 ? _a : (0, browser_1.codicon)('copilot');
|
|
246
|
+
}
|
|
247
|
+
renderDetail(node) {
|
|
248
|
+
if ((0, exports.isRequestNode)(node)) {
|
|
249
|
+
return this.renderChatRequest(node);
|
|
250
|
+
}
|
|
251
|
+
if ((0, exports.isResponseNode)(node)) {
|
|
252
|
+
return this.renderChatResponse(node);
|
|
253
|
+
}
|
|
254
|
+
;
|
|
255
|
+
}
|
|
256
|
+
renderChatRequest(node) {
|
|
257
|
+
return React.createElement(ChatRequestRender, { node: node, hoverService: this.hoverService, chatAgentService: this.chatAgentService, variableService: this.variableService });
|
|
258
|
+
}
|
|
259
|
+
renderChatResponse(node) {
|
|
260
|
+
return (React.createElement("div", { className: 'theia-ResponseNode' },
|
|
261
|
+
!node.response.isComplete
|
|
262
|
+
&& node.response.response.content.length === 0
|
|
263
|
+
&& node.response.progressMessages
|
|
264
|
+
.filter(c => c.show === 'untilFirstContent')
|
|
265
|
+
.map((c, i) => React.createElement(ProgressMessage, { ...c, key: `${node.id}-progress-untilFirstContent-${i}` })),
|
|
266
|
+
node.response.response.content.map((c, i) => React.createElement("div", { className: 'theia-ResponseNode-Content', key: `${node.id}-content-${i}` }, this.getChatResponsePartRenderer(c, node))),
|
|
267
|
+
!node.response.isComplete
|
|
268
|
+
&& node.response.progressMessages
|
|
269
|
+
.filter(c => c.show === 'whileIncomplete')
|
|
270
|
+
.map((c, i) => React.createElement(ProgressMessage, { ...c, key: `${node.id}-progress-whileIncomplete-${i}` })),
|
|
271
|
+
node.response.progressMessages
|
|
272
|
+
.filter(c => c.show === 'forever')
|
|
273
|
+
.map((c, i) => React.createElement(ProgressMessage, { ...c, key: `${node.id}-progress-afterComplete-${i}` }))));
|
|
274
|
+
}
|
|
275
|
+
getChatResponsePartRenderer(content, node) {
|
|
276
|
+
const renderer = this.chatResponsePartRenderers.getContributions().reduce((prev, current) => {
|
|
277
|
+
const prio = current.canHandle(content);
|
|
278
|
+
if (prio > prev[0]) {
|
|
279
|
+
return [prio, current];
|
|
280
|
+
}
|
|
281
|
+
return prev;
|
|
282
|
+
}, [-1, undefined])[1];
|
|
283
|
+
if (!renderer) {
|
|
284
|
+
console.error('No renderer found for content', content);
|
|
285
|
+
return React.createElement("div", null, "Error: No renderer found");
|
|
286
|
+
}
|
|
287
|
+
return renderer.render(content, node);
|
|
288
|
+
}
|
|
289
|
+
handleContextMenu(node, event) {
|
|
290
|
+
this.contextMenuRenderer.render({
|
|
291
|
+
menuPath: ChatViewTreeWidget_1.CONTEXT_MENU,
|
|
292
|
+
anchor: { x: event.clientX, y: event.clientY },
|
|
293
|
+
args: [node]
|
|
294
|
+
});
|
|
295
|
+
event.preventDefault();
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
exports.ChatViewTreeWidget = ChatViewTreeWidget;
|
|
299
|
+
ChatViewTreeWidget.ID = 'chat-tree-widget';
|
|
300
|
+
ChatViewTreeWidget.CONTEXT_MENU = ['chat-tree-context-menu'];
|
|
301
|
+
tslib_1.__decorate([
|
|
302
|
+
(0, inversify_1.inject)(core_1.ContributionProvider),
|
|
303
|
+
(0, inversify_1.named)(chat_response_part_renderer_1.ChatResponsePartRenderer),
|
|
304
|
+
tslib_1.__metadata("design:type", Object)
|
|
305
|
+
], ChatViewTreeWidget.prototype, "chatResponsePartRenderers", void 0);
|
|
306
|
+
tslib_1.__decorate([
|
|
307
|
+
(0, inversify_1.inject)(core_1.ContributionProvider),
|
|
308
|
+
(0, inversify_1.named)(chat_node_toolbar_action_contribution_1.ChatNodeToolbarActionContribution),
|
|
309
|
+
tslib_1.__metadata("design:type", Object)
|
|
310
|
+
], ChatViewTreeWidget.prototype, "chatNodeToolbarActionContributions", void 0);
|
|
311
|
+
tslib_1.__decorate([
|
|
312
|
+
(0, inversify_1.inject)(ai_chat_1.ChatAgentService),
|
|
313
|
+
tslib_1.__metadata("design:type", Object)
|
|
314
|
+
], ChatViewTreeWidget.prototype, "chatAgentService", void 0);
|
|
315
|
+
tslib_1.__decorate([
|
|
316
|
+
(0, inversify_1.inject)(ai_core_1.AIVariableService),
|
|
317
|
+
tslib_1.__metadata("design:type", Object)
|
|
318
|
+
], ChatViewTreeWidget.prototype, "variableService", void 0);
|
|
319
|
+
tslib_1.__decorate([
|
|
320
|
+
(0, inversify_1.inject)(core_1.CommandRegistry),
|
|
321
|
+
tslib_1.__metadata("design:type", core_1.CommandRegistry)
|
|
322
|
+
], ChatViewTreeWidget.prototype, "commandRegistry", void 0);
|
|
323
|
+
tslib_1.__decorate([
|
|
324
|
+
(0, inversify_1.inject)(browser_1.HoverService),
|
|
325
|
+
tslib_1.__metadata("design:type", browser_1.HoverService)
|
|
326
|
+
], ChatViewTreeWidget.prototype, "hoverService", void 0);
|
|
327
|
+
tslib_1.__decorate([
|
|
328
|
+
(0, inversify_1.postConstruct)(),
|
|
329
|
+
tslib_1.__metadata("design:type", Function),
|
|
330
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
331
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
332
|
+
], ChatViewTreeWidget.prototype, "init", null);
|
|
333
|
+
exports.ChatViewTreeWidget = ChatViewTreeWidget = ChatViewTreeWidget_1 = tslib_1.__decorate([
|
|
334
|
+
(0, inversify_1.injectable)(),
|
|
335
|
+
tslib_1.__param(0, (0, inversify_1.inject)(browser_1.TreeProps)),
|
|
336
|
+
tslib_1.__param(1, (0, inversify_1.inject)(browser_1.TreeModel)),
|
|
337
|
+
tslib_1.__param(2, (0, inversify_1.inject)(browser_1.ContextMenuRenderer)),
|
|
338
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, browser_1.ContextMenuRenderer])
|
|
339
|
+
], ChatViewTreeWidget);
|
|
340
|
+
const ChatRequestRender = ({ node, hoverService, chatAgentService, variableService }) => {
|
|
341
|
+
const parts = node.request.message.parts;
|
|
342
|
+
return (React.createElement("div", { className: "theia-RequestNode" },
|
|
343
|
+
React.createElement("p", null, parts.map((part, index) => {
|
|
344
|
+
var _a, _b;
|
|
345
|
+
if (part instanceof ai_chat_1.ParsedChatRequestAgentPart || part instanceof ai_chat_1.ParsedChatRequestVariablePart) {
|
|
346
|
+
let description = undefined;
|
|
347
|
+
let className = '';
|
|
348
|
+
if (part instanceof ai_chat_1.ParsedChatRequestAgentPart) {
|
|
349
|
+
description = (_a = chatAgentService.getAgent(part.agentId)) === null || _a === void 0 ? void 0 : _a.description;
|
|
350
|
+
className = 'theia-RequestNode-AgentLabel';
|
|
351
|
+
}
|
|
352
|
+
else if (part instanceof ai_chat_1.ParsedChatRequestVariablePart) {
|
|
353
|
+
description = (_b = variableService.getVariable(part.variableName)) === null || _b === void 0 ? void 0 : _b.description;
|
|
354
|
+
className = 'theia-RequestNode-VariableLabel';
|
|
355
|
+
}
|
|
356
|
+
return (React.createElement(HoverableLabel, { key: index, text: part.text, description: description, hoverService: hoverService, className: className }));
|
|
357
|
+
}
|
|
358
|
+
else {
|
|
359
|
+
// maintain the leading and trailing spaces with explicit ` `, otherwise they would get trimmed by the markdown renderer
|
|
360
|
+
const ref = (0, markdown_part_renderer_1.useMarkdownRendering)(part.text.replace(/^\s|\s$/g, ' '), true);
|
|
361
|
+
return (React.createElement("span", { key: index, ref: ref }));
|
|
362
|
+
}
|
|
363
|
+
}))));
|
|
364
|
+
};
|
|
365
|
+
const HoverableLabel = ({ text, description, hoverService, className }) => {
|
|
366
|
+
const spanRef = React.createRef();
|
|
367
|
+
return (React.createElement("span", { className: className, ref: spanRef, onMouseEnter: () => {
|
|
368
|
+
if (description) {
|
|
369
|
+
hoverService.requestHover({
|
|
370
|
+
content: description,
|
|
371
|
+
target: spanRef.current,
|
|
372
|
+
position: 'right'
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
} }, text));
|
|
376
|
+
};
|
|
377
|
+
const ProgressMessage = (c) => (React.createElement("div", { className: 'theia-ResponseNode-ProgressMessage' },
|
|
378
|
+
React.createElement(Indicator, { ...c }),
|
|
379
|
+
" ",
|
|
380
|
+
c.content));
|
|
381
|
+
const Indicator = (progressMessage) => (React.createElement("span", { className: 'theia-ResponseNode-ProgressMessage-Indicator' },
|
|
382
|
+
progressMessage.status === 'inProgress' &&
|
|
383
|
+
React.createElement("i", { className: 'fa fa-spinner fa-spin ' + progressMessage.status }),
|
|
384
|
+
progressMessage.status === 'completed' &&
|
|
385
|
+
React.createElement("i", { className: 'fa fa-check ' + progressMessage.status }),
|
|
386
|
+
progressMessage.status === 'failed' &&
|
|
387
|
+
React.createElement("i", { className: 'fa fa-warning ' + progressMessage.status })));
|
|
388
|
+
//# 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":"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"}
|
|
@@ -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
|