@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
@@ -28,17 +28,42 @@ const isLanguageModelRequestMessage = (obj) => !!(obj && typeof obj === 'object'
28
28
  exports.isLanguageModelRequestMessage = isLanguageModelRequestMessage;
29
29
  var ToolRequest;
30
30
  (function (ToolRequest) {
31
+ function isToolRequestParameterProperty(obj) {
32
+ if (!obj || typeof obj !== 'object') {
33
+ return false;
34
+ }
35
+ const record = obj;
36
+ // Check that at least one of "type" or "anyOf" exists
37
+ if (!('type' in record) && !('anyOf' in record)) {
38
+ return false;
39
+ }
40
+ // If an "anyOf" field is present, it must be an array where each item is also a valid property.
41
+ if ('anyOf' in record) {
42
+ if (!Array.isArray(record.anyOf)) {
43
+ return false;
44
+ }
45
+ for (const item of record.anyOf) {
46
+ if (!isToolRequestParameterProperty(item)) {
47
+ return false;
48
+ }
49
+ }
50
+ }
51
+ if ('type' in record && typeof record.type !== 'string') {
52
+ return false;
53
+ }
54
+ // No further checks required for additional properties.
55
+ return true;
56
+ }
31
57
  function isToolRequestParametersProperties(obj) {
32
58
  if (!obj || typeof obj !== 'object') {
33
59
  return false;
34
60
  }
35
- ;
36
- return Object.entries(obj).every(([key, value]) => typeof key === 'string' &&
37
- value &&
38
- typeof value === 'object' &&
39
- 'type' in value &&
40
- typeof value.type === 'string' &&
41
- Object.keys(value).every(k => typeof k === 'string'));
61
+ return Object.entries(obj).every(([key, value]) => {
62
+ if (typeof key !== 'string') {
63
+ return false;
64
+ }
65
+ return isToolRequestParameterProperty(value);
66
+ });
42
67
  }
43
68
  ToolRequest.isToolRequestParametersProperties = isToolRequestParametersProperties;
44
69
  function isToolRequestParameters(obj) {
@@ -1 +1 @@
1
- {"version":3,"file":"language-model.js","sourceRoot":"","sources":["../../src/common/language-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language-model.js","sourceRoot":"","sources":["../../src/common/language-model.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { URI, Event } from '@theia/core';
2
- import { AIVariableContext, AIVariableService } from './variable-service';
2
+ import { AIVariableArg, AIVariableContext, AIVariableService, ResolvedAIVariable } from './variable-service';
3
3
  import { ToolInvocationRegistry } from './tool-invocation-registry';
4
4
  import { ToolRequest } from './language-model';
5
5
  import { AISettingsService } from './settings-service';
@@ -21,6 +21,8 @@ export interface ResolvedPromptTemplate {
21
21
  text: string;
22
22
  /** All functions referenced in the prompt template. */
23
23
  functionDescriptions?: Map<string, ToolRequest>;
24
+ /** All variables resolved in the prompt template */
25
+ variables?: ResolvedAIVariable[];
24
26
  }
25
27
  export declare const PromptService: unique symbol;
26
28
  export interface PromptService {
@@ -43,12 +45,31 @@ export interface PromptService {
43
45
  * Allows to directly replace placeholders in the prompt. The supported format is 'Hi {{name}}!'.
44
46
  * The placeholder is then searched inside the args object and replaced.
45
47
  * Function references are also supported via format '~{functionId}'.
48
+ *
49
+ * All placeholders are replaced before function references are resolved.
50
+ * This allows to resolve function references contained in placeholders.
51
+ *
46
52
  * @param id the id of the prompt
47
53
  * @param args the object with placeholders, mapping the placeholder key to the value
48
54
  */
49
55
  getPrompt(id: string, args?: {
50
56
  [key: string]: unknown;
51
57
  }, context?: AIVariableContext): Promise<ResolvedPromptTemplate | undefined>;
58
+ /**
59
+ * Allows to directly replace placeholders in the prompt. The supported format is 'Hi {{name}}!'.
60
+ * The placeholder is then searched inside the args object and replaced.
61
+ *
62
+ * In contrast to {@link getPrompt}, this method does not resolve function references but leaves them as is.
63
+ * This allows resolving them later as part of the prompt or chat message containing the fragment.
64
+ *
65
+ * @param id the id of the prompt
66
+ * @param args the object with placeholders, mapping the placeholder key to the value
67
+ * @param context the {@link AIVariableContext} to use during variable resolvement
68
+ * @param resolveVariable the variable resolving method. Fall back to using the {@link AIVariableService} if not given.
69
+ */
70
+ getPromptFragment(id: string, args?: {
71
+ [key: string]: unknown;
72
+ }, context?: AIVariableContext, resolveVariable?: (variable: AIVariableArg) => Promise<ResolvedAIVariable | undefined>): Promise<Omit<ResolvedPromptTemplate, 'functionDescriptions'> | undefined>;
52
73
  /**
53
74
  * Adds a {@link PromptTemplate} to the list of prompts.
54
75
  * @param promptTemplate the prompt template to store
@@ -153,6 +174,26 @@ export declare class PromptServiceImpl implements PromptService {
153
174
  getPrompt(id: string, args?: {
154
175
  [key: string]: unknown;
155
176
  }, context?: AIVariableContext): Promise<ResolvedPromptTemplate | undefined>;
177
+ getPromptFragment(id: string, args?: {
178
+ [key: string]: unknown;
179
+ }, context?: AIVariableContext, resolveVariable?: (variable: AIVariableArg) => Promise<ResolvedAIVariable | undefined>): Promise<Omit<ResolvedPromptTemplate, 'functionDescriptions'> | undefined>;
180
+ /**
181
+ * Calculates all variable and argument replacements for an unresolved template.
182
+ *
183
+ * @param template the unresolved template text
184
+ * @param args the object with placeholders, mapping the placeholder key to the value
185
+ * @param context the {@link AIVariableContext} to use during variable resolvement
186
+ * @param resolveVariable the variable resolving method. Fall back to using the {@link AIVariableService} if not given.
187
+ */
188
+ protected getVariableAndArgReplacements(template: string, args?: {
189
+ [key: string]: unknown;
190
+ }, context?: AIVariableContext, resolveVariable?: (variable: AIVariableArg) => Promise<ResolvedAIVariable | undefined>): Promise<{
191
+ replacements: {
192
+ placeholder: string;
193
+ value: string;
194
+ }[];
195
+ resolvedVariables: ResolvedAIVariable[];
196
+ }>;
156
197
  getAllPrompts(): PromptMap;
157
198
  removePrompt(id: string): void;
158
199
  getVariantIds(id: string): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-service.d.ts","sourceRoot":"","sources":["../../src/common/prompt-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-service.d.ts","sourceRoot":"","sources":["../../src/common/prompt-service.ts"],"names":[],"mappings":"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"}
@@ -91,27 +91,13 @@ let PromptServiceImpl = class PromptServiceImpl {
91
91
  if (prompt === undefined) {
92
92
  return undefined;
93
93
  }
94
- const matches = (0, prompt_service_util_1.matchVariablesRegEx)(prompt.template);
95
- const variableAndArgReplacements = await Promise.all(matches.map(async (match) => {
96
- var _a, _b, _c, _d;
97
- const completeText = match[0];
98
- const variableAndArg = match[1];
99
- let variableName = variableAndArg;
100
- let argument;
101
- const parts = variableAndArg.split(':', 2);
102
- if (parts.length > 1) {
103
- variableName = parts[0];
104
- argument = parts[1];
105
- }
106
- return {
107
- placeholder: completeText,
108
- value: String((_d = (_a = args === null || args === void 0 ? void 0 : args[variableAndArg]) !== null && _a !== void 0 ? _a : (_c = (await ((_b = this.variableService) === null || _b === void 0 ? void 0 : _b.resolveVariable({
109
- variable: variableName,
110
- arg: argument
111
- }, context !== null && context !== void 0 ? context : {})))) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : completeText)
112
- };
113
- }));
114
- const functionMatches = (0, prompt_service_util_1.matchFunctionsRegEx)(prompt.template);
94
+ // First resolve variables and arguments
95
+ let resolvedTemplate = prompt.template;
96
+ const variableAndArgReplacements = await this.getVariableAndArgReplacements(prompt.template, args, context);
97
+ variableAndArgReplacements.replacements.forEach(replacement => resolvedTemplate = resolvedTemplate.replace(replacement.placeholder, replacement.value));
98
+ // Then resolve function references with already resolved variables and arguments
99
+ // This allows to resolve function references contained in resolved variables (e.g. prompt fragments)
100
+ const functionMatches = (0, prompt_service_util_1.matchFunctionsRegEx)(resolvedTemplate);
115
101
  const functions = new Map();
116
102
  const functionReplacements = functionMatches.map(match => {
117
103
  var _a;
@@ -126,15 +112,73 @@ let PromptServiceImpl = class PromptServiceImpl {
126
112
  value: toolRequest ? (0, language_model_util_1.toolRequestToPromptText)(toolRequest) : completeText
127
113
  };
128
114
  });
115
+ functionReplacements.forEach(replacement => resolvedTemplate = resolvedTemplate.replace(replacement.placeholder, replacement.value));
116
+ return {
117
+ id,
118
+ text: resolvedTemplate,
119
+ functionDescriptions: functions.size > 0 ? functions : undefined,
120
+ variables: variableAndArgReplacements.resolvedVariables
121
+ };
122
+ }
123
+ async getPromptFragment(id, args, context, resolveVariable) {
124
+ const variantId = await this.getVariantId(id);
125
+ const prompt = this.getUnresolvedPrompt(variantId);
126
+ if (prompt === undefined) {
127
+ return undefined;
128
+ }
129
+ const replacements = await this.getVariableAndArgReplacements(prompt.template, args, context, resolveVariable);
129
130
  let resolvedTemplate = prompt.template;
130
- const replacements = [...variableAndArgReplacements, ...functionReplacements];
131
- replacements.forEach(replacement => resolvedTemplate = resolvedTemplate.replace(replacement.placeholder, replacement.value));
131
+ replacements.replacements.forEach(replacement => resolvedTemplate = resolvedTemplate.replace(replacement.placeholder, replacement.value));
132
132
  return {
133
133
  id,
134
134
  text: resolvedTemplate,
135
- functionDescriptions: functions.size > 0 ? functions : undefined
135
+ variables: replacements.resolvedVariables
136
136
  };
137
137
  }
138
+ /**
139
+ * Calculates all variable and argument replacements for an unresolved template.
140
+ *
141
+ * @param template the unresolved template text
142
+ * @param args the object with placeholders, mapping the placeholder key to the value
143
+ * @param context the {@link AIVariableContext} to use during variable resolvement
144
+ * @param resolveVariable the variable resolving method. Fall back to using the {@link AIVariableService} if not given.
145
+ */
146
+ async getVariableAndArgReplacements(template, args, context, resolveVariable) {
147
+ var _a, _b, _c;
148
+ const matches = (0, prompt_service_util_1.matchVariablesRegEx)(template);
149
+ const variableCache = (0, variable_service_1.createAIResolveVariableCache)();
150
+ const variableAndArgReplacements = [];
151
+ const resolvedVariables = new Set();
152
+ for (const match of matches) {
153
+ const completeText = match[0];
154
+ const variableAndArg = match[1];
155
+ let variableName = variableAndArg;
156
+ let argument;
157
+ const parts = variableAndArg.split(':', 2);
158
+ if (parts.length > 1) {
159
+ variableName = parts[0];
160
+ argument = parts[1];
161
+ }
162
+ let value;
163
+ if (args && args[variableAndArg] !== undefined) {
164
+ value = String(args[variableAndArg]);
165
+ }
166
+ else {
167
+ const toResolve = { variable: variableName, arg: argument };
168
+ const resolved = resolveVariable
169
+ ? await resolveVariable(toResolve)
170
+ : await ((_a = this.variableService) === null || _a === void 0 ? void 0 : _a.resolveVariable(toResolve, context !== null && context !== void 0 ? context : {}, variableCache));
171
+ // Track resolved variable and its dependencies in all resolved variables
172
+ if (resolved) {
173
+ resolvedVariables.add(resolved);
174
+ (_b = resolved.allResolvedDependencies) === null || _b === void 0 ? void 0 : _b.forEach(v => resolvedVariables.add(v));
175
+ }
176
+ value = String((_c = resolved === null || resolved === void 0 ? void 0 : resolved.value) !== null && _c !== void 0 ? _c : completeText);
177
+ }
178
+ variableAndArgReplacements.push({ placeholder: completeText, value });
179
+ }
180
+ return { replacements: variableAndArgReplacements, resolvedVariables: Array.from(resolvedVariables) };
181
+ }
138
182
  getAllPrompts() {
139
183
  if (this.customizationService !== undefined) {
140
184
  const myCustomization = this.customizationService;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-service.js","sourceRoot":"","sources":["../../src/common/prompt-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-service.js","sourceRoot":"","sources":["../../src/common/prompt-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;;;;AAGhF,4DAA4E;AAC5E,yDAA2I;AAC3I,yEAAoE;AACpE,+DAAgE;AAEhE,+DAAiF;AACjF,yDAAuD;AAwB1C,QAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAsFrD,IAAiB,sBAAsB,CAetC;AAfD,WAAiB,sBAAsB;IACnC,SAAgB,EAAE,CAAC,KAAc;QAC7B,2CAA2C;QAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;eAC3C,IAAI,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;eAC7C,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;eACjD,aAAa,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;eAC/D,QAAQ,IAAI,KAAK;eACjB,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;eAChC,YAAY,IAAI,KAAK;eACrB,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC;IAChD,CAAC;IAVe,yBAAE,KAUjB,CAAA;IACD,SAAgB,MAAM,CAAC,CAAyB,EAAE,CAAyB;QACvE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,CAAC;IAC3I,CAAC;IAFe,6BAAM,SAErB,CAAA;AACL,CAAC,EAfgB,sBAAsB,sCAAtB,sBAAsB,QAetC;AAEY,QAAA,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AA4DxE,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAAvB;QAaO,aAAQ,GAAc,EAAE,CAAC;IAmMvC,CAAC;IAjMG,YAAY,CAAC,EAAU;QACnB,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,EAAE,CAAC,EAAE,CAAC;YACtG,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;YAC3E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,mBAAmB,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,mBAAmB,CAAC,EAAU;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO;YACH,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC;SACnD,CAAC;IACN,CAAC;IAES,aAAa,CAAC,QAAgB;QACpC,MAAM,YAAY,GAAG,6BAA6B,CAAC;QACnD,OAAO,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnG,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QACzB,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YAElE,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC1D,IAAI,aAAa,CAAC,gBAAgB,IAAI,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;oBACvE,OAAO,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU,EAAE,IAAiC,EAAE,OAA2B;QACtF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,wCAAwC;QACxC,IAAI,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;QACvC,MAAM,0BAA0B,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5G,0BAA0B,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAExJ,iFAAiF;QACjF,qGAAqG;QACrG,MAAM,eAAe,GAAG,IAAA,yCAAmB,EAAC,gBAAgB,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;QACjD,MAAM,oBAAoB,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;;YACrD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,sBAAsB,0CAAE,WAAW,CAAC,UAAU,CAAC,CAAC;YACzE,IAAI,WAAW,EAAE,CAAC;gBACd,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO;gBACH,WAAW,EAAE,YAAY;gBACzB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,IAAA,6CAAuB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY;aAC3E,CAAC;QACN,CAAC,CAAC,CAAC;QACH,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAErI,OAAO;YACH,EAAE;YACF,IAAI,EAAE,gBAAgB;YACtB,oBAAoB,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAChE,SAAS,EAAE,0BAA0B,CAAC,iBAAiB;SAC1D,CAAC;IACN,CAAC;IAED,KAAK,CAAC,iBAAiB,CACnB,EAAU,EACV,IAAiC,EACjC,OAA2B,EAC3B,eAAsF;QAEtF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAC/G,IAAI,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;QACvC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAE1I,OAAO;YACH,EAAE;YACF,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,YAAY,CAAC,iBAAiB;SAC5C,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACO,KAAK,CAAC,6BAA6B,CACzC,QAAgB,EAChB,IAAiC,EACjC,OAA2B,EAC3B,eAAsF;;QAEtF,MAAM,OAAO,GAAG,IAAA,yCAAmB,EAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAA,+CAA4B,GAAE,CAAC;QACrD,MAAM,0BAA0B,GAA6C,EAAE,CAAC;QAChF,MAAM,iBAAiB,GAA4B,IAAI,GAAG,EAAE,CAAC;QAC7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,YAAY,GAAG,cAAc,CAAC;YAClC,IAAI,QAA4B,CAAC;YACjC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxB,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,KAAa,CAAC;YAClB,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC7C,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACJ,MAAM,SAAS,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;gBAC5D,MAAM,QAAQ,GAAG,eAAe;oBAC5B,CAAC,CAAC,MAAM,eAAe,CAAC,SAAS,CAAC;oBAClC,CAAC,CAAC,MAAM,CAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,eAAe,CAAC,SAAS,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,EAAE,aAAa,CAAC,CAAA,CAAC;gBAC3F,yEAAyE;gBACzE,IAAI,QAAQ,EAAE,CAAC;oBACX,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAChC,MAAA,QAAQ,CAAC,uBAAuB,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7E,CAAC;gBACD,KAAK,GAAG,MAAM,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,mCAAI,YAAY,CAAC,CAAC;YACpD,CAAC;YACD,0BAA0B,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAC1G,CAAC;IAED,aAAa;QACT,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAClD,MAAM,MAAM,GAAc,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACpC,IAAI,eAAe,CAAC,0BAA0B,CAAC,EAAE,CAAC,EAAE,CAAC;oBACjD,MAAM,QAAQ,GAAG,eAAe,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;oBACjE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACzB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;oBAClC,CAAC;yBAAM,CAAC;wBACJ,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC1C,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1C,CAAC;YACL,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAClB,CAAC;aAAM,CAAC;YACJ,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,CAAC;IACL,CAAC;IACD,YAAY,CAAC,EAAU;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,aAAa,CAAC,EAAU;;QACpB,MAAM,0BAA0B,GAAG,CAAA,MAAA,IAAI,CAAC,oBAAoB,0CAAE,0BAA0B,EAAE,KAAI,EAAE,CAAC;QACjG,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElD,yJAAyJ;QACzJ,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAClE,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAChE,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC1C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,EAAE,CAAC;aACzC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEhC,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,gBAAgB,CAAC,CAAC;IAChD,CAAC;IACD,mBAAmB,CAAC,cAA8B;QAC9C,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC;IACtD,CAAC;CACJ,CAAA;AAhNY,8CAAiB;AAEP;IADlB,IAAA,kBAAM,EAAC,oCAAiB,CAAC;IAAE,IAAA,oBAAQ,GAAE;;0DAC4B;AAG/C;IADlB,IAAA,kBAAM,EAAC,kCAA0B,CAAC;IAAE,IAAA,oBAAQ,GAAE;;+DACiC;AAG7D;IADlB,IAAA,kBAAM,EAAC,oCAAiB,CAAC;IAAE,IAAA,oBAAQ,GAAE;;0DAC4B;AAG/C;IADlB,IAAA,kBAAM,EAAC,iDAAsB,CAAC;IAAE,IAAA,oBAAQ,GAAE;;iEACmC;4BAXrE,iBAAiB;IAD7B,IAAA,sBAAU,GAAE;GACA,iBAAiB,CAgN7B"}
@@ -20,12 +20,16 @@ const chai_1 = require("chai");
20
20
  const inversify_1 = require("inversify");
21
21
  const prompt_service_1 = require("./prompt-service");
22
22
  const variable_service_1 = require("./variable-service");
23
+ const tool_invocation_registry_1 = require("./tool-invocation-registry");
24
+ const core_1 = require("@theia/core");
25
+ const sinon = require("sinon");
23
26
  describe('PromptService', () => {
24
27
  let promptService;
25
28
  beforeEach(() => {
26
29
  const container = new inversify_1.Container();
27
30
  container.bind(prompt_service_1.PromptService).to(prompt_service_1.PromptServiceImpl).inSingletonScope();
28
- const variableService = new variable_service_1.DefaultAIVariableService({ getContributions: () => [] });
31
+ const logger = sinon.createStubInstance(core_1.Logger);
32
+ const variableService = new variable_service_1.DefaultAIVariableService({ getContributions: () => [] }, logger);
29
33
  const nameVariable = { id: 'test', name: 'name', description: 'Test name ' };
30
34
  variableService.registerResolver(nameVariable, {
31
35
  canResolve: () => 100,
@@ -250,5 +254,59 @@ describe('PromptService', () => {
250
254
  (0, chai_1.expect)(variantsForMainWithVariants).to.deep.equal(['variant1', 'variant2']);
251
255
  (0, chai_1.expect)(variantsForMainWithoutVariants).to.deep.equal([]);
252
256
  });
257
+ it('should resolve function references within resolved variable replacements', async () => {
258
+ var _a, _b;
259
+ // Mock the tool invocation registry
260
+ const toolInvocationRegistry = {
261
+ getFunction: sinon.stub()
262
+ };
263
+ // Create a test tool request that will be returned by the registry
264
+ const testFunction = {
265
+ id: 'testFunction',
266
+ name: 'Test Function',
267
+ description: 'A test function',
268
+ parameters: {
269
+ type: 'object',
270
+ properties: {
271
+ param1: {
272
+ type: 'string',
273
+ description: 'Test parameter'
274
+ }
275
+ }
276
+ },
277
+ providerName: 'test-provider',
278
+ handler: sinon.stub()
279
+ };
280
+ toolInvocationRegistry.getFunction.withArgs('testFunction').returns(testFunction);
281
+ // Create a container with our mocked registry
282
+ const container = new inversify_1.Container();
283
+ container.bind(prompt_service_1.PromptService).to(prompt_service_1.PromptServiceImpl).inSingletonScope();
284
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
285
+ container.bind(tool_invocation_registry_1.ToolInvocationRegistry).toConstantValue(toolInvocationRegistry);
286
+ // Set up a variable service that returns a fragment with a function reference
287
+ const variableService = new variable_service_1.DefaultAIVariableService({ getContributions: () => [] }, sinon.createStubInstance(core_1.Logger));
288
+ const fragmentVariable = { id: 'test', name: 'fragment', description: 'Test fragment with function' };
289
+ variableService.registerResolver(fragmentVariable, {
290
+ canResolve: () => 100,
291
+ resolve: async () => ({
292
+ variable: fragmentVariable,
293
+ value: 'This fragment contains a function reference: ~{testFunction}'
294
+ })
295
+ });
296
+ container.bind(variable_service_1.AIVariableService).toConstantValue(variableService);
297
+ const testPromptService = container.get(prompt_service_1.PromptService);
298
+ testPromptService.storePromptTemplate({ id: 'testPrompt', template: 'Template with fragment: {{fragment}}' });
299
+ // Get the resolved prompt
300
+ const resolvedPrompt = await testPromptService.getPrompt('testPrompt');
301
+ // Verify that the function was resolved
302
+ (0, chai_1.expect)(resolvedPrompt).to.not.be.undefined;
303
+ (0, chai_1.expect)(resolvedPrompt === null || resolvedPrompt === void 0 ? void 0 : resolvedPrompt.text).to.include('This fragment contains a function reference:');
304
+ (0, chai_1.expect)(resolvedPrompt === null || resolvedPrompt === void 0 ? void 0 : resolvedPrompt.text).to.not.include('~{testFunction}');
305
+ // Verify that the function description was added to functionDescriptions
306
+ (0, chai_1.expect)((_a = resolvedPrompt === null || resolvedPrompt === void 0 ? void 0 : resolvedPrompt.functionDescriptions) === null || _a === void 0 ? void 0 : _a.size).to.equal(1);
307
+ (0, chai_1.expect)((_b = resolvedPrompt === null || resolvedPrompt === void 0 ? void 0 : resolvedPrompt.functionDescriptions) === null || _b === void 0 ? void 0 : _b.get('testFunction')).to.deep.equal(testFunction);
308
+ // Verify that the tool invocation registry was called
309
+ (0, chai_1.expect)(toolInvocationRegistry.getFunction.calledWith('testFunction')).to.be.true;
310
+ });
253
311
  });
254
312
  //# sourceMappingURL=prompt-service.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-service.spec.js","sourceRoot":"","sources":["../../src/common/prompt-service.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-service.spec.js","sourceRoot":"","sources":["../../src/common/prompt-service.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { CommandService } from '@theia/core';
2
+ import * as monaco from '@theia/monaco-editor-core';
3
+ import { AIVariable, AIVariableContribution, AIVariableService, AIVariableResolutionRequest, AIVariableContext, ResolvedAIVariable, AIVariableResolverWithVariableDependencies, AIVariableArg } from './variable-service';
4
+ import { PromptCustomizationService, PromptService } from './prompt-service';
5
+ export declare const PROMPT_VARIABLE: AIVariable;
6
+ export declare class PromptVariableContribution implements AIVariableContribution, AIVariableResolverWithVariableDependencies {
7
+ protected readonly commandService: CommandService;
8
+ protected readonly promptService: PromptService;
9
+ protected readonly promptCustomizationService: PromptCustomizationService;
10
+ registerVariables(service: AIVariableService): void;
11
+ canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): number;
12
+ resolve(request: AIVariableResolutionRequest, context: AIVariableContext, resolveDependency?: (variable: AIVariableArg) => Promise<ResolvedAIVariable | undefined>): Promise<ResolvedAIVariable | undefined>;
13
+ protected triggerArgumentPicker(): Promise<string | undefined>;
14
+ protected provideArgumentCompletionItems(model: monaco.editor.ITextModel, position: monaco.Position): Promise<monaco.languages.CompletionItem[] | undefined>;
15
+ }
16
+ //# sourceMappingURL=prompt-variable-contribution.d.ts.map
@@ -0,0 +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;AAElD,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;IAE1E,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;cAiB1B,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"}