@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.
Files changed (68) hide show
  1. package/lib/browser/agent-preferences.d.ts +4 -0
  2. package/lib/browser/agent-preferences.d.ts.map +1 -0
  3. package/lib/browser/agent-preferences.js +74 -0
  4. package/lib/browser/agent-preferences.js.map +1 -0
  5. package/lib/browser/ai-activation-service.d.ts +1 -0
  6. package/lib/browser/ai-activation-service.d.ts.map +1 -1
  7. package/lib/browser/ai-activation-service.js +12 -2
  8. package/lib/browser/ai-activation-service.js.map +1 -1
  9. package/lib/browser/ai-core-command-contribution.d.ts +8 -0
  10. package/lib/browser/ai-core-command-contribution.d.ts.map +1 -0
  11. package/lib/browser/ai-core-command-contribution.js +44 -0
  12. package/lib/browser/ai-core-command-contribution.js.map +1 -0
  13. package/lib/browser/ai-core-frontend-module.d.ts.map +1 -1
  14. package/lib/browser/ai-core-frontend-module.js +8 -1
  15. package/lib/browser/ai-core-frontend-module.js.map +1 -1
  16. package/lib/browser/index.d.ts +1 -0
  17. package/lib/browser/index.d.ts.map +1 -1
  18. package/lib/browser/index.js +1 -0
  19. package/lib/browser/index.js.map +1 -1
  20. package/lib/browser/prompttemplate-contribution.d.ts.map +1 -1
  21. package/lib/browser/prompttemplate-contribution.js +4 -4
  22. package/lib/browser/prompttemplate-contribution.js.map +1 -1
  23. package/lib/browser/theia-variable-contribution.d.ts +5 -1
  24. package/lib/browser/theia-variable-contribution.d.ts.map +1 -1
  25. package/lib/browser/theia-variable-contribution.js +48 -9
  26. package/lib/browser/theia-variable-contribution.js.map +1 -1
  27. package/lib/common/language-model.d.ts +5 -3
  28. package/lib/common/language-model.d.ts.map +1 -1
  29. package/lib/common/language-model.js +32 -7
  30. package/lib/common/language-model.js.map +1 -1
  31. package/lib/common/prompt-service.d.ts +42 -1
  32. package/lib/common/prompt-service.d.ts.map +1 -1
  33. package/lib/common/prompt-service.js +68 -24
  34. package/lib/common/prompt-service.js.map +1 -1
  35. package/lib/common/prompt-service.spec.js +59 -1
  36. package/lib/common/prompt-service.spec.js.map +1 -1
  37. package/lib/common/prompt-variable-contribution.d.ts +16 -0
  38. package/lib/common/prompt-variable-contribution.d.ts.map +1 -0
  39. package/lib/common/prompt-variable-contribution.js +122 -0
  40. package/lib/common/prompt-variable-contribution.js.map +1 -0
  41. package/lib/common/variable-service.d.ts +26 -4
  42. package/lib/common/variable-service.d.ts.map +1 -1
  43. package/lib/common/variable-service.js +77 -16
  44. package/lib/common/variable-service.js.map +1 -1
  45. package/lib/common/variable-service.spec.d.ts +2 -0
  46. package/lib/common/variable-service.spec.d.ts.map +1 -0
  47. package/lib/common/variable-service.spec.js +237 -0
  48. package/lib/common/variable-service.spec.js.map +1 -0
  49. package/lib/node/tool-request-parameters.spec.d.ts +2 -0
  50. package/lib/node/tool-request-parameters.spec.d.ts.map +1 -0
  51. package/lib/node/tool-request-parameters.spec.js +116 -0
  52. package/lib/node/tool-request-parameters.spec.js.map +1 -0
  53. package/package.json +10 -10
  54. package/src/browser/agent-preferences.ts +74 -0
  55. package/src/browser/ai-activation-service.ts +13 -2
  56. package/src/browser/ai-core-command-contribution.ts +37 -0
  57. package/src/browser/ai-core-frontend-module.ts +10 -2
  58. package/src/browser/ai-settings-service.ts +1 -1
  59. package/src/browser/index.ts +1 -0
  60. package/src/browser/prompttemplate-contribution.ts +4 -4
  61. package/src/browser/theia-variable-contribution.ts +49 -8
  62. package/src/common/language-model.ts +46 -11
  63. package/src/common/prompt-service.spec.ts +68 -1
  64. package/src/common/prompt-service.ts +109 -24
  65. package/src/common/prompt-variable-contribution.ts +138 -0
  66. package/src/common/variable-service.spec.ts +289 -0
  67. package/src/common/variable-service.ts +110 -13
  68. 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":";;;;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,sCAAkD;AAClD,4DAA4E;AAC5E,oDAAoD;AAWpD,qDAA6E;AAC7E,+CAA2C;AAE9B,QAAA,eAAe,GAAe;IACvC,EAAE,EAAE,iBAAiB;IACrB,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,0CAA0C,EAAE,kDAAkD,CAAC;IACzH,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE;QACF,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,6CAA6C,EAAE,mCAAmC,CAAC,EAAE;KAChI;CACJ,CAAC;AAGK,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAWnC,iBAAiB,CAAC,OAA0B;QACxC,OAAO,CAAC,gBAAgB,CAAC,uBAAe,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,sBAAsB,CAAC,uBAAe,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,kCAAkC,CAAC,uBAAe,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChH,CAAC;IAED,UAAU,CAAC,OAAoC,EAAE,OAA0B;QACvE,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,uBAAe,CAAC,IAAI,EAAE,CAAC;YACjD,OAAO,CAAC,CAAC;QACb,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CACT,OAAoC,EACpC,OAA0B,EAC1B,iBAAwF;;QAExF,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,uBAAe,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,GAAG,0CAAE,IAAI,EAAE,CAAC;YACrC,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;gBACnH,IAAI,cAAc,EAAE,CAAC;oBACjB,OAAO;wBACH,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,KAAK,EAAE,cAAc,CAAC,IAAI;wBAC1B,uBAAuB,EAAE,cAAc,CAAC,SAAS;qBACpD,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,qBAAqB;QACjC,8DAA8D;QAC9D,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC;QACnE,qEAAqE;QACrE,qFAAqF;QACrF,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,8BAA8B,CAC1C,KAA+B,EAC/B,QAAyB;;QAEzB,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE9D,yEAAyE;QACzE,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,CAAC,wBAAU,CAAC,uBAAuB,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1G,IAAI,gBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,uFAAuF;QACvF,MAAM,gBAAgB,GAAG,GAAG,wBAAU,CAAC,aAAa,GAAG,uBAAe,CAAC,IAAI,EAAE,CAAC;QAC9E,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,MAAM;YAC1C,WAAW,CAAC,SAAS,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,gBAAgB,EAAE,CAAC;YAC3G,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,GAAG,CAAC,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEhH,MAAM,eAAe,GAAG,MAAA,MAAA,IAAI,CAAC,0BAA0B,0CAAE,0BAA0B,EAAE,mCAAI,EAAE,CAAC;QAC5F,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;QAEzE,MAAM,uBAAuB,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7D,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI;YAC9C,UAAU,EAAE,QAAQ;YACpB,KAAK;YACL,MAAM,EAAE,UAAG,CAAC,QAAQ,CAAC,wDAAwD,EAAE,wBAAwB,CAAC;YACxG,QAAQ,EAAE,MAAM,QAAQ,EAAE,CAAC,6DAA6D;SAC3F,CAAC,CAAC,CAAC;QACJ,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/D,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ;YAClD,UAAU,EAAE,QAAQ;YACpB,KAAK;YACL,MAAM,EAAE,UAAG,CAAC,QAAQ,CAAC,yDAAyD,EAAE,0BAA0B,CAAC;YAC3G,QAAQ,EAAE,MAAM,QAAQ,EAAE,CAAC,kDAAkD;SAChF,CAAC,CAAC,CAAC;QAEJ,OAAO,CAAC,GAAG,uBAAuB,EAAE,GAAG,wBAAwB,CAAC,CAAC;IACrE,CAAC;CACJ,CAAA;AAhGY,gEAA0B;AAGhB;IADlB,IAAA,kBAAM,EAAC,qBAAc,CAAC;;kEAC2B;AAG/B;IADlB,IAAA,kBAAM,EAAC,8BAAa,CAAC;;iEAC0B;AAG7B;IADlB,IAAA,kBAAM,EAAC,2CAA0B,CAAC;IAAE,IAAA,oBAAQ,GAAE;;8EAC2B;qCATjE,0BAA0B;IADtC,IAAA,sBAAU,GAAE;GACA,0BAA0B,CAgGtC"}
@@ -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
- protected logger: ILogger;
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":"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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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"}
@@ -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
- const variableName = typeof request === 'string' ? request : typeof request.variable === 'string' ? request.variable : request.variable.name;
186
- const variable = this.getVariable(variableName);
187
- if (!variable) {
188
- return undefined;
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 resolver = await this.getResolver(variableName, arg, context);
192
- const resolved = await (resolver === null || resolver === void 0 ? void 0 : resolver.resolve({ variable, arg }, context));
193
- return resolved ? { ...resolved, arg } : undefined;
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.__metadata("design:paramtypes", [Object])
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":"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"}
1
+ {"version":3,"file":"variable-service.js","sourceRoot":"","sources":["../../src/common/variable-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=variable-service.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-service.spec.d.ts","sourceRoot":"","sources":["../../src/common/variable-service.spec.ts"],"names":[],"mappings":""}