@theia/ai-core 1.59.0-next.62 → 1.59.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.
@@ -56,7 +56,7 @@ let FileVariableContribution = class FileVariableContribution {
56
56
  return {
57
57
  variable: request.variable,
58
58
  value: await this.wsService.getWorkspaceRelativePath(absoluteUri),
59
- contextValue: content.value.toString()
59
+ contextValue: content.value.toString(),
60
60
  };
61
61
  }
62
62
  catch (error) {
@@ -5,10 +5,14 @@ import { AIVariableContribution, AIVariableResolver, AIVariableService, AIVariab
5
5
  * Integrates the Theia VariableRegistry with the Theia AI VariableService
6
6
  */
7
7
  export declare class TheiaVariableContribution implements AIVariableContribution, AIVariableResolver {
8
+ private static readonly THEIA_PREFIX;
8
9
  protected readonly variableResolverService: VariableResolverService;
9
10
  protected readonly variableRegistry: VariableRegistry;
10
11
  protected readonly stateService: FrontendApplicationStateService;
11
- protected variableRenameMap: Map<string, string>;
12
+ protected variableRenameMap: Map<string, {
13
+ name?: string;
14
+ description?: string;
15
+ }>;
12
16
  registerVariables(service: AIVariableService): void;
13
17
  protected toTheiaVariable(request: AIVariableResolutionRequest): string;
14
18
  canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"theia-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/theia-variable-contribution.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AAGrG,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE9J;;GAEG;AACH,qBACa,yBAA0B,YAAW,sBAAsB,EAAE,kBAAkB;IAExF,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,+BAA+B,CAAC;IAEjE,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAE7C;IAEH,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAenD,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM;IAIjE,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAO7F,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;CAI3H"}
1
+ {"version":3,"file":"theia-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/theia-variable-contribution.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AAGrG,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE9J;;GAEG;AACH,qBACa,yBAA0B,YAAW,sBAAsB,EAAE,kBAAkB;IAExF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAY;IAGhD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,+BAA+B,CAAC;IAIjE,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAyB9E;IAEH,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAuBnD,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM;IAOjE,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAU7F,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;CAI3H"}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ var TheiaVariableContribution_1;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.TheiaVariableContribution = void 0;
4
5
  const tslib_1 = require("tslib");
@@ -24,10 +25,35 @@ const browser_1 = require("@theia/variable-resolver/lib/browser");
24
25
  /**
25
26
  * Integrates the Theia VariableRegistry with the Theia AI VariableService
26
27
  */
27
- let TheiaVariableContribution = class TheiaVariableContribution {
28
+ let TheiaVariableContribution = TheiaVariableContribution_1 = class TheiaVariableContribution {
28
29
  constructor() {
30
+ // Map original variable name to new name and description. If a mapped value is not present then the original will be kept.
31
+ // Only variables present in this map are registered.
29
32
  this.variableRenameMap = new Map([
30
- ['file', 'currentFilePath'],
33
+ ['file', {
34
+ name: 'currentAbsoluteFilePath', description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentAbsoluteFilePath', 'The absolute path of the \
35
+ currently opened file. Please note that most agents will expect a relative file path (relative to the current workspace).')
36
+ }],
37
+ ['selectedText', {
38
+ description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentSelectedText', 'The plain text that is currently selected in the \
39
+ opened file. This excludes the information where the content is coming from. Please note that most agents will work better with a relative file path \
40
+ (relative to the current workspace).')
41
+ }],
42
+ ['currentText', {
43
+ name: 'currentFileContent', description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentFileContent', 'The plain content of the \
44
+ currently opened file. This excludes the information where the content is coming from. Please note that most agents will work better with a relative file path \
45
+ (relative to the current workspace).')
46
+ }],
47
+ ['relativeFile', {
48
+ name: 'currentRelativeFilePath', description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentRelativeFilePath', 'The relative path of the \
49
+ currently opened file.')
50
+ }],
51
+ ['relativeFileDirname', {
52
+ name: 'currentRelativeDirPath', description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentRelativeDirPath', 'The relative path of the directory \
53
+ containing the currently opened file.')
54
+ }],
55
+ ['lineNumber', {}],
56
+ ['workspaceFolder', {}]
31
57
  ]);
32
58
  }
33
59
  registerVariables(service) {
@@ -35,20 +61,32 @@ let TheiaVariableContribution = class TheiaVariableContribution {
35
61
  // some variable contributions in Theia are done as part of the onStart, same as our AI variable contributions
36
62
  // we therefore wait for all of them to be registered before we register we map them to our own
37
63
  this.variableRegistry.getVariables().forEach(variable => {
38
- var _a;
39
- const variableName = this.variableRenameMap.has(variable.name) ? this.variableRenameMap.get(variable.name) : variable.name;
64
+ if (!this.variableRenameMap.has(variable.name)) {
65
+ return; // Do not register variables not part of the map
66
+ }
67
+ const mapping = this.variableRenameMap.get(variable.name);
68
+ const newName = (mapping.name && mapping.name.trim() !== '') ? mapping.name : variable.name;
69
+ const newDescription = (mapping.description && mapping.description.trim() !== '') ? mapping.description
70
+ : (variable.description && variable.description.trim() !== '' ? variable.description
71
+ : nls_1.nls.localize('theia/ai/core/variable-contribution/builtInVariable', 'Theia Built-in Variable'));
40
72
  service.registerResolver({
41
- id: `theia-${variable.name}`,
42
- name: variableName,
43
- description: (_a = variable.description) !== null && _a !== void 0 ? _a : nls_1.nls.localize('theia/ai/core/variable-contribution/builtInVariable', 'Theia Built-in Variable')
73
+ id: `${TheiaVariableContribution_1.THEIA_PREFIX}${variable.name}`,
74
+ name: newName,
75
+ description: newDescription
44
76
  }, this);
45
77
  });
46
78
  });
47
79
  }
48
80
  toTheiaVariable(request) {
49
- return `$\{${request.variable.name}${request.arg ? ':' + request.arg : ''}}`;
81
+ // Remove the THEIA_PREFIX if present before constructing the variable string
82
+ const variableId = request.variable.id.startsWith(TheiaVariableContribution_1.THEIA_PREFIX) ? request.variable.id.slice(TheiaVariableContribution_1.THEIA_PREFIX.length) :
83
+ request.variable.id;
84
+ return `\${${variableId}${request.arg ? ':' + request.arg : ''}}`;
50
85
  }
51
86
  async canResolve(request, context) {
87
+ if (!request.variable.id.startsWith(TheiaVariableContribution_1.THEIA_PREFIX)) {
88
+ return 0;
89
+ }
52
90
  // some variables are not resolvable without providing a specific context
53
91
  // this may be expensive but was not a problem for Theia's built-in variables
54
92
  const resolved = await this.variableResolverService.resolve(this.toTheiaVariable(request), context);
@@ -60,6 +98,7 @@ let TheiaVariableContribution = class TheiaVariableContribution {
60
98
  }
61
99
  };
62
100
  exports.TheiaVariableContribution = TheiaVariableContribution;
101
+ TheiaVariableContribution.THEIA_PREFIX = 'theia-';
63
102
  tslib_1.__decorate([
64
103
  (0, inversify_1.inject)(browser_1.VariableResolverService),
65
104
  tslib_1.__metadata("design:type", browser_1.VariableResolverService)
@@ -72,7 +111,7 @@ tslib_1.__decorate([
72
111
  (0, inversify_1.inject)(frontend_application_state_1.FrontendApplicationStateService),
73
112
  tslib_1.__metadata("design:type", frontend_application_state_1.FrontendApplicationStateService)
74
113
  ], TheiaVariableContribution.prototype, "stateService", void 0);
75
- exports.TheiaVariableContribution = TheiaVariableContribution = tslib_1.__decorate([
114
+ exports.TheiaVariableContribution = TheiaVariableContribution = TheiaVariableContribution_1 = tslib_1.__decorate([
76
115
  (0, inversify_1.injectable)()
77
116
  ], TheiaVariableContribution);
78
117
  //# sourceMappingURL=theia-variable-contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theia-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/theia-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,mGAAqG;AACrG,oDAAiD;AACjD,4DAAkE;AAClE,kEAAiG;AAGjG;;GAEG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAA/B;QAUO,sBAAiB,GAAwB,IAAI,GAAG,CAAC;YACvD,CAAC,MAAM,EAAE,iBAAiB,CAAC;SAC9B,CAAC,CAAC;IAgCP,CAAC;IA9BG,iBAAiB,CAAC,OAA0B;QACxC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC3D,8GAA8G;YAC9G,+FAA+F;YAC/F,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;;gBACpD,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC5H,OAAO,CAAC,gBAAgB,CAAC;oBACrB,EAAE,EAAE,SAAS,QAAQ,CAAC,IAAI,EAAE;oBAC5B,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,MAAA,QAAQ,CAAC,WAAW,mCAAI,SAAG,CAAC,QAAQ,CAAC,qDAAqD,EAAE,yBAAyB,CAAC;iBACtI,EAAE,IAAI,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAES,eAAe,CAAC,OAAoC;QAC1D,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAoC,EAAE,OAA0B;QAC7E,yEAAyE;QACzE,6EAA6E;QAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QACpG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoC,EAAE,OAA0B;QAC1E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QACpG,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,CAAC;CACJ,CAAA;AA5CY,8DAAyB;AAEf;IADlB,IAAA,kBAAM,EAAC,iCAAuB,CAAC;sCACY,iCAAuB;0EAAC;AAGjD;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCACY,0BAAgB;mEAAC;AAGnC;IADlB,IAAA,kBAAM,EAAC,4DAA+B,CAAC;sCACP,4DAA+B;+DAAC;oCARxD,yBAAyB;IADrC,IAAA,sBAAU,GAAE;GACA,yBAAyB,CA4CrC"}
1
+ {"version":3,"file":"theia-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/theia-variable-contribution.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,12 @@ export interface LanguageModelRequestMessage {
6
6
  query: string;
7
7
  }
8
8
  export declare const isLanguageModelRequestMessage: (obj: unknown) => obj is LanguageModelRequestMessage;
9
- export type ToolRequestParametersProperties = Record<string, {
10
- type: string;
9
+ export interface ToolRequestParameterProperty {
10
+ type?: string;
11
+ anyOf?: ToolRequestParameterProperty[];
11
12
  [key: string]: unknown;
12
- }>;
13
+ }
14
+ export type ToolRequestParametersProperties = Record<string, ToolRequestParameterProperty>;
13
15
  export interface ToolRequestParameters {
14
16
  type?: 'object';
15
17
  properties: ToolRequestParametersProperties;
@@ -1 +1 @@
1
- {"version":3,"file":"language-model.d.ts","sourceRoot":"","sources":["../../src/common/language-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language-model.d.ts","sourceRoot":"","sources":["../../src/common/language-model.ts"],"names":[],"mappings":"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"}
@@ -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 { AIVariableService } from './variable-service';
2
+ import { AIVariableContext, AIVariableService } 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';
@@ -48,7 +48,7 @@ export interface PromptService {
48
48
  */
49
49
  getPrompt(id: string, args?: {
50
50
  [key: string]: unknown;
51
- }): Promise<ResolvedPromptTemplate | undefined>;
51
+ }, context?: AIVariableContext): Promise<ResolvedPromptTemplate | undefined>;
52
52
  /**
53
53
  * Adds a {@link PromptTemplate} to the list of prompts.
54
54
  * @param promptTemplate the prompt template to store
@@ -152,7 +152,7 @@ export declare class PromptServiceImpl implements PromptService {
152
152
  getVariantId(id: string): Promise<string>;
153
153
  getPrompt(id: string, args?: {
154
154
  [key: string]: unknown;
155
- }): Promise<ResolvedPromptTemplate | undefined>;
155
+ }, context?: AIVariableContext): Promise<ResolvedPromptTemplate | undefined>;
156
156
  getAllPrompts(): PromptMap;
157
157
  removePrompt(id: string): void;
158
158
  getVariantIds(id: string): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-service.d.ts","sourceRoot":"","sources":["../../src/common/prompt-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IAAG,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAAA;CAAE;AAE3D,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,aAAa,eAA0B,CAAC;AACrD,MAAM,WAAW,aAAa;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IACrD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC5D;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC;IACtG;;;OAGG;IACH,mBAAmB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1D;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;OAEG;IACH,aAAa,IAAI,SAAS,CAAC;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACpC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB;AACD,yBAAiB,sBAAsB,CAAC;IACpC,SAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,sBAAsB,CAUlE;IACD,SAAgB,MAAM,CAAC,CAAC,EAAE,sBAAsB,EAAE,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAEpF;CACJ;AAED,eAAO,MAAM,0BAA0B,eAAuC,CAAC;AAC/E,MAAM,WAAW,0BAA0B;IACvC;;;OAGG;IACH,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAEhD;;;OAGG;IACH,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAE3D,0BAA0B,IAAI,MAAM,EAAE,CAAC;IACvC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExD;;;OAGG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;OAGG;IACH,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAAC;IAEnD;;OAEG;IACH,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1C;;;OAGG;IACH,eAAe,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAErD;;OAEG;IACH,QAAQ,CAAC,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAE9C;;OAEG;IACH,mBAAmB,IAAI,IAAI,CAAC;CAC/B;AAED,qBACa,iBAAkB,YAAW,aAAa;IAEnD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAGhF,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAE9E,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAM;IAEnC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IASpD,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI3D,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAW3D,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAK3C,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAazC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAmD3G,aAAa,IAAI,SAAS;IAqB1B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAG9B,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAcnC,mBAAmB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;CAG5D"}
1
+ {"version":3,"file":"prompt-service.d.ts","sourceRoot":"","sources":["../../src/common/prompt-service.ts"],"names":[],"mappings":"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"}
@@ -85,7 +85,7 @@ let PromptServiceImpl = class PromptServiceImpl {
85
85
  }
86
86
  return id;
87
87
  }
88
- async getPrompt(id, args) {
88
+ async getPrompt(id, args, context) {
89
89
  const variantId = await this.getVariantId(id);
90
90
  const prompt = this.getUnresolvedPrompt(variantId);
91
91
  if (prompt === undefined) {
@@ -108,7 +108,7 @@ let PromptServiceImpl = class PromptServiceImpl {
108
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
109
  variable: variableName,
110
110
  arg: argument
111
- }, {})))) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : completeText)
111
+ }, context !== null && context !== void 0 ? context : {})))) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : completeText)
112
112
  };
113
113
  }));
114
114
  const functionMatches = (0, prompt_service_util_1.matchFunctionsRegEx)(prompt.template);
@@ -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":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tool-request-parameters.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-request-parameters.spec.d.ts","sourceRoot":"","sources":["../../src/node/tool-request-parameters.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // *****************************************************************************
4
+ // Copyright (C) 2025 EclipseSource GmbH.
5
+ //
6
+ // This program and the accompanying materials are made available under the
7
+ // terms of the Eclipse Public License v. 2.0 which is available at
8
+ // http://www.eclipse.org/legal/epl-2.0.
9
+ //
10
+ // This Source Code may also be made available under the following Secondary
11
+ // Licenses when the conditions for such availability set forth in the Eclipse
12
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
13
+ // with the GNU Classpath Exception which is available at
14
+ // https://www.gnu.org/software/classpath/license.html.
15
+ //
16
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
17
+ // *****************************************************************************
18
+ const chai_1 = require("chai");
19
+ const language_model_1 = require("../common/language-model");
20
+ describe('isToolRequestParameters', () => {
21
+ it('should return true for valid ToolRequestParameters', () => {
22
+ const validParams = {
23
+ type: 'object',
24
+ properties: {
25
+ param1: {
26
+ type: 'string'
27
+ },
28
+ param2: {
29
+ type: 'number'
30
+ }
31
+ },
32
+ required: ['param1']
33
+ };
34
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters(validParams)).to.be.true;
35
+ });
36
+ it('should return false for ToolRequestParameters without type or anyOf', () => {
37
+ const paramsWithoutType = {
38
+ properties: {
39
+ param1: {
40
+ description: 'string'
41
+ }
42
+ },
43
+ required: ['param1']
44
+ };
45
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters(paramsWithoutType)).to.be.false;
46
+ });
47
+ it('should return false for invalid ToolRequestParameters with wrong property type', () => {
48
+ const invalidParams = {
49
+ type: 'object',
50
+ properties: {
51
+ param1: {
52
+ type: 123
53
+ }
54
+ }
55
+ };
56
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters(invalidParams)).to.be.false;
57
+ });
58
+ it('should return false if properties is not an object', () => {
59
+ const invalidParams = {
60
+ type: 'object',
61
+ properties: 'not-an-object',
62
+ };
63
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters(invalidParams)).to.be.false;
64
+ });
65
+ it('should return true if required is missing', () => {
66
+ const missingRequiredParams = {
67
+ type: 'object',
68
+ properties: {
69
+ param1: {
70
+ type: 'string'
71
+ }
72
+ }
73
+ };
74
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters(missingRequiredParams)).to.be.true;
75
+ });
76
+ it('should return false if required is not an array', () => {
77
+ const invalidRequiredParams = {
78
+ type: 'object',
79
+ properties: {
80
+ param1: {
81
+ type: 'string'
82
+ }
83
+ },
84
+ required: 'param1'
85
+ };
86
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters(invalidRequiredParams)).to.be.false;
87
+ });
88
+ it('should return false if a required field is not a string', () => {
89
+ const invalidRequiredParams = {
90
+ type: 'object',
91
+ properties: {
92
+ param1: {
93
+ type: 'string'
94
+ }
95
+ },
96
+ required: [123]
97
+ };
98
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters(invalidRequiredParams)).to.be.false;
99
+ });
100
+ it('should validate properties with anyOf correctly', () => {
101
+ const paramsWithAnyOf = {
102
+ type: 'object',
103
+ properties: {
104
+ param1: {
105
+ anyOf: [
106
+ { type: 'string' },
107
+ { type: 'number' }
108
+ ]
109
+ }
110
+ },
111
+ required: ['param1']
112
+ };
113
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters(paramsWithAnyOf)).to.be.true;
114
+ });
115
+ });
116
+ //# sourceMappingURL=tool-request-parameters.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-request-parameters.spec.js","sourceRoot":"","sources":["../../src/node/tool-request-parameters.spec.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,+BAA8B;AAC9B,6DAAuD;AAEvD,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC1D,MAAM,WAAW,GAAG;YAChB,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,MAAM,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACvB,CAAC;QACF,IAAA,aAAM,EAAC,4BAAW,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC3E,MAAM,iBAAiB,GAAG;YACtB,UAAU,EAAE;gBACR,MAAM,EAAE;oBACJ,WAAW,EAAE,QAAQ;iBACxB;aACJ;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACvB,CAAC;QACF,IAAA,aAAM,EAAC,4BAAW,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;QACtF,MAAM,aAAa,GAAG;YAClB,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,MAAM,EAAE;oBACJ,IAAI,EAAE,GAAG;iBACZ;aACJ;SACJ,CAAC;QACF,IAAA,aAAM,EAAC,4BAAW,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC1D,MAAM,aAAa,GAAG;YAClB,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,eAAe;SAC9B,CAAC;QACF,IAAA,aAAM,EAAC,4BAAW,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,MAAM,qBAAqB,GAAG;YAC1B,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,MAAM,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACjB;aACJ;SACJ,CAAC;QACF,IAAA,aAAM,EAAC,4BAAW,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,qBAAqB,GAAG;YAC1B,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,MAAM,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,QAAQ,EAAE,QAAQ;SACrB,CAAC;QACF,IAAA,aAAM,EAAC,4BAAW,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAC/D,MAAM,qBAAqB,GAAG;YAC1B,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,MAAM,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,QAAQ,EAAE,CAAC,GAAG,CAAC;SAClB,CAAC;QACF,IAAA,aAAM,EAAC,4BAAW,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,eAAe,GAAG;YACpB,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,MAAM,EAAE;oBACJ,KAAK,EAAE;wBACH,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAClB,EAAE,IAAI,EAAE,QAAQ,EAAE;qBACrB;iBACJ;aACJ;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACvB,CAAC;QACF,IAAA,aAAM,EAAC,4BAAW,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC5E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@theia/ai-core",
3
- "version": "1.59.0-next.62+9e43c93ad",
3
+ "version": "1.59.0",
4
4
  "description": "Theia - AI Core",
5
5
  "dependencies": {
6
- "@theia/core": "1.59.0-next.62+9e43c93ad",
7
- "@theia/editor": "1.59.0-next.62+9e43c93ad",
8
- "@theia/filesystem": "1.59.0-next.62+9e43c93ad",
9
- "@theia/monaco": "1.59.0-next.62+9e43c93ad",
6
+ "@theia/core": "1.59.0",
7
+ "@theia/editor": "1.59.0",
8
+ "@theia/filesystem": "1.59.0",
9
+ "@theia/monaco": "1.59.0",
10
10
  "@theia/monaco-editor-core": "1.96.302",
11
- "@theia/output": "1.59.0-next.62+9e43c93ad",
12
- "@theia/variable-resolver": "1.59.0-next.62+9e43c93ad",
13
- "@theia/workspace": "1.59.0-next.62+9e43c93ad",
11
+ "@theia/output": "1.59.0",
12
+ "@theia/variable-resolver": "1.59.0",
13
+ "@theia/workspace": "1.59.0",
14
14
  "@types/js-yaml": "^4.0.9",
15
15
  "js-yaml": "^4.1.0",
16
16
  "minimatch": "^5.1.0",
@@ -52,10 +52,10 @@
52
52
  "watch": "theiaext watch"
53
53
  },
54
54
  "devDependencies": {
55
- "@theia/ext-scripts": "1.58.0"
55
+ "@theia/ext-scripts": "1.59.0"
56
56
  },
57
57
  "nyc": {
58
58
  "extends": "../../configs/nyc.json"
59
59
  },
60
- "gitHead": "9e43c93ad61ea977db3974207bac5d7c1fd3ccd6"
60
+ "gitHead": "21358137e41342742707f660b8e222f940a27652"
61
61
  }
@@ -75,7 +75,7 @@ export class FileVariableContribution implements AIVariableContribution, AIVaria
75
75
  return {
76
76
  variable: request.variable,
77
77
  value: await this.wsService.getWorkspaceRelativePath(absoluteUri),
78
- contextValue: content.value.toString()
78
+ contextValue: content.value.toString(),
79
79
  };
80
80
  } catch (error) {
81
81
  return undefined;
@@ -24,6 +24,9 @@ import { AIVariableContribution, AIVariableResolver, AIVariableService, AIVariab
24
24
  */
25
25
  @injectable()
26
26
  export class TheiaVariableContribution implements AIVariableContribution, AIVariableResolver {
27
+
28
+ private static readonly THEIA_PREFIX = 'theia-';
29
+
27
30
  @inject(VariableResolverService)
28
31
  protected readonly variableResolverService: VariableResolverService;
29
32
 
@@ -33,8 +36,33 @@ export class TheiaVariableContribution implements AIVariableContribution, AIVari
33
36
  @inject(FrontendApplicationStateService)
34
37
  protected readonly stateService: FrontendApplicationStateService;
35
38
 
36
- protected variableRenameMap: Map<string, string> = new Map([
37
- ['file', 'currentFilePath'],
39
+ // Map original variable name to new name and description. If a mapped value is not present then the original will be kept.
40
+ // Only variables present in this map are registered.
41
+ protected variableRenameMap: Map<string, { name?: string, description?: string }> = new Map([
42
+ ['file', {
43
+ name: 'currentAbsoluteFilePath', description: nls.localize('theia/ai/core/variable-contribution/currentAbsoluteFilePath', 'The absolute path of the \
44
+ currently opened file. Please note that most agents will expect a relative file path (relative to the current workspace).')
45
+ }],
46
+ ['selectedText', {
47
+ description: nls.localize('theia/ai/core/variable-contribution/currentSelectedText', 'The plain text that is currently selected in the \
48
+ opened file. This excludes the information where the content is coming from. Please note that most agents will work better with a relative file path \
49
+ (relative to the current workspace).')
50
+ }],
51
+ ['currentText', {
52
+ name: 'currentFileContent', description: nls.localize('theia/ai/core/variable-contribution/currentFileContent', 'The plain content of the \
53
+ currently opened file. This excludes the information where the content is coming from. Please note that most agents will work better with a relative file path \
54
+ (relative to the current workspace).')
55
+ }],
56
+ ['relativeFile', {
57
+ name: 'currentRelativeFilePath', description: nls.localize('theia/ai/core/variable-contribution/currentRelativeFilePath', 'The relative path of the \
58
+ currently opened file.')
59
+ }],
60
+ ['relativeFileDirname', {
61
+ name: 'currentRelativeDirPath', description: nls.localize('theia/ai/core/variable-contribution/currentRelativeDirPath', 'The relative path of the directory \
62
+ containing the currently opened file.')
63
+ }],
64
+ ['lineNumber', {}],
65
+ ['workspaceFolder', {}]
38
66
  ]);
39
67
 
40
68
  registerVariables(service: AIVariableService): void {
@@ -42,21 +70,35 @@ export class TheiaVariableContribution implements AIVariableContribution, AIVari
42
70
  // some variable contributions in Theia are done as part of the onStart, same as our AI variable contributions
43
71
  // we therefore wait for all of them to be registered before we register we map them to our own
44
72
  this.variableRegistry.getVariables().forEach(variable => {
45
- const variableName = this.variableRenameMap.has(variable.name) ? this.variableRenameMap.get(variable.name)! : variable.name;
73
+ if (!this.variableRenameMap.has(variable.name)) {
74
+ return; // Do not register variables not part of the map
75
+ }
76
+ const mapping = this.variableRenameMap.get(variable.name)!;
77
+ const newName = (mapping.name && mapping.name.trim() !== '') ? mapping.name : variable.name;
78
+ const newDescription = (mapping.description && mapping.description.trim() !== '') ? mapping.description
79
+ : (variable.description && variable.description.trim() !== '' ? variable.description
80
+ : nls.localize('theia/ai/core/variable-contribution/builtInVariable', 'Theia Built-in Variable'));
81
+
46
82
  service.registerResolver({
47
- id: `theia-${variable.name}`,
48
- name: variableName,
49
- description: variable.description ?? nls.localize('theia/ai/core/variable-contribution/builtInVariable', 'Theia Built-in Variable')
83
+ id: `${TheiaVariableContribution.THEIA_PREFIX}${variable.name}`,
84
+ name: newName,
85
+ description: newDescription
50
86
  }, this);
51
87
  });
52
88
  });
53
89
  }
54
90
 
55
91
  protected toTheiaVariable(request: AIVariableResolutionRequest): string {
56
- return `$\{${request.variable.name}${request.arg ? ':' + request.arg : ''}}`;
92
+ // Remove the THEIA_PREFIX if present before constructing the variable string
93
+ const variableId = request.variable.id.startsWith(TheiaVariableContribution.THEIA_PREFIX) ? request.variable.id.slice(TheiaVariableContribution.THEIA_PREFIX.length) :
94
+ request.variable.id;
95
+ return `\${${variableId}${request.arg ? ':' + request.arg : ''}}`;
57
96
  }
58
97
 
59
98
  async canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<number> {
99
+ if (!request.variable.id.startsWith(TheiaVariableContribution.THEIA_PREFIX)) {
100
+ return 0;
101
+ }
60
102
  // some variables are not resolvable without providing a specific context
61
103
  // this may be expensive but was not a problem for Theia's built-in variables
62
104
  const resolved = await this.variableResolverService.resolve(this.toTheiaVariable(request), context);
@@ -68,4 +110,3 @@ export class TheiaVariableContribution implements AIVariableContribution, AIVari
68
110
  return resolved ? { value: resolved, variable: request.variable } : undefined;
69
111
  }
70
112
  }
71
-
@@ -32,7 +32,14 @@ export const isLanguageModelRequestMessage = (obj: unknown): obj is LanguageMode
32
32
  'query' in obj &&
33
33
  typeof (obj as { query: unknown }).query === 'string'
34
34
  );
35
- export type ToolRequestParametersProperties = Record<string, { type: string, [key: string]: unknown }>;
35
+
36
+ export interface ToolRequestParameterProperty {
37
+ type?: string;
38
+ anyOf?: ToolRequestParameterProperty[];
39
+ [key: string]: unknown;
40
+ }
41
+
42
+ export type ToolRequestParametersProperties = Record<string, ToolRequestParameterProperty>;
36
43
  export interface ToolRequestParameters {
37
44
  type?: 'object';
38
45
  properties: ToolRequestParametersProperties;
@@ -48,17 +55,45 @@ export interface ToolRequest {
48
55
  }
49
56
 
50
57
  export namespace ToolRequest {
58
+ function isToolRequestParameterProperty(obj: unknown): obj is ToolRequestParameterProperty {
59
+ if (!obj || typeof obj !== 'object') {
60
+ return false;
61
+ }
62
+ const record = obj as Record<string, unknown>;
63
+
64
+ // Check that at least one of "type" or "anyOf" exists
65
+ if (!('type' in record) && !('anyOf' in record)) {
66
+ return false;
67
+ }
68
+
69
+ // If an "anyOf" field is present, it must be an array where each item is also a valid property.
70
+ if ('anyOf' in record) {
71
+ if (!Array.isArray(record.anyOf)) {
72
+ return false;
73
+ }
74
+ for (const item of record.anyOf) {
75
+ if (!isToolRequestParameterProperty(item)) {
76
+ return false;
77
+ }
78
+ }
79
+ }
80
+ if ('type' in record && typeof record.type !== 'string') {
81
+ return false;
82
+ }
83
+
84
+ // No further checks required for additional properties.
85
+ return true;
86
+ }
51
87
  export function isToolRequestParametersProperties(obj: unknown): obj is ToolRequestParametersProperties {
52
- if (!obj || typeof obj !== 'object') { return false; };
53
-
54
- return Object.entries(obj).every(([key, value]) =>
55
- typeof key === 'string' &&
56
- value &&
57
- typeof value === 'object' &&
58
- 'type' in value &&
59
- typeof value.type === 'string' &&
60
- Object.keys(value).every(k => typeof k === 'string')
61
- );
88
+ if (!obj || typeof obj !== 'object') {
89
+ return false;
90
+ }
91
+ return Object.entries(obj).every(([key, value]) => {
92
+ if (typeof key !== 'string') {
93
+ return false;
94
+ }
95
+ return isToolRequestParameterProperty(value);
96
+ });
62
97
  }
63
98
  export function isToolRequestParameters(obj: unknown): obj is ToolRequestParameters {
64
99
  return !!obj && typeof obj === 'object' &&
@@ -16,7 +16,7 @@
16
16
 
17
17
  import { URI, Event } from '@theia/core';
18
18
  import { inject, injectable, optional } from '@theia/core/shared/inversify';
19
- import { AIVariableService } from './variable-service';
19
+ import { AIVariableContext, AIVariableService } from './variable-service';
20
20
  import { ToolInvocationRegistry } from './tool-invocation-registry';
21
21
  import { toolRequestToPromptText } from './language-model-util';
22
22
  import { ToolRequest } from './language-model';
@@ -67,7 +67,7 @@ export interface PromptService {
67
67
  * @param id the id of the prompt
68
68
  * @param args the object with placeholders, mapping the placeholder key to the value
69
69
  */
70
- getPrompt(id: string, args?: { [key: string]: unknown }): Promise<ResolvedPromptTemplate | undefined>;
70
+ getPrompt(id: string, args?: { [key: string]: unknown }, context?: AIVariableContext): Promise<ResolvedPromptTemplate | undefined>;
71
71
  /**
72
72
  * Adds a {@link PromptTemplate} to the list of prompts.
73
73
  * @param promptTemplate the prompt template to store
@@ -239,7 +239,7 @@ export class PromptServiceImpl implements PromptService {
239
239
  return id;
240
240
  }
241
241
 
242
- async getPrompt(id: string, args?: { [key: string]: unknown }): Promise<ResolvedPromptTemplate | undefined> {
242
+ async getPrompt(id: string, args?: { [key: string]: unknown }, context?: AIVariableContext): Promise<ResolvedPromptTemplate | undefined> {
243
243
  const variantId = await this.getVariantId(id);
244
244
  const prompt = this.getUnresolvedPrompt(variantId);
245
245
  if (prompt === undefined) {
@@ -262,7 +262,7 @@ export class PromptServiceImpl implements PromptService {
262
262
  value: String(args?.[variableAndArg] ?? (await this.variableService?.resolveVariable({
263
263
  variable: variableName,
264
264
  arg: argument
265
- }, {}))?.value ?? completeText)
265
+ }, context ?? {}))?.value ?? completeText)
266
266
  };
267
267
  }));
268
268
 
@@ -0,0 +1,121 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2025 EclipseSource GmbH.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+ import { expect } from 'chai';
17
+ import { ToolRequest } from '../common/language-model';
18
+
19
+ describe('isToolRequestParameters', () => {
20
+ it('should return true for valid ToolRequestParameters', () => {
21
+ const validParams = {
22
+ type: 'object',
23
+ properties: {
24
+ param1: {
25
+ type: 'string'
26
+ },
27
+ param2: {
28
+ type: 'number'
29
+ }
30
+ },
31
+ required: ['param1']
32
+ };
33
+ expect(ToolRequest.isToolRequestParameters(validParams)).to.be.true;
34
+ });
35
+
36
+ it('should return false for ToolRequestParameters without type or anyOf', () => {
37
+ const paramsWithoutType = {
38
+ properties: {
39
+ param1: {
40
+ description: 'string'
41
+ }
42
+ },
43
+ required: ['param1']
44
+ };
45
+ expect(ToolRequest.isToolRequestParameters(paramsWithoutType)).to.be.false;
46
+ });
47
+
48
+ it('should return false for invalid ToolRequestParameters with wrong property type', () => {
49
+ const invalidParams = {
50
+ type: 'object',
51
+ properties: {
52
+ param1: {
53
+ type: 123
54
+ }
55
+ }
56
+ };
57
+ expect(ToolRequest.isToolRequestParameters(invalidParams)).to.be.false;
58
+ });
59
+
60
+ it('should return false if properties is not an object', () => {
61
+ const invalidParams = {
62
+ type: 'object',
63
+ properties: 'not-an-object',
64
+ };
65
+ expect(ToolRequest.isToolRequestParameters(invalidParams)).to.be.false;
66
+ });
67
+
68
+ it('should return true if required is missing', () => {
69
+ const missingRequiredParams = {
70
+ type: 'object',
71
+ properties: {
72
+ param1: {
73
+ type: 'string'
74
+ }
75
+ }
76
+ };
77
+ expect(ToolRequest.isToolRequestParameters(missingRequiredParams)).to.be.true;
78
+ });
79
+
80
+ it('should return false if required is not an array', () => {
81
+ const invalidRequiredParams = {
82
+ type: 'object',
83
+ properties: {
84
+ param1: {
85
+ type: 'string'
86
+ }
87
+ },
88
+ required: 'param1'
89
+ };
90
+ expect(ToolRequest.isToolRequestParameters(invalidRequiredParams)).to.be.false;
91
+ });
92
+
93
+ it('should return false if a required field is not a string', () => {
94
+ const invalidRequiredParams = {
95
+ type: 'object',
96
+ properties: {
97
+ param1: {
98
+ type: 'string'
99
+ }
100
+ },
101
+ required: [123]
102
+ };
103
+ expect(ToolRequest.isToolRequestParameters(invalidRequiredParams)).to.be.false;
104
+ });
105
+
106
+ it('should validate properties with anyOf correctly', () => {
107
+ const paramsWithAnyOf = {
108
+ type: 'object',
109
+ properties: {
110
+ param1: {
111
+ anyOf: [
112
+ { type: 'string' },
113
+ { type: 'number' }
114
+ ]
115
+ }
116
+ },
117
+ required: ['param1']
118
+ };
119
+ expect(ToolRequest.isToolRequestParameters(paramsWithAnyOf)).to.be.true;
120
+ });
121
+ });