@theia/ai-chat 1.63.0-next.0 → 1.63.0-next.52
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/agent-delegation-tool.d.ts +25 -0
- package/lib/browser/agent-delegation-tool.d.ts.map +1 -0
- package/lib/browser/agent-delegation-tool.js +171 -0
- package/lib/browser/agent-delegation-tool.js.map +1 -0
- package/lib/browser/ai-chat-frontend-module.d.ts.map +1 -1
- package/lib/browser/ai-chat-frontend-module.js +15 -1
- package/lib/browser/ai-chat-frontend-module.js.map +1 -1
- package/lib/browser/change-set-file-element.d.ts +28 -7
- package/lib/browser/change-set-file-element.d.ts.map +1 -1
- package/lib/browser/change-set-file-element.js +86 -18
- package/lib/browser/change-set-file-element.js.map +1 -1
- package/lib/browser/change-set-variable.js +1 -2
- package/lib/browser/change-set-variable.js.map +1 -1
- package/lib/browser/chat-tool-preferences.d.ts +54 -0
- package/lib/browser/chat-tool-preferences.d.ts.map +1 -0
- package/lib/browser/chat-tool-preferences.js +170 -0
- package/lib/browser/chat-tool-preferences.js.map +1 -0
- package/lib/browser/chat-tool-request-service.d.ts +20 -0
- package/lib/browser/chat-tool-request-service.d.ts.map +1 -0
- package/lib/browser/chat-tool-request-service.js +89 -0
- package/lib/browser/chat-tool-request-service.js.map +1 -0
- package/lib/browser/delegation-response-content.d.ts +20 -0
- package/lib/browser/delegation-response-content.d.ts.map +1 -0
- package/lib/browser/delegation-response-content.js +51 -0
- package/lib/browser/delegation-response-content.js.map +1 -0
- package/lib/browser/file-chat-variable-contribution.d.ts +15 -1
- package/lib/browser/file-chat-variable-contribution.d.ts.map +1 -1
- package/lib/browser/file-chat-variable-contribution.js +111 -5
- package/lib/browser/file-chat-variable-contribution.js.map +1 -1
- package/lib/browser/frontend-chat-service.d.ts.map +1 -1
- package/lib/browser/frontend-chat-service.js +2 -6
- package/lib/browser/frontend-chat-service.js.map +1 -1
- package/lib/browser/image-context-variable-contribution.d.ts +27 -0
- package/lib/browser/image-context-variable-contribution.d.ts.map +1 -0
- package/lib/browser/image-context-variable-contribution.js +149 -0
- package/lib/browser/image-context-variable-contribution.js.map +1 -0
- package/lib/browser/task-context-service.d.ts +9 -3
- package/lib/browser/task-context-service.d.ts.map +1 -1
- package/lib/browser/task-context-service.js +111 -9
- package/lib/browser/task-context-service.js.map +1 -1
- package/lib/browser/task-context-storage-service.d.ts +1 -0
- package/lib/browser/task-context-storage-service.d.ts.map +1 -1
- package/lib/browser/task-context-storage-service.js +4 -1
- package/lib/browser/task-context-storage-service.js.map +1 -1
- package/lib/common/change-set.d.ts +78 -0
- package/lib/common/change-set.d.ts.map +1 -0
- package/lib/common/change-set.js +133 -0
- package/lib/common/change-set.js.map +1 -0
- package/lib/common/chat-agent-service.d.ts +1 -0
- package/lib/common/chat-agent-service.d.ts.map +1 -1
- package/lib/common/chat-agent-service.js +2 -1
- package/lib/common/chat-agent-service.js.map +1 -1
- package/lib/common/chat-agents.d.ts +2 -2
- package/lib/common/chat-agents.d.ts.map +1 -1
- package/lib/common/chat-agents.js +25 -6
- package/lib/common/chat-agents.js.map +1 -1
- package/lib/common/chat-model.d.ts +68 -80
- package/lib/common/chat-model.d.ts.map +1 -1
- package/lib/common/chat-model.js +224 -136
- package/lib/common/chat-model.js.map +1 -1
- package/lib/common/chat-request-parser.d.ts.map +1 -1
- package/lib/common/chat-request-parser.js +3 -0
- package/lib/common/chat-request-parser.js.map +1 -1
- package/lib/common/chat-service.d.ts +6 -5
- package/lib/common/chat-service.d.ts.map +1 -1
- package/lib/common/chat-service.js +9 -11
- package/lib/common/chat-service.js.map +1 -1
- package/lib/common/image-context-variable.d.ts +29 -0
- package/lib/common/image-context-variable.d.ts.map +1 -0
- package/lib/common/image-context-variable.js +99 -0
- package/lib/common/image-context-variable.js.map +1 -0
- package/package.json +10 -9
- package/src/browser/agent-delegation-tool.ts +207 -0
- package/src/browser/ai-chat-frontend-module.ts +28 -3
- package/src/browser/change-set-file-element.ts +97 -25
- package/src/browser/change-set-variable.ts +1 -1
- package/src/browser/chat-tool-preferences.ts +178 -0
- package/src/browser/chat-tool-request-service.ts +93 -0
- package/src/browser/delegation-response-content.ts +55 -0
- package/src/browser/file-chat-variable-contribution.ts +120 -6
- package/src/browser/frontend-chat-service.ts +3 -6
- package/src/browser/image-context-variable-contribution.ts +153 -0
- package/src/browser/task-context-service.ts +115 -9
- package/src/browser/task-context-storage-service.ts +5 -1
- package/src/common/change-set.ts +197 -0
- package/src/common/chat-agent-service.ts +1 -0
- package/src/common/chat-agents.ts +40 -19
- package/src/common/chat-model.ts +258 -208
- package/src/common/chat-request-parser.ts +3 -0
- package/src/common/chat-service.ts +11 -13
- package/src/common/image-context-variable.ts +116 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ToolProvider, ToolRequest } from '@theia/ai-core';
|
|
2
|
+
import { ChatAgentService, ChatService } from '../common';
|
|
3
|
+
export declare const AGENT_DELEGATION_FUNCTION_ID = "delegateToAgent";
|
|
4
|
+
export declare class AgentDelegationTool implements ToolProvider {
|
|
5
|
+
static ID: string;
|
|
6
|
+
protected readonly getChatAgentService: () => ChatAgentService;
|
|
7
|
+
protected readonly getChatService: () => ChatService;
|
|
8
|
+
getTool(): ToolRequest;
|
|
9
|
+
private delegateToAgent;
|
|
10
|
+
/**
|
|
11
|
+
* Sets up monitoring of the ChangeSet in the delegated session and bubbles changes to the parent session.
|
|
12
|
+
* @param delegatedSession The session created for the delegated agent
|
|
13
|
+
* @param parentModel The parent session model that should receive the bubbled changes
|
|
14
|
+
* @param agentName The name of the agent for attribution purposes
|
|
15
|
+
*/
|
|
16
|
+
private setupChangeSetBubbling;
|
|
17
|
+
/**
|
|
18
|
+
* Bubbles the ChangeSet from the delegated session to the parent session.
|
|
19
|
+
* @param delegatedSession The session from which to bubble changes
|
|
20
|
+
* @param parentModel The parent session model to receive the bubbled changes
|
|
21
|
+
* @param agentName The name of the agent for attribution purposes
|
|
22
|
+
*/
|
|
23
|
+
private bubbleChangeSet;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=agent-delegation-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-delegation-tool.d.ts","sourceRoot":"","sources":["../../src/browser/agent-delegation-tool.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EACH,gBAAgB,EAGhB,WAAW,EAKd,MAAM,WAAW,CAAC;AAGnB,eAAO,MAAM,4BAA4B,oBAAoB,CAAC;AAE9D,qBACa,mBAAoB,YAAW,YAAY;IACpD,MAAM,CAAC,EAAE,SAAgC;IAGzC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;IAG/D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,WAAW,CAAC;IAErD,OAAO,IAAI,WAAW;YA2BR,eAAe;IAsG7B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;CAY1B"}
|
|
@@ -0,0 +1,171 @@
|
|
|
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
|
+
var AgentDelegationTool_1;
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.AgentDelegationTool = exports.AGENT_DELEGATION_FUNCTION_ID = void 0;
|
|
20
|
+
const tslib_1 = require("tslib");
|
|
21
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
+
const common_1 = require("../common");
|
|
23
|
+
const delegation_response_content_1 = require("./delegation-response-content");
|
|
24
|
+
exports.AGENT_DELEGATION_FUNCTION_ID = 'delegateToAgent';
|
|
25
|
+
let AgentDelegationTool = AgentDelegationTool_1 = class AgentDelegationTool {
|
|
26
|
+
getTool() {
|
|
27
|
+
return {
|
|
28
|
+
id: AgentDelegationTool_1.ID,
|
|
29
|
+
name: AgentDelegationTool_1.ID,
|
|
30
|
+
description: 'Delegate a task or question to a specific AI agent. This tool allows you to submit requests to specialized agents based on their capabilities.',
|
|
31
|
+
parameters: {
|
|
32
|
+
type: 'object',
|
|
33
|
+
properties: {
|
|
34
|
+
agentId: {
|
|
35
|
+
type: 'string',
|
|
36
|
+
description: 'The ID of the AI agent to delegate the task to.',
|
|
37
|
+
},
|
|
38
|
+
prompt: {
|
|
39
|
+
type: 'string',
|
|
40
|
+
description: 'The task, question, or prompt to pass to the specified agent.',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
required: ['agentId', 'prompt'],
|
|
44
|
+
},
|
|
45
|
+
handler: (arg_string, ctx) => this.delegateToAgent(arg_string, ctx),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
async delegateToAgent(arg_string, ctx) {
|
|
49
|
+
try {
|
|
50
|
+
const args = JSON.parse(arg_string);
|
|
51
|
+
const { agentId, prompt } = args;
|
|
52
|
+
if (!agentId || !prompt) {
|
|
53
|
+
const errorMsg = 'Both agentId and prompt parameters are required.';
|
|
54
|
+
console.error(errorMsg, { agentId, prompt });
|
|
55
|
+
return errorMsg;
|
|
56
|
+
}
|
|
57
|
+
// Check if the specified agent exists
|
|
58
|
+
const agent = this.getChatAgentService().getAgent(agentId);
|
|
59
|
+
if (!agent) {
|
|
60
|
+
const availableAgents = this.getChatAgentService()
|
|
61
|
+
.getAgents()
|
|
62
|
+
.map(a => a.id);
|
|
63
|
+
const errorMsg = `Agent '${agentId}' not found or not enabled. Available agents: ${availableAgents.join(', ')}`;
|
|
64
|
+
console.error(errorMsg);
|
|
65
|
+
return errorMsg;
|
|
66
|
+
}
|
|
67
|
+
let newSession;
|
|
68
|
+
try {
|
|
69
|
+
// FIXME: this creates a new conversation visible in the UI (Panel), which we don't want
|
|
70
|
+
// It is not possible to start a session without specifying a location (default=Panel)
|
|
71
|
+
const chatService = this.getChatService();
|
|
72
|
+
// Store the current active session to restore it after delegation
|
|
73
|
+
const currentActiveSession = chatService.getActiveSession();
|
|
74
|
+
newSession = chatService.createSession(undefined, { focus: false }, agent);
|
|
75
|
+
// Immediately restore the original active session to avoid confusing the user
|
|
76
|
+
if (currentActiveSession) {
|
|
77
|
+
chatService.setActiveSession(currentActiveSession.id, { focus: false });
|
|
78
|
+
}
|
|
79
|
+
// Setup ChangeSet bubbling from delegated session to parent session
|
|
80
|
+
this.setupChangeSetBubbling(newSession, ctx.session, agent.name);
|
|
81
|
+
}
|
|
82
|
+
catch (sessionError) {
|
|
83
|
+
const errorMsg = `Failed to create chat session for agent '${agentId}': ${sessionError instanceof Error ? sessionError.message : sessionError}`;
|
|
84
|
+
console.error(errorMsg, sessionError);
|
|
85
|
+
return errorMsg;
|
|
86
|
+
}
|
|
87
|
+
// Send the request
|
|
88
|
+
const chatRequest = {
|
|
89
|
+
text: prompt,
|
|
90
|
+
};
|
|
91
|
+
let response;
|
|
92
|
+
try {
|
|
93
|
+
const chatService = this.getChatService();
|
|
94
|
+
response = await chatService.sendRequest(newSession.id, chatRequest);
|
|
95
|
+
}
|
|
96
|
+
catch (sendError) {
|
|
97
|
+
const errorMsg = `Failed to send request to agent '${agentId}': ${sendError instanceof Error ? sendError.message : sendError}`;
|
|
98
|
+
console.error(errorMsg, sendError);
|
|
99
|
+
return errorMsg;
|
|
100
|
+
}
|
|
101
|
+
if (response) {
|
|
102
|
+
// Add the response content immediately to enable streaming
|
|
103
|
+
// The renderer will handle the streaming updates
|
|
104
|
+
ctx.response.response.addContent(new delegation_response_content_1.DelegationResponseContent(agent.name, prompt, response));
|
|
105
|
+
try {
|
|
106
|
+
// Wait for completion to return the final result as tool output
|
|
107
|
+
const result = await response.responseCompleted;
|
|
108
|
+
const stringResult = result.response.asString();
|
|
109
|
+
// Return the raw text to the top-level Agent, as a tool result
|
|
110
|
+
return stringResult;
|
|
111
|
+
}
|
|
112
|
+
catch (completionError) {
|
|
113
|
+
const errorMsg = `Failed to complete response from agent '${agentId}': ${completionError instanceof Error ? completionError.message : completionError}`;
|
|
114
|
+
console.error(errorMsg, completionError);
|
|
115
|
+
return errorMsg;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
const errorMsg = `Delegation to agent '${agentId}' has failed: no response returned.`;
|
|
120
|
+
console.error(errorMsg);
|
|
121
|
+
return errorMsg;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
console.error('Failed to delegate to agent', error);
|
|
126
|
+
return JSON.stringify({
|
|
127
|
+
error: `Failed to parse arguments or delegate to agent: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Sets up monitoring of the ChangeSet in the delegated session and bubbles changes to the parent session.
|
|
133
|
+
* @param delegatedSession The session created for the delegated agent
|
|
134
|
+
* @param parentModel The parent session model that should receive the bubbled changes
|
|
135
|
+
* @param agentName The name of the agent for attribution purposes
|
|
136
|
+
*/
|
|
137
|
+
setupChangeSetBubbling(delegatedSession, parentModel, agentName) {
|
|
138
|
+
// Monitor ChangeSet for bubbling
|
|
139
|
+
delegatedSession.model.changeSet.onDidChange(_event => {
|
|
140
|
+
this.bubbleChangeSet(delegatedSession, parentModel, agentName);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Bubbles the ChangeSet from the delegated session to the parent session.
|
|
145
|
+
* @param delegatedSession The session from which to bubble changes
|
|
146
|
+
* @param parentModel The parent session model to receive the bubbled changes
|
|
147
|
+
* @param agentName The name of the agent for attribution purposes
|
|
148
|
+
*/
|
|
149
|
+
bubbleChangeSet(delegatedSession, parentModel, agentName) {
|
|
150
|
+
const delegatedElements = delegatedSession.model.changeSet.getElements();
|
|
151
|
+
if (delegatedElements.length > 0) {
|
|
152
|
+
const bubbledTitle = `Changes from ${agentName}`;
|
|
153
|
+
parentModel.changeSet.setTitle(bubbledTitle);
|
|
154
|
+
parentModel.changeSet.addElements(...delegatedElements);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
exports.AgentDelegationTool = AgentDelegationTool;
|
|
159
|
+
AgentDelegationTool.ID = exports.AGENT_DELEGATION_FUNCTION_ID;
|
|
160
|
+
tslib_1.__decorate([
|
|
161
|
+
(0, inversify_1.inject)(common_1.ChatAgentServiceFactory),
|
|
162
|
+
tslib_1.__metadata("design:type", Function)
|
|
163
|
+
], AgentDelegationTool.prototype, "getChatAgentService", void 0);
|
|
164
|
+
tslib_1.__decorate([
|
|
165
|
+
(0, inversify_1.inject)(common_1.ChatServiceFactory),
|
|
166
|
+
tslib_1.__metadata("design:type", Function)
|
|
167
|
+
], AgentDelegationTool.prototype, "getChatService", void 0);
|
|
168
|
+
exports.AgentDelegationTool = AgentDelegationTool = AgentDelegationTool_1 = tslib_1.__decorate([
|
|
169
|
+
(0, inversify_1.injectable)()
|
|
170
|
+
], AgentDelegationTool);
|
|
171
|
+
//# sourceMappingURL=agent-delegation-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-delegation-tool.js","sourceRoot":"","sources":["../../src/browser/agent-delegation-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;;AA0C/D,wBAoGG"}
|
|
@@ -24,11 +24,13 @@ const chat_agents_variable_contribution_1 = require("../common/chat-agents-varia
|
|
|
24
24
|
const custom_chat_agent_1 = require("../common/custom-chat-agent");
|
|
25
25
|
const response_content_matcher_1 = require("../common/response-content-matcher");
|
|
26
26
|
const ai_chat_preferences_1 = require("./ai-chat-preferences");
|
|
27
|
+
const chat_tool_preferences_1 = require("./chat-tool-preferences");
|
|
27
28
|
const change_set_file_element_1 = require("./change-set-file-element");
|
|
28
29
|
const custom_agent_frontend_application_contribution_1 = require("./custom-agent-frontend-application-contribution");
|
|
29
30
|
const frontend_chat_service_1 = require("./frontend-chat-service");
|
|
30
31
|
const custom_agent_factory_1 = require("./custom-agent-factory");
|
|
31
32
|
const chat_tool_request_service_1 = require("../common/chat-tool-request-service");
|
|
33
|
+
const chat_tool_request_service_2 = require("./chat-tool-request-service");
|
|
32
34
|
const change_set_file_service_1 = require("./change-set-file-service");
|
|
33
35
|
const context_variable_label_provider_1 = require("./context-variable-label-provider");
|
|
34
36
|
const context_file_variable_label_provider_1 = require("./context-file-variable-label-provider");
|
|
@@ -44,10 +46,13 @@ const task_context_variable_label_provider_1 = require("./task-context-variable-
|
|
|
44
46
|
const task_context_service_1 = require("./task-context-service");
|
|
45
47
|
const task_context_storage_service_1 = require("./task-context-storage-service");
|
|
46
48
|
const ai_chat_frontend_contribution_1 = require("./ai-chat-frontend-contribution");
|
|
49
|
+
const image_context_variable_contribution_1 = require("./image-context-variable-contribution");
|
|
50
|
+
const agent_delegation_tool_1 = require("./agent-delegation-tool");
|
|
47
51
|
exports.default = new inversify_1.ContainerModule(bind => {
|
|
48
52
|
(0, core_1.bindContributionProvider)(bind, common_1.Agent);
|
|
49
53
|
(0, core_1.bindContributionProvider)(bind, common_2.ChatAgent);
|
|
50
|
-
bind(
|
|
54
|
+
bind(chat_tool_request_service_2.FrontendChatToolRequestService).toSelf().inSingletonScope();
|
|
55
|
+
bind(chat_tool_request_service_1.ChatToolRequestService).toService(chat_tool_request_service_2.FrontendChatToolRequestService);
|
|
51
56
|
bind(common_2.ChatAgentServiceImpl).toSelf().inSingletonScope();
|
|
52
57
|
bind(common_2.ChatAgentService).toService(common_2.ChatAgentServiceImpl);
|
|
53
58
|
bind(common_2.PinChatAgent).toConstantValue(true);
|
|
@@ -63,7 +68,12 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
63
68
|
bind(common_2.ChatRequestParser).toService(common_2.ChatRequestParserImpl);
|
|
64
69
|
bind(frontend_chat_service_1.FrontendChatServiceImpl).toSelf().inSingletonScope();
|
|
65
70
|
bind(common_2.ChatService).toService(frontend_chat_service_1.FrontendChatServiceImpl);
|
|
71
|
+
bind(common_2.ChatServiceFactory).toDynamicValue(ctx => () => ctx.container.get(common_2.ChatService));
|
|
72
|
+
bind(common_2.ChatAgentServiceFactory).toDynamicValue(ctx => () => ctx.container.get(common_2.ChatAgentService));
|
|
66
73
|
bind(browser_1.PreferenceContribution).toConstantValue({ schema: ai_chat_preferences_1.aiChatPreferences });
|
|
74
|
+
// Tool confirmation preferences
|
|
75
|
+
(0, chat_tool_preferences_1.bindChatToolPreferences)(bind);
|
|
76
|
+
bind(chat_tool_preferences_1.ToolConfirmationManager).toSelf().inSingletonScope();
|
|
67
77
|
bind(custom_chat_agent_1.CustomChatAgent).toSelf();
|
|
68
78
|
bind(custom_agent_factory_1.CustomAgentFactory).toFactory(ctx => (id, name, description, prompt, defaultLLM) => {
|
|
69
79
|
const agent = ctx.container.get(custom_chat_agent_1.CustomChatAgent);
|
|
@@ -105,10 +115,14 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
105
115
|
bind(common_1.AIVariableContribution).toService(task_context_variable_contribution_1.TaskContextVariableContribution);
|
|
106
116
|
bind(task_context_variable_label_provider_1.TaskContextVariableLabelProvider).toSelf().inSingletonScope();
|
|
107
117
|
bind(browser_1.LabelProviderContribution).toService(task_context_variable_label_provider_1.TaskContextVariableLabelProvider);
|
|
118
|
+
bind(image_context_variable_contribution_1.ImageContextVariableContribution).toSelf().inSingletonScope();
|
|
119
|
+
bind(common_1.AIVariableContribution).toService(image_context_variable_contribution_1.ImageContextVariableContribution);
|
|
120
|
+
bind(browser_1.LabelProviderContribution).toService(image_context_variable_contribution_1.ImageContextVariableContribution);
|
|
108
121
|
bind(task_context_service_1.TaskContextService).toSelf().inSingletonScope();
|
|
109
122
|
bind(task_context_storage_service_1.InMemoryTaskContextStorage).toSelf().inSingletonScope();
|
|
110
123
|
bind(task_context_service_1.TaskContextStorageService).toService(task_context_storage_service_1.InMemoryTaskContextStorage);
|
|
111
124
|
bind(ai_chat_frontend_contribution_1.AIChatFrontendContribution).toSelf().inSingletonScope();
|
|
112
125
|
bind(core_1.CommandContribution).toService(ai_chat_frontend_contribution_1.AIChatFrontendContribution);
|
|
126
|
+
(0, common_1.bindToolProvider)(agent_delegation_tool_1.AgentDelegationTool, bind);
|
|
113
127
|
});
|
|
114
128
|
//# 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,
|
|
1
|
+
{"version":3,"file":"ai-chat-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DisposableCollection, Emitter, URI } from '@theia/core';
|
|
2
2
|
import { Replacement } from '@theia/core/lib/common/content-replacer';
|
|
3
3
|
import { ConfigurableInMemoryResources, ConfigurableMutableReferenceResource } from '@theia/ai-core';
|
|
4
|
-
import { ChangeSetElement
|
|
4
|
+
import { ChangeSetElement } from '../common';
|
|
5
5
|
import { ChangeSetFileService } from './change-set-file-service';
|
|
6
6
|
import { FileService } from '@theia/filesystem/lib/browser/file-service';
|
|
7
7
|
import { ChangeSetDecoratorService } from './change-set-decorator-service';
|
|
@@ -12,10 +12,10 @@ export declare const ChangeSetElementArgs: unique symbol;
|
|
|
12
12
|
export interface ChangeSetElementArgs extends Partial<ChangeSetElement> {
|
|
13
13
|
/** The URI of the element, expected to be unique within the same change set. */
|
|
14
14
|
uri: URI;
|
|
15
|
-
/** The change set containing this element. */
|
|
16
|
-
changeSet: ChangeSetImpl;
|
|
17
15
|
/** The id of the chat session containing this change set element. */
|
|
18
16
|
chatSessionId: string;
|
|
17
|
+
/** The id of the request with which this change set element is associated. */
|
|
18
|
+
requestId: string;
|
|
19
19
|
/**
|
|
20
20
|
* The state of the file after the changes have been applied.
|
|
21
21
|
* If `undefined`, there is no change.
|
|
@@ -34,20 +34,34 @@ export declare class ChangeSetFileElement implements ChangeSetElement {
|
|
|
34
34
|
protected readonly changeSetDecoratorService: ChangeSetDecoratorService;
|
|
35
35
|
protected readonly fileService: FileService;
|
|
36
36
|
protected readonly inMemoryResources: ConfigurableInMemoryResources;
|
|
37
|
+
protected readonly factory: ChangeSetFileElementFactory;
|
|
37
38
|
protected readonly toDispose: DisposableCollection;
|
|
38
39
|
protected _state: ChangeSetElementState;
|
|
39
|
-
|
|
40
|
+
private _originalContent;
|
|
41
|
+
protected _initialized: boolean;
|
|
42
|
+
protected _initializationPromise: Promise<void> | undefined;
|
|
40
43
|
protected readonly onDidChangeEmitter: Emitter<void>;
|
|
41
44
|
readonly onDidChange: import("@theia/core").Event<void>;
|
|
42
|
-
protected
|
|
43
|
-
protected
|
|
45
|
+
protected _readOnlyResource: ConfigurableMutableReferenceResource;
|
|
46
|
+
protected _changeResource: ConfigurableMutableReferenceResource;
|
|
44
47
|
init(): void;
|
|
48
|
+
protected initializeAsync(): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Ensures that the element is fully initialized before proceeding.
|
|
51
|
+
* This includes loading the original content from the file system.
|
|
52
|
+
*/
|
|
53
|
+
ensureInitialized(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Returns true if the element has been fully initialized.
|
|
56
|
+
*/
|
|
57
|
+
get isInitialized(): boolean;
|
|
45
58
|
protected obtainOriginalContent(): Promise<void>;
|
|
46
|
-
protected getResources(): void;
|
|
47
59
|
protected getInMemoryUri(uri: URI): ConfigurableMutableReferenceResource;
|
|
48
60
|
protected listenForOriginalFileChanges(): void;
|
|
49
61
|
get uri(): URI;
|
|
62
|
+
protected get readOnlyResource(): ConfigurableMutableReferenceResource;
|
|
50
63
|
get readOnlyUri(): URI;
|
|
64
|
+
protected get changeResource(): ConfigurableMutableReferenceResource;
|
|
51
65
|
get changedUri(): URI;
|
|
52
66
|
get name(): string;
|
|
53
67
|
get icon(): string | undefined;
|
|
@@ -59,11 +73,18 @@ export declare class ChangeSetFileElement implements ChangeSetElement {
|
|
|
59
73
|
get data(): {
|
|
60
74
|
[key: string]: unknown;
|
|
61
75
|
} | undefined;
|
|
76
|
+
get originalContent(): string | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Gets the original content of the file asynchronously.
|
|
79
|
+
* Ensures initialization is complete before returning the content.
|
|
80
|
+
*/
|
|
81
|
+
getOriginalContent(): Promise<string | undefined>;
|
|
62
82
|
get targetState(): string;
|
|
63
83
|
open(): Promise<void>;
|
|
64
84
|
openChange(): Promise<void>;
|
|
65
85
|
apply(contents?: string): Promise<void>;
|
|
66
86
|
writeChanges(contents?: string): Promise<void>;
|
|
87
|
+
onShow(): void;
|
|
67
88
|
revert(): Promise<void>;
|
|
68
89
|
confirm(verb: string): Promise<boolean>;
|
|
69
90
|
dispose(): void;
|
|
@@ -1 +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,oBAAoB,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,oCAAoC,EAAE,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"change-set-file-element.d.ts","sourceRoot":"","sources":["../../src/browser/change-set-file-element.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,7 @@ exports.ChangeSetElementArgs = Symbol('ChangeSetElementArgs');
|
|
|
32
32
|
let ChangeSetFileElement = ChangeSetFileElement_1 = class ChangeSetFileElement {
|
|
33
33
|
constructor() {
|
|
34
34
|
this.toDispose = new core_1.DisposableCollection();
|
|
35
|
+
this._initialized = false;
|
|
35
36
|
this.onDidChangeEmitter = new core_1.Emitter();
|
|
36
37
|
this.onDidChange = this.onDidChangeEmitter.event;
|
|
37
38
|
}
|
|
@@ -39,25 +40,34 @@ let ChangeSetFileElement = ChangeSetFileElement_1 = class ChangeSetFileElement {
|
|
|
39
40
|
return baseUri.withScheme('change-set-immutable').withAuthority(sessionId);
|
|
40
41
|
}
|
|
41
42
|
init() {
|
|
42
|
-
this.
|
|
43
|
-
this.obtainOriginalContent();
|
|
44
|
-
this.listenForOriginalFileChanges();
|
|
43
|
+
this._initializationPromise = this.initializeAsync();
|
|
45
44
|
this.toDispose.push(this.onDidChangeEmitter);
|
|
46
45
|
}
|
|
46
|
+
async initializeAsync() {
|
|
47
|
+
await this.obtainOriginalContent();
|
|
48
|
+
this.listenForOriginalFileChanges();
|
|
49
|
+
this._initialized = true;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Ensures that the element is fully initialized before proceeding.
|
|
53
|
+
* This includes loading the original content from the file system.
|
|
54
|
+
*/
|
|
55
|
+
async ensureInitialized() {
|
|
56
|
+
await this._initializationPromise;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Returns true if the element has been fully initialized.
|
|
60
|
+
*/
|
|
61
|
+
get isInitialized() {
|
|
62
|
+
return this._initialized;
|
|
63
|
+
}
|
|
47
64
|
async obtainOriginalContent() {
|
|
48
65
|
var _a;
|
|
49
|
-
this.
|
|
50
|
-
|
|
51
|
-
|
|
66
|
+
this._originalContent = await this.changeSetFileService.read(this.uri);
|
|
67
|
+
if (this._readOnlyResource) {
|
|
68
|
+
this.readOnlyResource.update({ contents: (_a = this._originalContent) !== null && _a !== void 0 ? _a : '' });
|
|
52
69
|
}
|
|
53
70
|
}
|
|
54
|
-
getResources() {
|
|
55
|
-
this.readOnlyResource = this.getInMemoryUri(this.readOnlyUri);
|
|
56
|
-
this.readOnlyResource.update({ autosaveable: false, readOnly: true });
|
|
57
|
-
this.changeResource = this.getInMemoryUri(this.changedUri);
|
|
58
|
-
this.changeResource.update({ contents: this.targetState, onSave: content => this.writeChanges(content), autosaveable: false });
|
|
59
|
-
this.toDispose.pushAll([this.readOnlyResource, this.changeResource]);
|
|
60
|
-
}
|
|
61
71
|
getInMemoryUri(uri) {
|
|
62
72
|
try {
|
|
63
73
|
return this.inMemoryResources.resolve(uri);
|
|
@@ -71,10 +81,14 @@ let ChangeSetFileElement = ChangeSetFileElement_1 = class ChangeSetFileElement {
|
|
|
71
81
|
if (!event.contains(this.uri)) {
|
|
72
82
|
return;
|
|
73
83
|
}
|
|
84
|
+
if (!this._initialized && this._initializationPromise) {
|
|
85
|
+
// make sure we are initialized
|
|
86
|
+
await this._initializationPromise;
|
|
87
|
+
}
|
|
74
88
|
// If we are applied, the tricky thing becomes the question what to revert to; otherwise, what to apply.
|
|
75
89
|
const newContent = await this.changeSetFileService.read(this.uri).catch(() => '');
|
|
76
90
|
this.readOnlyResource.update({ contents: newContent });
|
|
77
|
-
if (newContent === this.
|
|
91
|
+
if (newContent === this._originalContent) {
|
|
78
92
|
this.state = 'pending';
|
|
79
93
|
}
|
|
80
94
|
else if (newContent === this.targetState) {
|
|
@@ -88,11 +102,39 @@ let ChangeSetFileElement = ChangeSetFileElement_1 = class ChangeSetFileElement {
|
|
|
88
102
|
get uri() {
|
|
89
103
|
return this.elementProps.uri;
|
|
90
104
|
}
|
|
105
|
+
get readOnlyResource() {
|
|
106
|
+
var _a, _b;
|
|
107
|
+
if (!this._readOnlyResource) {
|
|
108
|
+
this._readOnlyResource = this.getInMemoryUri(ChangeSetFileElement_1.toReadOnlyUri(this.uri, this.elementProps.chatSessionId));
|
|
109
|
+
this._readOnlyResource.update({
|
|
110
|
+
autosaveable: false,
|
|
111
|
+
readOnly: true,
|
|
112
|
+
contents: (_a = this._originalContent) !== null && _a !== void 0 ? _a : ''
|
|
113
|
+
});
|
|
114
|
+
this.toDispose.push(this._readOnlyResource);
|
|
115
|
+
// If not yet initialized, update the resource once initialization completes
|
|
116
|
+
if (!this._initialized) {
|
|
117
|
+
(_b = this._initializationPromise) === null || _b === void 0 ? void 0 : _b.then(() => {
|
|
118
|
+
var _a, _b;
|
|
119
|
+
(_a = this._readOnlyResource) === null || _a === void 0 ? void 0 : _a.update({ contents: (_b = this._originalContent) !== null && _b !== void 0 ? _b : '' });
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return this._readOnlyResource;
|
|
124
|
+
}
|
|
91
125
|
get readOnlyUri() {
|
|
92
|
-
return
|
|
126
|
+
return this.readOnlyResource.uri;
|
|
127
|
+
}
|
|
128
|
+
get changeResource() {
|
|
129
|
+
if (!this._changeResource) {
|
|
130
|
+
this._changeResource = this.getInMemoryUri((0, change_set_file_resource_1.createChangeSetFileUri)(this.elementProps.chatSessionId, this.uri));
|
|
131
|
+
this._changeResource.update({ autosaveable: false });
|
|
132
|
+
this.toDispose.push(this._changeResource);
|
|
133
|
+
}
|
|
134
|
+
return this._changeResource;
|
|
93
135
|
}
|
|
94
136
|
get changedUri() {
|
|
95
|
-
return
|
|
137
|
+
return this.changeResource.uri;
|
|
96
138
|
}
|
|
97
139
|
get name() {
|
|
98
140
|
var _a;
|
|
@@ -125,17 +167,34 @@ let ChangeSetFileElement = ChangeSetFileElement_1 = class ChangeSetFileElement {
|
|
|
125
167
|
return this.elementProps.data;
|
|
126
168
|
}
|
|
127
169
|
;
|
|
170
|
+
get originalContent() {
|
|
171
|
+
if (!this._initialized && this._initializationPromise) {
|
|
172
|
+
console.warn('Accessing originalContent before initialization is complete. Consider using async methods.');
|
|
173
|
+
}
|
|
174
|
+
return this._originalContent;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Gets the original content of the file asynchronously.
|
|
178
|
+
* Ensures initialization is complete before returning the content.
|
|
179
|
+
*/
|
|
180
|
+
async getOriginalContent() {
|
|
181
|
+
await this.ensureInitialized();
|
|
182
|
+
return this._originalContent;
|
|
183
|
+
}
|
|
128
184
|
get targetState() {
|
|
129
185
|
var _a;
|
|
130
186
|
return (_a = this.elementProps.targetState) !== null && _a !== void 0 ? _a : '';
|
|
131
187
|
}
|
|
132
188
|
async open() {
|
|
189
|
+
await this.ensureInitialized();
|
|
133
190
|
this.changeSetFileService.open(this);
|
|
134
191
|
}
|
|
135
192
|
async openChange() {
|
|
193
|
+
await this.ensureInitialized();
|
|
136
194
|
this.changeSetFileService.openDiff(this.readOnlyUri, this.changedUri);
|
|
137
195
|
}
|
|
138
196
|
async apply(contents) {
|
|
197
|
+
await this.ensureInitialized();
|
|
139
198
|
if (!await this.confirm('Apply')) {
|
|
140
199
|
return;
|
|
141
200
|
}
|
|
@@ -154,7 +213,12 @@ let ChangeSetFileElement = ChangeSetFileElement_1 = class ChangeSetFileElement {
|
|
|
154
213
|
await this.changeSetFileService.writeFrom(this.changedUri, this.uri, contents !== null && contents !== void 0 ? contents : this.targetState);
|
|
155
214
|
this.state = 'applied';
|
|
156
215
|
}
|
|
216
|
+
onShow() {
|
|
217
|
+
// Ensure we have the latest state when showing
|
|
218
|
+
this.changeResource.update({ contents: this.targetState, onSave: content => this.writeChanges(content) });
|
|
219
|
+
}
|
|
157
220
|
async revert() {
|
|
221
|
+
await this.ensureInitialized();
|
|
158
222
|
if (!await this.confirm('Revert')) {
|
|
159
223
|
return;
|
|
160
224
|
}
|
|
@@ -162,8 +226,8 @@ let ChangeSetFileElement = ChangeSetFileElement_1 = class ChangeSetFileElement {
|
|
|
162
226
|
if (this.type === 'add') {
|
|
163
227
|
await this.changeSetFileService.delete(this.uri);
|
|
164
228
|
}
|
|
165
|
-
else if (this.
|
|
166
|
-
await this.changeSetFileService.write(this.uri, this.
|
|
229
|
+
else if (this._originalContent) {
|
|
230
|
+
await this.changeSetFileService.write(this.uri, this._originalContent);
|
|
167
231
|
}
|
|
168
232
|
}
|
|
169
233
|
async confirm(verb) {
|
|
@@ -202,6 +266,10 @@ tslib_1.__decorate([
|
|
|
202
266
|
(0, inversify_1.inject)(ai_core_1.ConfigurableInMemoryResources),
|
|
203
267
|
tslib_1.__metadata("design:type", ai_core_1.ConfigurableInMemoryResources)
|
|
204
268
|
], ChangeSetFileElement.prototype, "inMemoryResources", void 0);
|
|
269
|
+
tslib_1.__decorate([
|
|
270
|
+
(0, inversify_1.inject)(exports.ChangeSetFileElementFactory),
|
|
271
|
+
tslib_1.__metadata("design:type", Function)
|
|
272
|
+
], ChangeSetFileElement.prototype, "factory", void 0);
|
|
205
273
|
tslib_1.__decorate([
|
|
206
274
|
(0, inversify_1.postConstruct)(),
|
|
207
275
|
tslib_1.__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-set-file-element.js","sourceRoot":"","sources":["../../src/browser/change-set-file-element.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,sCAAiE;AACjE,4DAAiF;AAEjF,4CAAqG;AAErG,yEAAoE;AACpE,uEAAiE;AACjE,6EAAyE;AACzE,qDAAwD;AACxD,iFAA2E;AAE9D,QAAA,2BAA2B,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;AAIpE,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAkBlE,CAAC;AAGK,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAA1B;
|
|
1
|
+
{"version":3,"file":"change-set-file-element.js","sourceRoot":"","sources":["../../src/browser/change-set-file-element.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,11 +34,10 @@ let ChangeSetVariableContribution = class ChangeSetVariableContribution {
|
|
|
34
34
|
return request.variable.name === exports.CHANGE_SET_SUMMARY_VARIABLE.name ? 50 : 0;
|
|
35
35
|
}
|
|
36
36
|
async resolve(request, context) {
|
|
37
|
-
var _a;
|
|
38
37
|
if (!common_1.ChatSessionContext.is(context) || request.variable.name !== exports.CHANGE_SET_SUMMARY_VARIABLE.name) {
|
|
39
38
|
return undefined;
|
|
40
39
|
}
|
|
41
|
-
if (!
|
|
40
|
+
if (!context.model.changeSet.getElements().length) {
|
|
42
41
|
return {
|
|
43
42
|
variable: exports.CHANGE_SET_SUMMARY_VARIABLE,
|
|
44
43
|
value: ''
|