@theia/ai-chat-ui 1.56.0 → 1.57.0-next.112
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 +2 -1
- package/lib/browser/ai-chat-ui-frontend-module.d.ts.map +1 -1
- package/lib/browser/ai-chat-ui-frontend-module.js +9 -1
- package/lib/browser/ai-chat-ui-frontend-module.js.map +1 -1
- package/lib/browser/chat-input-widget.d.ts +18 -5
- package/lib/browser/chat-input-widget.d.ts.map +1 -1
- package/lib/browser/chat-input-widget.js +228 -80
- package/lib/browser/chat-input-widget.js.map +1 -1
- package/lib/browser/chat-response-renderer/code-part-renderer.d.ts +30 -2
- package/lib/browser/chat-response-renderer/code-part-renderer.d.ts.map +1 -1
- package/lib/browser/chat-response-renderer/code-part-renderer.js +45 -10
- package/lib/browser/chat-response-renderer/code-part-renderer.js.map +1 -1
- package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts +8 -3
- package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts.map +1 -1
- package/lib/browser/chat-response-renderer/markdown-part-renderer.js +38 -10
- package/lib/browser/chat-response-renderer/markdown-part-renderer.js.map +1 -1
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts.map +1 -1
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.js +8 -2
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.js.map +1 -1
- package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts +2 -1
- package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts.map +1 -1
- package/lib/browser/chat-tree-view/chat-view-tree-widget.js +8 -4
- package/lib/browser/chat-tree-view/chat-view-tree-widget.js.map +1 -1
- package/lib/browser/chat-view-language-contribution.d.ts.map +1 -1
- package/lib/browser/chat-view-language-contribution.js +0 -1
- package/lib/browser/chat-view-language-contribution.js.map +1 -1
- package/lib/browser/chat-view-widget.d.ts +4 -1
- package/lib/browser/chat-view-widget.d.ts.map +1 -1
- package/lib/browser/chat-view-widget.js +14 -4
- package/lib/browser/chat-view-widget.js.map +1 -1
- package/package.json +12 -12
- package/src/browser/ai-chat-ui-frontend-module.ts +27 -5
- package/src/browser/chat-input-widget.tsx +337 -100
- package/src/browser/chat-response-renderer/code-part-renderer.tsx +48 -9
- package/src/browser/chat-response-renderer/markdown-part-renderer.tsx +39 -12
- package/src/browser/chat-response-renderer/toolcall-part-renderer.tsx +8 -2
- package/src/browser/chat-tree-view/chat-view-tree-widget.tsx +10 -4
- package/src/browser/chat-view-language-contribution.ts +0 -1
- package/src/browser/chat-view-widget.tsx +19 -6
- package/src/browser/style/index.css +186 -22
package/README.md
CHANGED
|
@@ -28,5 +28,6 @@ It is based on `@theia/ai-chat`.
|
|
|
28
28
|
- [一 (Secondary) GNU General Public License, version 2 with the GNU Classpath Exception](https://projects.eclipse.org/license/secondary-gpl-2.0-cp)
|
|
29
29
|
|
|
30
30
|
## Trademark
|
|
31
|
+
|
|
31
32
|
"Theia" is a trademark of the Eclipse Foundation
|
|
32
|
-
https://www.eclipse.org/theia
|
|
33
|
+
<https://www.eclipse.org/theia>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-chat-ui-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-chat-ui-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;AAgC3E,OAAO,mCAAmC,CAAC;;AAE3C,wBA0DG"}
|
|
@@ -20,7 +20,6 @@ const browser_1 = require("@theia/core/lib/browser");
|
|
|
20
20
|
const tab_bar_toolbar_1 = require("@theia/core/lib/browser/shell/tab-bar-toolbar");
|
|
21
21
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
22
|
const browser_2 = require("@theia/editor/lib/browser");
|
|
23
|
-
require("../../src/browser/style/index.css");
|
|
24
23
|
const ai_chat_ui_contribution_1 = require("./ai-chat-ui-contribution");
|
|
25
24
|
const chat_input_widget_1 = require("./chat-input-widget");
|
|
26
25
|
const chat_node_toolbar_action_contribution_1 = require("./chat-node-toolbar-action-contribution");
|
|
@@ -35,12 +34,16 @@ const chat_view_widget_1 = require("./chat-view-widget");
|
|
|
35
34
|
const chat_view_widget_toolbar_contribution_1 = require("./chat-view-widget-toolbar-contribution");
|
|
36
35
|
const editor_preview_manager_1 = require("@theia/editor-preview/lib/browser/editor-preview-manager");
|
|
37
36
|
const question_part_renderer_1 = require("./chat-response-renderer/question-part-renderer");
|
|
37
|
+
require("../../src/browser/style/index.css");
|
|
38
38
|
exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebind) => {
|
|
39
39
|
(0, browser_1.bindViewContribution)(bind, ai_chat_ui_contribution_1.AIChatContribution);
|
|
40
40
|
bind(tab_bar_toolbar_1.TabBarToolbarContribution).toService(ai_chat_ui_contribution_1.AIChatContribution);
|
|
41
41
|
(0, core_1.bindContributionProvider)(bind, chat_response_part_renderer_1.ChatResponsePartRenderer);
|
|
42
42
|
bindChatViewWidget(bind);
|
|
43
43
|
bind(chat_input_widget_1.AIChatInputWidget).toSelf();
|
|
44
|
+
bind(chat_input_widget_1.AIChatInputConfiguration).toConstantValue({
|
|
45
|
+
showContext: false
|
|
46
|
+
});
|
|
44
47
|
bind(browser_1.WidgetFactory).toDynamicValue(({ container }) => ({
|
|
45
48
|
id: chat_input_widget_1.AIChatInputWidget.ID,
|
|
46
49
|
createWidget: () => container.get(chat_input_widget_1.AIChatInputWidget)
|
|
@@ -59,6 +62,11 @@ exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebi
|
|
|
59
62
|
bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(chat_response_renderer_1.ErrorPartRenderer).inSingletonScope();
|
|
60
63
|
bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(question_part_renderer_1.QuestionPartRenderer).inSingletonScope();
|
|
61
64
|
[core_1.CommandContribution, core_1.MenuContribution].forEach(serviceIdentifier => bind(serviceIdentifier).to(chat_view_contribution_1.ChatViewMenuContribution).inSingletonScope());
|
|
65
|
+
(0, core_1.bindContributionProvider)(bind, chat_response_renderer_1.CodePartRendererAction);
|
|
66
|
+
bind(chat_response_renderer_1.CopyToClipboardButtonAction).toSelf().inSingletonScope();
|
|
67
|
+
bind(chat_response_renderer_1.CodePartRendererAction).toService(chat_response_renderer_1.CopyToClipboardButtonAction);
|
|
68
|
+
bind(chat_response_renderer_1.InsertCodeAtCursorButtonAction).toSelf().inSingletonScope();
|
|
69
|
+
bind(chat_response_renderer_1.CodePartRendererAction).toService(chat_response_renderer_1.InsertCodeAtCursorButtonAction);
|
|
62
70
|
bind(ai_editor_manager_1.AIEditorManager).toSelf().inSingletonScope();
|
|
63
71
|
rebind(browser_2.EditorManager).toService(ai_editor_manager_1.AIEditorManager);
|
|
64
72
|
rebind(editor_preview_manager_1.EditorPreviewManager).toService(ai_editor_manager_1.AIEditorManager);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-chat-ui-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":";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,sCAA8F;AAC9F,qDAA+G;AAC/G,mFAA0F;AAC1F,4DAA2E;AAC3E,uDAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"ai-chat-ui-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,42 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import {
|
|
2
|
+
import { ChatModel, ChatRequestModel } from '@theia/ai-chat';
|
|
3
3
|
import { UntitledResourceResolver } from '@theia/core';
|
|
4
|
-
import { ContextMenuRenderer, Message, ReactWidget } from '@theia/core/lib/browser';
|
|
4
|
+
import { ContextMenuRenderer, LabelProvider, Message, ReactWidget } from '@theia/core/lib/browser';
|
|
5
5
|
import * as React from '@theia/core/shared/react';
|
|
6
|
-
import { MonacoEditorProvider } from '@theia/monaco/lib/browser/monaco-editor-provider';
|
|
7
6
|
import { IMouseEvent } from '@theia/monaco-editor-core';
|
|
7
|
+
import { MonacoEditor } from '@theia/monaco/lib/browser/monaco-editor';
|
|
8
|
+
import { MonacoEditorProvider } from '@theia/monaco/lib/browser/monaco-editor-provider';
|
|
8
9
|
type Query = (query: string) => Promise<void>;
|
|
9
10
|
type Cancel = (requestModel: ChatRequestModel) => void;
|
|
11
|
+
type DeleteChangeSet = (requestModel: ChatRequestModel) => void;
|
|
12
|
+
type DeleteChangeSetElement = (requestModel: ChatRequestModel, index: number) => void;
|
|
13
|
+
export declare const AIChatInputConfiguration: unique symbol;
|
|
14
|
+
export interface AIChatInputConfiguration {
|
|
15
|
+
showContext?: boolean;
|
|
16
|
+
}
|
|
10
17
|
export declare class AIChatInputWidget extends ReactWidget {
|
|
11
18
|
static ID: string;
|
|
12
19
|
static readonly CONTEXT_MENU: string[];
|
|
13
|
-
protected readonly agentService: ChatAgentService;
|
|
14
20
|
protected readonly editorProvider: MonacoEditorProvider;
|
|
15
21
|
protected readonly untitledResourceResolver: UntitledResourceResolver;
|
|
16
22
|
protected readonly contextMenuRenderer: ContextMenuRenderer;
|
|
23
|
+
protected readonly configuration: AIChatInputConfiguration | undefined;
|
|
24
|
+
protected readonly labelProvider: LabelProvider;
|
|
25
|
+
protected editorRef: MonacoEditor | undefined;
|
|
26
|
+
private editorReady;
|
|
17
27
|
protected isEnabled: boolean;
|
|
18
28
|
private _onQuery;
|
|
19
29
|
set onQuery(query: Query);
|
|
20
30
|
private _onCancel;
|
|
21
31
|
set onCancel(cancel: Cancel);
|
|
32
|
+
private _onDeleteChangeSet;
|
|
33
|
+
set onDeleteChangeSet(deleteChangeSet: DeleteChangeSet);
|
|
34
|
+
private _onDeleteChangeSetElement;
|
|
35
|
+
set onDeleteChangeSetElement(deleteChangeSetElement: DeleteChangeSetElement);
|
|
22
36
|
private _chatModel;
|
|
23
37
|
set chatModel(chatModel: ChatModel);
|
|
24
38
|
protected init(): void;
|
|
25
39
|
protected onActivateRequest(msg: Message): void;
|
|
26
|
-
protected getChatAgents(): ChatAgent[];
|
|
27
40
|
protected render(): React.ReactNode;
|
|
28
41
|
setEnabled(enabled: boolean): void;
|
|
29
42
|
protected handleContextMenu(event: IMouseEvent): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-input-widget.d.ts","sourceRoot":"","sources":["../../src/browser/chat-input-widget.tsx"],"names":[],"mappings":";AAeA,OAAO,
|
|
1
|
+
{"version":3,"file":"chat-input-widget.d.ts","sourceRoot":"","sources":["../../src/browser/chat-input-widget.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAgD,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC3G,OAAO,EAAc,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGnG,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAGxF,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9C,KAAK,MAAM,GAAG,CAAC,YAAY,EAAE,gBAAgB,KAAK,IAAI,CAAC;AACvD,KAAK,eAAe,GAAG,CAAC,YAAY,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAChE,KAAK,sBAAsB,GAAG,CAAC,YAAY,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAEtF,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAC3E,MAAM,WAAW,wBAAwB;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBACa,iBAAkB,SAAQ,WAAW;IAC9C,OAAc,EAAE,SAAuB;IACvC,MAAM,CAAC,QAAQ,CAAC,YAAY,WAA+B;IAG3D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAGtE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,CAAa;IAC1D,OAAO,CAAC,WAAW,CAAwB;IAE3C,SAAS,CAAC,SAAS,UAAS;IAE5B,OAAO,CAAC,QAAQ,CAAQ;IACxB,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,EAEvB;IACD,OAAO,CAAC,SAAS,CAAS;IAC1B,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAE1B;IACD,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,IAAI,iBAAiB,CAAC,eAAe,EAAE,eAAe,EAErD;IACD,OAAO,CAAC,yBAAyB,CAAyB;IAC1D,IAAI,wBAAwB,CAAC,sBAAsB,EAAE,sBAAsB,EAE1E;IACD,OAAO,CAAC,UAAU,CAAY;IAC9B,IAAI,SAAS,CAAC,SAAS,EAAE,SAAS,EAGjC;IAGD,SAAS,CAAC,IAAI,IAAI,IAAI;cAMH,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IASxD,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS;IAsB5B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKzC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;CAQxD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var AIChatInputWidget_1;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.AIChatInputWidget = void 0;
|
|
4
|
+
exports.AIChatInputWidget = exports.AIChatInputConfiguration = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
// *****************************************************************************
|
|
7
7
|
// Copyright (C) 2024 EclipseSource GmbH.
|
|
@@ -21,13 +21,17 @@ const tslib_1 = require("tslib");
|
|
|
21
21
|
const ai_chat_1 = require("@theia/ai-chat");
|
|
22
22
|
const core_1 = require("@theia/core");
|
|
23
23
|
const browser_1 = require("@theia/core/lib/browser");
|
|
24
|
+
const promise_util_1 = require("@theia/core/lib/common/promise-util");
|
|
24
25
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
25
26
|
const React = require("@theia/core/shared/react");
|
|
26
27
|
const monaco_editor_provider_1 = require("@theia/monaco/lib/browser/monaco-editor-provider");
|
|
27
28
|
const chat_view_language_contribution_1 = require("./chat-view-language-contribution");
|
|
29
|
+
exports.AIChatInputConfiguration = Symbol('AIChatInputConfiguration');
|
|
28
30
|
let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends browser_1.ReactWidget {
|
|
29
31
|
constructor() {
|
|
30
32
|
super(...arguments);
|
|
33
|
+
this.editorRef = undefined;
|
|
34
|
+
this.editorReady = new promise_util_1.Deferred();
|
|
31
35
|
this.isEnabled = false;
|
|
32
36
|
}
|
|
33
37
|
set onQuery(query) {
|
|
@@ -36,6 +40,12 @@ let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends br
|
|
|
36
40
|
set onCancel(cancel) {
|
|
37
41
|
this._onCancel = cancel;
|
|
38
42
|
}
|
|
43
|
+
set onDeleteChangeSet(deleteChangeSet) {
|
|
44
|
+
this._onDeleteChangeSet = deleteChangeSet;
|
|
45
|
+
}
|
|
46
|
+
set onDeleteChangeSetElement(deleteChangeSetElement) {
|
|
47
|
+
this._onDeleteChangeSetElement = deleteChangeSetElement;
|
|
48
|
+
}
|
|
39
49
|
set chatModel(chatModel) {
|
|
40
50
|
this._chatModel = chatModel;
|
|
41
51
|
this.update();
|
|
@@ -47,13 +57,18 @@ let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends br
|
|
|
47
57
|
}
|
|
48
58
|
onActivateRequest(msg) {
|
|
49
59
|
super.onActivateRequest(msg);
|
|
50
|
-
this.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
60
|
+
this.editorReady.promise.then(() => {
|
|
61
|
+
if (this.editorRef) {
|
|
62
|
+
this.editorRef.focus();
|
|
63
|
+
}
|
|
64
|
+
});
|
|
54
65
|
}
|
|
55
66
|
render() {
|
|
56
|
-
|
|
67
|
+
var _a;
|
|
68
|
+
return (React.createElement(ChatInput, { onQuery: this._onQuery.bind(this), onCancel: this._onCancel.bind(this), onDeleteChangeSet: this._onDeleteChangeSet.bind(this), onDeleteChangeSetElement: this._onDeleteChangeSetElement.bind(this), chatModel: this._chatModel, editorProvider: this.editorProvider, untitledResourceResolver: this.untitledResourceResolver, contextMenuCallback: this.handleContextMenu.bind(this), isEnabled: this.isEnabled, setEditorRef: editor => {
|
|
69
|
+
this.editorRef = editor;
|
|
70
|
+
this.editorReady.resolve();
|
|
71
|
+
}, showContext: (_a = this.configuration) === null || _a === void 0 ? void 0 : _a.showContext, labelProvider: this.labelProvider }));
|
|
57
72
|
}
|
|
58
73
|
setEnabled(enabled) {
|
|
59
74
|
this.isEnabled = enabled;
|
|
@@ -70,10 +85,6 @@ let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends br
|
|
|
70
85
|
exports.AIChatInputWidget = AIChatInputWidget;
|
|
71
86
|
AIChatInputWidget.ID = 'chat-input-widget';
|
|
72
87
|
AIChatInputWidget.CONTEXT_MENU = ['chat-input-context-menu'];
|
|
73
|
-
tslib_1.__decorate([
|
|
74
|
-
(0, inversify_1.inject)(ai_chat_1.ChatAgentService),
|
|
75
|
-
tslib_1.__metadata("design:type", Object)
|
|
76
|
-
], AIChatInputWidget.prototype, "agentService", void 0);
|
|
77
88
|
tslib_1.__decorate([
|
|
78
89
|
(0, inversify_1.inject)(monaco_editor_provider_1.MonacoEditorProvider),
|
|
79
90
|
tslib_1.__metadata("design:type", monaco_editor_provider_1.MonacoEditorProvider)
|
|
@@ -86,6 +97,15 @@ tslib_1.__decorate([
|
|
|
86
97
|
(0, inversify_1.inject)(browser_1.ContextMenuRenderer),
|
|
87
98
|
tslib_1.__metadata("design:type", browser_1.ContextMenuRenderer)
|
|
88
99
|
], AIChatInputWidget.prototype, "contextMenuRenderer", void 0);
|
|
100
|
+
tslib_1.__decorate([
|
|
101
|
+
(0, inversify_1.inject)(exports.AIChatInputConfiguration),
|
|
102
|
+
(0, inversify_1.optional)(),
|
|
103
|
+
tslib_1.__metadata("design:type", Object)
|
|
104
|
+
], AIChatInputWidget.prototype, "configuration", void 0);
|
|
105
|
+
tslib_1.__decorate([
|
|
106
|
+
(0, inversify_1.inject)(browser_1.LabelProvider),
|
|
107
|
+
tslib_1.__metadata("design:type", browser_1.LabelProvider)
|
|
108
|
+
], AIChatInputWidget.prototype, "labelProvider", void 0);
|
|
89
109
|
tslib_1.__decorate([
|
|
90
110
|
(0, inversify_1.postConstruct)(),
|
|
91
111
|
tslib_1.__metadata("design:type", Function),
|
|
@@ -96,86 +116,121 @@ exports.AIChatInputWidget = AIChatInputWidget = AIChatInputWidget_1 = tslib_1.__
|
|
|
96
116
|
(0, inversify_1.injectable)()
|
|
97
117
|
], AIChatInputWidget);
|
|
98
118
|
const ChatInput = (props) => {
|
|
119
|
+
const onDeleteChangeSet = () => props.onDeleteChangeSet(props.chatModel.id);
|
|
120
|
+
const onDeleteChangeSetElement = (index) => props.onDeleteChangeSetElement(props.chatModel.id, index);
|
|
99
121
|
const [inProgress, setInProgress] = React.useState(false);
|
|
122
|
+
const [isInputEmpty, setIsInputEmpty] = React.useState(true);
|
|
123
|
+
const [changeSetUI, setChangeSetUI] = React.useState(() => props.chatModel.changeSet ? buildChangeSetUI(props.chatModel.changeSet, props.labelProvider, onDeleteChangeSet, onDeleteChangeSetElement) : undefined);
|
|
100
124
|
// eslint-disable-next-line no-null/no-null
|
|
101
125
|
const editorContainerRef = React.useRef(null);
|
|
102
126
|
// eslint-disable-next-line no-null/no-null
|
|
103
127
|
const placeholderRef = React.useRef(null);
|
|
104
128
|
const editorRef = React.useRef(undefined);
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
});
|
|
142
|
-
if (editorContainerRef.current) {
|
|
143
|
-
editorContainerRef.current.style.height = (lineHeight + (2 * paddingTop)) + 'px';
|
|
144
|
-
}
|
|
145
|
-
const updateEditorHeight = () => {
|
|
129
|
+
React.useEffect(() => {
|
|
130
|
+
const createInputElement = async () => {
|
|
131
|
+
const paddingTop = 6;
|
|
132
|
+
const lineHeight = 20;
|
|
133
|
+
const maxHeight = 240;
|
|
134
|
+
const resource = await props.untitledResourceResolver.createUntitledResource('', chat_view_language_contribution_1.CHAT_VIEW_LANGUAGE_EXTENSION);
|
|
135
|
+
const editor = await props.editorProvider.createInline(resource.uri, editorContainerRef.current, {
|
|
136
|
+
language: chat_view_language_contribution_1.CHAT_VIEW_LANGUAGE_EXTENSION,
|
|
137
|
+
// Disable code lens, inlay hints and hover support to avoid console errors from other contributions
|
|
138
|
+
codeLens: false,
|
|
139
|
+
inlayHints: { enabled: 'off' },
|
|
140
|
+
hover: { enabled: false },
|
|
141
|
+
autoSizing: false, // we handle the sizing ourselves
|
|
142
|
+
scrollBeyondLastLine: false,
|
|
143
|
+
scrollBeyondLastColumn: 0,
|
|
144
|
+
minHeight: 1,
|
|
145
|
+
fontFamily: 'var(--theia-ui-font-family)',
|
|
146
|
+
fontSize: 13,
|
|
147
|
+
cursorWidth: 1,
|
|
148
|
+
maxHeight: -1,
|
|
149
|
+
scrollbar: { horizontal: 'hidden' },
|
|
150
|
+
automaticLayout: true,
|
|
151
|
+
lineNumbers: 'off',
|
|
152
|
+
lineHeight,
|
|
153
|
+
padding: { top: paddingTop },
|
|
154
|
+
suggest: {
|
|
155
|
+
showIcons: true,
|
|
156
|
+
showSnippets: false,
|
|
157
|
+
showWords: false,
|
|
158
|
+
showStatusBar: false,
|
|
159
|
+
insertMode: 'replace',
|
|
160
|
+
},
|
|
161
|
+
bracketPairColorization: { enabled: false },
|
|
162
|
+
wrappingStrategy: 'advanced',
|
|
163
|
+
stickyScroll: { enabled: false },
|
|
164
|
+
});
|
|
146
165
|
if (editorContainerRef.current) {
|
|
147
|
-
|
|
148
|
-
editorContainerRef.current.style.height = `${Math.min(contentHeight, maxHeight)}px`;
|
|
166
|
+
editorContainerRef.current.style.height = (lineHeight + (2 * paddingTop)) + 'px';
|
|
149
167
|
}
|
|
168
|
+
const updateEditorHeight = () => {
|
|
169
|
+
if (editorContainerRef.current) {
|
|
170
|
+
const contentHeight = editor.getControl().getContentHeight() + paddingTop;
|
|
171
|
+
editorContainerRef.current.style.height = `${Math.min(contentHeight, maxHeight)}px`;
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
editor.getControl().onDidChangeModelContent(() => {
|
|
175
|
+
const value = editor.getControl().getValue();
|
|
176
|
+
setIsInputEmpty(!value || value.length === 0);
|
|
177
|
+
updateEditorHeight();
|
|
178
|
+
handleOnChange();
|
|
179
|
+
});
|
|
180
|
+
const resizeObserver = new ResizeObserver(updateEditorHeight);
|
|
181
|
+
if (editorContainerRef.current) {
|
|
182
|
+
resizeObserver.observe(editorContainerRef.current);
|
|
183
|
+
}
|
|
184
|
+
editor.getControl().onDidDispose(() => {
|
|
185
|
+
resizeObserver.disconnect();
|
|
186
|
+
});
|
|
187
|
+
editor.getControl().onContextMenu(e => props.contextMenuCallback(e.event));
|
|
188
|
+
editorRef.current = editor;
|
|
189
|
+
props.setEditorRef(editor);
|
|
150
190
|
};
|
|
151
|
-
editor.getControl().onDidChangeModelContent(updateEditorHeight);
|
|
152
|
-
const resizeObserver = new ResizeObserver(updateEditorHeight);
|
|
153
|
-
if (editorContainerRef.current) {
|
|
154
|
-
resizeObserver.observe(editorContainerRef.current);
|
|
155
|
-
}
|
|
156
|
-
editor.getControl().onDidDispose(() => {
|
|
157
|
-
resizeObserver.disconnect();
|
|
158
|
-
});
|
|
159
|
-
editor.getControl().onContextMenu(e => props.contextMenuCallback(e.event));
|
|
160
|
-
editorRef.current = editor;
|
|
161
|
-
};
|
|
162
|
-
React.useEffect(() => {
|
|
163
191
|
createInputElement();
|
|
164
192
|
return () => {
|
|
193
|
+
props.setEditorRef(undefined);
|
|
165
194
|
if (editorRef.current) {
|
|
166
195
|
editorRef.current.dispose();
|
|
167
196
|
}
|
|
168
197
|
};
|
|
169
198
|
}, []);
|
|
199
|
+
const responseListenerRef = React.useRef();
|
|
200
|
+
// track chat model updates to keep our UI in sync
|
|
201
|
+
// - keep "inProgress" in sync with the request state
|
|
202
|
+
// - keep "changeSetUI" in sync with the change set
|
|
170
203
|
React.useEffect(() => {
|
|
171
|
-
const listener =
|
|
172
|
-
|
|
173
|
-
|
|
204
|
+
const listener = props.chatModel.onDidChange(event => {
|
|
205
|
+
var _a;
|
|
206
|
+
if (event.kind === 'addRequest') {
|
|
207
|
+
if (event.request) {
|
|
208
|
+
setInProgress(ai_chat_1.ChatRequestModel.isInProgress(event.request));
|
|
209
|
+
}
|
|
210
|
+
(_a = responseListenerRef.current) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
211
|
+
responseListenerRef.current = event.request.response.onDidChange(() => setInProgress(ai_chat_1.ChatRequestModel.isInProgress(event.request)));
|
|
212
|
+
}
|
|
213
|
+
else if (ai_chat_1.ChatChangeEvent.isChangeSetEvent(event)) {
|
|
214
|
+
if (event.changeSet) {
|
|
215
|
+
setChangeSetUI(buildChangeSetUI(event.changeSet, props.labelProvider, onDeleteChangeSet, onDeleteChangeSetElement));
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
setChangeSetUI(undefined);
|
|
219
|
+
}
|
|
174
220
|
}
|
|
175
221
|
});
|
|
176
|
-
|
|
177
|
-
|
|
222
|
+
setChangeSetUI(props.chatModel.changeSet ? buildChangeSetUI(props.chatModel.changeSet, props.labelProvider, onDeleteChangeSet, onDeleteChangeSetElement) : undefined);
|
|
223
|
+
return () => {
|
|
224
|
+
var _a;
|
|
225
|
+
listener === null || listener === void 0 ? void 0 : listener.dispose();
|
|
226
|
+
(_a = responseListenerRef.current) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
227
|
+
responseListenerRef.current = undefined;
|
|
228
|
+
};
|
|
229
|
+
}, [props.chatModel]);
|
|
178
230
|
function submit(value) {
|
|
231
|
+
if (!value || value.trim().length === 0) {
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
179
234
|
setInProgress(true);
|
|
180
235
|
props.onQuery(value);
|
|
181
236
|
if (editorRef.current) {
|
|
@@ -193,25 +248,118 @@ const ChatInput = (props) => {
|
|
|
193
248
|
}
|
|
194
249
|
}, [props.isEnabled]);
|
|
195
250
|
const handleInputFocus = () => {
|
|
196
|
-
|
|
197
|
-
|
|
251
|
+
hidePlaceholderIfEditorFilled();
|
|
252
|
+
};
|
|
253
|
+
const handleOnChange = () => {
|
|
254
|
+
showPlaceholderIfEditorEmpty();
|
|
255
|
+
hidePlaceholderIfEditorFilled();
|
|
198
256
|
};
|
|
199
257
|
const handleInputBlur = () => {
|
|
258
|
+
showPlaceholderIfEditorEmpty();
|
|
259
|
+
};
|
|
260
|
+
const showPlaceholderIfEditorEmpty = () => {
|
|
200
261
|
var _a, _b;
|
|
201
262
|
if (!((_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.getControl().getValue())) {
|
|
202
263
|
(_b = placeholderRef.current) === null || _b === void 0 ? void 0 : _b.classList.remove('hidden');
|
|
203
264
|
}
|
|
204
265
|
};
|
|
266
|
+
const hidePlaceholderIfEditorFilled = () => {
|
|
267
|
+
var _a, _b;
|
|
268
|
+
const value = (_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.getControl().getValue();
|
|
269
|
+
if (value && value.length > 0) {
|
|
270
|
+
(_b = placeholderRef.current) === null || _b === void 0 ? void 0 : _b.classList.add('hidden');
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
const leftOptions = props.showContext ? [{
|
|
274
|
+
title: 'Attach elements to context',
|
|
275
|
+
handler: () => { },
|
|
276
|
+
className: 'codicon-add'
|
|
277
|
+
}] : [];
|
|
278
|
+
const rightOptions = inProgress
|
|
279
|
+
? [{
|
|
280
|
+
title: 'Cancel (Esc)',
|
|
281
|
+
handler: () => {
|
|
282
|
+
const latestRequest = getLatestRequest(props.chatModel);
|
|
283
|
+
if (latestRequest) {
|
|
284
|
+
props.onCancel(latestRequest);
|
|
285
|
+
}
|
|
286
|
+
setInProgress(false);
|
|
287
|
+
},
|
|
288
|
+
className: 'codicon-stop-circle'
|
|
289
|
+
}]
|
|
290
|
+
: [{
|
|
291
|
+
title: 'Send (Enter)',
|
|
292
|
+
handler: () => {
|
|
293
|
+
var _a;
|
|
294
|
+
if (props.isEnabled) {
|
|
295
|
+
submit(((_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.document.textEditorModel.getValue()) || '');
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
className: 'codicon-send',
|
|
299
|
+
disabled: isInputEmpty || !props.isEnabled
|
|
300
|
+
}];
|
|
205
301
|
return React.createElement("div", { className: 'theia-ChatInput' },
|
|
302
|
+
(changeSetUI === null || changeSetUI === void 0 ? void 0 : changeSetUI.elements) &&
|
|
303
|
+
React.createElement(ChangeSetBox, { changeSet: changeSetUI }),
|
|
206
304
|
React.createElement("div", { className: 'theia-ChatInput-Editor-Box' },
|
|
207
305
|
React.createElement("div", { className: 'theia-ChatInput-Editor', ref: editorContainerRef, onKeyDown: onKeyDown, onFocus: handleInputFocus, onBlur: handleInputBlur },
|
|
208
|
-
React.createElement("div", { ref: placeholderRef, className: 'theia-ChatInput-Editor-Placeholder' }, "Ask a question"))
|
|
209
|
-
|
|
210
|
-
if (lastRequest) {
|
|
211
|
-
props.onCancel(lastRequest);
|
|
212
|
-
}
|
|
213
|
-
setInProgress(false);
|
|
214
|
-
} }) :
|
|
215
|
-
React.createElement("span", { className: "codicon codicon-send option", title: "Send (Enter)", onClick: !props.isEnabled ? undefined : () => { var _a; return submit(((_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.document.textEditorModel.getValue()) || ''); }, style: { cursor: !props.isEnabled ? 'default' : 'pointer', opacity: !props.isEnabled ? 0.5 : 1 } })));
|
|
306
|
+
React.createElement("div", { ref: placeholderRef, className: 'theia-ChatInput-Editor-Placeholder' }, "Ask a question")),
|
|
307
|
+
React.createElement(ChatInputOptions, { leftOptions: leftOptions, rightOptions: rightOptions })));
|
|
216
308
|
};
|
|
309
|
+
const noPropagation = (handler) => (e) => {
|
|
310
|
+
handler();
|
|
311
|
+
e.stopPropagation();
|
|
312
|
+
};
|
|
313
|
+
const buildChangeSetUI = (changeSet, labelProvider, onDeleteChangeSet, onDeleteChangeSetElement) => ({
|
|
314
|
+
title: changeSet.title,
|
|
315
|
+
disabled: !hasPendingElementsToAccept(changeSet),
|
|
316
|
+
acceptAllPendingElements: () => acceptAllPendingElements(changeSet),
|
|
317
|
+
delete: () => onDeleteChangeSet(),
|
|
318
|
+
elements: changeSet.getElements().map(element => {
|
|
319
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
320
|
+
return ({
|
|
321
|
+
open: (_a = element === null || element === void 0 ? void 0 : element.open) === null || _a === void 0 ? void 0 : _a.bind(element),
|
|
322
|
+
iconClass: (_c = (_b = element.icon) !== null && _b !== void 0 ? _b : labelProvider.getIcon(element.uri)) !== null && _c !== void 0 ? _c : labelProvider.fileIcon,
|
|
323
|
+
nameClass: `${element.type} ${element.state}`,
|
|
324
|
+
name: (_d = element.name) !== null && _d !== void 0 ? _d : labelProvider.getName(element.uri),
|
|
325
|
+
additionalInfo: (_e = element.additionalInfo) !== null && _e !== void 0 ? _e : labelProvider.getDetails(element.uri),
|
|
326
|
+
openChange: (_f = element === null || element === void 0 ? void 0 : element.openChange) === null || _f === void 0 ? void 0 : _f.bind(element),
|
|
327
|
+
accept: element.state !== 'applied' ? (_g = element === null || element === void 0 ? void 0 : element.accept) === null || _g === void 0 ? void 0 : _g.bind(element) : undefined,
|
|
328
|
+
discard: element.state === 'applied' ? (_h = element === null || element === void 0 ? void 0 : element.discard) === null || _h === void 0 ? void 0 : _h.bind(element) : undefined,
|
|
329
|
+
delete: () => onDeleteChangeSetElement(changeSet.getElements().indexOf(element))
|
|
330
|
+
});
|
|
331
|
+
})
|
|
332
|
+
});
|
|
333
|
+
const ChangeSetBox = ({ changeSet }) => (React.createElement("div", { className: 'theia-ChatInput-ChangeSet-Box' },
|
|
334
|
+
React.createElement("div", { className: 'theia-ChatInput-ChangeSet-Header' },
|
|
335
|
+
React.createElement("h3", null, changeSet.title),
|
|
336
|
+
React.createElement("div", { className: 'theia-ChatInput-ChangeSet-Header-Actions' },
|
|
337
|
+
React.createElement("button", { className: 'theia-button', disabled: changeSet.disabled, title: 'Accept all pending changes', onClick: () => changeSet.acceptAllPendingElements() }, "Accept"),
|
|
338
|
+
React.createElement("span", { className: 'codicon codicon-close action', title: 'Delete Change Set', onClick: () => changeSet.delete() }))),
|
|
339
|
+
React.createElement("div", { className: 'theia-ChatInput-ChangeSet-List' },
|
|
340
|
+
React.createElement("ul", null, changeSet.elements.map((element, index) => (React.createElement("li", { key: index, title: 'Open Diff', onClick: () => { var _a; return (_a = element.openChange) === null || _a === void 0 ? void 0 : _a.call(element); } },
|
|
341
|
+
React.createElement("div", { className: `theia-ChatInput-ChangeSet-Icon ${element.iconClass}` }),
|
|
342
|
+
React.createElement("span", { className: `theia-ChatInput-ChangeSet-title ${element.nameClass}` }, element.name),
|
|
343
|
+
React.createElement("span", { className: 'theia-ChatInput-ChangeSet-additionalInfo' }, element.additionalInfo),
|
|
344
|
+
React.createElement("div", { className: 'theia-ChatInput-ChangeSet-Actions' },
|
|
345
|
+
element.open && (React.createElement("span", { className: 'codicon codicon-file action', title: 'Open Original File', onClick: noPropagation(() => element.open()) })),
|
|
346
|
+
element.discard && (React.createElement("span", { className: 'codicon codicon-discard action', title: 'Undo', onClick: noPropagation(() => element.discard()) })),
|
|
347
|
+
element.accept && (React.createElement("span", { className: 'codicon codicon-check action', title: 'Accept', onClick: noPropagation(() => element.accept()) })),
|
|
348
|
+
React.createElement("span", { className: 'codicon codicon-close action', title: 'Delete', onClick: noPropagation(() => element.delete()) })))))))));
|
|
349
|
+
const ChatInputOptions = ({ leftOptions, rightOptions }) => (React.createElement("div", { className: "theia-ChatInputOptions" },
|
|
350
|
+
React.createElement("div", { className: "theia-ChatInputOptions-left" }, leftOptions.map((option, index) => (React.createElement("span", { key: index, className: `codicon ${option.className} option ${option.disabled ? 'disabled' : ''}`, title: option.title, onClick: option.handler })))),
|
|
351
|
+
React.createElement("div", { className: "theia-ChatInputOptions-right" }, rightOptions.map((option, index) => (React.createElement("span", { key: index, className: `codicon ${option.className} option ${option.disabled ? 'disabled' : ''}`, title: option.title, onClick: option.handler }))))));
|
|
352
|
+
function acceptAllPendingElements(changeSet) {
|
|
353
|
+
acceptablePendingElements(changeSet).forEach(e => e.accept());
|
|
354
|
+
}
|
|
355
|
+
function hasPendingElementsToAccept(changeSet) {
|
|
356
|
+
return acceptablePendingElements(changeSet).length > 0;
|
|
357
|
+
}
|
|
358
|
+
function acceptablePendingElements(changeSet) {
|
|
359
|
+
return changeSet.getElements().filter(e => e.accept && (e.state === undefined || e.state === 'pending'));
|
|
360
|
+
}
|
|
361
|
+
function getLatestRequest(chatModel) {
|
|
362
|
+
const requests = chatModel.getRequests();
|
|
363
|
+
return requests.length > 0 ? requests[requests.length - 1] : undefined;
|
|
364
|
+
}
|
|
217
365
|
//# sourceMappingURL=chat-input-widget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-input-widget.js","sourceRoot":"","sources":["../../src/browser/chat-input-widget.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-input-widget.js","sourceRoot":"","sources":["../../src/browser/chat-input-widget.tsx"],"names":[],"mappings":"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"}
|