@theia/ai-core 1.59.0-next.72 → 1.60.0-next.43
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-preferences.d.ts +4 -0
- package/lib/browser/agent-preferences.d.ts.map +1 -0
- package/lib/browser/agent-preferences.js +74 -0
- package/lib/browser/agent-preferences.js.map +1 -0
- package/lib/browser/ai-activation-service.d.ts +1 -0
- package/lib/browser/ai-activation-service.d.ts.map +1 -1
- package/lib/browser/ai-activation-service.js +12 -2
- package/lib/browser/ai-activation-service.js.map +1 -1
- package/lib/browser/ai-core-command-contribution.d.ts +8 -0
- package/lib/browser/ai-core-command-contribution.d.ts.map +1 -0
- package/lib/browser/ai-core-command-contribution.js +44 -0
- package/lib/browser/ai-core-command-contribution.js.map +1 -0
- package/lib/browser/ai-core-frontend-module.d.ts.map +1 -1
- package/lib/browser/ai-core-frontend-module.js +8 -1
- package/lib/browser/ai-core-frontend-module.js.map +1 -1
- package/lib/browser/index.d.ts +1 -0
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +1 -0
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/prompttemplate-contribution.d.ts.map +1 -1
- package/lib/browser/prompttemplate-contribution.js +4 -4
- package/lib/browser/prompttemplate-contribution.js.map +1 -1
- package/lib/browser/theia-variable-contribution.d.ts +5 -1
- package/lib/browser/theia-variable-contribution.d.ts.map +1 -1
- package/lib/browser/theia-variable-contribution.js +48 -9
- package/lib/browser/theia-variable-contribution.js.map +1 -1
- package/lib/common/language-model.d.ts +5 -3
- package/lib/common/language-model.d.ts.map +1 -1
- package/lib/common/language-model.js +32 -7
- package/lib/common/language-model.js.map +1 -1
- package/lib/common/prompt-service.d.ts +42 -1
- package/lib/common/prompt-service.d.ts.map +1 -1
- package/lib/common/prompt-service.js +68 -24
- package/lib/common/prompt-service.js.map +1 -1
- package/lib/common/prompt-service.spec.js +59 -1
- package/lib/common/prompt-service.spec.js.map +1 -1
- package/lib/common/prompt-variable-contribution.d.ts +16 -0
- package/lib/common/prompt-variable-contribution.d.ts.map +1 -0
- package/lib/common/prompt-variable-contribution.js +122 -0
- package/lib/common/prompt-variable-contribution.js.map +1 -0
- package/lib/common/variable-service.d.ts +26 -4
- package/lib/common/variable-service.d.ts.map +1 -1
- package/lib/common/variable-service.js +77 -16
- package/lib/common/variable-service.js.map +1 -1
- package/lib/common/variable-service.spec.d.ts +2 -0
- package/lib/common/variable-service.spec.d.ts.map +1 -0
- package/lib/common/variable-service.spec.js +237 -0
- package/lib/common/variable-service.spec.js.map +1 -0
- package/lib/node/tool-request-parameters.spec.d.ts +2 -0
- package/lib/node/tool-request-parameters.spec.d.ts.map +1 -0
- package/lib/node/tool-request-parameters.spec.js +116 -0
- package/lib/node/tool-request-parameters.spec.js.map +1 -0
- package/package.json +10 -10
- package/src/browser/agent-preferences.ts +74 -0
- package/src/browser/ai-activation-service.ts +13 -2
- package/src/browser/ai-core-command-contribution.ts +37 -0
- package/src/browser/ai-core-frontend-module.ts +10 -2
- package/src/browser/ai-settings-service.ts +1 -1
- package/src/browser/index.ts +1 -0
- package/src/browser/prompttemplate-contribution.ts +4 -4
- package/src/browser/theia-variable-contribution.ts +49 -8
- package/src/common/language-model.ts +46 -11
- package/src/common/prompt-service.spec.ts +68 -1
- package/src/common/prompt-service.ts +109 -24
- package/src/common/prompt-variable-contribution.ts +138 -0
- package/src/common/variable-service.spec.ts +289 -0
- package/src/common/variable-service.ts +110 -13
- package/src/node/tool-request-parameters.spec.ts +121 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PromptVariableContribution = exports.PROMPT_VARIABLE = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
// *****************************************************************************
|
|
6
|
+
// Copyright (C) 2025 EclipseSource GmbH.
|
|
7
|
+
//
|
|
8
|
+
// This program and the accompanying materials are made available under the
|
|
9
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
10
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
11
|
+
//
|
|
12
|
+
// This Source Code may also be made available under the following Secondary
|
|
13
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
14
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
15
|
+
// with the GNU Classpath Exception which is available at
|
|
16
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
17
|
+
//
|
|
18
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
19
|
+
// *****************************************************************************
|
|
20
|
+
const core_1 = require("@theia/core");
|
|
21
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
+
const monaco = require("@theia/monaco-editor-core");
|
|
23
|
+
const prompt_service_1 = require("./prompt-service");
|
|
24
|
+
const prompt_text_1 = require("./prompt-text");
|
|
25
|
+
exports.PROMPT_VARIABLE = {
|
|
26
|
+
id: 'prompt-provider',
|
|
27
|
+
description: core_1.nls.localize('theia/ai/core/promptVariable/description', 'Resolves prompt templates via the prompt service'),
|
|
28
|
+
name: 'prompt',
|
|
29
|
+
args: [
|
|
30
|
+
{ name: 'id', description: core_1.nls.localize('theia/ai/core/promptVariable/argDescription', 'The prompt template id to resolve') }
|
|
31
|
+
]
|
|
32
|
+
};
|
|
33
|
+
let PromptVariableContribution = class PromptVariableContribution {
|
|
34
|
+
registerVariables(service) {
|
|
35
|
+
service.registerResolver(exports.PROMPT_VARIABLE, this);
|
|
36
|
+
service.registerArgumentPicker(exports.PROMPT_VARIABLE, this.triggerArgumentPicker.bind(this));
|
|
37
|
+
service.registerArgumentCompletionProvider(exports.PROMPT_VARIABLE, this.provideArgumentCompletionItems.bind(this));
|
|
38
|
+
}
|
|
39
|
+
canResolve(request, context) {
|
|
40
|
+
if (request.variable.name === exports.PROMPT_VARIABLE.name) {
|
|
41
|
+
return 1;
|
|
42
|
+
}
|
|
43
|
+
return -1;
|
|
44
|
+
}
|
|
45
|
+
async resolve(request, context, resolveDependency) {
|
|
46
|
+
var _a;
|
|
47
|
+
if (request.variable.name === exports.PROMPT_VARIABLE.name) {
|
|
48
|
+
const promptId = (_a = request.arg) === null || _a === void 0 ? void 0 : _a.trim();
|
|
49
|
+
if (promptId) {
|
|
50
|
+
const resolvedPrompt = await this.promptService.getPromptFragment(promptId, undefined, context, resolveDependency);
|
|
51
|
+
if (resolvedPrompt) {
|
|
52
|
+
return {
|
|
53
|
+
variable: request.variable,
|
|
54
|
+
value: resolvedPrompt.text,
|
|
55
|
+
allResolvedDependencies: resolvedPrompt.variables
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
async triggerArgumentPicker() {
|
|
63
|
+
// Trigger the suggestion command to show argument completions
|
|
64
|
+
this.commandService.executeCommand('editor.action.triggerSuggest');
|
|
65
|
+
// Return undefined because we don't actually pick the argument here.
|
|
66
|
+
// The argument is selected and inserted by the monaco editor's completion mechanism.
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
async provideArgumentCompletionItems(model, position) {
|
|
70
|
+
var _a, _b;
|
|
71
|
+
const lineContent = model.getLineContent(position.lineNumber);
|
|
72
|
+
// Only provide completions once the variable argument separator is typed
|
|
73
|
+
const triggerCharIndex = lineContent.lastIndexOf(prompt_text_1.PromptText.VARIABLE_SEPARATOR_CHAR, position.column - 1);
|
|
74
|
+
if (triggerCharIndex === -1) {
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
// Check if the text immediately before the trigger is the prompt variable, i.e #prompt
|
|
78
|
+
const requiredVariable = `${prompt_text_1.PromptText.VARIABLE_CHAR}${exports.PROMPT_VARIABLE.name}`;
|
|
79
|
+
if (triggerCharIndex < requiredVariable.length ||
|
|
80
|
+
lineContent.substring(triggerCharIndex - requiredVariable.length, triggerCharIndex) !== requiredVariable) {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
const range = new monaco.Range(position.lineNumber, triggerCharIndex + 2, position.lineNumber, position.column);
|
|
84
|
+
const customPromptIds = (_b = (_a = this.promptCustomizationService) === null || _a === void 0 ? void 0 : _a.getCustomPromptTemplateIDs()) !== null && _b !== void 0 ? _b : [];
|
|
85
|
+
const builtinPromptIds = Object.keys(this.promptService.getAllPrompts());
|
|
86
|
+
const customPromptCompletions = customPromptIds.map(promptId => ({
|
|
87
|
+
label: promptId,
|
|
88
|
+
kind: monaco.languages.CompletionItemKind.Enum,
|
|
89
|
+
insertText: promptId,
|
|
90
|
+
range,
|
|
91
|
+
detail: core_1.nls.localize('theia/ai/core/promptVariable/completions/detail/custom', 'Custom prompt template'),
|
|
92
|
+
sortText: `AAA${promptId}` // Sort before everything else including all built-in prompts
|
|
93
|
+
}));
|
|
94
|
+
const builtinPromptCompletions = builtinPromptIds.map(promptId => ({
|
|
95
|
+
label: promptId,
|
|
96
|
+
kind: monaco.languages.CompletionItemKind.Variable,
|
|
97
|
+
insertText: promptId,
|
|
98
|
+
range,
|
|
99
|
+
detail: core_1.nls.localize('theia/ai/core/promptVariable/completions/detail/builtin', 'Built-in prompt template'),
|
|
100
|
+
sortText: `AAB${promptId}` // Sort after all custom prompts but before others
|
|
101
|
+
}));
|
|
102
|
+
return [...customPromptCompletions, ...builtinPromptCompletions];
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
exports.PromptVariableContribution = PromptVariableContribution;
|
|
106
|
+
tslib_1.__decorate([
|
|
107
|
+
(0, inversify_1.inject)(core_1.CommandService),
|
|
108
|
+
tslib_1.__metadata("design:type", Object)
|
|
109
|
+
], PromptVariableContribution.prototype, "commandService", void 0);
|
|
110
|
+
tslib_1.__decorate([
|
|
111
|
+
(0, inversify_1.inject)(prompt_service_1.PromptService),
|
|
112
|
+
tslib_1.__metadata("design:type", Object)
|
|
113
|
+
], PromptVariableContribution.prototype, "promptService", void 0);
|
|
114
|
+
tslib_1.__decorate([
|
|
115
|
+
(0, inversify_1.inject)(prompt_service_1.PromptCustomizationService),
|
|
116
|
+
(0, inversify_1.optional)(),
|
|
117
|
+
tslib_1.__metadata("design:type", Object)
|
|
118
|
+
], PromptVariableContribution.prototype, "promptCustomizationService", void 0);
|
|
119
|
+
exports.PromptVariableContribution = PromptVariableContribution = tslib_1.__decorate([
|
|
120
|
+
(0, inversify_1.injectable)()
|
|
121
|
+
], PromptVariableContribution);
|
|
122
|
+
//# sourceMappingURL=prompt-variable-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-variable-contribution.js","sourceRoot":"","sources":["../../src/common/prompt-variable-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,8 @@ export interface ResolvedAIVariable {
|
|
|
40
40
|
arg?: string;
|
|
41
41
|
/** value that is inserted into the prompt at the position of the variable usage */
|
|
42
42
|
value: string;
|
|
43
|
+
/** Flat list of all variables that have been (recursively) resolved while resolving this variable. */
|
|
44
|
+
allResolvedDependencies?: ResolvedAIVariable[];
|
|
43
45
|
}
|
|
44
46
|
export declare namespace ResolvedAIVariable {
|
|
45
47
|
function is(arg: unknown): arg is ResolvedAIVariable;
|
|
@@ -76,6 +78,15 @@ export interface AIVariableResolver {
|
|
|
76
78
|
canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): MaybePromise<number>;
|
|
77
79
|
resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
|
|
78
80
|
}
|
|
81
|
+
export interface AIVariableResolverWithVariableDependencies extends AIVariableResolver {
|
|
82
|
+
resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
|
|
83
|
+
/**
|
|
84
|
+
* Resolve the given AI variable resolution request. When resolving dependencies with `resolveDependency`,
|
|
85
|
+
* add the resolved dependencies to the result's `allResolvedDependencies` list
|
|
86
|
+
* to enable consumers of the resolved variable to inspect dependencies.
|
|
87
|
+
*/
|
|
88
|
+
resolve(request: AIVariableResolutionRequest, context: AIVariableContext, resolveDependency: (variable: AIVariableArg) => Promise<ResolvedAIVariable | undefined>): Promise<ResolvedAIVariable | undefined>;
|
|
89
|
+
}
|
|
79
90
|
export declare const AIVariableService: unique symbol;
|
|
80
91
|
export interface AIVariableService {
|
|
81
92
|
hasVariable(name: string): boolean;
|
|
@@ -93,23 +104,34 @@ export interface AIVariableService {
|
|
|
93
104
|
registerArgumentCompletionProvider(variable: AIVariable, argPicker: AIVariableArgCompletionProvider): Disposable;
|
|
94
105
|
unregisterArgumentCompletionProvider(variable: AIVariable, argPicker: AIVariableArgCompletionProvider): void;
|
|
95
106
|
getArgumentCompletionProvider(name: string): Promise<AIVariableArgCompletionProvider | undefined>;
|
|
96
|
-
resolveVariable(variable: AIVariableArg, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
|
|
107
|
+
resolveVariable(variable: AIVariableArg, context: AIVariableContext, cache?: Map<string, ResolveAIVariableCacheEntry>): Promise<ResolvedAIVariable | undefined>;
|
|
97
108
|
}
|
|
98
109
|
/** Contributions on the frontend can optionally implement `FrontendVariableContribution`. */
|
|
99
110
|
export declare const AIVariableContribution: unique symbol;
|
|
100
111
|
export interface AIVariableContribution {
|
|
101
112
|
registerVariables(service: AIVariableService): void;
|
|
102
113
|
}
|
|
114
|
+
export interface ResolveAIVariableCacheEntry {
|
|
115
|
+
promise: Promise<ResolvedAIVariable | undefined>;
|
|
116
|
+
inProgress: boolean;
|
|
117
|
+
}
|
|
118
|
+
export type ResolveAIVariableCache = Map<string, ResolveAIVariableCacheEntry>;
|
|
119
|
+
/**
|
|
120
|
+
* Creates a new, empty cache for AI variable resolvement to hand into `AIVariableService.resolveVariable`.
|
|
121
|
+
*/
|
|
122
|
+
export declare function createAIResolveVariableCache(): Map<string, ResolveAIVariableCacheEntry>;
|
|
123
|
+
/** Utility function to get all resolved AI variables from a {@link ResolveAIVariableCache} */
|
|
124
|
+
export declare function getAllResolvedAIVariables(cache: ResolveAIVariableCache): Promise<ResolvedAIVariable[]>;
|
|
103
125
|
export declare class DefaultAIVariableService implements AIVariableService {
|
|
104
126
|
protected readonly contributionProvider: ContributionProvider<AIVariableContribution>;
|
|
127
|
+
protected readonly logger: ILogger;
|
|
105
128
|
protected variables: Map<string, AIVariable>;
|
|
106
129
|
protected resolvers: Map<string, AIVariableResolver[]>;
|
|
107
130
|
protected argPickers: Map<string, AIVariableArgPicker>;
|
|
108
131
|
protected argCompletionProviders: Map<string, AIVariableArgCompletionProvider>;
|
|
109
132
|
protected readonly onDidChangeVariablesEmitter: Emitter<void>;
|
|
110
133
|
readonly onDidChangeVariables: Event<void>;
|
|
111
|
-
|
|
112
|
-
constructor(contributionProvider: ContributionProvider<AIVariableContribution>);
|
|
134
|
+
constructor(contributionProvider: ContributionProvider<AIVariableContribution>, logger: ILogger);
|
|
113
135
|
protected initContributions(): void;
|
|
114
136
|
protected getKey(name: string): string;
|
|
115
137
|
getResolver(name: string, arg: string | undefined, context: AIVariableContext): Promise<AIVariableResolver | undefined>;
|
|
@@ -128,6 +150,6 @@ export declare class DefaultAIVariableService implements AIVariableService {
|
|
|
128
150
|
registerArgumentCompletionProvider(variable: AIVariable, completionProvider: AIVariableArgCompletionProvider): Disposable;
|
|
129
151
|
unregisterArgumentCompletionProvider(variable: AIVariable, completionProvider: AIVariableArgCompletionProvider): void;
|
|
130
152
|
getArgumentCompletionProvider(name: string): Promise<AIVariableArgCompletionProvider | undefined>;
|
|
131
|
-
resolveVariable(request: AIVariableArg, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
|
|
153
|
+
resolveVariable(request: AIVariableArg, context: AIVariableContext, cache?: ResolveAIVariableCache): Promise<ResolvedAIVariable | undefined>;
|
|
132
154
|
}
|
|
133
155
|
//# sourceMappingURL=variable-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variable-service.d.ts","sourceRoot":"","sources":["../../src/common/variable-service.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAkB,KAAK,EAAE,MAAM,aAAa,CAAC;AAEtH,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"variable-service.d.ts","sourceRoot":"","sources":["../../src/common/variable-service.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAkB,KAAK,EAAE,MAAM,aAAa,CAAC;AAEtH,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAGpD;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,0GAA0G;IAC1G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mGAAmG;IACnG,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iEAAiE;IACjE,IAAI,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED,yBAAiB,UAAU,CAAC;IACxB,SAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAKlD;CACJ;AAED,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,IAAI,CAAC;CAC3B;AAED,yBAAiB,iBAAiB,CAAC;IAC/B,SAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,iBAAiB,CAEzD;CACJ;AAED,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,UAAU,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,KAAK,EAAE,MAAM,CAAC;IACd,sGAAsG;IACtG,uBAAuB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAClD;AAED,yBAAiB,kBAAkB,CAAC;IAChC,SAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,kBAAkB,CAM1D;CACJ;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACjE,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,yBAAiB,yBAAyB,CAAC;IACvC,SAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,yBAAyB,CAIjE;CACJ;AAED,MAAM,WAAW,2BAA2B;IACxC,QAAQ,EAAE,UAAU,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,yBAAiB,2BAA2B,CAAC;IACzC,SAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,2BAA2B,CAInE;CACJ;AAED,MAAM,WAAW,iBAAiB;CACjC;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,2BAA2B,CAAC;AAEtG,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,iBAAiB,KAAK,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AACnG,MAAM,MAAM,+BAA+B,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC,CAAC;AAE1K,MAAM,WAAW,kBAAkB;IAC/B,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACnG,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;CACtH;AAED,MAAM,WAAW,0CAA2C,SAAQ,kBAAkB;IAClF,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IACnH;;;;OAIG;IACH,OAAO,CACH,OAAO,EAAE,2BAA2B,EACpC,OAAO,EAAE,iBAAiB,EAC1B,iBAAiB,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,GACxF,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;CAC9C;AAMD,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D,MAAM,WAAW,iBAAiB;IAC9B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IAC5D,YAAY,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IACvC,mBAAmB,IAAI,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACrD,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAE3C,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,GAAG,UAAU,CAAC;IACjF,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC7E,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IAExH,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,GAAG,UAAU,CAAC;IACzF,wBAAwB,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrF,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAEtG,kCAAkC,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,+BAA+B,GAAG,UAAU,CAAC;IACjH,oCAAoC,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,+BAA+B,GAAG,IAAI,CAAC;IAC7G,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,GAAG,SAAS,CAAC,CAAC;IAElG,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;CACnK;AAED,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AACvE,MAAM,WAAW,sBAAsB;IACnC,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,2BAA2B;IACxC,OAAO,EAAE,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IACjD,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;AAC9E;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAEvF;AAED,+FAA+F;AAC/F,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAW5G;AAED,qBACa,wBAAyB,YAAW,iBAAiB;IAW1D,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,sBAAsB,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO;IAXvD,SAAS,CAAC,SAAS,0BAAiC;IACpD,SAAS,CAAC,SAAS,oCAA2C;IAC9D,SAAS,CAAC,UAAU,mCAA0C;IAC9D,SAAS,CAAC,sBAAsB,+CAAsD;IAEtF,SAAS,CAAC,QAAQ,CAAC,2BAA2B,gBAAuB;IACrE,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,CAA0C;gBAI7D,oBAAoB,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,EACjD,MAAM,EAAE,OAAO;IAIvD,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAInC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIhC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAK7H,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE;cAI1C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAe5H,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS;IAI3D,YAAY,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE;IAItC,mBAAmB,IAAI,QAAQ,CAAC,iBAAiB,CAAC,EAAE;IAIpD,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,GAAG,UAAU;IAYhF,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAS5E,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMtC,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,GAAG,UAAU;IAMxF,wBAAwB,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,GAAG,IAAI;IAQ9E,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAI/E,kCAAkC,CAAC,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,+BAA+B,GAAG,UAAU;IAMzH,oCAAoC,CAAC,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,+BAA+B,GAAG,IAAI;IAQ/G,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,GAAG,SAAS,CAAC;IAIjG,eAAe,CACjB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,GAAE,sBAAuD,GAC/D,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;CAyD7C"}
|
|
@@ -20,10 +20,11 @@
|
|
|
20
20
|
*--------------------------------------------------------------------------------------------*/
|
|
21
21
|
// Partially copied from https://github.com/microsoft/vscode/blob/a2cab7255c0df424027be05d58e1b7b941f4ea60/src/vs/workbench/contrib/chat/common/chatVariables.ts
|
|
22
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.DefaultAIVariableService = exports.AIVariableContribution = exports.AIVariableService = exports.AIVariableResolutionRequest = exports.ResolvedAIContextVariable = exports.ResolvedAIVariable = exports.AIContextVariable = exports.AIVariable = void 0;
|
|
23
|
+
exports.DefaultAIVariableService = exports.getAllResolvedAIVariables = exports.createAIResolveVariableCache = exports.AIVariableContribution = exports.AIVariableService = exports.AIVariableResolutionRequest = exports.ResolvedAIContextVariable = exports.ResolvedAIVariable = exports.AIContextVariable = exports.AIVariable = void 0;
|
|
24
24
|
const tslib_1 = require("tslib");
|
|
25
25
|
const core_1 = require("@theia/core");
|
|
26
26
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
27
|
+
const prompt_text_1 = require("./prompt-text");
|
|
27
28
|
var AIVariable;
|
|
28
29
|
(function (AIVariable) {
|
|
29
30
|
function is(arg) {
|
|
@@ -70,12 +71,37 @@ var AIVariableResolutionRequest;
|
|
|
70
71
|
}
|
|
71
72
|
AIVariableResolutionRequest.is = is;
|
|
72
73
|
})(AIVariableResolutionRequest || (exports.AIVariableResolutionRequest = AIVariableResolutionRequest = {}));
|
|
74
|
+
function isResolverWithDependencies(resolver) {
|
|
75
|
+
return resolver !== undefined && resolver.resolve.length >= 3;
|
|
76
|
+
}
|
|
73
77
|
exports.AIVariableService = Symbol('AIVariableService');
|
|
74
78
|
/** Contributions on the frontend can optionally implement `FrontendVariableContribution`. */
|
|
75
79
|
exports.AIVariableContribution = Symbol('AIVariableContribution');
|
|
80
|
+
/**
|
|
81
|
+
* Creates a new, empty cache for AI variable resolvement to hand into `AIVariableService.resolveVariable`.
|
|
82
|
+
*/
|
|
83
|
+
function createAIResolveVariableCache() {
|
|
84
|
+
return new Map();
|
|
85
|
+
}
|
|
86
|
+
exports.createAIResolveVariableCache = createAIResolveVariableCache;
|
|
87
|
+
/** Utility function to get all resolved AI variables from a {@link ResolveAIVariableCache} */
|
|
88
|
+
async function getAllResolvedAIVariables(cache) {
|
|
89
|
+
const resolvedVariables = [];
|
|
90
|
+
for (const cacheEntry of cache.values()) {
|
|
91
|
+
if (!cacheEntry.inProgress) {
|
|
92
|
+
const resolvedVariable = await cacheEntry.promise;
|
|
93
|
+
if (resolvedVariable) {
|
|
94
|
+
resolvedVariables.push(resolvedVariable);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return resolvedVariables;
|
|
99
|
+
}
|
|
100
|
+
exports.getAllResolvedAIVariables = getAllResolvedAIVariables;
|
|
76
101
|
let DefaultAIVariableService = class DefaultAIVariableService {
|
|
77
|
-
constructor(contributionProvider) {
|
|
102
|
+
constructor(contributionProvider, logger) {
|
|
78
103
|
this.contributionProvider = contributionProvider;
|
|
104
|
+
this.logger = logger;
|
|
79
105
|
this.variables = new Map();
|
|
80
106
|
this.resolvers = new Map();
|
|
81
107
|
this.argPickers = new Map();
|
|
@@ -181,27 +207,62 @@ let DefaultAIVariableService = class DefaultAIVariableService {
|
|
|
181
207
|
var _a;
|
|
182
208
|
return (_a = this.argCompletionProviders.get(this.getKey(name))) !== null && _a !== void 0 ? _a : undefined;
|
|
183
209
|
}
|
|
184
|
-
async resolveVariable(request, context) {
|
|
185
|
-
|
|
186
|
-
const
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
210
|
+
async resolveVariable(request, context, cache = createAIResolveVariableCache()) {
|
|
211
|
+
// Calculate unique variable cache key from variable name and argument
|
|
212
|
+
const variableName = typeof request === 'string'
|
|
213
|
+
? request
|
|
214
|
+
: typeof request.variable === 'string'
|
|
215
|
+
? request.variable
|
|
216
|
+
: request.variable.name;
|
|
190
217
|
const arg = typeof request === 'string' ? undefined : request.arg;
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
|
|
218
|
+
const cacheKey = `${variableName}${prompt_text_1.PromptText.VARIABLE_SEPARATOR_CHAR}${arg !== null && arg !== void 0 ? arg : ''}`;
|
|
219
|
+
// If the current cache key exists and is still in progress, we reached a cycle.
|
|
220
|
+
// If we reach it but it has been resolved, it was part of another resolvement branch and we can simply return it.
|
|
221
|
+
if (cache.has(cacheKey)) {
|
|
222
|
+
const existingEntry = cache.get(cacheKey);
|
|
223
|
+
if (existingEntry.inProgress) {
|
|
224
|
+
this.logger.warn(`Cycle detected for variable: ${variableName} with arg: ${arg}. Skipping resolution.`);
|
|
225
|
+
return undefined;
|
|
226
|
+
}
|
|
227
|
+
return existingEntry.promise;
|
|
228
|
+
}
|
|
229
|
+
const entry = { promise: Promise.resolve(undefined), inProgress: true };
|
|
230
|
+
cache.set(cacheKey, entry);
|
|
231
|
+
// Asynchronously resolves a variable, handling its dependencies while preventing cyclical resolution.
|
|
232
|
+
// Selects the appropriate resolver and resolution strategy based on whether nested dependency resolution is supported.
|
|
233
|
+
const promise = (async () => {
|
|
234
|
+
const variable = this.getVariable(variableName);
|
|
235
|
+
if (!variable) {
|
|
236
|
+
return undefined;
|
|
237
|
+
}
|
|
238
|
+
const resolver = await this.getResolver(variableName, arg, context);
|
|
239
|
+
let resolved;
|
|
240
|
+
if (isResolverWithDependencies(resolver)) {
|
|
241
|
+
// Explicit cast needed because Typescript does not consider the method parameter length of the type guard at compile time
|
|
242
|
+
resolved = await resolver.resolve({ variable, arg }, context, async (depRequest) => this.resolveVariable(depRequest, context, cache));
|
|
243
|
+
}
|
|
244
|
+
else if (resolver) {
|
|
245
|
+
// Explicit cast needed because Typescript does not consider the method parameter length of the type guard at compile time
|
|
246
|
+
resolved = await resolver.resolve({ variable, arg }, context);
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
resolved = undefined;
|
|
250
|
+
}
|
|
251
|
+
return resolved ? { ...resolved, arg } : undefined;
|
|
252
|
+
})();
|
|
253
|
+
entry.promise = promise;
|
|
254
|
+
promise.finally(() => {
|
|
255
|
+
entry.inProgress = false;
|
|
256
|
+
});
|
|
257
|
+
return promise;
|
|
194
258
|
}
|
|
195
259
|
};
|
|
196
260
|
exports.DefaultAIVariableService = DefaultAIVariableService;
|
|
197
|
-
tslib_1.__decorate([
|
|
198
|
-
(0, inversify_1.inject)(core_1.ILogger),
|
|
199
|
-
tslib_1.__metadata("design:type", Object)
|
|
200
|
-
], DefaultAIVariableService.prototype, "logger", void 0);
|
|
201
261
|
exports.DefaultAIVariableService = DefaultAIVariableService = tslib_1.__decorate([
|
|
202
262
|
(0, inversify_1.injectable)(),
|
|
203
263
|
tslib_1.__param(0, (0, inversify_1.inject)(core_1.ContributionProvider)),
|
|
204
264
|
tslib_1.__param(0, (0, inversify_1.named)(exports.AIVariableContribution)),
|
|
205
|
-
tslib_1.
|
|
265
|
+
tslib_1.__param(1, (0, inversify_1.inject)(core_1.ILogger)),
|
|
266
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object])
|
|
206
267
|
], DefaultAIVariableService);
|
|
207
268
|
//# sourceMappingURL=variable-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variable-service.js","sourceRoot":"","sources":["../../src/common/variable-service.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;AAChF;;;gGAGgG;AAChG,gKAAgK;;;;AAEhK,sCAAsH;AACtH,4DAAyE;
|
|
1
|
+
{"version":3,"file":"variable-service.js","sourceRoot":"","sources":["../../src/common/variable-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-service.spec.d.ts","sourceRoot":"","sources":["../../src/common/variable-service.spec.ts"],"names":[],"mappings":""}
|