@theia/ai-chat 1.57.1 → 1.58.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/ai-chat-frontend-module.d.ts.map +1 -1
- package/lib/browser/ai-chat-frontend-module.js +14 -4
- package/lib/browser/ai-chat-frontend-module.js.map +1 -1
- package/lib/browser/change-set-file-element.d.ts +44 -0
- package/lib/browser/change-set-file-element.d.ts.map +1 -0
- package/lib/browser/change-set-file-element.js +113 -0
- package/lib/browser/change-set-file-element.js.map +1 -0
- package/lib/browser/change-set-file-resource.d.ts +13 -0
- package/lib/browser/change-set-file-resource.d.ts.map +1 -0
- package/lib/browser/change-set-file-resource.js +73 -0
- package/lib/browser/change-set-file-resource.js.map +1 -0
- package/lib/browser/change-set-file-service.d.ts +26 -0
- package/lib/browser/change-set-file-service.d.ts.map +1 -0
- package/lib/browser/change-set-file-service.js +139 -0
- package/lib/browser/change-set-file-service.js.map +1 -0
- package/lib/common/chat-agents.d.ts +4 -5
- package/lib/common/chat-agents.d.ts.map +1 -1
- package/lib/common/chat-agents.js +14 -21
- package/lib/common/chat-agents.js.map +1 -1
- package/lib/common/chat-model.d.ts +73 -7
- package/lib/common/chat-model.d.ts.map +1 -1
- package/lib/common/chat-model.js +123 -8
- package/lib/common/chat-model.js.map +1 -1
- package/lib/common/chat-service.d.ts +6 -0
- package/lib/common/chat-service.d.ts.map +1 -1
- package/lib/common/chat-service.js +12 -0
- package/lib/common/chat-service.js.map +1 -1
- package/lib/common/chat-tool-request-service.d.ts +17 -0
- package/lib/common/chat-tool-request-service.d.ts.map +1 -0
- package/lib/common/chat-tool-request-service.js +52 -0
- package/lib/common/chat-tool-request-service.js.map +1 -0
- package/lib/common/command-chat-agents.js +1 -1
- package/lib/common/command-chat-agents.js.map +1 -1
- package/package.json +10 -8
- package/src/browser/ai-chat-frontend-module.ts +17 -6
- package/src/browser/change-set-file-element.ts +137 -0
- package/src/browser/change-set-file-resource.ts +74 -0
- package/src/browser/change-set-file-service.ts +136 -0
- package/src/common/chat-agents.ts +12 -24
- package/src/common/chat-model.ts +193 -14
- package/src/common/chat-service.ts +17 -0
- package/src/common/chat-tool-request-service.ts +59 -0
- package/src/common/command-chat-agents.ts +1 -1
- package/lib/common/o1-chat-agent.d.ts +0 -13
- package/lib/common/o1-chat-agent.d.ts.map +0 -1
- package/lib/common/o1-chat-agent.js +0 -45
- package/lib/common/o1-chat-agent.js.map +0 -1
- package/src/common/o1-chat-agent.ts +0 -51
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-chat-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;
|
|
1
|
+
{"version":3,"file":"ai-chat-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAyB/D,wBAgEG"}
|
|
@@ -27,13 +27,17 @@ const orchestrator_chat_agent_1 = require("../common/orchestrator-chat-agent");
|
|
|
27
27
|
const response_content_matcher_1 = require("../common/response-content-matcher");
|
|
28
28
|
const universal_chat_agent_1 = require("../common/universal-chat-agent");
|
|
29
29
|
const ai_chat_preferences_1 = require("./ai-chat-preferences");
|
|
30
|
+
const change_set_file_element_1 = require("./change-set-file-element");
|
|
30
31
|
const custom_agent_frontend_application_contribution_1 = require("./custom-agent-frontend-application-contribution");
|
|
31
32
|
const frontend_chat_service_1 = require("./frontend-chat-service");
|
|
32
33
|
const custom_agent_factory_1 = require("./custom-agent-factory");
|
|
33
|
-
const
|
|
34
|
+
const chat_tool_request_service_1 = require("../common/chat-tool-request-service");
|
|
35
|
+
const change_set_file_resource_1 = require("./change-set-file-resource");
|
|
36
|
+
const change_set_file_service_1 = require("./change-set-file-service");
|
|
34
37
|
exports.default = new inversify_1.ContainerModule(bind => {
|
|
35
38
|
(0, core_1.bindContributionProvider)(bind, common_1.Agent);
|
|
36
39
|
(0, core_1.bindContributionProvider)(bind, common_2.ChatAgent);
|
|
40
|
+
bind(chat_tool_request_service_1.ChatToolRequestService).toSelf().inSingletonScope();
|
|
37
41
|
bind(common_2.ChatAgentServiceImpl).toSelf().inSingletonScope();
|
|
38
42
|
bind(common_2.ChatAgentService).toService(common_2.ChatAgentServiceImpl);
|
|
39
43
|
bind(common_2.DefaultChatAgentId).toConstantValue({ id: orchestrator_chat_agent_1.OrchestratorChatAgentId });
|
|
@@ -49,9 +53,6 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
49
53
|
bind(orchestrator_chat_agent_1.OrchestratorChatAgent).toSelf().inSingletonScope();
|
|
50
54
|
bind(common_1.Agent).toService(orchestrator_chat_agent_1.OrchestratorChatAgent);
|
|
51
55
|
bind(common_2.ChatAgent).toService(orchestrator_chat_agent_1.OrchestratorChatAgent);
|
|
52
|
-
bind(o1_chat_agent_1.O1ChatAgent).toSelf().inSingletonScope();
|
|
53
|
-
bind(common_1.Agent).toService(o1_chat_agent_1.O1ChatAgent);
|
|
54
|
-
bind(common_2.ChatAgent).toService(o1_chat_agent_1.O1ChatAgent);
|
|
55
56
|
bind(universal_chat_agent_1.UniversalChatAgent).toSelf().inSingletonScope();
|
|
56
57
|
bind(common_1.Agent).toService(universal_chat_agent_1.UniversalChatAgent);
|
|
57
58
|
bind(common_2.ChatAgent).toService(universal_chat_agent_1.UniversalChatAgent);
|
|
@@ -75,5 +76,14 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
75
76
|
return agent;
|
|
76
77
|
});
|
|
77
78
|
bind(browser_1.FrontendApplicationContribution).to(custom_agent_frontend_application_contribution_1.AICustomAgentsFrontendApplicationContribution).inSingletonScope();
|
|
79
|
+
bind(change_set_file_service_1.ChangeSetFileService).toSelf().inSingletonScope();
|
|
80
|
+
bind(change_set_file_element_1.ChangeSetFileElementFactory).toFactory(ctx => (args) => {
|
|
81
|
+
const container = ctx.container.createChild();
|
|
82
|
+
container.bind(change_set_file_element_1.ChangeSetElementArgs).toConstantValue(args);
|
|
83
|
+
container.bind(change_set_file_element_1.ChangeSetFileElement).toSelf().inSingletonScope();
|
|
84
|
+
return container.get(change_set_file_element_1.ChangeSetFileElement);
|
|
85
|
+
});
|
|
86
|
+
bind(change_set_file_resource_1.ChangeSetFileResourceResolver).toSelf().inSingletonScope();
|
|
87
|
+
bind(core_1.ResourceResolver).toService(change_set_file_resource_1.ChangeSetFileResourceResolver);
|
|
78
88
|
});
|
|
79
89
|
//# sourceMappingURL=ai-chat-frontend-module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-chat-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-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,sDAAwF;AACxF,
|
|
1
|
+
{"version":3,"file":"ai-chat-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { URI } from '@theia/core';
|
|
2
|
+
import { ChangeSetElement, ChangeSetImpl } from '../common';
|
|
3
|
+
import { ChangeSetFileService } from './change-set-file-service';
|
|
4
|
+
export declare const ChangeSetFileElementFactory: unique symbol;
|
|
5
|
+
export type ChangeSetFileElementFactory = (elementProps: ChangeSetElementArgs) => ChangeSetFileElement;
|
|
6
|
+
export declare const ChangeSetElementArgs: unique symbol;
|
|
7
|
+
export interface ChangeSetElementArgs extends Partial<ChangeSetElement> {
|
|
8
|
+
/** The URI of the element, expected to be unique within the same change set. */
|
|
9
|
+
uri: URI;
|
|
10
|
+
/** The change set containing this element. */
|
|
11
|
+
changeSet: ChangeSetImpl;
|
|
12
|
+
/** The id of the chat session containing this change set element. */
|
|
13
|
+
chatSessionId: string;
|
|
14
|
+
/**
|
|
15
|
+
* The state of the file after the changes have been applied.
|
|
16
|
+
* If `undefined`, there is no change.
|
|
17
|
+
*/
|
|
18
|
+
targetState?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare class ChangeSetFileElement implements ChangeSetElement {
|
|
21
|
+
protected readonly elementProps: ChangeSetElementArgs;
|
|
22
|
+
protected readonly changeSetFileService: ChangeSetFileService;
|
|
23
|
+
protected _state: 'pending' | 'applied' | 'discarded' | undefined;
|
|
24
|
+
protected originalContent: string | undefined;
|
|
25
|
+
init(): void;
|
|
26
|
+
protected obtainOriginalContent(): Promise<void>;
|
|
27
|
+
get uri(): URI;
|
|
28
|
+
get changedUri(): URI;
|
|
29
|
+
get name(): string;
|
|
30
|
+
get icon(): string | undefined;
|
|
31
|
+
get additionalInfo(): string | undefined;
|
|
32
|
+
get state(): 'pending' | 'applied' | 'discarded' | undefined;
|
|
33
|
+
protected set state(value: 'pending' | 'applied' | 'discarded' | undefined);
|
|
34
|
+
get type(): 'add' | 'modify' | 'delete' | undefined;
|
|
35
|
+
get data(): {
|
|
36
|
+
[key: string]: unknown;
|
|
37
|
+
} | undefined;
|
|
38
|
+
get targetState(): string;
|
|
39
|
+
open(): Promise<void>;
|
|
40
|
+
openChange(): Promise<void>;
|
|
41
|
+
accept(contents?: string): Promise<void>;
|
|
42
|
+
discard(): Promise<void>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=change-set-file-element.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-set-file-element.d.ts","sourceRoot":"","sources":["../../src/browser/change-set-file-element.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,eAAO,MAAM,2BAA2B,eAAwC,CAAC;AACjF,MAAM,MAAM,2BAA2B,GAAG,CAAC,YAAY,EAAE,oBAAoB,KAAK,oBAAoB,CAAC;AAEvG,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AACnE,MAAM,WAAW,oBAAqB,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IACnE,gFAAgF;IAChF,GAAG,EAAE,GAAG,CAAC;IACT,8CAA8C;IAC9C,SAAS,EAAE,aAAa,CAAC;IACzB,qEAAqE;IACrE,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBACa,oBAAqB,YAAW,gBAAgB;IAGzD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAE9D,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAElE,SAAS,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAG9C,IAAI,IAAI,IAAI;cAII,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAItD,IAAI,GAAG,IAAI,GAAG,CAEb;IAED,IAAI,UAAU,IAAI,GAAG,CAEpB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,cAAc,IAAI,MAAM,GAAG,SAAS,CAEvC;IAED,IAAI,KAAK,IAAI,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAE3D;IAED,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,EAGzE;IAED,IAAI,IAAI,IAAI,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAElD;IAED,IAAI,IAAI,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAAE,GAAG,SAAS,CAElD;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAWjC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
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.ChangeSetFileElement = exports.ChangeSetElementArgs = exports.ChangeSetFileElementFactory = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const change_set_file_resource_1 = require("./change-set-file-resource");
|
|
22
|
+
const change_set_file_service_1 = require("./change-set-file-service");
|
|
23
|
+
exports.ChangeSetFileElementFactory = Symbol('ChangeSetFileElementFactory');
|
|
24
|
+
exports.ChangeSetElementArgs = Symbol('ChangeSetElementArgs');
|
|
25
|
+
;
|
|
26
|
+
let ChangeSetFileElement = class ChangeSetFileElement {
|
|
27
|
+
init() {
|
|
28
|
+
this.obtainOriginalContent();
|
|
29
|
+
}
|
|
30
|
+
async obtainOriginalContent() {
|
|
31
|
+
this.originalContent = await this.changeSetFileService.read(this.uri);
|
|
32
|
+
}
|
|
33
|
+
get uri() {
|
|
34
|
+
return this.elementProps.uri;
|
|
35
|
+
}
|
|
36
|
+
get changedUri() {
|
|
37
|
+
return (0, change_set_file_resource_1.createChangeSetFileUri)(this.elementProps.chatSessionId, this.uri);
|
|
38
|
+
}
|
|
39
|
+
get name() {
|
|
40
|
+
var _a;
|
|
41
|
+
return (_a = this.elementProps.name) !== null && _a !== void 0 ? _a : this.changeSetFileService.getName(this.uri);
|
|
42
|
+
}
|
|
43
|
+
get icon() {
|
|
44
|
+
var _a;
|
|
45
|
+
return (_a = this.elementProps.icon) !== null && _a !== void 0 ? _a : this.changeSetFileService.getIcon(this.uri);
|
|
46
|
+
}
|
|
47
|
+
get additionalInfo() {
|
|
48
|
+
return this.changeSetFileService.getAdditionalInfo(this.uri);
|
|
49
|
+
}
|
|
50
|
+
get state() {
|
|
51
|
+
var _a;
|
|
52
|
+
return (_a = this._state) !== null && _a !== void 0 ? _a : this.elementProps.state;
|
|
53
|
+
}
|
|
54
|
+
set state(value) {
|
|
55
|
+
this._state = value;
|
|
56
|
+
this.elementProps.changeSet.notifyChange();
|
|
57
|
+
}
|
|
58
|
+
get type() {
|
|
59
|
+
return this.elementProps.type;
|
|
60
|
+
}
|
|
61
|
+
get data() {
|
|
62
|
+
return this.elementProps.data;
|
|
63
|
+
}
|
|
64
|
+
;
|
|
65
|
+
get targetState() {
|
|
66
|
+
var _a;
|
|
67
|
+
return (_a = this.elementProps.targetState) !== null && _a !== void 0 ? _a : '';
|
|
68
|
+
}
|
|
69
|
+
async open() {
|
|
70
|
+
this.changeSetFileService.open(this);
|
|
71
|
+
}
|
|
72
|
+
async openChange() {
|
|
73
|
+
this.changeSetFileService.openDiff(this.uri, this.changedUri);
|
|
74
|
+
}
|
|
75
|
+
async accept(contents) {
|
|
76
|
+
this.state = 'applied';
|
|
77
|
+
if (this.type === 'delete') {
|
|
78
|
+
await this.changeSetFileService.delete(this.uri);
|
|
79
|
+
this.state = 'applied';
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
await this.changeSetFileService.write(this.uri, contents !== undefined ? contents : this.targetState);
|
|
83
|
+
}
|
|
84
|
+
async discard() {
|
|
85
|
+
this.state = 'discarded';
|
|
86
|
+
if (this.type === 'add') {
|
|
87
|
+
await this.changeSetFileService.delete(this.uri);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (this.originalContent) {
|
|
91
|
+
await this.changeSetFileService.write(this.uri, this.originalContent);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
exports.ChangeSetFileElement = ChangeSetFileElement;
|
|
96
|
+
tslib_1.__decorate([
|
|
97
|
+
(0, inversify_1.inject)(exports.ChangeSetElementArgs),
|
|
98
|
+
tslib_1.__metadata("design:type", Object)
|
|
99
|
+
], ChangeSetFileElement.prototype, "elementProps", void 0);
|
|
100
|
+
tslib_1.__decorate([
|
|
101
|
+
(0, inversify_1.inject)(change_set_file_service_1.ChangeSetFileService),
|
|
102
|
+
tslib_1.__metadata("design:type", change_set_file_service_1.ChangeSetFileService)
|
|
103
|
+
], ChangeSetFileElement.prototype, "changeSetFileService", void 0);
|
|
104
|
+
tslib_1.__decorate([
|
|
105
|
+
(0, inversify_1.postConstruct)(),
|
|
106
|
+
tslib_1.__metadata("design:type", Function),
|
|
107
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
108
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
109
|
+
], ChangeSetFileElement.prototype, "init", null);
|
|
110
|
+
exports.ChangeSetFileElement = ChangeSetFileElement = tslib_1.__decorate([
|
|
111
|
+
(0, inversify_1.injectable)()
|
|
112
|
+
], ChangeSetFileElement);
|
|
113
|
+
//# sourceMappingURL=change-set-file-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-set-file-element.js","sourceRoot":"","sources":["../../src/browser/change-set-file-element.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Resource, ResourceResolver, URI } from '@theia/core';
|
|
2
|
+
import { ChatService } from '../common';
|
|
3
|
+
export declare const CHANGE_SET_FILE_RESOURCE_SCHEME = "changeset-file";
|
|
4
|
+
export declare function createChangeSetFileUri(chatSessionId: string, elementUri: URI): URI;
|
|
5
|
+
/**
|
|
6
|
+
* A file resource within a chat's change set can be resolved with the following URI:
|
|
7
|
+
* changeset-file:/<chat-session-id>?uri=<element-uri-without-scheme>
|
|
8
|
+
*/
|
|
9
|
+
export declare class ChangeSetFileResourceResolver implements ResourceResolver {
|
|
10
|
+
protected readonly chatService: ChatService;
|
|
11
|
+
resolve(uri: URI): Promise<Resource>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=change-set-file-resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-set-file-resource.d.ts","sourceRoot":"","sources":["../../src/browser/change-set-file-resource.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAuB,GAAG,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,eAAO,MAAM,+BAA+B,mBAAmB,CAAC;AAGhE,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,GAAG,CAElF;AAED;;;GAGG;AACH,qBACa,6BAA8B,YAAW,gBAAgB;IAGlE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAEtC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;CAkC7C"}
|
|
@@ -0,0 +1,73 @@
|
|
|
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.ChangeSetFileResourceResolver = exports.createChangeSetFileUri = exports.CHANGE_SET_FILE_RESOURCE_SCHEME = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const core_1 = require("@theia/core");
|
|
21
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
+
const common_1 = require("../common");
|
|
23
|
+
const change_set_file_element_1 = require("./change-set-file-element");
|
|
24
|
+
exports.CHANGE_SET_FILE_RESOURCE_SCHEME = 'changeset-file';
|
|
25
|
+
const QUERY = 'uri=';
|
|
26
|
+
function createChangeSetFileUri(chatSessionId, elementUri) {
|
|
27
|
+
return new core_1.URI(exports.CHANGE_SET_FILE_RESOURCE_SCHEME + '://' + chatSessionId + '/' + elementUri.path).withQuery(QUERY + encodeURIComponent(elementUri.path.toString()));
|
|
28
|
+
}
|
|
29
|
+
exports.createChangeSetFileUri = createChangeSetFileUri;
|
|
30
|
+
/**
|
|
31
|
+
* A file resource within a chat's change set can be resolved with the following URI:
|
|
32
|
+
* changeset-file:/<chat-session-id>?uri=<element-uri-without-scheme>
|
|
33
|
+
*/
|
|
34
|
+
let ChangeSetFileResourceResolver = class ChangeSetFileResourceResolver {
|
|
35
|
+
async resolve(uri) {
|
|
36
|
+
if (uri.scheme !== exports.CHANGE_SET_FILE_RESOURCE_SCHEME) {
|
|
37
|
+
throw new Error('The given uri is not a change set file uri: ' + uri);
|
|
38
|
+
}
|
|
39
|
+
const chatSessionId = uri.authority;
|
|
40
|
+
const session = this.chatService.getSession(chatSessionId);
|
|
41
|
+
if (!session) {
|
|
42
|
+
throw new Error('Chat session not found: ' + chatSessionId);
|
|
43
|
+
}
|
|
44
|
+
const changeSet = session.model.changeSet;
|
|
45
|
+
if (!changeSet) {
|
|
46
|
+
throw new Error('Chat session has no change set: ' + chatSessionId);
|
|
47
|
+
}
|
|
48
|
+
const fileUri = decodeURIComponent(uri.query.toString().replace(QUERY, ''));
|
|
49
|
+
const element = changeSet.getElements().find(e => e.uri.path.toString() === fileUri);
|
|
50
|
+
if (!(element instanceof change_set_file_element_1.ChangeSetFileElement)) {
|
|
51
|
+
throw new Error('Change set element not found: ' + fileUri);
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
uri,
|
|
55
|
+
readOnly: false,
|
|
56
|
+
initiallyDirty: true,
|
|
57
|
+
readContents: async () => { var _a; return (_a = element.targetState) !== null && _a !== void 0 ? _a : ''; },
|
|
58
|
+
saveContents: async (content, options) => {
|
|
59
|
+
element.accept(content);
|
|
60
|
+
},
|
|
61
|
+
dispose: () => { }
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
exports.ChangeSetFileResourceResolver = ChangeSetFileResourceResolver;
|
|
66
|
+
tslib_1.__decorate([
|
|
67
|
+
(0, inversify_1.inject)(common_1.ChatService),
|
|
68
|
+
tslib_1.__metadata("design:type", Object)
|
|
69
|
+
], ChangeSetFileResourceResolver.prototype, "chatService", void 0);
|
|
70
|
+
exports.ChangeSetFileResourceResolver = ChangeSetFileResourceResolver = tslib_1.__decorate([
|
|
71
|
+
(0, inversify_1.injectable)()
|
|
72
|
+
], ChangeSetFileResourceResolver);
|
|
73
|
+
//# sourceMappingURL=change-set-file-resource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-set-file-resource.js","sourceRoot":"","sources":["../../src/browser/change-set-file-resource.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,sCAAmF;AACnF,4DAAkE;AAClE,sCAAwC;AACxC,uEAAiE;AAEpD,QAAA,+BAA+B,GAAG,gBAAgB,CAAC;AAChE,MAAM,KAAK,GAAG,MAAM,CAAC;AAErB,SAAgB,sBAAsB,CAAC,aAAqB,EAAE,UAAe;IACzE,OAAO,IAAI,UAAG,CAAC,uCAA+B,GAAG,KAAK,GAAG,aAAa,GAAG,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACtK,CAAC;AAFD,wDAEC;AAED;;;GAGG;AAEI,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAKtC,KAAK,CAAC,OAAO,CAAC,GAAQ;QAClB,IAAI,GAAG,CAAC,MAAM,KAAK,uCAA+B,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,GAAG,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,aAAa,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,aAAa,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC;QACrF,IAAI,CAAC,CAAC,OAAO,YAAY,8CAAoB,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,OAAO;YACH,GAAG;YACH,QAAQ,EAAE,KAAK;YACf,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,KAAK,IAAI,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,WAAW,mCAAI,EAAE,CAAA,EAAA;YACnD,YAAY,EAAE,KAAK,EAAE,OAAe,EAAE,OAA6B,EAAiB,EAAE;gBAClF,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;SACrB,CAAC;IACN,CAAC;CAEJ,CAAA;AAvCY,sEAA6B;AAGnB;IADlB,IAAA,kBAAM,EAAC,oBAAW,CAAC;;kEACwB;wCAHnC,6BAA6B;IADzC,IAAA,sBAAU,GAAE;GACA,6BAA6B,CAuCzC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ILogger, URI } from '@theia/core';
|
|
2
|
+
import { LabelProvider, OpenerService } from '@theia/core/lib/browser';
|
|
3
|
+
import { EditorManager } from '@theia/editor/lib/browser';
|
|
4
|
+
import { FileService } from '@theia/filesystem/lib/browser/file-service';
|
|
5
|
+
import { MonacoWorkspace } from '@theia/monaco/lib/browser/monaco-workspace';
|
|
6
|
+
import { WorkspaceService } from '@theia/workspace/lib/browser/workspace-service';
|
|
7
|
+
import { ChangeSetFileElement } from './change-set-file-element';
|
|
8
|
+
export declare class ChangeSetFileService {
|
|
9
|
+
protected readonly logger: ILogger;
|
|
10
|
+
protected readonly wsService: WorkspaceService;
|
|
11
|
+
protected readonly labelProvider: LabelProvider;
|
|
12
|
+
protected readonly openerService: OpenerService;
|
|
13
|
+
protected readonly editorManager: EditorManager;
|
|
14
|
+
protected readonly monacoWorkspace: MonacoWorkspace;
|
|
15
|
+
protected readonly fileService: FileService;
|
|
16
|
+
read(uri: URI): Promise<string | undefined>;
|
|
17
|
+
getName(uri: URI): string;
|
|
18
|
+
getIcon(uri: URI): string | undefined;
|
|
19
|
+
getAdditionalInfo(uri: URI): string | undefined;
|
|
20
|
+
open(element: ChangeSetFileElement): Promise<void>;
|
|
21
|
+
openDiff(originalUri: URI, suggestedUri: URI): Promise<void>;
|
|
22
|
+
delete(uri: URI): Promise<void>;
|
|
23
|
+
write(uri: URI, targetState: string): Promise<void>;
|
|
24
|
+
protected doWrite(uri: URI, text: string): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=change-set-file-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-set-file-service.d.ts","sourceRoot":"","sources":["../../src/browser/change-set-file-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAmB,GAAG,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAY,aAAa,EAAE,aAAa,EAAQ,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,qBACa,oBAAoB;IAE7B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAG/C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAEtC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAiBjD,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;IAIzB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAIrC,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAYzC,IAAI,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5D,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/B,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAQzC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAYjE"}
|
|
@@ -0,0 +1,139 @@
|
|
|
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.ChangeSetFileService = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const core_1 = require("@theia/core");
|
|
21
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
22
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
+
const browser_2 = require("@theia/editor/lib/browser");
|
|
24
|
+
const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
|
|
25
|
+
const monaco_workspace_1 = require("@theia/monaco/lib/browser/monaco-workspace");
|
|
26
|
+
const workspace_service_1 = require("@theia/workspace/lib/browser/workspace-service");
|
|
27
|
+
let ChangeSetFileService = class ChangeSetFileService {
|
|
28
|
+
async read(uri) {
|
|
29
|
+
const exists = await this.fileService.exists(uri);
|
|
30
|
+
if (!exists) {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
const document = this.monacoWorkspace.getTextDocument(uri.toString());
|
|
35
|
+
if (document) {
|
|
36
|
+
return document.getText();
|
|
37
|
+
}
|
|
38
|
+
return (await this.fileService.readFile(uri)).value.toString();
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
this.logger.error('Failed to read original content of change set file element.', error);
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
getName(uri) {
|
|
46
|
+
return this.labelProvider.getName(uri);
|
|
47
|
+
}
|
|
48
|
+
getIcon(uri) {
|
|
49
|
+
return this.labelProvider.getIcon(uri);
|
|
50
|
+
}
|
|
51
|
+
getAdditionalInfo(uri) {
|
|
52
|
+
const wsUri = this.wsService.getWorkspaceRootUri(uri);
|
|
53
|
+
if (wsUri) {
|
|
54
|
+
const wsRelative = wsUri.relative(uri);
|
|
55
|
+
if (wsRelative === null || wsRelative === void 0 ? void 0 : wsRelative.hasDir) {
|
|
56
|
+
return `${wsRelative.dir.toString()}`;
|
|
57
|
+
}
|
|
58
|
+
return '';
|
|
59
|
+
}
|
|
60
|
+
return this.labelProvider.getLongName(uri.parent);
|
|
61
|
+
}
|
|
62
|
+
async open(element) {
|
|
63
|
+
const exists = await this.fileService.exists(element.uri);
|
|
64
|
+
if (exists) {
|
|
65
|
+
await (0, browser_1.open)(this.openerService, element.uri);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
await this.editorManager.open(element.changedUri, {
|
|
69
|
+
mode: 'reveal'
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
async openDiff(originalUri, suggestedUri) {
|
|
73
|
+
const exists = await this.fileService.exists(originalUri);
|
|
74
|
+
const openedUri = exists ? originalUri : originalUri.withScheme(core_1.UNTITLED_SCHEME);
|
|
75
|
+
// Currently we don't have a great way to show the suggestions in a diff editor with accept/reject buttons
|
|
76
|
+
// So we just use plain diffs with the suggestions as original and the current state as modified, so users can apply changes in their current state
|
|
77
|
+
// But this leads to wrong colors and wrong label (revert change instead of accept change)
|
|
78
|
+
const diffUri = browser_1.DiffUris.encode(openedUri, suggestedUri, `AI Changes: ${this.labelProvider.getName(originalUri)}`);
|
|
79
|
+
(0, browser_1.open)(this.openerService, diffUri);
|
|
80
|
+
}
|
|
81
|
+
async delete(uri) {
|
|
82
|
+
const exists = await this.fileService.exists(uri);
|
|
83
|
+
if (exists) {
|
|
84
|
+
await this.fileService.delete(uri);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
async write(uri, targetState) {
|
|
88
|
+
const exists = await this.fileService.exists(uri);
|
|
89
|
+
if (!exists) {
|
|
90
|
+
await this.fileService.create(uri, targetState);
|
|
91
|
+
}
|
|
92
|
+
await this.doWrite(uri, targetState);
|
|
93
|
+
}
|
|
94
|
+
async doWrite(uri, text) {
|
|
95
|
+
const document = this.monacoWorkspace.getTextDocument(uri.toString());
|
|
96
|
+
if (document) {
|
|
97
|
+
await this.monacoWorkspace.applyBackgroundEdit(document, [{
|
|
98
|
+
range: document.textEditorModel.getFullModelRange(),
|
|
99
|
+
text
|
|
100
|
+
}], (editor, wasDirty) => editor === undefined || !wasDirty);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
await this.fileService.write(uri, text);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
exports.ChangeSetFileService = ChangeSetFileService;
|
|
108
|
+
tslib_1.__decorate([
|
|
109
|
+
(0, inversify_1.inject)(core_1.ILogger),
|
|
110
|
+
tslib_1.__metadata("design:type", Object)
|
|
111
|
+
], ChangeSetFileService.prototype, "logger", void 0);
|
|
112
|
+
tslib_1.__decorate([
|
|
113
|
+
(0, inversify_1.inject)(workspace_service_1.WorkspaceService),
|
|
114
|
+
tslib_1.__metadata("design:type", workspace_service_1.WorkspaceService)
|
|
115
|
+
], ChangeSetFileService.prototype, "wsService", void 0);
|
|
116
|
+
tslib_1.__decorate([
|
|
117
|
+
(0, inversify_1.inject)(browser_1.LabelProvider),
|
|
118
|
+
tslib_1.__metadata("design:type", browser_1.LabelProvider)
|
|
119
|
+
], ChangeSetFileService.prototype, "labelProvider", void 0);
|
|
120
|
+
tslib_1.__decorate([
|
|
121
|
+
(0, inversify_1.inject)(browser_1.OpenerService),
|
|
122
|
+
tslib_1.__metadata("design:type", Object)
|
|
123
|
+
], ChangeSetFileService.prototype, "openerService", void 0);
|
|
124
|
+
tslib_1.__decorate([
|
|
125
|
+
(0, inversify_1.inject)(browser_2.EditorManager),
|
|
126
|
+
tslib_1.__metadata("design:type", browser_2.EditorManager)
|
|
127
|
+
], ChangeSetFileService.prototype, "editorManager", void 0);
|
|
128
|
+
tslib_1.__decorate([
|
|
129
|
+
(0, inversify_1.inject)(monaco_workspace_1.MonacoWorkspace),
|
|
130
|
+
tslib_1.__metadata("design:type", monaco_workspace_1.MonacoWorkspace)
|
|
131
|
+
], ChangeSetFileService.prototype, "monacoWorkspace", void 0);
|
|
132
|
+
tslib_1.__decorate([
|
|
133
|
+
(0, inversify_1.inject)(file_service_1.FileService),
|
|
134
|
+
tslib_1.__metadata("design:type", file_service_1.FileService)
|
|
135
|
+
], ChangeSetFileService.prototype, "fileService", void 0);
|
|
136
|
+
exports.ChangeSetFileService = ChangeSetFileService = tslib_1.__decorate([
|
|
137
|
+
(0, inversify_1.injectable)()
|
|
138
|
+
], ChangeSetFileService);
|
|
139
|
+
//# sourceMappingURL=change-set-file-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-set-file-service.js","sourceRoot":"","sources":["../../src/browser/change-set-file-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@ import { CommunicationRecordingService, LanguageModel, LanguageModelRequirement,
|
|
|
2
2
|
import { Agent, LanguageModelRegistry, LanguageModelStreamResponsePart, MessageActor } from '@theia/ai-core/lib/common';
|
|
3
3
|
import { CancellationToken, ContributionProvider, ILogger } from '@theia/core';
|
|
4
4
|
import { ChatAgentService } from './chat-agent-service';
|
|
5
|
-
import { ChatModel,
|
|
5
|
+
import { ChatModel, ChatRequestModelImpl, ChatResponseContent } from './chat-model';
|
|
6
6
|
import { DefaultResponseContentFactory, ResponseContentMatcher, ResponseContentMatcherProvider } from './response-content-matcher';
|
|
7
|
+
import { ChatToolRequestService } from './chat-tool-request-service';
|
|
7
8
|
/**
|
|
8
9
|
* A conversation consists of a sequence of ChatMessages.
|
|
9
10
|
* Each ChatMessage is either a user message, AI message or a system message.
|
|
@@ -60,8 +61,10 @@ export declare abstract class AbstractChatAgent {
|
|
|
60
61
|
protected languageModelRegistry: LanguageModelRegistry;
|
|
61
62
|
protected logger: ILogger;
|
|
62
63
|
protected recordingService: CommunicationRecordingService;
|
|
64
|
+
protected chatToolRequestService: ChatToolRequestService;
|
|
63
65
|
protected promptService: PromptService;
|
|
64
66
|
protected contentMatcherProviders: ContributionProvider<ResponseContentMatcherProvider>;
|
|
67
|
+
protected additionalToolRequests: ToolRequest[];
|
|
65
68
|
protected contentMatchers: ResponseContentMatcher[];
|
|
66
69
|
protected defaultContentFactory: DefaultResponseContentFactory;
|
|
67
70
|
constructor(id: string, languageModelRequirements: LanguageModelRequirement[], defaultLanguageModelPurpose: string, iconClass?: string, locations?: ChatAgentLocation[], tags?: string[], defaultLogging?: boolean);
|
|
@@ -75,10 +78,6 @@ export declare abstract class AbstractChatAgent {
|
|
|
75
78
|
protected selectLanguageModel(selector: LanguageModelRequirement): Promise<LanguageModel>;
|
|
76
79
|
protected abstract getSystemMessageDescription(): Promise<SystemMessageDescription | undefined>;
|
|
77
80
|
protected getMessages(model: ChatModel, includeResponseInProgress?: boolean): Promise<ChatMessage[]>;
|
|
78
|
-
/**
|
|
79
|
-
* @returns the list of tools used by this agent, or undefined if none is needed.
|
|
80
|
-
*/
|
|
81
|
-
protected getTools(request: ChatRequestModel): ToolRequest[] | undefined;
|
|
82
81
|
protected callLlm(languageModel: LanguageModel, messages: ChatMessage[], tools: ToolRequest[] | undefined, token: CancellationToken): Promise<LanguageModelResponse>;
|
|
83
82
|
/**
|
|
84
83
|
* @returns the settings, such as `temperature`, to be used in all language model requests. Returns `undefined` by default.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-agents.d.ts","sourceRoot":"","sources":["../../src/common/chat-agents.ts"],"names":[],"mappings":"AAqBA,OAAO,EACH,6BAA6B,EAE7B,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,EAC3B,aAAa,EACb,sBAAsB,EACtB,WAAW,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,KAAK,EAGL,qBAAqB,EACrB,+BAA+B,EAC/B,YAAY,EACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"chat-agents.d.ts","sourceRoot":"","sources":["../../src/common/chat-agents.ts"],"names":[],"mappings":"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"}
|