@theia/ai-core 1.60.2 → 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 +16 -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/browser/prompttemplate-contribution.d.ts +0 -3
- package/lib/browser/prompttemplate-contribution.d.ts.map +1 -1
- package/lib/browser/prompttemplate-contribution.js +5 -24
- package/lib/browser/prompttemplate-contribution.js.map +1 -1
- package/lib/browser/token-usage-frontend-service-impl.d.ts +25 -0
- package/lib/browser/token-usage-frontend-service-impl.d.ts.map +1 -0
- package/lib/browser/token-usage-frontend-service-impl.js +120 -0
- package/lib/browser/token-usage-frontend-service-impl.js.map +1 -0
- package/lib/browser/token-usage-frontend-service.d.ts +29 -0
- package/lib/browser/token-usage-frontend-service.d.ts.map +1 -0
- package/lib/browser/token-usage-frontend-service.js +23 -0
- package/lib/browser/token-usage-frontend-service.js.map +1 -0
- 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 +3 -0
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +3 -0
- package/lib/common/index.js.map +1 -1
- package/lib/common/language-model.d.ts +7 -2
- package/lib/common/language-model.d.ts.map +1 -1
- package/lib/common/language-model.js +5 -1
- package/lib/common/language-model.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/protocol.d.ts +14 -0
- package/lib/common/protocol.d.ts.map +1 -1
- package/lib/common/protocol.js +3 -1
- package/lib/common/protocol.js.map +1 -1
- package/lib/common/token-usage-service.d.ts +35 -0
- package/lib/common/token-usage-service.d.ts.map +1 -0
- package/lib/common/token-usage-service.js +20 -0
- package/lib/common/token-usage-service.js.map +1 -0
- 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/lib/node/ai-core-backend-module.d.ts.map +1 -1
- package/lib/node/ai-core-backend-module.js +9 -0
- package/lib/node/ai-core-backend-module.js.map +1 -1
- package/lib/node/language-model-frontend-delegate.d.ts +2 -2
- package/lib/node/language-model-frontend-delegate.d.ts.map +1 -1
- package/lib/node/language-model-frontend-delegate.js.map +1 -1
- package/lib/node/token-usage-service-impl.d.ts +23 -0
- package/lib/node/token-usage-service-impl.d.ts.map +1 -0
- package/lib/node/token-usage-service-impl.js +65 -0
- package/lib/node/token-usage-service-impl.js.map +1 -0
- package/package.json +11 -10
- package/src/browser/ai-core-frontend-module.ts +26 -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/browser/prompttemplate-contribution.ts +5 -26
- package/src/browser/token-usage-frontend-service-impl.ts +117 -0
- package/src/browser/token-usage-frontend-service.ts +47 -0
- package/src/common/ai-variable-resource.ts +86 -0
- package/src/common/configurable-in-memory-resources.ts +156 -0
- package/src/common/index.ts +3 -0
- package/src/common/language-model.ts +10 -2
- package/src/common/prompt-service.ts +14 -4
- package/src/common/prompt-variable-contribution.ts +10 -2
- package/src/common/protocol.ts +18 -0
- package/src/common/token-usage-service.ts +56 -0
- package/src/common/variable-service.ts +58 -44
- package/src/node/ai-core-backend-module.ts +21 -1
- package/src/node/language-model-frontend-delegate.ts +2 -2
- package/src/node/token-usage-service-impl.ts +65 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { TokenUsageServiceClient } from './protocol';
|
|
2
|
+
export declare const TokenUsageService: unique symbol;
|
|
3
|
+
export interface TokenUsage {
|
|
4
|
+
/** The input token count */
|
|
5
|
+
inputTokens: number;
|
|
6
|
+
/** The output token count */
|
|
7
|
+
outputTokens: number;
|
|
8
|
+
/** The model identifier */
|
|
9
|
+
model: string;
|
|
10
|
+
/** The timestamp of when the tokens were used */
|
|
11
|
+
timestamp: Date;
|
|
12
|
+
/** Request identifier */
|
|
13
|
+
requestId: string;
|
|
14
|
+
}
|
|
15
|
+
export interface TokenUsageParams {
|
|
16
|
+
/** The input token count */
|
|
17
|
+
inputTokens: number;
|
|
18
|
+
/** The output token count */
|
|
19
|
+
outputTokens: number;
|
|
20
|
+
/** Request identifier */
|
|
21
|
+
requestId: string;
|
|
22
|
+
}
|
|
23
|
+
export interface TokenUsageService {
|
|
24
|
+
/**
|
|
25
|
+
* Records token usage for a model interaction.
|
|
26
|
+
*
|
|
27
|
+
* @param model The identifier of the model that was used
|
|
28
|
+
* @param params Object containing token usage information
|
|
29
|
+
* @returns A promise that resolves when the token usage has been recorded
|
|
30
|
+
*/
|
|
31
|
+
recordTokenUsage(model: string, params: TokenUsageParams): Promise<void>;
|
|
32
|
+
getTokenUsages(): Promise<TokenUsage[]>;
|
|
33
|
+
setClient(tokenUsageClient: TokenUsageServiceClient): void;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=token-usage-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-usage-service.d.ts","sourceRoot":"","sources":["../../src/common/token-usage-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAE7D,MAAM,WAAW,UAAU;IACvB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,SAAS,EAAE,IAAI,CAAC;IAChB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC7B,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAC9B;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAExC,SAAS,CAAC,gBAAgB,EAAE,uBAAuB,GAAG,IAAI,CAAC;CAC9D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2025 EclipseSource GmbH.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.TokenUsageService = void 0;
|
|
19
|
+
exports.TokenUsageService = Symbol('TokenUsageService');
|
|
20
|
+
//# sourceMappingURL=token-usage-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-usage-service.js","sourceRoot":"","sources":["../../src/common/token-usage-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;;;AAInE,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-core-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/ai-core-backend-module.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;
|
|
1
|
+
{"version":3,"file":"ai-core-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/ai-core-backend-module.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AA6F/D,wBAEG"}
|
|
@@ -21,11 +21,20 @@ const core_1 = require("@theia/core");
|
|
|
21
21
|
const connection_container_module_1 = require("@theia/core/lib/node/messaging/connection-container-module");
|
|
22
22
|
const common_1 = require("../common");
|
|
23
23
|
const backend_language_model_registry_1 = require("./backend-language-model-registry");
|
|
24
|
+
const token_usage_service_impl_1 = require("./token-usage-service-impl");
|
|
24
25
|
// We use a connection module to handle AI services separately for each frontend.
|
|
25
26
|
const aiCoreConnectionModule = connection_container_module_1.ConnectionContainerModule.create(({ bind, bindBackendService, bindFrontendService }) => {
|
|
26
27
|
(0, core_1.bindContributionProvider)(bind, common_1.LanguageModelProvider);
|
|
27
28
|
bind(backend_language_model_registry_1.BackendLanguageModelRegistry).toSelf().inSingletonScope();
|
|
28
29
|
bind(common_1.LanguageModelRegistry).toService(backend_language_model_registry_1.BackendLanguageModelRegistry);
|
|
30
|
+
bind(common_1.TokenUsageService).to(token_usage_service_impl_1.TokenUsageServiceImpl).inSingletonScope();
|
|
31
|
+
bind(core_1.ConnectionHandler)
|
|
32
|
+
.toDynamicValue(({ container }) => new core_1.RpcConnectionHandler(common_1.TOKEN_USAGE_SERVICE_PATH, client => {
|
|
33
|
+
const service = container.get(common_1.TokenUsageService);
|
|
34
|
+
service.setClient(client);
|
|
35
|
+
return service;
|
|
36
|
+
}))
|
|
37
|
+
.inSingletonScope();
|
|
29
38
|
bind(common_1.LanguageModelRegistryFrontendDelegate).to(language_model_frontend_delegate_1.LanguageModelRegistryFrontendDelegateImpl).inSingletonScope();
|
|
30
39
|
bind(core_1.ConnectionHandler)
|
|
31
40
|
.toDynamicValue(ctx => new core_1.RpcConnectionHandler(common_1.languageModelRegistryDelegatePath, client => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-core-backend-module.js","sourceRoot":"","sources":["../../src/node/ai-core-backend-module.ts"],"names":[],"mappings":";;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,4DAA+D;AAC/D,yFAG4C;AAC5C,sCAIqB;AACrB,4GAEoE;AACpE,
|
|
1
|
+
{"version":3,"file":"ai-core-backend-module.js","sourceRoot":"","sources":["../../src/node/ai-core-backend-module.ts"],"names":[],"mappings":";;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,4DAA+D;AAC/D,yFAG4C;AAC5C,sCAIqB;AACrB,4GAEoE;AACpE,sCAcmB;AACnB,uFAAiF;AACjF,yEAAmE;AAEnE,iFAAiF;AACjF,MAAM,sBAAsB,GAAG,uDAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,EAAE,EAAE;IAClH,IAAA,+BAAwB,EAAC,IAAI,EAAE,8BAAqB,CAAC,CAAC;IACtD,IAAI,CAAC,8DAA4B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC/D,IAAI,CAAC,8BAAqB,CAAC,CAAC,SAAS,CAAC,8DAA4B,CAAC,CAAC;IAEpE,IAAI,CAAC,0BAAiB,CAAC,CAAC,EAAE,CAAC,gDAAqB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAErE,IAAI,CAAC,wBAAiB,CAAC;SAClB,cAAc,CACX,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CACd,IAAI,2BAAoB,CACpB,iCAAwB,EACxB,MAAM,CAAC,EAAE;QACL,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAoB,0BAAiB,CAAC,CAAC;QACpE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC;IACnB,CAAC,CACJ,CACR;SACA,gBAAgB,EAAE,CAAC;IAExB,IAAI,CAAC,8CAAqC,CAAC,CAAC,EAAE,CAAC,4EAAyC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC7G,IAAI,CAAC,wBAAiB,CAAC;SAClB,cAAc,CACX,GAAG,CAAC,EAAE,CACF,IAAI,2BAAoB,CACpB,0CAAiC,EACjC,MAAM,CAAC,EAAE;QACL,MAAM,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CACtC,8CAAqC,CACxC,CAAC;QACF,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnC,OAAO,gBAAgB,CAAC;IAC5B,CAAC,CACJ,CACR;SACA,gBAAgB,EAAE,CAAC;IAExB,IAAI,CAAC,oEAAiC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpE,IAAI,CAAC,sCAA6B,CAAC,CAAC,SAAS,CAAC,oEAAiC,CAAC,CAAC;IACjF,IAAI,CAAC,wBAAiB,CAAC;SAClB,cAAc,CACX,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CACd,IAAI,2BAAoB,CACpB,kCAAyB,EACzB,MAAM,CAAC,EAAE;QACL,MAAM,OAAO,GACT,SAAS,CAAC,GAAG,CACT,oEAAiC,CACpC,CAAC;QACN,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC;IACnB,CAAC,CACJ,CACR;SACA,gBAAgB,EAAE,CAAC;IAExB,IAAI,CAAC,0BAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC,sBAAa,CAAC,CAAC,SAAS,CAAC,0BAAiB,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,uDAAyB,CAAC,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CancellationToken } from '@theia/core';
|
|
2
|
-
import { LanguageModelMetaData,
|
|
2
|
+
import { LanguageModelMetaData, LanguageModelStreamResponsePart, LanguageModelDelegateClient, LanguageModelFrontendDelegate, LanguageModelRegistryFrontendDelegate, LanguageModelResponseDelegate, LanguageModelRegistryClient, UserRequest } from '../common';
|
|
3
3
|
export declare class LanguageModelRegistryFrontendDelegateImpl implements LanguageModelRegistryFrontendDelegate {
|
|
4
4
|
private registry;
|
|
5
5
|
setClient(client: LanguageModelRegistryClient): void;
|
|
@@ -12,7 +12,7 @@ export declare class LanguageModelFrontendDelegateImpl implements LanguageModelF
|
|
|
12
12
|
private requestCancellationTokenMap;
|
|
13
13
|
setClient(client: LanguageModelDelegateClient): void;
|
|
14
14
|
cancel(requestId: string): void;
|
|
15
|
-
request(modelId: string, request:
|
|
15
|
+
request(modelId: string, request: UserRequest, requestId: string, cancellationToken?: CancellationToken): Promise<LanguageModelResponseDelegate>;
|
|
16
16
|
protected sendTokens(id: string, stream: AsyncIterable<LanguageModelStreamResponsePart>, cancellationToken?: CancellationToken): void;
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=language-model-frontend-delegate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-model-frontend-delegate.d.ts","sourceRoot":"","sources":["../../src/node/language-model-frontend-delegate.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAkD,MAAM,aAAa,CAAC;AAChG,OAAO,EACH,qBAAqB,
|
|
1
|
+
{"version":3,"file":"language-model-frontend-delegate.d.ts","sourceRoot":"","sources":["../../src/node/language-model-frontend-delegate.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAkD,MAAM,aAAa,CAAC;AAChG,OAAO,EACH,qBAAqB,EAIrB,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,qCAAqC,EACrC,6BAA6B,EAC7B,2BAA2B,EAE3B,WAAW,EACd,MAAM,WAAW,CAAC;AAGnB,qBACa,yCAA0C,YAAW,qCAAqC;IAGnG,OAAO,CAAC,QAAQ,CAA+B;IAE/C,SAAS,CAAC,MAAM,EAAE,2BAA2B,GAAG,IAAI;IAI9C,4BAA4B,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAGzE;AAED,qBACa,iCAAkC,YAAW,6BAA6B;IAGnF,OAAO,CAAC,QAAQ,CAAwB;IAGxC,OAAO,CAAC,MAAM,CAAU;IAExB,OAAO,CAAC,sBAAsB,CAA8B;IAC5D,OAAO,CAAC,2BAA2B,CAAmD;IAEtF,SAAS,CAAC,MAAM,EAAE,2BAA2B,GAAG,IAAI;IAIpD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIzB,OAAO,CACT,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,OAAO,CAAC,6BAA6B,CAAC;IAiCzC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,+BAA+B,CAAC,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI;CAexI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-model-frontend-delegate.js","sourceRoot":"","sources":["../../src/node/language-model-frontend-delegate.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAkE;AAClE,sCAAgG;AAChG,sCAamB;AACnB,uFAAiF;AAG1E,IAAM,yCAAyC,GAA/C,MAAM,yCAAyC;IAKlD,SAAS,CAAC,MAAmC;QACzC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,4BAA4B;QAC9B,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACtG,CAAC;CACJ,CAAA;AAZY,8FAAyC;AAG1C;IADP,IAAA,kBAAM,EAAC,8BAAqB,CAAC;sCACZ,8DAA4B;2EAAC;oDAHtC,yCAAyC;IADrD,IAAA,sBAAU,GAAE;GACA,yCAAyC,CAYrD;AAGM,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;IAAvC;QASK,gCAA2B,GAAyC,IAAI,GAAG,EAAE,CAAC;IA+D1F,CAAC;IA7DG,SAAS,CAAC,MAAmC;QACzC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,SAAiB;;QACpB,MAAA,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAC,0CAAE,MAAM,EAAE,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,OAAO,CACT,OAAe,EACf,
|
|
1
|
+
{"version":3,"file":"language-model-frontend-delegate.js","sourceRoot":"","sources":["../../src/node/language-model-frontend-delegate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { TokenUsage, TokenUsageParams, TokenUsageService } from '../common/token-usage-service';
|
|
2
|
+
import { TokenUsageServiceClient } from '../common/protocol';
|
|
3
|
+
export declare class TokenUsageServiceImpl implements TokenUsageService {
|
|
4
|
+
private client;
|
|
5
|
+
/**
|
|
6
|
+
* Sets the client to notify about token usage changes
|
|
7
|
+
*/
|
|
8
|
+
setClient(client: TokenUsageServiceClient | undefined): void;
|
|
9
|
+
private readonly tokenUsages;
|
|
10
|
+
/**
|
|
11
|
+
* Records token usage for a model interaction.
|
|
12
|
+
*
|
|
13
|
+
* @param model The model identifier
|
|
14
|
+
* @param params Token usage parameters
|
|
15
|
+
* @returns A promise that resolves when the token usage has been recorded
|
|
16
|
+
*/
|
|
17
|
+
recordTokenUsage(model: string, params: TokenUsageParams): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Gets all token usage records stored in this service.
|
|
20
|
+
*/
|
|
21
|
+
getTokenUsages(): Promise<TokenUsage[]>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=token-usage-service-impl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-usage-service-impl.d.ts","sourceRoot":"","sources":["../../src/node/token-usage-service-impl.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,qBACa,qBAAsB,YAAW,iBAAiB;IAC3D,OAAO,CAAC,MAAM,CAAsC;IAEpD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,SAAS,GAAG,IAAI;IAI5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAEhD;;;;;;OAMG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9E;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAGhD"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2025 EclipseSource GmbH.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.TokenUsageServiceImpl = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
let TokenUsageServiceImpl = class TokenUsageServiceImpl {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.tokenUsages = [];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Sets the client to notify about token usage changes
|
|
27
|
+
*/
|
|
28
|
+
setClient(client) {
|
|
29
|
+
this.client = client;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Records token usage for a model interaction.
|
|
33
|
+
*
|
|
34
|
+
* @param model The model identifier
|
|
35
|
+
* @param params Token usage parameters
|
|
36
|
+
* @returns A promise that resolves when the token usage has been recorded
|
|
37
|
+
*/
|
|
38
|
+
async recordTokenUsage(model, params) {
|
|
39
|
+
var _a;
|
|
40
|
+
const usage = {
|
|
41
|
+
inputTokens: params.inputTokens,
|
|
42
|
+
outputTokens: params.outputTokens,
|
|
43
|
+
model,
|
|
44
|
+
timestamp: new Date(),
|
|
45
|
+
requestId: params.requestId
|
|
46
|
+
};
|
|
47
|
+
this.tokenUsages.push(usage);
|
|
48
|
+
(_a = this.client) === null || _a === void 0 ? void 0 : _a.notifyTokenUsage(usage);
|
|
49
|
+
console.log(`Input Tokens: ${params.inputTokens}; Output Tokens: ${params.outputTokens}; Model: ${model}${params.requestId ? `; RequestId: ${params.requestId}` : ''}`);
|
|
50
|
+
// For now we just store in memory
|
|
51
|
+
// In the future, this could be persisted to disk, a database, or sent to a service
|
|
52
|
+
return Promise.resolve();
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Gets all token usage records stored in this service.
|
|
56
|
+
*/
|
|
57
|
+
async getTokenUsages() {
|
|
58
|
+
return [...this.tokenUsages];
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
exports.TokenUsageServiceImpl = TokenUsageServiceImpl;
|
|
62
|
+
exports.TokenUsageServiceImpl = TokenUsageServiceImpl = tslib_1.__decorate([
|
|
63
|
+
(0, inversify_1.injectable)()
|
|
64
|
+
], TokenUsageServiceImpl);
|
|
65
|
+
//# sourceMappingURL=token-usage-service-impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-usage-service-impl.js","sourceRoot":"","sources":["../../src/node/token-usage-service-impl.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAA0D;AAKnD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QAUc,gBAAW,GAAiB,EAAE,CAAC;IAiCpD,CAAC;IAxCG;;OAEG;IACH,SAAS,CAAC,MAA2C;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAID;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,MAAwB;;QAC1D,MAAM,KAAK,GAAe;YACtB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,KAAK;YACL,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC9B,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAA,IAAI,CAAC,MAAM,0CAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAErC,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,WAAW,oBAAoB,MAAM,CAAC,YAAY,YAAY,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxK,kCAAkC;QAClC,mFAAmF;QACnF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;CACJ,CAAA;AA3CY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CA2CjC"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/ai-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.61.0",
|
|
4
4
|
"description": "Theia - AI Core",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.
|
|
7
|
-
"@theia/editor": "1.
|
|
8
|
-
"@theia/filesystem": "1.
|
|
9
|
-
"@theia/monaco": "1.
|
|
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.
|
|
12
|
-
"@theia/variable-resolver": "1.
|
|
13
|
-
"@theia/workspace": "1.
|
|
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,
|
|
@@ -35,17 +35,20 @@ import {
|
|
|
35
35
|
PromptCustomizationService,
|
|
36
36
|
PromptService,
|
|
37
37
|
PromptServiceImpl,
|
|
38
|
-
ToolProvider
|
|
38
|
+
ToolProvider,
|
|
39
|
+
TokenUsageService,
|
|
40
|
+
TOKEN_USAGE_SERVICE_PATH,
|
|
41
|
+
TokenUsageServiceClient,
|
|
42
|
+
AIVariableResourceResolver,
|
|
43
|
+
ConfigurableInMemoryResources
|
|
39
44
|
} from '../common';
|
|
40
45
|
import {
|
|
41
46
|
FrontendLanguageModelRegistryImpl,
|
|
42
47
|
LanguageModelDelegateClientImpl,
|
|
43
48
|
} from './frontend-language-model-registry';
|
|
44
|
-
|
|
45
|
-
import { FrontendApplicationContribution, PreferenceContribution } from '@theia/core/lib/browser';
|
|
49
|
+
import { FrontendApplicationContribution, LabelProviderContribution, PreferenceContribution } from '@theia/core/lib/browser';
|
|
46
50
|
import { TabBarToolbarContribution } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
|
|
47
51
|
import { LanguageGrammarDefinitionContribution } from '@theia/monaco/lib/browser/textmate';
|
|
48
|
-
|
|
49
52
|
import { AICoreFrontendApplicationContribution } from './ai-core-frontend-application-contribution';
|
|
50
53
|
import { bindAICorePreferences } from './ai-core-preferences';
|
|
51
54
|
import { AgentSettingsPreferenceSchema } from './agent-preferences';
|
|
@@ -65,6 +68,9 @@ import { AiCoreCommandContribution } from './ai-core-command-contribution';
|
|
|
65
68
|
import { PromptVariableContribution } from '../common/prompt-variable-contribution';
|
|
66
69
|
import { LanguageModelService } from '../common/language-model-service';
|
|
67
70
|
import { FrontendLanguageModelServiceImpl } from './frontend-language-model-service';
|
|
71
|
+
import { TokenUsageFrontendService } from './token-usage-frontend-service';
|
|
72
|
+
import { TokenUsageFrontendServiceImpl, TokenUsageServiceClientImpl } from './token-usage-frontend-service-impl';
|
|
73
|
+
import { AIVariableUriLabelProvider } from './ai-variable-uri-label-provider';
|
|
68
74
|
|
|
69
75
|
export default new ContainerModule(bind => {
|
|
70
76
|
bindContributionProvider(bind, LanguageModelProvider);
|
|
@@ -144,4 +150,19 @@ export default new ContainerModule(bind => {
|
|
|
144
150
|
bind(CommandContribution).toService(AiCoreCommandContribution);
|
|
145
151
|
bind(FrontendLanguageModelServiceImpl).toSelf().inSingletonScope();
|
|
146
152
|
bind(LanguageModelService).toService(FrontendLanguageModelServiceImpl);
|
|
153
|
+
|
|
154
|
+
bind(TokenUsageFrontendService).to(TokenUsageFrontendServiceImpl).inSingletonScope();
|
|
155
|
+
bind(TokenUsageServiceClient).to(TokenUsageServiceClientImpl).inSingletonScope();
|
|
156
|
+
|
|
157
|
+
bind(TokenUsageService).toDynamicValue(ctx => {
|
|
158
|
+
const connection = ctx.container.get<ServiceConnectionProvider>(RemoteConnectionProvider);
|
|
159
|
+
const client = ctx.container.get<TokenUsageServiceClient>(TokenUsageServiceClient);
|
|
160
|
+
return connection.createProxy<TokenUsageService>(TOKEN_USAGE_SERVICE_PATH, client);
|
|
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);
|
|
147
168
|
});
|