@theia/ai-chat 1.67.0-next.13 → 1.67.0-next.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/package.json +9 -9
- package/lib/browser/agent-delegation-tool.d.ts +0 -25
- package/lib/browser/agent-delegation-tool.d.ts.map +0 -1
- package/lib/browser/agent-delegation-tool.js +0 -196
- package/lib/browser/agent-delegation-tool.js.map +0 -1
- package/lib/browser/ai-chat-frontend-contribution.d.ts +0 -11
- package/lib/browser/ai-chat-frontend-contribution.d.ts.map +0 -1
- package/lib/browser/ai-chat-frontend-contribution.js +0 -56
- package/lib/browser/ai-chat-frontend-contribution.js.map +0 -1
- package/lib/browser/ai-chat-frontend-module.d.ts +0 -4
- package/lib/browser/ai-chat-frontend-module.d.ts.map +0 -1
- package/lib/browser/ai-chat-frontend-module.js +0 -143
- package/lib/browser/ai-chat-frontend-module.js.map +0 -1
- package/lib/browser/change-set-decorator-service.d.ts +0 -24
- package/lib/browser/change-set-decorator-service.d.ts.map +0 -1
- package/lib/browser/change-set-decorator-service.js +0 -66
- package/lib/browser/change-set-decorator-service.js.map +0 -1
- package/lib/browser/change-set-file-element-deserializer.d.ts +0 -7
- package/lib/browser/change-set-file-element-deserializer.d.ts.map +0 -1
- package/lib/browser/change-set-file-element-deserializer.js +0 -61
- package/lib/browser/change-set-file-element-deserializer.js.map +0 -1
- package/lib/browser/change-set-file-element.d.ts +0 -122
- package/lib/browser/change-set-file-element.d.ts.map +0 -1
- package/lib/browser/change-set-file-element.js +0 -435
- package/lib/browser/change-set-file-element.js.map +0 -1
- package/lib/browser/change-set-file-resource.d.ts +0 -4
- package/lib/browser/change-set-file-resource.d.ts.map +0 -1
- package/lib/browser/change-set-file-resource.js +0 -24
- package/lib/browser/change-set-file-resource.js.map +0 -1
- package/lib/browser/change-set-file-service.d.ts +0 -32
- package/lib/browser/change-set-file-service.d.ts.map +0 -1
- package/lib/browser/change-set-file-service.js +0 -161
- package/lib/browser/change-set-file-service.js.map +0 -1
- package/lib/browser/change-set-variable.d.ts +0 -11
- package/lib/browser/change-set-variable.d.ts.map +0 -1
- package/lib/browser/change-set-variable.js +0 -64
- package/lib/browser/change-set-variable.js.map +0 -1
- package/lib/browser/chat-session-store-impl.d.ts +0 -36
- package/lib/browser/chat-session-store-impl.d.ts.map +0 -1
- package/lib/browser/chat-session-store-impl.js +0 -287
- package/lib/browser/chat-session-store-impl.js.map +0 -1
- package/lib/browser/chat-tool-preference-bindings.d.ts +0 -34
- package/lib/browser/chat-tool-preference-bindings.d.ts.map +0 -1
- package/lib/browser/chat-tool-preference-bindings.js +0 -122
- package/lib/browser/chat-tool-preference-bindings.js.map +0 -1
- package/lib/browser/chat-tool-request-service.d.ts +0 -21
- package/lib/browser/chat-tool-request-service.d.ts.map +0 -1
- package/lib/browser/chat-tool-request-service.js +0 -90
- package/lib/browser/chat-tool-request-service.js.map +0 -1
- package/lib/browser/context-file-validation-service.d.ts +0 -15
- package/lib/browser/context-file-validation-service.d.ts.map +0 -1
- package/lib/browser/context-file-validation-service.js +0 -26
- package/lib/browser/context-file-validation-service.js.map +0 -1
- package/lib/browser/context-file-variable-label-provider.d.ts +0 -14
- package/lib/browser/context-file-variable-label-provider.d.ts.map +0 -1
- package/lib/browser/context-file-variable-label-provider.js +0 -63
- package/lib/browser/context-file-variable-label-provider.js.map +0 -1
- package/lib/browser/context-variable-label-provider.d.ts +0 -9
- package/lib/browser/context-variable-label-provider.d.ts.map +0 -1
- package/lib/browser/context-variable-label-provider.js +0 -55
- package/lib/browser/context-variable-label-provider.js.map +0 -1
- package/lib/browser/custom-agent-factory.d.ts +0 -4
- package/lib/browser/custom-agent-factory.d.ts.map +0 -1
- package/lib/browser/custom-agent-factory.js +0 -20
- package/lib/browser/custom-agent-factory.js.map +0 -1
- package/lib/browser/custom-agent-frontend-application-contribution.d.ts +0 -13
- package/lib/browser/custom-agent-frontend-application-contribution.d.ts.map +0 -1
- package/lib/browser/custom-agent-frontend-application-contribution.js +0 -83
- package/lib/browser/custom-agent-frontend-application-contribution.js.map +0 -1
- package/lib/browser/delegation-response-content.d.ts +0 -20
- package/lib/browser/delegation-response-content.d.ts.map +0 -1
- package/lib/browser/delegation-response-content.js +0 -47
- package/lib/browser/delegation-response-content.js.map +0 -1
- package/lib/browser/file-chat-variable-contribution.d.ts +0 -32
- package/lib/browser/file-chat-variable-contribution.d.ts.map +0 -1
- package/lib/browser/file-chat-variable-contribution.js +0 -241
- package/lib/browser/file-chat-variable-contribution.js.map +0 -1
- package/lib/browser/frontend-chat-service.d.ts +0 -15
- package/lib/browser/frontend-chat-service.d.ts.map +0 -1
- package/lib/browser/frontend-chat-service.js +0 -72
- package/lib/browser/frontend-chat-service.js.map +0 -1
- package/lib/browser/image-context-variable-contribution.d.ts +0 -27
- package/lib/browser/image-context-variable-contribution.d.ts.map +0 -1
- package/lib/browser/image-context-variable-contribution.js +0 -149
- package/lib/browser/image-context-variable-contribution.js.map +0 -1
- package/lib/browser/task-context-service.d.ts +0 -46
- package/lib/browser/task-context-service.d.ts.map +0 -1
- package/lib/browser/task-context-service.js +0 -256
- package/lib/browser/task-context-service.js.map +0 -1
- package/lib/browser/task-context-storage-service.d.ts +0 -19
- package/lib/browser/task-context-storage-service.d.ts.map +0 -1
- package/lib/browser/task-context-storage-service.js +0 -80
- package/lib/browser/task-context-storage-service.js.map +0 -1
- package/lib/browser/task-context-variable-contribution.d.ts +0 -20
- package/lib/browser/task-context-variable-contribution.d.ts.map +0 -1
- package/lib/browser/task-context-variable-contribution.js +0 -101
- package/lib/browser/task-context-variable-contribution.js.map +0 -1
- package/lib/browser/task-context-variable-label-provider.d.ts +0 -21
- package/lib/browser/task-context-variable-label-provider.d.ts.map +0 -1
- package/lib/browser/task-context-variable-label-provider.js +0 -83
- package/lib/browser/task-context-variable-label-provider.js.map +0 -1
- package/lib/browser/task-context-variable.d.ts +0 -3
- package/lib/browser/task-context-variable.d.ts.map +0 -1
- package/lib/browser/task-context-variable.js +0 -33
- package/lib/browser/task-context-variable.js.map +0 -1
- package/lib/common/ai-chat-preferences.d.ts +0 -5
- package/lib/common/ai-chat-preferences.d.ts.map +0 -1
- package/lib/common/ai-chat-preferences.js +0 -40
- package/lib/common/ai-chat-preferences.js.map +0 -1
- package/lib/common/change-set-element-deserializer.d.ts +0 -30
- package/lib/common/change-set-element-deserializer.d.ts.map +0 -1
- package/lib/common/change-set-element-deserializer.js +0 -81
- package/lib/common/change-set-element-deserializer.js.map +0 -1
- package/lib/common/change-set.d.ts +0 -85
- package/lib/common/change-set.d.ts.map +0 -1
- package/lib/common/change-set.js +0 -133
- package/lib/common/change-set.js.map +0 -1
- package/lib/common/chat-agent-service.d.ts +0 -46
- package/lib/common/chat-agent-service.d.ts.map +0 -1
- package/lib/common/chat-agent-service.js +0 -79
- package/lib/common/chat-agent-service.js.map +0 -1
- package/lib/common/chat-agents-variable-contribution.d.ts +0 -17
- package/lib/common/chat-agents-variable-contribution.d.ts.map +0 -1
- package/lib/common/chat-agents-variable-contribution.js +0 -67
- package/lib/common/chat-agents-variable-contribution.js.map +0 -1
- package/lib/common/chat-agents.d.ts +0 -138
- package/lib/common/chat-agents.d.ts.map +0 -1
- package/lib/common/chat-agents.js +0 -428
- package/lib/common/chat-agents.js.map +0 -1
- package/lib/common/chat-auto-save.spec.d.ts +0 -2
- package/lib/common/chat-auto-save.spec.d.ts.map +0 -1
- package/lib/common/chat-auto-save.spec.js +0 -304
- package/lib/common/chat-auto-save.spec.js.map +0 -1
- package/lib/common/chat-content-deserializer.d.ts +0 -161
- package/lib/common/chat-content-deserializer.d.ts.map +0 -1
- package/lib/common/chat-content-deserializer.js +0 -166
- package/lib/common/chat-content-deserializer.js.map +0 -1
- package/lib/common/chat-content-deserializer.spec.d.ts +0 -2
- package/lib/common/chat-content-deserializer.spec.d.ts.map +0 -1
- package/lib/common/chat-content-deserializer.spec.js +0 -307
- package/lib/common/chat-content-deserializer.spec.js.map +0 -1
- package/lib/common/chat-model-serialization.d.ts +0 -110
- package/lib/common/chat-model-serialization.d.ts.map +0 -1
- package/lib/common/chat-model-serialization.js +0 -20
- package/lib/common/chat-model-serialization.js.map +0 -1
- package/lib/common/chat-model-serialization.spec.d.ts +0 -2
- package/lib/common/chat-model-serialization.spec.d.ts.map +0 -1
- package/lib/common/chat-model-serialization.spec.js +0 -278
- package/lib/common/chat-model-serialization.spec.js.map +0 -1
- package/lib/common/chat-model-util.d.ts +0 -7
- package/lib/common/chat-model-util.d.ts.map +0 -1
- package/lib/common/chat-model-util.js +0 -50
- package/lib/common/chat-model-util.js.map +0 -1
- package/lib/common/chat-model.d.ts +0 -923
- package/lib/common/chat-model.d.ts.map +0 -1
- package/lib/common/chat-model.js +0 -1791
- package/lib/common/chat-model.js.map +0 -1
- package/lib/common/chat-request-parser.d.ts +0 -38
- package/lib/common/chat-request-parser.d.ts.map +0 -1
- package/lib/common/chat-request-parser.js +0 -230
- package/lib/common/chat-request-parser.js.map +0 -1
- package/lib/common/chat-request-parser.spec.d.ts +0 -2
- package/lib/common/chat-request-parser.spec.d.ts.map +0 -1
- package/lib/common/chat-request-parser.spec.js +0 -235
- package/lib/common/chat-request-parser.spec.js.map +0 -1
- package/lib/common/chat-service-deletion.spec.d.ts +0 -2
- package/lib/common/chat-service-deletion.spec.d.ts.map +0 -1
- package/lib/common/chat-service-deletion.spec.js +0 -221
- package/lib/common/chat-service-deletion.spec.js.map +0 -1
- package/lib/common/chat-service.d.ts +0 -153
- package/lib/common/chat-service.d.ts.map +0 -1
- package/lib/common/chat-service.js +0 -474
- package/lib/common/chat-service.js.map +0 -1
- package/lib/common/chat-session-naming-prompt-template.d.ts +0 -3
- package/lib/common/chat-session-naming-prompt-template.d.ts.map +0 -1
- package/lib/common/chat-session-naming-prompt-template.js +0 -31
- package/lib/common/chat-session-naming-prompt-template.js.map +0 -1
- package/lib/common/chat-session-naming-service.d.ts +0 -26
- package/lib/common/chat-session-naming-service.d.ts.map +0 -1
- package/lib/common/chat-session-naming-service.js +0 -119
- package/lib/common/chat-session-naming-service.js.map +0 -1
- package/lib/common/chat-session-store.d.ts +0 -43
- package/lib/common/chat-session-store.d.ts.map +0 -1
- package/lib/common/chat-session-store.js +0 -20
- package/lib/common/chat-session-store.js.map +0 -1
- package/lib/common/chat-session-summary-agent-prompt.d.ts +0 -8
- package/lib/common/chat-session-summary-agent-prompt.d.ts.map +0 -1
- package/lib/common/chat-session-summary-agent-prompt.js +0 -33
- package/lib/common/chat-session-summary-agent-prompt.js.map +0 -1
- package/lib/common/chat-session-summary-agent.d.ts +0 -16
- package/lib/common/chat-session-summary-agent.d.ts.map +0 -1
- package/lib/common/chat-session-summary-agent.js +0 -48
- package/lib/common/chat-session-summary-agent.js.map +0 -1
- package/lib/common/chat-string-utils.d.ts +0 -3
- package/lib/common/chat-string-utils.d.ts.map +0 -1
- package/lib/common/chat-string-utils.js +0 -27
- package/lib/common/chat-string-utils.js.map +0 -1
- package/lib/common/chat-tool-preferences.d.ts +0 -23
- package/lib/common/chat-tool-preferences.d.ts.map +0 -1
- package/lib/common/chat-tool-preferences.js +0 -68
- package/lib/common/chat-tool-preferences.js.map +0 -1
- package/lib/common/chat-tool-request-service.d.ts +0 -18
- package/lib/common/chat-tool-request-service.d.ts.map +0 -1
- package/lib/common/chat-tool-request-service.js +0 -52
- package/lib/common/chat-tool-request-service.js.map +0 -1
- package/lib/common/context-details-variable.d.ts +0 -9
- package/lib/common/context-details-variable.d.ts.map +0 -1
- package/lib/common/context-details-variable.js +0 -57
- package/lib/common/context-details-variable.js.map +0 -1
- package/lib/common/context-summary-variable.d.ts +0 -9
- package/lib/common/context-summary-variable.d.ts.map +0 -1
- package/lib/common/context-summary-variable.js +0 -57
- package/lib/common/context-summary-variable.js.map +0 -1
- package/lib/common/context-variables.d.ts +0 -4
- package/lib/common/context-variables.d.ts.map +0 -1
- package/lib/common/context-variables.js +0 -22
- package/lib/common/context-variables.js.map +0 -1
- package/lib/common/custom-chat-agent.d.ts +0 -10
- package/lib/common/custom-chat-agent.d.ts.map +0 -1
- package/lib/common/custom-chat-agent.js +0 -40
- package/lib/common/custom-chat-agent.js.map +0 -1
- package/lib/common/image-context-variable.d.ts +0 -29
- package/lib/common/image-context-variable.d.ts.map +0 -1
- package/lib/common/image-context-variable.js +0 -114
- package/lib/common/image-context-variable.js.map +0 -1
- package/lib/common/index.d.ts +0 -13
- package/lib/common/index.d.ts.map +0 -1
- package/lib/common/index.js +0 -31
- package/lib/common/index.js.map +0 -1
- package/lib/common/parse-contents-with-incomplete-parts.spec.d.ts +0 -2
- package/lib/common/parse-contents-with-incomplete-parts.spec.d.ts.map +0 -1
- package/lib/common/parse-contents-with-incomplete-parts.spec.js +0 -103
- package/lib/common/parse-contents-with-incomplete-parts.spec.js.map +0 -1
- package/lib/common/parse-contents.d.ts +0 -12
- package/lib/common/parse-contents.d.ts.map +0 -1
- package/lib/common/parse-contents.js +0 -107
- package/lib/common/parse-contents.js.map +0 -1
- package/lib/common/parse-contents.spec.d.ts +0 -10
- package/lib/common/parse-contents.spec.d.ts.map +0 -1
- package/lib/common/parse-contents.spec.js +0 -146
- package/lib/common/parse-contents.spec.js.map +0 -1
- package/lib/common/parsed-chat-request.d.ts +0 -66
- package/lib/common/parsed-chat-request.d.ts.map +0 -1
- package/lib/common/parsed-chat-request.js +0 -83
- package/lib/common/parsed-chat-request.js.map +0 -1
- package/lib/common/response-content-matcher.d.ts +0 -69
- package/lib/common/response-content-matcher.d.ts.map +0 -1
- package/lib/common/response-content-matcher.js +0 -97
- package/lib/common/response-content-matcher.js.map +0 -1
- package/lib/node/ai-chat-backend-module.d.ts +0 -4
- package/lib/node/ai-chat-backend-module.d.ts.map +0 -1
- package/lib/node/ai-chat-backend-module.js +0 -26
- package/lib/node/ai-chat-backend-module.js.map +0 -1
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 EclipseSource GmbH and others.
|
|
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.TaskContextService = exports.TaskContextStorageService = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
-
const core_1 = require("@theia/core");
|
|
22
|
-
const common_1 = require("../common");
|
|
23
|
-
const common_2 = require("@theia/core/lib/common");
|
|
24
|
-
const chat_session_summary_agent_1 = require("../common/chat-session-summary-agent");
|
|
25
|
-
const promise_util_1 = require("@theia/core/lib/common/promise-util");
|
|
26
|
-
const ai_core_1 = require("@theia/ai-core");
|
|
27
|
-
const chat_session_summary_agent_prompt_1 = require("../common/chat-session-summary-agent-prompt");
|
|
28
|
-
const change_set_file_element_1 = require("./change-set-file-element");
|
|
29
|
-
const yaml = require("js-yaml");
|
|
30
|
-
exports.TaskContextStorageService = Symbol('TaskContextStorageService');
|
|
31
|
-
let TaskContextService = class TaskContextService {
|
|
32
|
-
constructor() {
|
|
33
|
-
this.pendingSummaries = new Map();
|
|
34
|
-
}
|
|
35
|
-
get onDidChange() {
|
|
36
|
-
return this.storageService.onDidChange;
|
|
37
|
-
}
|
|
38
|
-
getAll() {
|
|
39
|
-
return this.storageService.getAll();
|
|
40
|
-
}
|
|
41
|
-
async getSummary(sessionIdOrFilePath) {
|
|
42
|
-
const existing = this.storageService.get(sessionIdOrFilePath);
|
|
43
|
-
if (existing) {
|
|
44
|
-
return existing.summary;
|
|
45
|
-
}
|
|
46
|
-
const pending = this.pendingSummaries.get(sessionIdOrFilePath);
|
|
47
|
-
if (pending) {
|
|
48
|
-
return pending.then(({ summary }) => summary);
|
|
49
|
-
}
|
|
50
|
-
const session = this.chatService.getSession(sessionIdOrFilePath);
|
|
51
|
-
if (session) {
|
|
52
|
-
return this.summarize(session);
|
|
53
|
-
}
|
|
54
|
-
throw new Error('Unable to resolve summary request.');
|
|
55
|
-
}
|
|
56
|
-
/** Returns an ID that can be used to refer to the summary in the future. */
|
|
57
|
-
async summarize(session, promptId, agent, override = true) {
|
|
58
|
-
const pending = this.pendingSummaries.get(session.id);
|
|
59
|
-
if (pending) {
|
|
60
|
-
return pending.then(({ id }) => id);
|
|
61
|
-
}
|
|
62
|
-
const existing = this.getSummaryForSession(session);
|
|
63
|
-
if (existing && !override) {
|
|
64
|
-
return existing.id;
|
|
65
|
-
}
|
|
66
|
-
const summaryId = (0, core_1.generateUuid)();
|
|
67
|
-
const summaryDeferred = new promise_util_1.Deferred();
|
|
68
|
-
const progress = await this.progressService.showProgress({
|
|
69
|
-
text: core_1.nls.localize('theia/ai/chat/taskContextService/summarizeProgressMessage', 'Summarize: {0}', session.title || session.id),
|
|
70
|
-
options: { location: 'ai-chat' }
|
|
71
|
-
});
|
|
72
|
-
this.pendingSummaries.set(session.id, summaryDeferred.promise);
|
|
73
|
-
try {
|
|
74
|
-
const prompt = await this.getSystemPrompt(session, promptId);
|
|
75
|
-
const newSummary = {
|
|
76
|
-
summary: await this.getLlmSummary(session, prompt, agent),
|
|
77
|
-
label: session.title || session.id,
|
|
78
|
-
sessionId: session.id,
|
|
79
|
-
id: summaryId
|
|
80
|
-
};
|
|
81
|
-
await this.storageService.store(newSummary);
|
|
82
|
-
return summaryId;
|
|
83
|
-
}
|
|
84
|
-
catch (err) {
|
|
85
|
-
summaryDeferred.reject(err);
|
|
86
|
-
const errorSummary = {
|
|
87
|
-
summary: `Summary creation failed: ${err instanceof Error ? err.message : typeof err === 'string' ? err : 'Unknown error'}`,
|
|
88
|
-
label: session.title || session.id,
|
|
89
|
-
sessionId: session.id,
|
|
90
|
-
id: summaryId
|
|
91
|
-
};
|
|
92
|
-
await this.storageService.store(errorSummary);
|
|
93
|
-
throw err;
|
|
94
|
-
}
|
|
95
|
-
finally {
|
|
96
|
-
progress.cancel();
|
|
97
|
-
this.pendingSummaries.delete(session.id);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
async update(session, promptId, agent, override = true) {
|
|
101
|
-
// Get the existing summary for the session
|
|
102
|
-
const existingSummary = this.getSummaryForSession(session);
|
|
103
|
-
if (!existingSummary) {
|
|
104
|
-
// If no summary exists, create one instead
|
|
105
|
-
// TODO: Maybe we could also look into the task context folder and ask for the existing ones with an additional menu to create a new one?
|
|
106
|
-
return this.summarize(session, promptId, agent, override);
|
|
107
|
-
}
|
|
108
|
-
const progress = await this.progressService.showProgress({
|
|
109
|
-
text: core_1.nls.localize('theia/ai/chat/taskContextService/updatingProgressMessage', 'Updating: {0}', session.title || session.id),
|
|
110
|
-
options: { location: 'ai-chat' }
|
|
111
|
-
});
|
|
112
|
-
try {
|
|
113
|
-
const prompt = await this.getSystemPrompt(session, promptId);
|
|
114
|
-
if (!prompt) {
|
|
115
|
-
return '';
|
|
116
|
-
}
|
|
117
|
-
// Get the task context file path
|
|
118
|
-
const taskContextStorageDirectory = this.preferenceService.get(
|
|
119
|
-
// preference key is defined in TASK_CONTEXT_STORAGE_DIRECTORY_PREF in @theia/ai-ide
|
|
120
|
-
'ai-features.promptTemplates.taskContextStorageDirectory', '.prompts/task-contexts');
|
|
121
|
-
const taskContextFileVariable = session.model.context.getVariables().find(variableReq => variableReq.variable.id === 'file-provider' &&
|
|
122
|
-
typeof variableReq.arg === 'string' &&
|
|
123
|
-
(variableReq.arg.startsWith(taskContextStorageDirectory)));
|
|
124
|
-
// Check if we have a document path to update
|
|
125
|
-
if (taskContextFileVariable && typeof taskContextFileVariable.arg === 'string') {
|
|
126
|
-
// Set document path in prompt template
|
|
127
|
-
const documentPath = taskContextFileVariable.arg;
|
|
128
|
-
// Modify prompt to include the document path and content
|
|
129
|
-
prompt.text = prompt.text + '\nThe document to update is: ' + documentPath + '\n\n## Current Document Content\n\n' + existingSummary.summary;
|
|
130
|
-
// Get updated document content from LLM
|
|
131
|
-
const updatedDocumentContent = await this.getLlmSummary(session, prompt, agent);
|
|
132
|
-
if (existingSummary.uri) {
|
|
133
|
-
// updated document metadata shall be updated.
|
|
134
|
-
// otherwise, frontmatter won't be set
|
|
135
|
-
const frontmatter = {
|
|
136
|
-
sessionId: existingSummary.sessionId,
|
|
137
|
-
date: new Date().toISOString(),
|
|
138
|
-
label: existingSummary.label,
|
|
139
|
-
};
|
|
140
|
-
const content = yaml.dump(frontmatter).trim() + `${core_1.EOL}---${core_1.EOL}` + updatedDocumentContent;
|
|
141
|
-
session.model.changeSet.addElements(this.fileChangeFactory({
|
|
142
|
-
uri: existingSummary.uri,
|
|
143
|
-
type: 'modify',
|
|
144
|
-
state: 'pending',
|
|
145
|
-
targetState: content,
|
|
146
|
-
requestId: session.model.id, // not a request id, as no changeRequest made yet.
|
|
147
|
-
chatSessionId: session.id
|
|
148
|
-
}));
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
const updatedSummary = {
|
|
152
|
-
...existingSummary,
|
|
153
|
-
summary: updatedDocumentContent
|
|
154
|
-
};
|
|
155
|
-
// Store the updated summary
|
|
156
|
-
await this.storageService.store(updatedSummary);
|
|
157
|
-
}
|
|
158
|
-
return existingSummary.id;
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
// Fall back to standard update if no document path is found
|
|
162
|
-
const updatedSummaryText = await this.getLlmSummary(session, prompt, agent);
|
|
163
|
-
const updatedSummary = {
|
|
164
|
-
...existingSummary,
|
|
165
|
-
summary: updatedSummaryText
|
|
166
|
-
};
|
|
167
|
-
await this.storageService.store(updatedSummary);
|
|
168
|
-
return updatedSummary.id;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
catch (err) {
|
|
172
|
-
const errorSummary = {
|
|
173
|
-
...existingSummary,
|
|
174
|
-
summary: `Summary update failed: ${err instanceof Error ? err.message : typeof err === 'string' ? err : 'Unknown error'}`
|
|
175
|
-
};
|
|
176
|
-
await this.storageService.store(errorSummary);
|
|
177
|
-
throw err;
|
|
178
|
-
}
|
|
179
|
-
finally {
|
|
180
|
-
progress.cancel();
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
async getLlmSummary(session, prompt, agent) {
|
|
184
|
-
var _a, _b;
|
|
185
|
-
if (!prompt) {
|
|
186
|
-
return '';
|
|
187
|
-
}
|
|
188
|
-
agent = agent || this.agentService.getAgents().find((candidate) => 'invoke' in candidate
|
|
189
|
-
&& typeof candidate.invoke === 'function'
|
|
190
|
-
&& candidate.id === chat_session_summary_agent_1.ChatSessionSummaryAgent.ID);
|
|
191
|
-
if (!agent) {
|
|
192
|
-
throw new Error('Unable to identify agent for summary.');
|
|
193
|
-
}
|
|
194
|
-
const model = new common_1.MutableChatModel(common_1.ChatAgentLocation.Panel);
|
|
195
|
-
const messages = session.model.getRequests().filter((candidate) => candidate instanceof common_1.MutableChatRequestModel);
|
|
196
|
-
messages.forEach(message => model['_hierarchy'].append(message));
|
|
197
|
-
const summaryRequest = model.addRequest({
|
|
198
|
-
variables: (_a = prompt.variables) !== null && _a !== void 0 ? _a : [],
|
|
199
|
-
request: { text: prompt.text },
|
|
200
|
-
parts: [new common_1.ParsedChatRequestTextPart({ start: 0, endExclusive: prompt.text.length }, prompt.text)],
|
|
201
|
-
toolRequests: (_b = prompt.functionDescriptions) !== null && _b !== void 0 ? _b : new Map()
|
|
202
|
-
}, agent.id);
|
|
203
|
-
await agent.invoke(summaryRequest);
|
|
204
|
-
return summaryRequest.response.response.asDisplayString();
|
|
205
|
-
}
|
|
206
|
-
async getSystemPrompt(session, promptId = chat_session_summary_agent_prompt_1.CHAT_SESSION_SUMMARY_PROMPT.id) {
|
|
207
|
-
const prompt = await this.promptService.getResolvedPromptFragment(promptId || chat_session_summary_agent_prompt_1.CHAT_SESSION_SUMMARY_PROMPT.id, undefined, { model: session.model });
|
|
208
|
-
return prompt;
|
|
209
|
-
}
|
|
210
|
-
hasSummary(chatSession) {
|
|
211
|
-
return !!this.getSummaryForSession(chatSession);
|
|
212
|
-
}
|
|
213
|
-
getSummaryForSession(chatSession) {
|
|
214
|
-
return this.storageService.getAll().find(candidate => candidate.sessionId === chatSession.id);
|
|
215
|
-
}
|
|
216
|
-
getLabel(id) {
|
|
217
|
-
var _a;
|
|
218
|
-
return (_a = this.storageService.get(id)) === null || _a === void 0 ? void 0 : _a.label;
|
|
219
|
-
}
|
|
220
|
-
open(id) {
|
|
221
|
-
return this.storageService.open(id);
|
|
222
|
-
}
|
|
223
|
-
};
|
|
224
|
-
exports.TaskContextService = TaskContextService;
|
|
225
|
-
tslib_1.__decorate([
|
|
226
|
-
(0, inversify_1.inject)(common_1.ChatService),
|
|
227
|
-
tslib_1.__metadata("design:type", Object)
|
|
228
|
-
], TaskContextService.prototype, "chatService", void 0);
|
|
229
|
-
tslib_1.__decorate([
|
|
230
|
-
(0, inversify_1.inject)(ai_core_1.AgentService),
|
|
231
|
-
tslib_1.__metadata("design:type", Object)
|
|
232
|
-
], TaskContextService.prototype, "agentService", void 0);
|
|
233
|
-
tslib_1.__decorate([
|
|
234
|
-
(0, inversify_1.inject)(ai_core_1.PromptService),
|
|
235
|
-
tslib_1.__metadata("design:type", Object)
|
|
236
|
-
], TaskContextService.prototype, "promptService", void 0);
|
|
237
|
-
tslib_1.__decorate([
|
|
238
|
-
(0, inversify_1.inject)(exports.TaskContextStorageService),
|
|
239
|
-
tslib_1.__metadata("design:type", Object)
|
|
240
|
-
], TaskContextService.prototype, "storageService", void 0);
|
|
241
|
-
tslib_1.__decorate([
|
|
242
|
-
(0, inversify_1.inject)(core_1.ProgressService),
|
|
243
|
-
tslib_1.__metadata("design:type", core_1.ProgressService)
|
|
244
|
-
], TaskContextService.prototype, "progressService", void 0);
|
|
245
|
-
tslib_1.__decorate([
|
|
246
|
-
(0, inversify_1.inject)(common_2.PreferenceService),
|
|
247
|
-
tslib_1.__metadata("design:type", Object)
|
|
248
|
-
], TaskContextService.prototype, "preferenceService", void 0);
|
|
249
|
-
tslib_1.__decorate([
|
|
250
|
-
(0, inversify_1.inject)(change_set_file_element_1.ChangeSetFileElementFactory),
|
|
251
|
-
tslib_1.__metadata("design:type", Function)
|
|
252
|
-
], TaskContextService.prototype, "fileChangeFactory", void 0);
|
|
253
|
-
exports.TaskContextService = TaskContextService = tslib_1.__decorate([
|
|
254
|
-
(0, inversify_1.injectable)()
|
|
255
|
-
], TaskContextService);
|
|
256
|
-
//# sourceMappingURL=task-context-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-context-service.js","sourceRoot":"","sources":["../../src/browser/task-context-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Summary, TaskContextStorageService } from './task-context-service';
|
|
2
|
-
import { Emitter } from '@theia/core';
|
|
3
|
-
import { AIVariableResourceResolver } from '@theia/ai-core';
|
|
4
|
-
import { OpenerService } from '@theia/core/lib/browser';
|
|
5
|
-
export declare class InMemoryTaskContextStorage implements TaskContextStorageService {
|
|
6
|
-
protected summaries: Map<string, Summary>;
|
|
7
|
-
protected readonly onDidChangeEmitter: Emitter<void>;
|
|
8
|
-
readonly onDidChange: import("@theia/core").Event<void>;
|
|
9
|
-
protected sanitizeLabel(label: string): string;
|
|
10
|
-
protected readonly variableResourceResolver: AIVariableResourceResolver;
|
|
11
|
-
protected readonly openerService: OpenerService;
|
|
12
|
-
store(summary: Summary): void;
|
|
13
|
-
getAll(): Summary[];
|
|
14
|
-
get(identifier: string): Summary | undefined;
|
|
15
|
-
delete(identifier: string): boolean;
|
|
16
|
-
clear(): void;
|
|
17
|
-
open(identifier: string): Promise<void>;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=task-context-storage-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-context-storage-service.d.ts","sourceRoot":"","sources":["../../src/browser/task-context-storage-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EAAQ,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBACa,0BAA2B,YAAW,yBAAyB;IACxE,SAAS,CAAC,SAAS,uBAA8B;IAEjD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,gBAAuB;IAC5D,QAAQ,CAAC,WAAW,oCAAiC;IAErD,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAK9C,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,0BAA0B,CAAC;IAGxE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAK7B,MAAM,IAAI,OAAO,EAAE;IAInB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI5C,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAQnC,KAAK,IAAI,IAAI;IAOP,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAUhD"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 EclipseSource GmbH and others.
|
|
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.InMemoryTaskContextStorage = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
-
const core_1 = require("@theia/core");
|
|
22
|
-
const ai_core_1 = require("@theia/ai-core");
|
|
23
|
-
const task_context_variable_1 = require("./task-context-variable");
|
|
24
|
-
const browser_1 = require("@theia/core/lib/browser");
|
|
25
|
-
let InMemoryTaskContextStorage = class InMemoryTaskContextStorage {
|
|
26
|
-
constructor() {
|
|
27
|
-
this.summaries = new Map();
|
|
28
|
-
this.onDidChangeEmitter = new core_1.Emitter();
|
|
29
|
-
this.onDidChange = this.onDidChangeEmitter.event;
|
|
30
|
-
}
|
|
31
|
-
sanitizeLabel(label) {
|
|
32
|
-
return label.replace(/^[^\p{L}\p{N}]+/vg, '');
|
|
33
|
-
}
|
|
34
|
-
store(summary) {
|
|
35
|
-
this.summaries.set(summary.id, { ...summary, label: this.sanitizeLabel(summary.label) });
|
|
36
|
-
this.onDidChangeEmitter.fire();
|
|
37
|
-
}
|
|
38
|
-
getAll() {
|
|
39
|
-
return Array.from(this.summaries.values());
|
|
40
|
-
}
|
|
41
|
-
get(identifier) {
|
|
42
|
-
return this.summaries.get(identifier);
|
|
43
|
-
}
|
|
44
|
-
delete(identifier) {
|
|
45
|
-
const didDelete = this.summaries.delete(identifier);
|
|
46
|
-
if (didDelete) {
|
|
47
|
-
this.onDidChangeEmitter.fire();
|
|
48
|
-
}
|
|
49
|
-
return didDelete;
|
|
50
|
-
}
|
|
51
|
-
clear() {
|
|
52
|
-
if (this.summaries.size) {
|
|
53
|
-
this.summaries.clear();
|
|
54
|
-
this.onDidChangeEmitter.fire();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
async open(identifier) {
|
|
58
|
-
const summary = this.get(identifier);
|
|
59
|
-
if (!summary) {
|
|
60
|
-
throw new Error('Unable to upon requested task context: none found.');
|
|
61
|
-
}
|
|
62
|
-
const resource = this.variableResourceResolver.getOrCreate({ variable: task_context_variable_1.TASK_CONTEXT_VARIABLE, arg: identifier }, {}, summary.summary);
|
|
63
|
-
resource.update({ onSave: async (content) => { summary.summary = content; }, readOnly: false });
|
|
64
|
-
await (0, browser_1.open)(this.openerService, resource.uri);
|
|
65
|
-
resource.dispose();
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
exports.InMemoryTaskContextStorage = InMemoryTaskContextStorage;
|
|
69
|
-
tslib_1.__decorate([
|
|
70
|
-
(0, inversify_1.inject)(ai_core_1.AIVariableResourceResolver),
|
|
71
|
-
tslib_1.__metadata("design:type", ai_core_1.AIVariableResourceResolver)
|
|
72
|
-
], InMemoryTaskContextStorage.prototype, "variableResourceResolver", void 0);
|
|
73
|
-
tslib_1.__decorate([
|
|
74
|
-
(0, inversify_1.inject)(browser_1.OpenerService),
|
|
75
|
-
tslib_1.__metadata("design:type", Object)
|
|
76
|
-
], InMemoryTaskContextStorage.prototype, "openerService", void 0);
|
|
77
|
-
exports.InMemoryTaskContextStorage = InMemoryTaskContextStorage = tslib_1.__decorate([
|
|
78
|
-
(0, inversify_1.injectable)()
|
|
79
|
-
], InMemoryTaskContextStorage);
|
|
80
|
-
//# sourceMappingURL=task-context-storage-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-context-storage-service.js","sourceRoot":"","sources":["../../src/browser/task-context-storage-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,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,4DAAkE;AAElE,sCAAsC;AACtC,4CAA4D;AAC5D,mEAAgE;AAChE,qDAA8D;AAGvD,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAAhC;QACO,cAAS,GAAG,IAAI,GAAG,EAAmB,CAAC;QAE9B,uBAAkB,GAAG,IAAI,cAAO,EAAQ,CAAC;QACnD,gBAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAkDzD,CAAC;IAhDa,aAAa,CAAC,KAAa;QACjC,OAAO,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IAQD,KAAK,CAAC,OAAgB;QAClB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,MAAM;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,GAAG,CAAC,UAAkB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,UAAkB;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAkB;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,6CAAqB,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtI,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9F,MAAM,IAAA,cAAI,EAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC7C,QAAQ,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;CACJ,CAAA;AAtDY,gEAA0B;AAWhB;IADlB,IAAA,kBAAM,EAAC,oCAA0B,CAAC;sCACU,oCAA0B;4EAAC;AAGrD;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC;;iEAC0B;qCAdvC,0BAA0B;IADtC,IAAA,sBAAU,GAAE;GACA,0BAA0B,CAsDtC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { AIVariableContext, AIVariableOpener, AIVariableResolutionRequest, AIVariableResolver, ResolvedAIContextVariable } from '@theia/ai-core';
|
|
2
|
-
import { FrontendVariableContribution, FrontendVariableService } from '@theia/ai-core/lib/browser';
|
|
3
|
-
import { MaybePromise, QuickInputService, QuickPickItem } from '@theia/core';
|
|
4
|
-
import { ChatService } from '../common';
|
|
5
|
-
import * as monaco from '@theia/monaco-editor-core';
|
|
6
|
-
import { TaskContextService } from './task-context-service';
|
|
7
|
-
export declare class TaskContextVariableContribution implements FrontendVariableContribution, AIVariableResolver, AIVariableOpener {
|
|
8
|
-
protected readonly quickInputService: QuickInputService;
|
|
9
|
-
protected readonly chatService: ChatService;
|
|
10
|
-
protected readonly taskContextService: TaskContextService;
|
|
11
|
-
registerVariables(service: FrontendVariableService): void;
|
|
12
|
-
protected pickSession(): Promise<string | undefined>;
|
|
13
|
-
protected provideCompletionItems(model: monaco.editor.ITextModel, position: monaco.Position, matchString?: string): Promise<monaco.languages.CompletionItem[] | undefined>;
|
|
14
|
-
protected getItems(): QuickPickItem[];
|
|
15
|
-
canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): MaybePromise<number>;
|
|
16
|
-
resolve(request: AIVariableResolutionRequest, _context: AIVariableContext): Promise<ResolvedAIContextVariable | undefined>;
|
|
17
|
-
canOpen(request: AIVariableResolutionRequest, context: AIVariableContext): MaybePromise<number>;
|
|
18
|
-
open(request: AIVariableResolutionRequest, _context: AIVariableContext): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=task-context-variable-contribution.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-context-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/task-context-variable-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACjJ,OAAO,EAA+B,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAChI,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,qBACa,+BAAgC,YAAW,4BAA4B,EAAE,kBAAkB,EAAE,gBAAgB;IAC3F,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAEtF,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;cAOzC,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;cAM1C,sBAAsB,CAClC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC;IAmBzD,SAAS,CAAC,QAAQ,IAAI,aAAa,EAAE;IAMrC,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC;IAI5F,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAMhI,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC;IAIzF,IAAI,CAAC,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAI/F"}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 EclipseSource GmbH and others.
|
|
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.TaskContextVariableContribution = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
-
const browser_1 = require("@theia/ai-core/lib/browser");
|
|
22
|
-
const core_1 = require("@theia/core");
|
|
23
|
-
const common_1 = require("../common");
|
|
24
|
-
const monaco = require("@theia/monaco-editor-core");
|
|
25
|
-
const task_context_service_1 = require("./task-context-service");
|
|
26
|
-
const task_context_variable_1 = require("./task-context-variable");
|
|
27
|
-
const ai_chat_frontend_contribution_1 = require("./ai-chat-frontend-contribution");
|
|
28
|
-
let TaskContextVariableContribution = class TaskContextVariableContribution {
|
|
29
|
-
registerVariables(service) {
|
|
30
|
-
service.registerResolver(task_context_variable_1.TASK_CONTEXT_VARIABLE, this);
|
|
31
|
-
service.registerArgumentPicker(task_context_variable_1.TASK_CONTEXT_VARIABLE, this.pickSession.bind(this));
|
|
32
|
-
service.registerArgumentCompletionProvider(task_context_variable_1.TASK_CONTEXT_VARIABLE, this.provideCompletionItems.bind(this));
|
|
33
|
-
service.registerOpener(task_context_variable_1.TASK_CONTEXT_VARIABLE, this);
|
|
34
|
-
}
|
|
35
|
-
async pickSession() {
|
|
36
|
-
const items = this.getItems();
|
|
37
|
-
const selection = await this.quickInputService.showQuickPick(items);
|
|
38
|
-
return selection === null || selection === void 0 ? void 0 : selection.id;
|
|
39
|
-
}
|
|
40
|
-
async provideCompletionItems(model, position, matchString) {
|
|
41
|
-
const context = browser_1.AIVariableCompletionContext.get(task_context_variable_1.TASK_CONTEXT_VARIABLE.name, model, position, matchString);
|
|
42
|
-
if (!context) {
|
|
43
|
-
return undefined;
|
|
44
|
-
}
|
|
45
|
-
const { userInput, range, prefix } = context;
|
|
46
|
-
return this.getItems().filter(candidate => core_1.QuickPickItem.is(candidate) && candidate.label.startsWith(userInput)).map(({ label, id }) => ({
|
|
47
|
-
label,
|
|
48
|
-
kind: monaco.languages.CompletionItemKind.Class,
|
|
49
|
-
range,
|
|
50
|
-
insertText: `${prefix}${id}`,
|
|
51
|
-
detail: id,
|
|
52
|
-
filterText: userInput,
|
|
53
|
-
command: {
|
|
54
|
-
title: ai_chat_frontend_contribution_1.VARIABLE_ADD_CONTEXT_COMMAND.label,
|
|
55
|
-
id: ai_chat_frontend_contribution_1.VARIABLE_ADD_CONTEXT_COMMAND.id,
|
|
56
|
-
arguments: [task_context_variable_1.TASK_CONTEXT_VARIABLE.name, id]
|
|
57
|
-
}
|
|
58
|
-
}));
|
|
59
|
-
}
|
|
60
|
-
getItems() {
|
|
61
|
-
const currentSession = this.chatService.getSessions().find(candidate => candidate.isActive);
|
|
62
|
-
const existingSummaries = this.taskContextService.getAll().filter(candidate => !currentSession || currentSession.id !== candidate.sessionId);
|
|
63
|
-
return existingSummaries;
|
|
64
|
-
}
|
|
65
|
-
canResolve(request, context) {
|
|
66
|
-
return request.variable.id === task_context_variable_1.TASK_CONTEXT_VARIABLE.id ? 10000 : -5;
|
|
67
|
-
}
|
|
68
|
-
async resolve(request, _context) {
|
|
69
|
-
if (request.variable.id !== task_context_variable_1.TASK_CONTEXT_VARIABLE.id || !request.arg) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
const value = await this.taskContextService.getSummary(request.arg).catch(() => undefined);
|
|
73
|
-
return value ? { ...request, value, contextValue: value } : undefined;
|
|
74
|
-
}
|
|
75
|
-
canOpen(request, context) {
|
|
76
|
-
return this.canResolve(request, context);
|
|
77
|
-
}
|
|
78
|
-
async open(request, _context) {
|
|
79
|
-
if (request.variable.id !== task_context_variable_1.TASK_CONTEXT_VARIABLE.id || !request.arg) {
|
|
80
|
-
throw new Error('Unable to service open request.');
|
|
81
|
-
}
|
|
82
|
-
return this.taskContextService.open(request.arg);
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
exports.TaskContextVariableContribution = TaskContextVariableContribution;
|
|
86
|
-
tslib_1.__decorate([
|
|
87
|
-
(0, inversify_1.inject)(core_1.QuickInputService),
|
|
88
|
-
tslib_1.__metadata("design:type", Object)
|
|
89
|
-
], TaskContextVariableContribution.prototype, "quickInputService", void 0);
|
|
90
|
-
tslib_1.__decorate([
|
|
91
|
-
(0, inversify_1.inject)(common_1.ChatService),
|
|
92
|
-
tslib_1.__metadata("design:type", Object)
|
|
93
|
-
], TaskContextVariableContribution.prototype, "chatService", void 0);
|
|
94
|
-
tslib_1.__decorate([
|
|
95
|
-
(0, inversify_1.inject)(task_context_service_1.TaskContextService),
|
|
96
|
-
tslib_1.__metadata("design:type", task_context_service_1.TaskContextService)
|
|
97
|
-
], TaskContextVariableContribution.prototype, "taskContextService", void 0);
|
|
98
|
-
exports.TaskContextVariableContribution = TaskContextVariableContribution = tslib_1.__decorate([
|
|
99
|
-
(0, inversify_1.injectable)()
|
|
100
|
-
], TaskContextVariableContribution);
|
|
101
|
-
//# sourceMappingURL=task-context-variable-contribution.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-context-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/task-context-variable-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { AIVariableResolutionRequest } from '@theia/ai-core';
|
|
2
|
-
import { URI } from '@theia/core';
|
|
3
|
-
import { LabelProviderContribution } from '@theia/core/lib/browser';
|
|
4
|
-
import { TaskContextVariableContribution } from './task-context-variable-contribution';
|
|
5
|
-
import { ChatService } from '../common';
|
|
6
|
-
import { TaskContextService } from './task-context-service';
|
|
7
|
-
export declare class TaskContextVariableLabelProvider implements LabelProviderContribution {
|
|
8
|
-
protected readonly chatService: ChatService;
|
|
9
|
-
protected readonly chatVariableContribution: TaskContextVariableContribution;
|
|
10
|
-
protected readonly taskContextService: TaskContextService;
|
|
11
|
-
protected isMine(element: object): element is AIVariableResolutionRequest & {
|
|
12
|
-
arg: string;
|
|
13
|
-
};
|
|
14
|
-
canHandle(element: object): number;
|
|
15
|
-
getIcon(element: object): string | undefined;
|
|
16
|
-
getName(element: object): string | undefined;
|
|
17
|
-
getLongName(element: object): string | undefined;
|
|
18
|
-
getDetails(element: object): string | undefined;
|
|
19
|
-
protected getUri(element: object): URI | undefined;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=task-context-variable-label-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-context-variable-label-provider.d.ts","sourceRoot":"","sources":["../../src/browser/task-context-variable-label-provider.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAW,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,qBACa,gCAAiC,YAAW,yBAAyB;IACzD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IACxB,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,+BAA+B,CAAC;IAC1F,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACtF,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,2BAA2B,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;IAI3F,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIlC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK5C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAM5C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAMhD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK/C,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;CAMrD"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 Eclipse GmbH and others.
|
|
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.TaskContextVariableLabelProvider = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const ai_core_1 = require("@theia/ai-core");
|
|
21
|
-
const core_1 = require("@theia/core");
|
|
22
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
-
const browser_1 = require("@theia/core/lib/browser");
|
|
24
|
-
const task_context_variable_contribution_1 = require("./task-context-variable-contribution");
|
|
25
|
-
const common_1 = require("../common");
|
|
26
|
-
const task_context_service_1 = require("./task-context-service");
|
|
27
|
-
const task_context_variable_1 = require("./task-context-variable");
|
|
28
|
-
let TaskContextVariableLabelProvider = class TaskContextVariableLabelProvider {
|
|
29
|
-
isMine(element) {
|
|
30
|
-
return ai_core_1.AIVariableResolutionRequest.is(element) && element.variable.id === task_context_variable_1.TASK_CONTEXT_VARIABLE.id && !!element.arg;
|
|
31
|
-
}
|
|
32
|
-
canHandle(element) {
|
|
33
|
-
return this.isMine(element) ? 10 : -1;
|
|
34
|
-
}
|
|
35
|
-
getIcon(element) {
|
|
36
|
-
if (!this.isMine(element)) {
|
|
37
|
-
return undefined;
|
|
38
|
-
}
|
|
39
|
-
return (0, browser_1.codicon)('clippy');
|
|
40
|
-
}
|
|
41
|
-
getName(element) {
|
|
42
|
-
var _a, _b, _c;
|
|
43
|
-
if (!this.isMine(element)) {
|
|
44
|
-
return undefined;
|
|
45
|
-
}
|
|
46
|
-
const session = this.chatService.getSession(element.arg);
|
|
47
|
-
return (_c = (_b = (_a = session === null || session === void 0 ? void 0 : session.title) !== null && _a !== void 0 ? _a : this.taskContextService.getLabel(element.arg)) !== null && _b !== void 0 ? _b : session === null || session === void 0 ? void 0 : session.id) !== null && _c !== void 0 ? _c : element.arg;
|
|
48
|
-
}
|
|
49
|
-
getLongName(element) {
|
|
50
|
-
const short = this.getName(element);
|
|
51
|
-
const details = this.getDetails(element);
|
|
52
|
-
return `'${short}' (${details})`;
|
|
53
|
-
}
|
|
54
|
-
getDetails(element) {
|
|
55
|
-
if (!this.isMine(element)) {
|
|
56
|
-
return undefined;
|
|
57
|
-
}
|
|
58
|
-
return `id: ${element.arg}`;
|
|
59
|
-
}
|
|
60
|
-
getUri(element) {
|
|
61
|
-
if (!ai_core_1.AIVariableResolutionRequest.is(element)) {
|
|
62
|
-
return undefined;
|
|
63
|
-
}
|
|
64
|
-
return new core_1.URI(element.arg);
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
exports.TaskContextVariableLabelProvider = TaskContextVariableLabelProvider;
|
|
68
|
-
tslib_1.__decorate([
|
|
69
|
-
(0, inversify_1.inject)(common_1.ChatService),
|
|
70
|
-
tslib_1.__metadata("design:type", Object)
|
|
71
|
-
], TaskContextVariableLabelProvider.prototype, "chatService", void 0);
|
|
72
|
-
tslib_1.__decorate([
|
|
73
|
-
(0, inversify_1.inject)(task_context_variable_contribution_1.TaskContextVariableContribution),
|
|
74
|
-
tslib_1.__metadata("design:type", task_context_variable_contribution_1.TaskContextVariableContribution)
|
|
75
|
-
], TaskContextVariableLabelProvider.prototype, "chatVariableContribution", void 0);
|
|
76
|
-
tslib_1.__decorate([
|
|
77
|
-
(0, inversify_1.inject)(task_context_service_1.TaskContextService),
|
|
78
|
-
tslib_1.__metadata("design:type", task_context_service_1.TaskContextService)
|
|
79
|
-
], TaskContextVariableLabelProvider.prototype, "taskContextService", void 0);
|
|
80
|
-
exports.TaskContextVariableLabelProvider = TaskContextVariableLabelProvider = tslib_1.__decorate([
|
|
81
|
-
(0, inversify_1.injectable)()
|
|
82
|
-
], TaskContextVariableLabelProvider);
|
|
83
|
-
//# sourceMappingURL=task-context-variable-label-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-context-variable-label-provider.js","sourceRoot":"","sources":["../../src/browser/task-context-variable-label-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,8CAA8C;AAC9C,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,4CAA6D;AAC7D,sCAAkC;AAClC,4DAAkE;AAClE,qDAA6E;AAC7E,6FAAuF;AACvF,sCAAwC;AACxC,iEAA4D;AAC5D,mEAAgE;AAGzD,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;IAI/B,MAAM,CAAC,OAAe;QAC5B,OAAO,qCAA2B,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,6CAAqB,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IACxH,CAAC;IAED,SAAS,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,OAAe;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QAChD,OAAO,IAAA,iBAAO,EAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,OAAe;;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzD,OAAO,MAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,mCAAI,OAAO,CAAC,GAAG,CAAC;IACzG,CAAC;IAED,WAAW,CAAC,OAAe;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,IAAI,KAAK,MAAM,OAAO,GAAG,CAAC;IACrC,CAAC;IAED,UAAU,CAAC,OAAe;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QAChD,OAAO,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IAES,MAAM,CAAC,OAAe;QAC5B,IAAI,CAAC,qCAA2B,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,UAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;CACJ,CAAA;AAxCY,4EAAgC;AACD;IAAvC,IAAA,kBAAM,EAAC,oBAAW,CAAC;;qEAA6C;AACL;IAA3D,IAAA,kBAAM,EAAC,oEAA+B,CAAC;sCAA8C,oEAA+B;kFAAC;AACvE;IAA9C,IAAA,kBAAM,EAAC,yCAAkB,CAAC;sCAAwC,yCAAkB;4EAAC;2CAH7E,gCAAgC;IAD5C,IAAA,sBAAU,GAAE;GACA,gCAAgC,CAwC5C"}
|