@theia/ai-core 1.61.0-next.8 → 1.61.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/ai-core-frontend-module.d.ts.map +1 -1
- package/lib/browser/ai-core-frontend-module.js +7 -0
- package/lib/browser/ai-core-frontend-module.js.map +1 -1
- package/lib/browser/ai-variable-uri-label-provider.d.ts +17 -0
- package/lib/browser/ai-variable-uri-label-provider.d.ts.map +1 -0
- package/lib/browser/ai-variable-uri-label-provider.js +85 -0
- package/lib/browser/ai-variable-uri-label-provider.js.map +1 -0
- package/lib/browser/file-variable-contribution.d.ts +9 -3
- package/lib/browser/file-variable-contribution.d.ts.map +1 -1
- package/lib/browser/file-variable-contribution.js +26 -8
- package/lib/browser/file-variable-contribution.js.map +1 -1
- package/lib/browser/frontend-prompt-customization-service.d.ts +22 -1
- package/lib/browser/frontend-prompt-customization-service.d.ts.map +1 -1
- package/lib/browser/frontend-prompt-customization-service.js +63 -25
- package/lib/browser/frontend-prompt-customization-service.js.map +1 -1
- package/lib/browser/frontend-variable-service.d.ts +28 -4
- package/lib/browser/frontend-variable-service.d.ts.map +1 -1
- package/lib/browser/frontend-variable-service.js +84 -1
- package/lib/browser/frontend-variable-service.js.map +1 -1
- package/lib/common/ai-variable-resource.d.ts +18 -0
- package/lib/common/ai-variable-resource.d.ts.map +1 -0
- package/lib/common/ai-variable-resource.js +103 -0
- package/lib/common/ai-variable-resource.js.map +1 -0
- package/lib/common/configurable-in-memory-resources.d.ts +45 -0
- package/lib/common/configurable-in-memory-resources.d.ts.map +1 -0
- package/lib/common/configurable-in-memory-resources.js +147 -0
- package/lib/common/configurable-in-memory-resources.js.map +1 -0
- package/lib/common/index.d.ts +2 -0
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +2 -0
- package/lib/common/index.js.map +1 -1
- package/lib/common/prompt-service.d.ts +16 -4
- package/lib/common/prompt-service.d.ts.map +1 -1
- package/lib/common/prompt-service.js +1 -1
- package/lib/common/prompt-service.js.map +1 -1
- package/lib/common/prompt-variable-contribution.d.ts +2 -1
- package/lib/common/prompt-variable-contribution.d.ts.map +1 -1
- package/lib/common/prompt-variable-contribution.js +10 -1
- package/lib/common/prompt-variable-contribution.js.map +1 -1
- package/lib/common/variable-service.d.ts +17 -2
- package/lib/common/variable-service.d.ts.map +1 -1
- package/lib/common/variable-service.js +43 -32
- package/lib/common/variable-service.js.map +1 -1
- package/package.json +11 -10
- package/src/browser/ai-core-frontend-module.ts +12 -5
- package/src/browser/ai-variable-uri-label-provider.ts +66 -0
- package/src/browser/file-variable-contribution.ts +34 -14
- package/src/browser/frontend-prompt-customization-service.ts +72 -25
- package/src/browser/frontend-variable-service.ts +115 -5
- package/src/common/ai-variable-resource.ts +86 -0
- package/src/common/configurable-in-memory-resources.ts +156 -0
- package/src/common/index.ts +2 -0
- package/src/common/prompt-service.ts +14 -4
- package/src/common/prompt-variable-contribution.ts +10 -2
- package/src/common/variable-service.ts +58 -44
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/common/prompt-variable-contribution.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAO,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/common/prompt-variable-contribution.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAO,MAAM,aAAa,CAAC;AAE3D,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EACH,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,0CAA0C,EAC1C,aAAa,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG7E,eAAO,MAAM,eAAe,EAAE,UAO7B,CAAC;AAEF,qBACa,0BAA2B,YAAW,sBAAsB,EAAE,0CAA0C;IAGjH,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IAG1E,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAE1B,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAMnD,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,MAAM;IAO9E,OAAO,CACT,OAAO,EAAE,2BAA2B,EACpC,OAAO,EAAE,iBAAiB,EAC1B,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,GACzF,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;cAsB1B,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;cAQpD,8BAA8B,CAC1C,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC;CAwC5D"}
|
|
@@ -57,7 +57,12 @@ let PromptVariableContribution = class PromptVariableContribution {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
|
|
60
|
+
this.logger.debug(`Could not resolve prompt variable '${request.variable.name}' with arg '${request.arg}'. Returning empty string.`);
|
|
61
|
+
return {
|
|
62
|
+
variable: request.variable,
|
|
63
|
+
value: '',
|
|
64
|
+
allResolvedDependencies: []
|
|
65
|
+
};
|
|
61
66
|
}
|
|
62
67
|
async triggerArgumentPicker() {
|
|
63
68
|
// Trigger the suggestion command to show argument completions
|
|
@@ -116,6 +121,10 @@ tslib_1.__decorate([
|
|
|
116
121
|
(0, inversify_1.optional)(),
|
|
117
122
|
tslib_1.__metadata("design:type", Object)
|
|
118
123
|
], PromptVariableContribution.prototype, "promptCustomizationService", void 0);
|
|
124
|
+
tslib_1.__decorate([
|
|
125
|
+
(0, inversify_1.inject)(core_1.ILogger),
|
|
126
|
+
tslib_1.__metadata("design:type", Object)
|
|
127
|
+
], PromptVariableContribution.prototype, "logger", void 0);
|
|
119
128
|
exports.PromptVariableContribution = PromptVariableContribution = tslib_1.__decorate([
|
|
120
129
|
(0, inversify_1.injectable)()
|
|
121
130
|
], PromptVariableContribution);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-variable-contribution.js","sourceRoot":"","sources":["../../src/common/prompt-variable-contribution.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,
|
|
1
|
+
{"version":3,"file":"prompt-variable-contribution.js","sourceRoot":"","sources":["../../src/common/prompt-variable-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,7 @@ export interface AIVariableResolutionRequest {
|
|
|
65
65
|
}
|
|
66
66
|
export declare namespace AIVariableResolutionRequest {
|
|
67
67
|
function is(arg: unknown): arg is AIVariableResolutionRequest;
|
|
68
|
+
function fromResolved(arg: ResolvedAIContextVariable): AIVariableResolutionRequest;
|
|
68
69
|
}
|
|
69
70
|
export interface AIVariableContext {
|
|
70
71
|
}
|
|
@@ -78,6 +79,10 @@ export interface AIVariableResolver {
|
|
|
78
79
|
canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): MaybePromise<number>;
|
|
79
80
|
resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
|
|
80
81
|
}
|
|
82
|
+
export interface AIVariableOpener {
|
|
83
|
+
canOpen(request: AIVariableResolutionRequest, context: AIVariableContext): MaybePromise<number>;
|
|
84
|
+
open(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<void>;
|
|
85
|
+
}
|
|
81
86
|
export interface AIVariableResolverWithVariableDependencies extends AIVariableResolver {
|
|
82
87
|
resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
|
|
83
88
|
/**
|
|
@@ -98,13 +103,13 @@ export interface AIVariableService {
|
|
|
98
103
|
registerResolver(variable: AIVariable, resolver: AIVariableResolver): Disposable;
|
|
99
104
|
unregisterResolver(variable: AIVariable, resolver: AIVariableResolver): void;
|
|
100
105
|
getResolver(name: string, arg: string | undefined, context: AIVariableContext): Promise<AIVariableResolver | undefined>;
|
|
106
|
+
resolveVariable(variable: AIVariableArg, context: AIVariableContext, cache?: Map<string, ResolveAIVariableCacheEntry>): Promise<ResolvedAIVariable | undefined>;
|
|
101
107
|
registerArgumentPicker(variable: AIVariable, argPicker: AIVariableArgPicker): Disposable;
|
|
102
108
|
unregisterArgumentPicker(variable: AIVariable, argPicker: AIVariableArgPicker): void;
|
|
103
109
|
getArgumentPicker(name: string, context: AIVariableContext): Promise<AIVariableArgPicker | undefined>;
|
|
104
110
|
registerArgumentCompletionProvider(variable: AIVariable, argPicker: AIVariableArgCompletionProvider): Disposable;
|
|
105
111
|
unregisterArgumentCompletionProvider(variable: AIVariable, argPicker: AIVariableArgCompletionProvider): void;
|
|
106
112
|
getArgumentCompletionProvider(name: string): Promise<AIVariableArgCompletionProvider | undefined>;
|
|
107
|
-
resolveVariable(variable: AIVariableArg, context: AIVariableContext, cache?: Map<string, ResolveAIVariableCacheEntry>): Promise<ResolvedAIVariable | undefined>;
|
|
108
113
|
}
|
|
109
114
|
/** Contributions on the frontend can optionally implement `FrontendVariableContribution`. */
|
|
110
115
|
export declare const AIVariableContribution: unique symbol;
|
|
@@ -117,7 +122,7 @@ export interface ResolveAIVariableCacheEntry {
|
|
|
117
122
|
}
|
|
118
123
|
export type ResolveAIVariableCache = Map<string, ResolveAIVariableCacheEntry>;
|
|
119
124
|
/**
|
|
120
|
-
* Creates a new, empty cache for AI variable
|
|
125
|
+
* Creates a new, empty cache for AI variable resolution to hand into `AIVariableService.resolveVariable`.
|
|
121
126
|
*/
|
|
122
127
|
export declare function createAIResolveVariableCache(): Map<string, ResolveAIVariableCacheEntry>;
|
|
123
128
|
/** Utility function to get all resolved AI variables from a {@link ResolveAIVariableCache} */
|
|
@@ -128,6 +133,7 @@ export declare class DefaultAIVariableService implements AIVariableService {
|
|
|
128
133
|
protected variables: Map<string, AIVariable>;
|
|
129
134
|
protected resolvers: Map<string, AIVariableResolver[]>;
|
|
130
135
|
protected argPickers: Map<string, AIVariableArgPicker>;
|
|
136
|
+
protected openers: Map<string, AIVariableOpener[]>;
|
|
131
137
|
protected argCompletionProviders: Map<string, AIVariableArgCompletionProvider>;
|
|
132
138
|
protected readonly onDidChangeVariablesEmitter: Emitter<void>;
|
|
133
139
|
readonly onDidChangeVariables: Event<void>;
|
|
@@ -150,6 +156,15 @@ export declare class DefaultAIVariableService implements AIVariableService {
|
|
|
150
156
|
registerArgumentCompletionProvider(variable: AIVariable, completionProvider: AIVariableArgCompletionProvider): Disposable;
|
|
151
157
|
unregisterArgumentCompletionProvider(variable: AIVariable, completionProvider: AIVariableArgCompletionProvider): void;
|
|
152
158
|
getArgumentCompletionProvider(name: string): Promise<AIVariableArgCompletionProvider | undefined>;
|
|
159
|
+
protected parseRequest(request: AIVariableArg): {
|
|
160
|
+
variableName: string;
|
|
161
|
+
arg: string | undefined;
|
|
162
|
+
};
|
|
153
163
|
resolveVariable(request: AIVariableArg, context: AIVariableContext, cache?: ResolveAIVariableCache): Promise<ResolvedAIVariable | undefined>;
|
|
164
|
+
/**
|
|
165
|
+
* Asynchronously resolves a variable, handling its dependencies while preventing cyclical resolution.
|
|
166
|
+
* Selects the appropriate resolver and resolution strategy based on whether nested dependency resolution is supported.
|
|
167
|
+
*/
|
|
168
|
+
protected doResolve(variableName: string, arg: string | undefined, context: AIVariableContext, cache: ResolveAIVariableCache): Promise<ResolvedAIVariable | undefined>;
|
|
154
169
|
}
|
|
155
170
|
//# 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":"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
|
|
1
|
+
{"version":3,"file":"variable-service.d.ts","sourceRoot":"","sources":["../../src/common/variable-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,6 +70,13 @@ var AIVariableResolutionRequest;
|
|
|
70
70
|
typeof arg.variable.name === 'string';
|
|
71
71
|
}
|
|
72
72
|
AIVariableResolutionRequest.is = is;
|
|
73
|
+
function fromResolved(arg) {
|
|
74
|
+
return {
|
|
75
|
+
variable: arg.variable,
|
|
76
|
+
arg: arg.arg
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
AIVariableResolutionRequest.fromResolved = fromResolved;
|
|
73
80
|
})(AIVariableResolutionRequest || (exports.AIVariableResolutionRequest = AIVariableResolutionRequest = {}));
|
|
74
81
|
function isResolverWithDependencies(resolver) {
|
|
75
82
|
return resolver !== undefined && resolver.resolve.length >= 3;
|
|
@@ -78,7 +85,7 @@ exports.AIVariableService = Symbol('AIVariableService');
|
|
|
78
85
|
/** Contributions on the frontend can optionally implement `FrontendVariableContribution`. */
|
|
79
86
|
exports.AIVariableContribution = Symbol('AIVariableContribution');
|
|
80
87
|
/**
|
|
81
|
-
* Creates a new, empty cache for AI variable
|
|
88
|
+
* Creates a new, empty cache for AI variable resolution to hand into `AIVariableService.resolveVariable`.
|
|
82
89
|
*/
|
|
83
90
|
function createAIResolveVariableCache() {
|
|
84
91
|
return new Map();
|
|
@@ -105,6 +112,7 @@ let DefaultAIVariableService = class DefaultAIVariableService {
|
|
|
105
112
|
this.variables = new Map();
|
|
106
113
|
this.resolvers = new Map();
|
|
107
114
|
this.argPickers = new Map();
|
|
115
|
+
this.openers = new Map();
|
|
108
116
|
this.argCompletionProviders = new Map();
|
|
109
117
|
this.onDidChangeVariablesEmitter = new core_1.Emitter();
|
|
110
118
|
this.onDidChangeVariables = this.onDidChangeVariablesEmitter.event;
|
|
@@ -207,17 +215,21 @@ let DefaultAIVariableService = class DefaultAIVariableService {
|
|
|
207
215
|
var _a;
|
|
208
216
|
return (_a = this.argCompletionProviders.get(this.getKey(name))) !== null && _a !== void 0 ? _a : undefined;
|
|
209
217
|
}
|
|
210
|
-
|
|
211
|
-
// Calculate unique variable cache key from variable name and argument
|
|
218
|
+
parseRequest(request) {
|
|
212
219
|
const variableName = typeof request === 'string'
|
|
213
220
|
? request
|
|
214
221
|
: typeof request.variable === 'string'
|
|
215
222
|
? request.variable
|
|
216
223
|
: request.variable.name;
|
|
217
224
|
const arg = typeof request === 'string' ? undefined : request.arg;
|
|
225
|
+
return { variableName, arg };
|
|
226
|
+
}
|
|
227
|
+
async resolveVariable(request, context, cache = createAIResolveVariableCache()) {
|
|
228
|
+
// Calculate unique variable cache key from variable name and argument
|
|
229
|
+
const { variableName, arg } = this.parseRequest(request);
|
|
218
230
|
const cacheKey = `${variableName}${prompt_text_1.PromptText.VARIABLE_SEPARATOR_CHAR}${arg !== null && arg !== void 0 ? arg : ''}`;
|
|
219
231
|
// 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
|
|
232
|
+
// If we reach it but it has been resolved, it was part of another resolution branch and we can simply return it.
|
|
221
233
|
if (cache.has(cacheKey)) {
|
|
222
234
|
const existingEntry = cache.get(cacheKey);
|
|
223
235
|
if (existingEntry.inProgress) {
|
|
@@ -226,35 +238,34 @@ let DefaultAIVariableService = class DefaultAIVariableService {
|
|
|
226
238
|
}
|
|
227
239
|
return existingEntry.promise;
|
|
228
240
|
}
|
|
229
|
-
const entry = { promise:
|
|
241
|
+
const entry = { promise: this.doResolve(variableName, arg, context, cache), inProgress: true };
|
|
242
|
+
entry.promise.finally(() => entry.inProgress = false);
|
|
230
243
|
cache.set(cacheKey, entry);
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
});
|
|
257
|
-
return promise;
|
|
244
|
+
return entry.promise;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Asynchronously resolves a variable, handling its dependencies while preventing cyclical resolution.
|
|
248
|
+
* Selects the appropriate resolver and resolution strategy based on whether nested dependency resolution is supported.
|
|
249
|
+
*/
|
|
250
|
+
async doResolve(variableName, arg, context, cache) {
|
|
251
|
+
const variable = this.getVariable(variableName);
|
|
252
|
+
if (!variable) {
|
|
253
|
+
return undefined;
|
|
254
|
+
}
|
|
255
|
+
const resolver = await this.getResolver(variableName, arg, context);
|
|
256
|
+
let resolved;
|
|
257
|
+
if (isResolverWithDependencies(resolver)) {
|
|
258
|
+
// Explicit cast needed because Typescript does not consider the method parameter length of the type guard at compile time
|
|
259
|
+
resolved = await resolver.resolve({ variable, arg }, context, async (depRequest) => this.resolveVariable(depRequest, context, cache));
|
|
260
|
+
}
|
|
261
|
+
else if (resolver) {
|
|
262
|
+
// Explicit cast needed because Typescript does not consider the method parameter length of the type guard at compile time
|
|
263
|
+
resolved = await resolver.resolve({ variable, arg }, context);
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
resolved = undefined;
|
|
267
|
+
}
|
|
268
|
+
return resolved ? { ...resolved, arg } : undefined;
|
|
258
269
|
}
|
|
259
270
|
};
|
|
260
271
|
exports.DefaultAIVariableService = DefaultAIVariableService;
|
|
@@ -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;AAEzE,+CAA2C;AAsB3C,IAAiB,UAAU,CAO1B;AAPD,WAAiB,UAAU;IACvB,SAAgB,EAAE,CAAC,GAAY;QAC3B,OAAO,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YACnC,IAAI,IAAI,GAAG;YACX,MAAM,IAAI,GAAG;YACb,aAAa,IAAI,GAAG,CAAC;IAC7B,CAAC;IALe,aAAE,KAKjB,CAAA;AACL,CAAC,EAPgB,UAAU,0BAAV,UAAU,QAO1B;AAOD,IAAiB,iBAAiB,CAIjC;AAJD,WAAiB,iBAAiB;IAC9B,SAAgB,EAAE,CAAC,GAAY;QAC3B,OAAO,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,mBAAmB,IAAI,GAAG,IAAI,GAAG,CAAC,iBAAiB,KAAK,IAAI,CAAC;IAC9F,CAAC;IAFe,oBAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,iBAAiB,iCAAjB,iBAAiB,QAIjC;AAkBD,IAAiB,kBAAkB,CAQlC;AARD,WAAiB,kBAAkB;IAC/B,SAAgB,EAAE,CAAC,GAAY;QAC3B,OAAO,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YACnC,UAAU,IAAI,GAAG;YACjB,OAAO,IAAI,GAAG;YACd,OAAQ,GAA6B,CAAC,QAAQ,KAAK,QAAQ;YAC3D,OAAQ,GAA0B,CAAC,KAAK,KAAK,QAAQ,CAAC;IAC9D,CAAC;IANe,qBAAE,KAMjB,CAAA;AACL,CAAC,EARgB,kBAAkB,kCAAlB,kBAAkB,QAQlC;AAaD,IAAiB,yBAAyB,CAMzC;AAND,WAAiB,yBAAyB;IACtC,SAAgB,EAAE,CAAC,GAAY;QAC3B,OAAO,kBAAkB,CAAC,EAAE,CAAC,GAAG,CAAC;YAC7B,cAAc,IAAI,GAAG;YACrB,OAAQ,GAAiC,CAAC,YAAY,KAAK,QAAQ,CAAC;IAC5E,CAAC;IAJe,4BAAE,KAIjB,CAAA;AACL,CAAC,EANgB,yBAAyB,yCAAzB,yBAAyB,QAMzC;AAOD,IAAiB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"variable-service.js","sourceRoot":"","sources":["../../src/common/variable-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/ai-core",
|
|
3
|
-
"version": "1.61.0
|
|
3
|
+
"version": "1.61.0",
|
|
4
4
|
"description": "Theia - AI Core",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.61.0
|
|
7
|
-
"@theia/editor": "1.61.0
|
|
8
|
-
"@theia/filesystem": "1.61.0
|
|
9
|
-
"@theia/monaco": "1.61.0
|
|
6
|
+
"@theia/core": "1.61.0",
|
|
7
|
+
"@theia/editor": "1.61.0",
|
|
8
|
+
"@theia/filesystem": "1.61.0",
|
|
9
|
+
"@theia/monaco": "1.61.0",
|
|
10
10
|
"@theia/monaco-editor-core": "1.96.302",
|
|
11
|
-
"@theia/output": "1.61.0
|
|
12
|
-
"@theia/variable-resolver": "1.61.0
|
|
13
|
-
"@theia/workspace": "1.61.0
|
|
11
|
+
"@theia/output": "1.61.0",
|
|
12
|
+
"@theia/variable-resolver": "1.61.0",
|
|
13
|
+
"@theia/workspace": "1.61.0",
|
|
14
14
|
"@types/js-yaml": "^4.0.9",
|
|
15
|
+
"fast-deep-equal": "^3.1.3",
|
|
15
16
|
"js-yaml": "^4.1.0",
|
|
16
17
|
"minimatch": "^5.1.0",
|
|
17
18
|
"tslib": "^2.6.2"
|
|
@@ -52,10 +53,10 @@
|
|
|
52
53
|
"watch": "theiaext watch"
|
|
53
54
|
},
|
|
54
55
|
"devDependencies": {
|
|
55
|
-
"@theia/ext-scripts": "1.
|
|
56
|
+
"@theia/ext-scripts": "1.61.0"
|
|
56
57
|
},
|
|
57
58
|
"nyc": {
|
|
58
59
|
"extends": "../../configs/nyc.json"
|
|
59
60
|
},
|
|
60
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "c99af52568c2e1f453c80c1b0d1fb73c3a23dcc0"
|
|
61
62
|
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
//
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
|
-
import { bindContributionProvider, CommandContribution, CommandHandler } from '@theia/core';
|
|
16
|
+
import { bindContributionProvider, CommandContribution, CommandHandler, ResourceResolver } from '@theia/core';
|
|
17
17
|
import {
|
|
18
18
|
RemoteConnectionProvider,
|
|
19
19
|
ServiceConnectionProvider,
|
|
@@ -38,17 +38,17 @@ import {
|
|
|
38
38
|
ToolProvider,
|
|
39
39
|
TokenUsageService,
|
|
40
40
|
TOKEN_USAGE_SERVICE_PATH,
|
|
41
|
-
TokenUsageServiceClient
|
|
41
|
+
TokenUsageServiceClient,
|
|
42
|
+
AIVariableResourceResolver,
|
|
43
|
+
ConfigurableInMemoryResources
|
|
42
44
|
} from '../common';
|
|
43
45
|
import {
|
|
44
46
|
FrontendLanguageModelRegistryImpl,
|
|
45
47
|
LanguageModelDelegateClientImpl,
|
|
46
48
|
} from './frontend-language-model-registry';
|
|
47
|
-
|
|
48
|
-
import { FrontendApplicationContribution, PreferenceContribution } from '@theia/core/lib/browser';
|
|
49
|
+
import { FrontendApplicationContribution, LabelProviderContribution, PreferenceContribution } from '@theia/core/lib/browser';
|
|
49
50
|
import { TabBarToolbarContribution } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
|
|
50
51
|
import { LanguageGrammarDefinitionContribution } from '@theia/monaco/lib/browser/textmate';
|
|
51
|
-
|
|
52
52
|
import { AICoreFrontendApplicationContribution } from './ai-core-frontend-application-contribution';
|
|
53
53
|
import { bindAICorePreferences } from './ai-core-preferences';
|
|
54
54
|
import { AgentSettingsPreferenceSchema } from './agent-preferences';
|
|
@@ -70,6 +70,7 @@ import { LanguageModelService } from '../common/language-model-service';
|
|
|
70
70
|
import { FrontendLanguageModelServiceImpl } from './frontend-language-model-service';
|
|
71
71
|
import { TokenUsageFrontendService } from './token-usage-frontend-service';
|
|
72
72
|
import { TokenUsageFrontendServiceImpl, TokenUsageServiceClientImpl } from './token-usage-frontend-service-impl';
|
|
73
|
+
import { AIVariableUriLabelProvider } from './ai-variable-uri-label-provider';
|
|
73
74
|
|
|
74
75
|
export default new ContainerModule(bind => {
|
|
75
76
|
bindContributionProvider(bind, LanguageModelProvider);
|
|
@@ -158,4 +159,10 @@ export default new ContainerModule(bind => {
|
|
|
158
159
|
const client = ctx.container.get<TokenUsageServiceClient>(TokenUsageServiceClient);
|
|
159
160
|
return connection.createProxy<TokenUsageService>(TOKEN_USAGE_SERVICE_PATH, client);
|
|
160
161
|
}).inSingletonScope();
|
|
162
|
+
bind(AIVariableResourceResolver).toSelf().inSingletonScope();
|
|
163
|
+
bind(ResourceResolver).toService(AIVariableResourceResolver);
|
|
164
|
+
bind(AIVariableUriLabelProvider).toSelf().inSingletonScope();
|
|
165
|
+
bind(LabelProviderContribution).toService(AIVariableUriLabelProvider);
|
|
166
|
+
bind(ConfigurableInMemoryResources).toSelf().inSingletonScope();
|
|
167
|
+
bind(ResourceResolver).toService(ConfigurableInMemoryResources);
|
|
161
168
|
});
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2025 Eclipse GmbH and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
18
|
+
import { URI } from '@theia/core';
|
|
19
|
+
import { LabelProvider, LabelProviderContribution } from '@theia/core/lib/browser';
|
|
20
|
+
import { AI_VARIABLE_RESOURCE_SCHEME, AIVariableResourceResolver } from '../common/ai-variable-resource';
|
|
21
|
+
import { AIVariableResolutionRequest, AIVariableService } from '../common/variable-service';
|
|
22
|
+
|
|
23
|
+
@injectable()
|
|
24
|
+
export class AIVariableUriLabelProvider implements LabelProviderContribution {
|
|
25
|
+
|
|
26
|
+
@inject(LabelProvider) protected readonly labelProvider: LabelProvider;
|
|
27
|
+
@inject(AIVariableResourceResolver) protected variableResourceResolver: AIVariableResourceResolver;
|
|
28
|
+
@inject(AIVariableService) protected readonly variableService: AIVariableService;
|
|
29
|
+
|
|
30
|
+
protected isMine(element: object): element is URI {
|
|
31
|
+
return element instanceof URI && element.scheme === AI_VARIABLE_RESOURCE_SCHEME;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
canHandle(element: object): number {
|
|
35
|
+
return this.isMine(element) ? 150 : -1;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
getIcon(element: object): string | undefined {
|
|
39
|
+
if (!this.isMine(element)) { return undefined; }
|
|
40
|
+
return this.labelProvider.getIcon(this.getResolutionRequest(element)!);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
getName(element: object): string | undefined {
|
|
44
|
+
if (!this.isMine(element)) { return undefined; }
|
|
45
|
+
return this.labelProvider.getName(this.getResolutionRequest(element)!);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
getLongName(element: object): string | undefined {
|
|
49
|
+
if (!this.isMine(element)) { return undefined; }
|
|
50
|
+
return this.labelProvider.getLongName(this.getResolutionRequest(element)!);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
getDetails(element: object): string | undefined {
|
|
54
|
+
if (!this.isMine(element)) { return undefined; }
|
|
55
|
+
return this.labelProvider.getDetails(this.getResolutionRequest(element)!);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
protected getResolutionRequest(element: object): AIVariableResolutionRequest | undefined {
|
|
59
|
+
if (!this.isMine(element)) { return undefined; }
|
|
60
|
+
const metadata = this.variableResourceResolver.fromUri(element);
|
|
61
|
+
if (!metadata) { return undefined; }
|
|
62
|
+
const { variableName, arg } = metadata;
|
|
63
|
+
const variable = this.variableService.getVariable(variableName);
|
|
64
|
+
return variable && { variable, arg };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { Path, URI } from '@theia/core';
|
|
18
|
-
import { codiconArray } from '@theia/core/lib/browser';
|
|
18
|
+
import { OpenerService, codiconArray, open } from '@theia/core/lib/browser';
|
|
19
19
|
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
20
20
|
import { FileService } from '@theia/filesystem/lib/browser/file-service';
|
|
21
21
|
import { WorkspaceService } from '@theia/workspace/lib/browser/workspace-service';
|
|
@@ -23,11 +23,12 @@ import {
|
|
|
23
23
|
AIVariable,
|
|
24
24
|
AIVariableContext,
|
|
25
25
|
AIVariableContribution,
|
|
26
|
+
AIVariableOpener,
|
|
26
27
|
AIVariableResolutionRequest,
|
|
27
28
|
AIVariableResolver,
|
|
28
|
-
AIVariableService,
|
|
29
29
|
ResolvedAIContextVariable,
|
|
30
30
|
} from '../common/variable-service';
|
|
31
|
+
import { FrontendVariableService } from './frontend-variable-service';
|
|
31
32
|
|
|
32
33
|
export namespace FileVariableArgs {
|
|
33
34
|
export const uri = 'uri';
|
|
@@ -44,15 +45,19 @@ export const FILE_VARIABLE: AIVariable = {
|
|
|
44
45
|
};
|
|
45
46
|
|
|
46
47
|
@injectable()
|
|
47
|
-
export class FileVariableContribution implements AIVariableContribution, AIVariableResolver {
|
|
48
|
+
export class FileVariableContribution implements AIVariableContribution, AIVariableResolver, AIVariableOpener {
|
|
48
49
|
@inject(FileService)
|
|
49
50
|
protected readonly fileService: FileService;
|
|
50
51
|
|
|
51
52
|
@inject(WorkspaceService)
|
|
52
53
|
protected readonly wsService: WorkspaceService;
|
|
53
54
|
|
|
54
|
-
|
|
55
|
+
@inject(OpenerService)
|
|
56
|
+
protected readonly openerService: OpenerService;
|
|
57
|
+
|
|
58
|
+
registerVariables(service: FrontendVariableService): void {
|
|
55
59
|
service.registerResolver(FILE_VARIABLE, this);
|
|
60
|
+
service.registerOpener(FILE_VARIABLE, this);
|
|
56
61
|
}
|
|
57
62
|
|
|
58
63
|
async canResolve(request: AIVariableResolutionRequest, _: AIVariableContext): Promise<number> {
|
|
@@ -60,21 +65,15 @@ export class FileVariableContribution implements AIVariableContribution, AIVaria
|
|
|
60
65
|
}
|
|
61
66
|
|
|
62
67
|
async resolve(request: AIVariableResolutionRequest, _: AIVariableContext): Promise<ResolvedAIContextVariable | undefined> {
|
|
63
|
-
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
68
|
+
const uri = await this.toUri(request);
|
|
66
69
|
|
|
67
|
-
|
|
68
|
-
const absoluteUri = await this.makeAbsolute(path);
|
|
69
|
-
if (!absoluteUri) {
|
|
70
|
-
return undefined;
|
|
71
|
-
}
|
|
70
|
+
if (!uri) { return undefined; }
|
|
72
71
|
|
|
73
72
|
try {
|
|
74
|
-
const content = await this.fileService.readFile(
|
|
73
|
+
const content = await this.fileService.readFile(uri);
|
|
75
74
|
return {
|
|
76
75
|
variable: request.variable,
|
|
77
|
-
value: await this.wsService.getWorkspaceRelativePath(
|
|
76
|
+
value: await this.wsService.getWorkspaceRelativePath(uri),
|
|
78
77
|
contextValue: content.value.toString(),
|
|
79
78
|
};
|
|
80
79
|
} catch (error) {
|
|
@@ -82,6 +81,27 @@ export class FileVariableContribution implements AIVariableContribution, AIVaria
|
|
|
82
81
|
}
|
|
83
82
|
}
|
|
84
83
|
|
|
84
|
+
protected async toUri(request: AIVariableResolutionRequest): Promise<URI | undefined> {
|
|
85
|
+
if (request.variable.name !== FILE_VARIABLE.name || request.arg === undefined) {
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const path = request.arg;
|
|
90
|
+
return this.makeAbsolute(path);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
canOpen(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<number> {
|
|
94
|
+
return this.canResolve(request, context);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
async open(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<void> {
|
|
98
|
+
const uri = await this.toUri(request);
|
|
99
|
+
if (!uri) {
|
|
100
|
+
throw new Error('Unable to resolve URI for request.');
|
|
101
|
+
}
|
|
102
|
+
await open(this.openerService, uri);
|
|
103
|
+
}
|
|
104
|
+
|
|
85
105
|
protected async makeAbsolute(pathStr: string): Promise<URI | undefined> {
|
|
86
106
|
const path = new Path(Path.normalizePathSeparator(pathStr));
|
|
87
107
|
if (!path.isAbsolute) {
|