@theia/ai-chat-ui 1.67.0-next.56 → 1.67.0-next.59
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/lib/browser/ai-chat-ui-contribution.d.ts +66 -0
- package/lib/browser/ai-chat-ui-contribution.d.ts.map +1 -0
- package/lib/browser/ai-chat-ui-contribution.js +587 -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 +153 -0
- package/lib/browser/ai-chat-ui-frontend-module.js.map +1 -0
- package/lib/browser/change-set-actions/change-set-accept-action.d.ts +10 -0
- package/lib/browser/change-set-actions/change-set-accept-action.d.ts.map +1 -0
- package/lib/browser/change-set-actions/change-set-accept-action.js +47 -0
- package/lib/browser/change-set-actions/change-set-accept-action.js.map +1 -0
- package/lib/browser/change-set-actions/change-set-action-service.d.ts +31 -0
- package/lib/browser/change-set-actions/change-set-action-service.d.ts.map +1 -0
- package/lib/browser/change-set-actions/change-set-action-service.js +57 -0
- package/lib/browser/change-set-actions/change-set-action-service.js.map +1 -0
- package/lib/browser/chat-input-agent-suggestions.d.ts +11 -0
- package/lib/browser/chat-input-agent-suggestions.d.ts.map +1 -0
- package/lib/browser/chat-input-agent-suggestions.js +76 -0
- package/lib/browser/chat-input-agent-suggestions.js.map +1 -0
- package/lib/browser/chat-input-history-contribution.d.ts +17 -0
- package/lib/browser/chat-input-history-contribution.d.ts.map +1 -0
- package/lib/browser/chat-input-history-contribution.js +158 -0
- package/lib/browser/chat-input-history-contribution.js.map +1 -0
- package/lib/browser/chat-input-history.d.ts +32 -0
- package/lib/browser/chat-input-history.d.ts.map +1 -0
- package/lib/browser/chat-input-history.js +125 -0
- package/lib/browser/chat-input-history.js.map +1 -0
- package/lib/browser/chat-input-mode-contribution.d.ts +12 -0
- package/lib/browser/chat-input-mode-contribution.d.ts.map +1 -0
- package/lib/browser/chat-input-mode-contribution.js +77 -0
- package/lib/browser/chat-input-mode-contribution.js.map +1 -0
- package/lib/browser/chat-input-widget.d.ts +118 -0
- package/lib/browser/chat-input-widget.d.ts.map +1 -0
- package/lib/browser/chat-input-widget.js +1034 -0
- package/lib/browser/chat-input-widget.js.map +1 -0
- package/lib/browser/chat-node-toolbar-action-contribution.d.ts +56 -0
- package/lib/browser/chat-node-toolbar-action-contribution.d.ts.map +1 -0
- package/lib/browser/chat-node-toolbar-action-contribution.js +92 -0
- package/lib/browser/chat-node-toolbar-action-contribution.js.map +1 -0
- package/lib/browser/chat-progress-message.d.ts +7 -0
- package/lib/browser/chat-progress-message.d.ts.map +1 -0
- package/lib/browser/chat-progress-message.js +33 -0
- package/lib/browser/chat-progress-message.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-selection-resolver.d.ts +23 -0
- package/lib/browser/chat-response-renderer/ai-selection-resolver.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/ai-selection-resolver.js +148 -0
- package/lib/browser/chat-response-renderer/ai-selection-resolver.js.map +1 -0
- package/lib/browser/chat-response-renderer/code-part-renderer.d.ts +73 -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 +227 -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 +67 -0
- package/lib/browser/chat-response-renderer/command-part-renderer.js.map +1 -0
- package/lib/browser/chat-response-renderer/delegation-response-renderer.d.ts +14 -0
- package/lib/browser/chat-response-renderer/delegation-response-renderer.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/delegation-response-renderer.js +144 -0
- package/lib/browser/chat-response-renderer/delegation-response-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 +13 -0
- package/lib/browser/chat-response-renderer/index.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/index.js +31 -0
- package/lib/browser/chat-response-renderer/index.js.map +1 -0
- package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts +36 -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 +129 -0
- package/lib/browser/chat-response-renderer/markdown-part-renderer.js.map +1 -0
- package/lib/browser/chat-response-renderer/progress-part-renderer.d.ts +9 -0
- package/lib/browser/chat-response-renderer/progress-part-renderer.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/progress-part-renderer.js +39 -0
- package/lib/browser/chat-response-renderer/progress-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 +49 -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 +43 -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/thinking-part-renderer.d.ts +9 -0
- package/lib/browser/chat-response-renderer/thinking-part-renderer.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/thinking-part-renderer.js +42 -0
- package/lib/browser/chat-response-renderer/thinking-part-renderer.js.map +1 -0
- package/lib/browser/chat-response-renderer/tool-confirmation.d.ts +17 -0
- package/lib/browser/chat-response-renderer/tool-confirmation.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/tool-confirmation.js +122 -0
- package/lib/browser/chat-response-renderer/tool-confirmation.js.map +1 -0
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts +20 -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 +223 -0
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.js.map +1 -0
- package/lib/browser/chat-response-renderer/unknown-part-renderer.d.ts +9 -0
- package/lib/browser/chat-response-renderer/unknown-part-renderer.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/unknown-part-renderer.js +42 -0
- package/lib/browser/chat-response-renderer/unknown-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-input-widget.d.ts +38 -0
- package/lib/browser/chat-tree-view/chat-view-tree-input-widget.d.ts.map +1 -0
- package/lib/browser/chat-tree-view/chat-view-tree-input-widget.js +88 -0
- package/lib/browser/chat-tree-view/chat-view-tree-input-widget.js.map +1 -0
- package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts +120 -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 +654 -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-tree-view/sub-chat-widget.d.ts +22 -0
- package/lib/browser/chat-tree-view/sub-chat-widget.d.ts.map +1 -0
- package/lib/browser/chat-tree-view/sub-chat-widget.js +92 -0
- package/lib/browser/chat-tree-view/sub-chat-widget.js.map +1 -0
- package/lib/browser/chat-view-commands.d.ts +15 -0
- package/lib/browser/chat-view-commands.d.ts.map +1 -0
- package/lib/browser/chat-view-commands.js +76 -0
- package/lib/browser/chat-view-commands.js.map +1 -0
- package/lib/browser/chat-view-contribution.d.ts +21 -0
- package/lib/browser/chat-view-contribution.d.ts.map +1 -0
- package/lib/browser/chat-view-contribution.js +183 -0
- package/lib/browser/chat-view-contribution.js.map +1 -0
- package/lib/browser/chat-view-language-contribution.d.ts +41 -0
- package/lib/browser/chat-view-language-contribution.d.ts.map +1 -0
- package/lib/browser/chat-view-language-contribution.js +269 -0
- package/lib/browser/chat-view-language-contribution.js.map +1 -0
- package/lib/browser/chat-view-widget-toolbar-contribution.d.ts +20 -0
- package/lib/browser/chat-view-widget-toolbar-contribution.d.ts.map +1 -0
- package/lib/browser/chat-view-widget-toolbar-contribution.js +115 -0
- package/lib/browser/chat-view-widget-toolbar-contribution.js.map +1 -0
- package/lib/browser/chat-view-widget.d.ts +60 -0
- package/lib/browser/chat-view-widget.d.ts.map +1 -0
- package/lib/browser/chat-view-widget.js +243 -0
- package/lib/browser/chat-view-widget.js.map +1 -0
- package/lib/browser/context-variable-picker.d.ts +9 -0
- package/lib/browser/context-variable-picker.d.ts.map +1 -0
- package/lib/browser/context-variable-picker.js +86 -0
- package/lib/browser/context-variable-picker.js.map +1 -0
- package/lib/browser/session-settings-dialog.d.ts +35 -0
- package/lib/browser/session-settings-dialog.d.ts.map +1 -0
- package/lib/browser/session-settings-dialog.js +118 -0
- package/lib/browser/session-settings-dialog.js.map +1 -0
- package/package.json +10 -10
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2025 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.AIChatTreeInputWidget = exports.AIChatTreeInputFactory = exports.AIChatTreeInputArgs = exports.AIChatTreeInputConfiguration = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const chat_input_widget_1 = require("../chat-input-widget");
|
|
22
|
+
const core_1 = require("@theia/core");
|
|
23
|
+
const chat_view_language_contribution_1 = require("../chat-view-language-contribution");
|
|
24
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
25
|
+
exports.AIChatTreeInputConfiguration = Symbol('AIChatTreeInputConfiguration');
|
|
26
|
+
exports.AIChatTreeInputArgs = Symbol('AIChatTreeInputArgs');
|
|
27
|
+
exports.AIChatTreeInputFactory = Symbol('AIChatTreeInputFactory');
|
|
28
|
+
let AIChatTreeInputWidget = class AIChatTreeInputWidget extends chat_input_widget_1.AIChatInputWidget {
|
|
29
|
+
get requestNode() {
|
|
30
|
+
return this.args.node;
|
|
31
|
+
}
|
|
32
|
+
get request() {
|
|
33
|
+
return this.requestNode.request;
|
|
34
|
+
}
|
|
35
|
+
init() {
|
|
36
|
+
super.init();
|
|
37
|
+
this.updateBranch();
|
|
38
|
+
const request = this.requestNode.request;
|
|
39
|
+
this.toDispose.push(request.session.onDidChange(() => {
|
|
40
|
+
this.updateBranch();
|
|
41
|
+
}));
|
|
42
|
+
this.addKeyListener(this.node, browser_1.Key.ESCAPE, () => {
|
|
43
|
+
this.request.cancelEdit();
|
|
44
|
+
});
|
|
45
|
+
this.editorReady.promise.then(() => {
|
|
46
|
+
if (this.editorRef) {
|
|
47
|
+
this.editorRef.focus();
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
updateBranch() {
|
|
52
|
+
var _a;
|
|
53
|
+
this.branch = (_a = this.args.branch) !== null && _a !== void 0 ? _a : this.requestNode.branch;
|
|
54
|
+
}
|
|
55
|
+
getResourceUri() {
|
|
56
|
+
return new core_1.URI(`ai-chat:/${this.requestNode.id}-input.${chat_view_language_contribution_1.CHAT_VIEW_LANGUAGE_EXTENSION}`);
|
|
57
|
+
}
|
|
58
|
+
addContext(variable) {
|
|
59
|
+
this.request.editContextManager.addVariables(variable);
|
|
60
|
+
}
|
|
61
|
+
getContext() {
|
|
62
|
+
return this.request.editContextManager.getVariables();
|
|
63
|
+
}
|
|
64
|
+
deleteContextElement(index) {
|
|
65
|
+
this.request.editContextManager.deleteVariables(index);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
exports.AIChatTreeInputWidget = AIChatTreeInputWidget;
|
|
69
|
+
AIChatTreeInputWidget.ID = 'chat-tree-input-widget';
|
|
70
|
+
tslib_1.__decorate([
|
|
71
|
+
(0, inversify_1.inject)(exports.AIChatTreeInputArgs),
|
|
72
|
+
tslib_1.__metadata("design:type", Object)
|
|
73
|
+
], AIChatTreeInputWidget.prototype, "args", void 0);
|
|
74
|
+
tslib_1.__decorate([
|
|
75
|
+
(0, inversify_1.inject)(exports.AIChatTreeInputConfiguration),
|
|
76
|
+
(0, inversify_1.optional)(),
|
|
77
|
+
tslib_1.__metadata("design:type", Object)
|
|
78
|
+
], AIChatTreeInputWidget.prototype, "configuration", void 0);
|
|
79
|
+
tslib_1.__decorate([
|
|
80
|
+
(0, inversify_1.postConstruct)(),
|
|
81
|
+
tslib_1.__metadata("design:type", Function),
|
|
82
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
83
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
84
|
+
], AIChatTreeInputWidget.prototype, "init", null);
|
|
85
|
+
exports.AIChatTreeInputWidget = AIChatTreeInputWidget = tslib_1.__decorate([
|
|
86
|
+
(0, inversify_1.injectable)()
|
|
87
|
+
], AIChatTreeInputWidget);
|
|
88
|
+
//# sourceMappingURL=chat-view-tree-input-widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-view-tree-input-widget.js","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/chat-view-tree-input-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;;;;AAEhF,4DAA2F;AAC3F,4DAAwF;AAExF,sCAAkC;AAClC,wFAAkF;AAGlF,qDAA8C;AAEjC,QAAA,4BAA4B,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAGtE,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAcpD,QAAA,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAIhE,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,qCAAiB;IASxD,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IACpC,CAAC;IAGkB,IAAI;QACnB,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE;YACjD,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,GAAG,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YAC/B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC3B,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAES,YAAY;;QAClB,IAAI,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,mCAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IAC9D,CAAC;IAEkB,cAAc;QAC7B,OAAO,IAAI,UAAG,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,EAAE,UAAU,8DAA4B,EAAE,CAAC,CAAC;IAC5F,CAAC;IAEQ,UAAU,CAAC,QAAqC;QACrD,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAEkB,UAAU;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;IAC1D,CAAC;IAEkB,oBAAoB,CAAC,KAAa;QACjD,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;;AAxDQ,sDAAqB;AACP,wBAAE,GAAG,wBAAwB,AAA3B,CAA4B;AAGlC;IADlB,IAAA,kBAAM,EAAC,2BAAmB,CAAC;;mDACiB;AAGjB;IAD3B,IAAA,kBAAM,EAAC,oCAA4B,CAAC;IAAE,IAAA,oBAAQ,GAAE;;4DACmC;AAWjE;IADlB,IAAA,yBAAa,GAAE;;;;iDAmBf;gCApCQ,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CAyDjC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ChatAgent, ChatAgentService, ChatModel, ChatRequestModel, ChatResponseContent, ChatResponseModel, ChatService, EditableChatRequestModel, type ChatRequest, type ChatHierarchyBranch } from '@theia/ai-chat';
|
|
3
|
+
import { AIVariableService } from '@theia/ai-core';
|
|
4
|
+
import { AIActivationService } from '@theia/ai-core/lib/browser';
|
|
5
|
+
import { CommandRegistry, ContributionProvider, DisposableCollection, Emitter } from '@theia/core';
|
|
6
|
+
import { ContextMenuRenderer, HoverService, NodeProps, OpenerService, TreeModel, TreeNode, TreeProps, TreeWidget } from '@theia/core/lib/browser';
|
|
7
|
+
import * as React from '@theia/core/shared/react';
|
|
8
|
+
import { ChatNodeToolbarActionContribution } from '../chat-node-toolbar-action-contribution';
|
|
9
|
+
import { ChatResponsePartRenderer } from '../chat-response-part-renderer';
|
|
10
|
+
import { AIChatTreeInputFactory, type AIChatTreeInputWidget } from './chat-view-tree-input-widget';
|
|
11
|
+
export interface RequestNode extends TreeNode {
|
|
12
|
+
request: ChatRequestModel;
|
|
13
|
+
branch: ChatHierarchyBranch;
|
|
14
|
+
sessionId: string;
|
|
15
|
+
}
|
|
16
|
+
export declare const isRequestNode: (node: TreeNode) => node is RequestNode;
|
|
17
|
+
export interface EditableRequestNode extends RequestNode {
|
|
18
|
+
request: EditableChatRequestModel;
|
|
19
|
+
}
|
|
20
|
+
export declare const isEditableRequestNode: (node: TreeNode) => node is EditableRequestNode;
|
|
21
|
+
export interface ResponseNode extends TreeNode {
|
|
22
|
+
response: ChatResponseModel;
|
|
23
|
+
sessionId: string;
|
|
24
|
+
}
|
|
25
|
+
export declare const isResponseNode: (node: TreeNode) => node is ResponseNode;
|
|
26
|
+
export declare function isEnterKey(e: React.KeyboardEvent): boolean;
|
|
27
|
+
export declare const ChatWelcomeMessageProvider: unique symbol;
|
|
28
|
+
export interface ChatWelcomeMessageProvider {
|
|
29
|
+
renderWelcomeMessage?(): React.ReactNode;
|
|
30
|
+
renderDisabledMessage?(): React.ReactNode;
|
|
31
|
+
}
|
|
32
|
+
export declare class ChatViewTreeWidget extends TreeWidget {
|
|
33
|
+
static readonly ID = "chat-tree-widget";
|
|
34
|
+
static readonly CONTEXT_MENU: string[];
|
|
35
|
+
protected readonly chatResponsePartRenderers: ContributionProvider<ChatResponsePartRenderer<ChatResponseContent>>;
|
|
36
|
+
protected readonly chatNodeToolbarActionContributions: ContributionProvider<ChatNodeToolbarActionContribution>;
|
|
37
|
+
protected chatAgentService: ChatAgentService;
|
|
38
|
+
protected readonly variableService: AIVariableService;
|
|
39
|
+
protected commandRegistry: CommandRegistry;
|
|
40
|
+
protected readonly openerService: OpenerService;
|
|
41
|
+
protected hoverService: HoverService;
|
|
42
|
+
protected welcomeMessageProvider?: ChatWelcomeMessageProvider;
|
|
43
|
+
protected inputWidgetFactory: AIChatTreeInputFactory;
|
|
44
|
+
protected readonly activationService: AIActivationService;
|
|
45
|
+
protected readonly chatService: ChatService;
|
|
46
|
+
protected readonly onDidSubmitEditEmitter: Emitter<ChatRequest>;
|
|
47
|
+
onDidSubmitEdit: import("@theia/core").Event<ChatRequest>;
|
|
48
|
+
protected readonly chatInputs: Map<string, AIChatTreeInputWidget>;
|
|
49
|
+
protected _shouldScrollToEnd: boolean;
|
|
50
|
+
protected isEnabled: boolean;
|
|
51
|
+
protected chatModelId: string;
|
|
52
|
+
/** Tracks if we are at the bottom for showing the scroll-to-bottom button. */
|
|
53
|
+
protected atBottom: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Track the visibility of the scroll button with debounce logic. Used to prevent flickering when streaming tokens.
|
|
56
|
+
*/
|
|
57
|
+
protected _showScrollButton: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Timer for debouncing the scroll button activation (prevents flicker on auto-scroll).
|
|
60
|
+
* If user scrolls up, this delays showing the button in case auto-scroll-to-bottom kicks in.
|
|
61
|
+
*/
|
|
62
|
+
protected _scrollButtonDebounceTimer?: number;
|
|
63
|
+
/**
|
|
64
|
+
* Debounce period in ms before showing scroll-to-bottom button after scrolling up.
|
|
65
|
+
* Avoids flickering of the button during LLM token streaming.
|
|
66
|
+
*/
|
|
67
|
+
protected static readonly SCROLL_BUTTON_GRACE_PERIOD = 100;
|
|
68
|
+
onScrollLockChange?: (temporaryLocked: boolean) => void;
|
|
69
|
+
protected lastScrollTop: number;
|
|
70
|
+
set shouldScrollToEnd(shouldScrollToEnd: boolean);
|
|
71
|
+
get shouldScrollToEnd(): boolean;
|
|
72
|
+
constructor(props: TreeProps, model: TreeModel, contextMenuRenderer: ContextMenuRenderer);
|
|
73
|
+
protected init(): void;
|
|
74
|
+
setEnabled(enabled: boolean): void;
|
|
75
|
+
protected handleScrollEvent(scrollEvent: unknown): void;
|
|
76
|
+
/** Updates the scroll-to-bottom button state and handles debounce. */
|
|
77
|
+
protected updateScrollToBottomButtonState(isAtBottom: boolean): void;
|
|
78
|
+
protected setTemporaryScrollLock(enabled: boolean): void;
|
|
79
|
+
protected getCurrentScrollTop(scrollEvent: unknown): number;
|
|
80
|
+
/**
|
|
81
|
+
* Returns true if the scroll position is at the absolute (1px tolerance) bottom of the scroll container.
|
|
82
|
+
* Handles both virtualized and non-virtualized scroll containers.
|
|
83
|
+
* Allows for a tiny floating point epsilon (1px).
|
|
84
|
+
*/
|
|
85
|
+
protected isAtAbsoluteBottom(): boolean;
|
|
86
|
+
protected renderTree(model: TreeModel): React.ReactNode;
|
|
87
|
+
/** Shows the scroll to bottom button if not at the bottom (debounced). */
|
|
88
|
+
protected renderScrollToBottomButton(): React.ReactNode;
|
|
89
|
+
/** Scrolls to the bottom row and updates atBottom state. */
|
|
90
|
+
protected handleScrollToBottomButtonClick(): void;
|
|
91
|
+
protected renderDisabledMessage(): React.ReactNode;
|
|
92
|
+
protected renderWelcomeMessage(): React.ReactNode;
|
|
93
|
+
protected mapRequestToNode(branch: ChatHierarchyBranch): RequestNode;
|
|
94
|
+
protected mapResponseToNode(response: ChatResponseModel): ResponseNode;
|
|
95
|
+
protected readonly toDisposeOnChatModelChange: DisposableCollection;
|
|
96
|
+
/**
|
|
97
|
+
* Tracks the ChatModel handed over.
|
|
98
|
+
* Tracking multiple chat models will result in a weird UI
|
|
99
|
+
*/
|
|
100
|
+
trackChatModel(chatModel: ChatModel): void;
|
|
101
|
+
protected disposeChatInputWidget(request: ChatRequestModel): void;
|
|
102
|
+
protected getScrollToRow(): number | undefined;
|
|
103
|
+
protected recreateModelTree(chatModel: ChatModel): Promise<void>;
|
|
104
|
+
protected renderNode(node: TreeNode, props: NodeProps): React.ReactNode;
|
|
105
|
+
protected renderAgent(node: RequestNode | ResponseNode): React.ReactNode;
|
|
106
|
+
protected getAgentLabel(node: RequestNode | ResponseNode): string;
|
|
107
|
+
protected getAgent(node: RequestNode | ResponseNode): ChatAgent | undefined;
|
|
108
|
+
protected getAgentIconClassName(node: RequestNode | ResponseNode): string | undefined;
|
|
109
|
+
protected renderDetail(node: RequestNode | ResponseNode): React.ReactNode;
|
|
110
|
+
protected renderChatRequest(node: RequestNode): React.ReactNode;
|
|
111
|
+
protected renderChatResponse(node: ResponseNode): React.ReactNode;
|
|
112
|
+
protected getChatResponsePartRenderer(content: ChatResponseContent, node: ResponseNode): React.ReactNode;
|
|
113
|
+
protected handleContextMenu(node: TreeNode | undefined, event: React.MouseEvent<HTMLElement>): void;
|
|
114
|
+
protected handleSpace(event: KeyboardEvent): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Ensure atBottom state is correct when content grows (e.g., LLM streaming while scroll lock is enabled).
|
|
117
|
+
*/
|
|
118
|
+
protected updateScrollToRow(): void;
|
|
119
|
+
}
|
|
120
|
+
//# 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":"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"}
|