@theia/ai-core 1.55.0-next.71 → 1.55.0-next.97

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.
@@ -2,17 +2,72 @@
2
2
  "scopeName": "source.prompttemplate",
3
3
  "patterns": [
4
4
  {
5
- "name": "variable.other.prompttemplate",
6
- "begin": "{{",
5
+ "name": "invalid.illegal.mismatched.prompttemplate",
6
+ "match": "\\{\\{\\{[^{}]*\\}\\}(?!\\})",
7
+ "captures": {
8
+ "0": {
9
+ "name": "invalid.illegal.bracket.mismatch"
10
+ }
11
+ }
12
+ },
13
+ {
14
+ "name": "invalid.illegal.mismatched.prompttemplate",
15
+ "match": "\\{\\{[^{}]*\\}\\}\\}(?!\\})",
16
+ "captures": {
17
+ "0": {
18
+ "name": "invalid.illegal.bracket.mismatch"
19
+ }
20
+ }
21
+ },
22
+ {
23
+ "name": "comment.block.prompttemplate",
24
+ "begin": "\\A{{!--",
7
25
  "beginCaptures": {
8
26
  "0": {
9
- "name": "punctuation.definition.brace.begin"
27
+ "name": "punctuation.definition.comment.begin"
10
28
  }
11
29
  },
12
- "end": "}}",
30
+ "end": "--}}",
13
31
  "endCaptures": {
14
32
  "0": {
15
- "name": "punctuation.definition.brace.end"
33
+ "name": "punctuation.definition.comment.end"
34
+ }
35
+ },
36
+ "patterns": []
37
+ },
38
+ {
39
+ "name": "variable.other.prompttemplate.double",
40
+ "begin": "\\{\\{",
41
+ "beginCaptures": {
42
+ "0": {
43
+ "name": "punctuation.definition.variable.begin"
44
+ }
45
+ },
46
+ "end": "\\}\\}(?!\\})",
47
+ "endCaptures": {
48
+ "0": {
49
+ "name": "punctuation.definition.variable.end"
50
+ }
51
+ },
52
+ "patterns": [
53
+ {
54
+ "name": "keyword.control",
55
+ "match": "[a-zA-Z_][a-zA-Z0-9_]*"
56
+ }
57
+ ]
58
+ },
59
+ {
60
+ "name": "variable.other.prompttemplate.triple",
61
+ "begin": "\\{\\{\\{",
62
+ "beginCaptures": {
63
+ "0": {
64
+ "name": "punctuation.definition.variable.begin"
65
+ }
66
+ },
67
+ "end": "\\}\\}\\}(?!\\})",
68
+ "endCaptures": {
69
+ "0": {
70
+ "name": "punctuation.definition.variable.end"
16
71
  }
17
72
  },
18
73
  "patterns": [
@@ -74,7 +74,7 @@ let AIAgentConfigurationWidget = AIAgentConfigurationWidget_1 = class AIAgentCon
74
74
  }
75
75
  renderAgentName(agent) {
76
76
  var _a;
77
- const tagsSuffix = ((_a = agent.tags) === null || _a === void 0 ? void 0 : _a.length) ? React.createElement("span", null, agent.tags.map(tag => React.createElement("span", { className: 'agent-tag' }, tag))) : '';
77
+ const tagsSuffix = ((_a = agent.tags) === null || _a === void 0 ? void 0 : _a.length) ? React.createElement("span", null, agent.tags.map(tag => React.createElement("span", { key: tag, className: 'agent-tag' }, tag))) : '';
78
78
  return React.createElement("span", null,
79
79
  agent.name,
80
80
  " ",
@@ -118,9 +118,9 @@ let AIAgentConfigurationWidget = AIAgentConfigurationWidget_1 = class AIAgentCon
118
118
  const result = { functions: [], globalVariables: [], agentSpecificVariables: [] };
119
119
  promptTemplates.forEach(template => {
120
120
  var _a;
121
- const storedPrompt = this.promptService.getRawPrompt(template.id);
121
+ const storedPrompt = this.promptService.getUnresolvedPrompt(template.id);
122
122
  const prompt = (_a = storedPrompt === null || storedPrompt === void 0 ? void 0 : storedPrompt.template) !== null && _a !== void 0 ? _a : template.template;
123
- const variableMatches = [...prompt.matchAll(common_1.PROMPT_VARIABLE_REGEX)];
123
+ const variableMatches = (0, common_1.matchVariablesRegEx)(prompt);
124
124
  variableMatches.forEach(match => {
125
125
  const variableId = match[1];
126
126
  // if the variable is part of the variable service and not part of the agent specific variables then it is a global variable
@@ -1 +1 @@
1
- {"version":3,"file":"agent-configuration-widget.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/agent-configuration-widget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-configuration-widget.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/agent-configuration-widget.tsx"],"names":[],"mappings":"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"}
@@ -94,7 +94,7 @@ const LanguageModelRenderer = ({ agent, languageModels, aiSettingsService, langu
94
94
  React.createElement("label", { className: "theia-header no-select", htmlFor: `model-select-${agent.id}` }, "Language Model:"),
95
95
  React.createElement("select", { className: "theia-select", id: `model-select-${agent.id}`, value: requirements.identifier, onChange: event => onSelectedModelChange(requirements.purpose, event) },
96
96
  React.createElement("option", { value: "" }), languageModels === null || languageModels === void 0 ? void 0 :
97
- languageModels.map(model => {
97
+ languageModels.sort((a, b) => { var _a, _b; return ((_a = a.name) !== null && _a !== void 0 ? _a : a.id).localeCompare((_b = b.name) !== null && _b !== void 0 ? _b : b.id); }).map(model => {
98
98
  var _a;
99
99
  return (React.createElement("option", { key: model.id, value: model.id }, (_a = model.name) !== null && _a !== void 0 ? _a : model.id));
100
100
  }))),
@@ -1 +1 @@
1
- {"version":3,"file":"language-model-renderer.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/language-model-renderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language-model-renderer.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/language-model-renderer.tsx"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export interface Agent {
36
36
  /** Required language models. This includes the purpose and optional language model selector arguments. See #47. */
37
37
  readonly languageModelRequirements: LanguageModelRequirement[];
38
38
  /** A list of tags to filter agents and to display capabilities in the UI */
39
- readonly tags?: String[];
39
+ readonly tags?: string[];
40
40
  /** The list of local variable identifiers this agent needs to clarify its context requirements. */
41
41
  readonly agentSpecificVariables: AgentSpecificVariables[];
42
42
  /** The list of global function identifiers this agent needs to clarify its context requirements. */
@@ -1,5 +1,8 @@
1
- /** Should match the one from VariableResolverService. The format is `{{variableName:arg}}`. */
2
- export declare const PROMPT_VARIABLE_REGEX: RegExp;
1
+ /** Should match the one from VariableResolverService. The format is `{{variableName:arg}}`. We allow {{}} and {{{}}} but no mixtures */
2
+ export declare const PROMPT_VARIABLE_TWO_BRACES_REGEX: RegExp;
3
+ export declare const PROMPT_VARIABLE_THREE_BRACES_REGEX: RegExp;
4
+ export declare function matchVariablesRegEx(template: string): RegExpMatchArray[];
3
5
  /** Match function/tool references in the prompt. The format is `~{functionId}`. */
4
6
  export declare const PROMPT_FUNCTION_REGEX: RegExp;
7
+ export declare function matchFunctionsRegEx(template: string): RegExpMatchArray[];
5
8
  //# sourceMappingURL=prompt-service-util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-service-util.d.ts","sourceRoot":"","sources":["../../src/common/prompt-service-util.ts"],"names":[],"mappings":"AAgBA,+FAA+F;AAC/F,eAAO,MAAM,qBAAqB,QAAyB,CAAC;AAE5D,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,QAAuB,CAAC"}
1
+ {"version":3,"file":"prompt-service-util.d.ts","sourceRoot":"","sources":["../../src/common/prompt-service-util.ts"],"names":[],"mappings":"AAgBA,wIAAwI;AACxI,eAAO,MAAM,gCAAgC,QAA0C,CAAC;AACxF,eAAO,MAAM,kCAAkC,QAA8C,CAAC;AAC9F,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAIxE;AAED,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,QAAuB,CAAC;AAE1D,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAExE"}
@@ -15,9 +15,20 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.PROMPT_FUNCTION_REGEX = exports.PROMPT_VARIABLE_REGEX = void 0;
19
- /** Should match the one from VariableResolverService. The format is `{{variableName:arg}}`. */
20
- exports.PROMPT_VARIABLE_REGEX = /\{\{\s*(.*?)\s*\}\}/g;
18
+ exports.matchFunctionsRegEx = exports.PROMPT_FUNCTION_REGEX = exports.matchVariablesRegEx = exports.PROMPT_VARIABLE_THREE_BRACES_REGEX = exports.PROMPT_VARIABLE_TWO_BRACES_REGEX = void 0;
19
+ /** Should match the one from VariableResolverService. The format is `{{variableName:arg}}`. We allow {{}} and {{{}}} but no mixtures */
20
+ exports.PROMPT_VARIABLE_TWO_BRACES_REGEX = /(?<!\{)\{\{\s*([^{}]+?)\s*\}\}(?!\})/g;
21
+ exports.PROMPT_VARIABLE_THREE_BRACES_REGEX = /(?<!\{)\{\{\{\s*([^{}]+?)\s*\}\}\}(?!\})/g;
22
+ function matchVariablesRegEx(template) {
23
+ const twoBraceMatches = [...template.matchAll(exports.PROMPT_VARIABLE_TWO_BRACES_REGEX)];
24
+ const threeBraceMatches = [...template.matchAll(exports.PROMPT_VARIABLE_THREE_BRACES_REGEX)];
25
+ return twoBraceMatches.concat(threeBraceMatches);
26
+ }
27
+ exports.matchVariablesRegEx = matchVariablesRegEx;
21
28
  /** Match function/tool references in the prompt. The format is `~{functionId}`. */
22
29
  exports.PROMPT_FUNCTION_REGEX = /\~\{\s*(.*?)\s*\}/g;
30
+ function matchFunctionsRegEx(template) {
31
+ return [...template.matchAll(exports.PROMPT_FUNCTION_REGEX)];
32
+ }
33
+ exports.matchFunctionsRegEx = matchFunctionsRegEx;
23
34
  //# sourceMappingURL=prompt-service-util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-service-util.js","sourceRoot":"","sources":["../../src/common/prompt-service-util.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,+FAA+F;AAClF,QAAA,qBAAqB,GAAG,sBAAsB,CAAC;AAE5D,mFAAmF;AACtE,QAAA,qBAAqB,GAAG,oBAAoB,CAAC"}
1
+ {"version":3,"file":"prompt-service-util.js","sourceRoot":"","sources":["../../src/common/prompt-service-util.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,wIAAwI;AAC3H,QAAA,gCAAgC,GAAG,uCAAuC,CAAC;AAC3E,QAAA,kCAAkC,GAAG,2CAA2C,CAAC;AAC9F,SAAgB,mBAAmB,CAAC,QAAgB;IAChD,MAAM,eAAe,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,wCAAgC,CAAC,CAAC,CAAC;IACjF,MAAM,iBAAiB,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,0CAAkC,CAAC,CAAC,CAAC;IACrF,OAAO,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACrD,CAAC;AAJD,kDAIC;AAED,mFAAmF;AACtE,QAAA,qBAAqB,GAAG,oBAAoB,CAAC;AAE1D,SAAgB,mBAAmB,CAAC,QAAgB;IAChD,OAAO,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,6BAAqB,CAAC,CAAC,CAAC;AACzD,CAAC;AAFD,kDAEC"}
@@ -19,10 +19,15 @@ export interface ResolvedPromptTemplate {
19
19
  export declare const PromptService: unique symbol;
20
20
  export interface PromptService {
21
21
  /**
22
- * Retrieve the raw {@link PromptTemplate} object.
22
+ * Retrieve the raw {@link PromptTemplate} object (unresolved variables, functions and including comments).
23
23
  * @param id the id of the {@link PromptTemplate}
24
24
  */
25
25
  getRawPrompt(id: string): PromptTemplate | undefined;
26
+ /**
27
+ * Retrieve the unresolved {@link PromptTemplate} object (unresolved variables, functions, excluding comments)
28
+ * @param id the id of the {@link PromptTemplate}
29
+ */
30
+ getUnresolvedPrompt(id: string): PromptTemplate | undefined;
26
31
  /**
27
32
  * Retrieve the default raw {@link PromptTemplate} object.
28
33
  * @param id the id of the {@link PromptTemplate}
@@ -121,6 +126,8 @@ export declare class PromptServiceImpl implements PromptService {
121
126
  protected _prompts: PromptMap;
122
127
  getRawPrompt(id: string): PromptTemplate | undefined;
123
128
  getDefaultRawPrompt(id: string): PromptTemplate | undefined;
129
+ getUnresolvedPrompt(id: string): PromptTemplate | undefined;
130
+ protected stripComments(template: string): string;
124
131
  getPrompt(id: string, args?: {
125
132
  [key: string]: unknown;
126
133
  }): Promise<ResolvedPromptTemplate | undefined>;
@@ -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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"}
@@ -59,12 +59,26 @@ let PromptServiceImpl = class PromptServiceImpl {
59
59
  getDefaultRawPrompt(id) {
60
60
  return this._prompts[id];
61
61
  }
62
+ getUnresolvedPrompt(id) {
63
+ const rawPrompt = this.getRawPrompt(id);
64
+ if (!rawPrompt) {
65
+ return undefined;
66
+ }
67
+ return {
68
+ id: rawPrompt.id,
69
+ template: this.stripComments(rawPrompt.template)
70
+ };
71
+ }
72
+ stripComments(template) {
73
+ const commentRegex = /^\s*{{!--[\s\S]*?--}}\s*\n?/;
74
+ return commentRegex.test(template) ? template.replace(commentRegex, '').trimStart() : template;
75
+ }
62
76
  async getPrompt(id, args) {
63
- const prompt = this.getRawPrompt(id);
77
+ const prompt = this.getUnresolvedPrompt(id);
64
78
  if (prompt === undefined) {
65
79
  return undefined;
66
80
  }
67
- const matches = [...prompt.template.matchAll(prompt_service_util_1.PROMPT_VARIABLE_REGEX)];
81
+ const matches = (0, prompt_service_util_1.matchVariablesRegEx)(prompt.template);
68
82
  const variableAndArgReplacements = await Promise.all(matches.map(async (match) => {
69
83
  var _a, _b, _c, _d;
70
84
  const completeText = match[0];
@@ -84,7 +98,7 @@ let PromptServiceImpl = class PromptServiceImpl {
84
98
  }, {})))) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : completeText)
85
99
  };
86
100
  }));
87
- const functionMatches = [...prompt.template.matchAll(prompt_service_util_1.PROMPT_FUNCTION_REGEX)];
101
+ const functionMatches = (0, prompt_service_util_1.matchFunctionsRegEx)(prompt.template);
88
102
  const functions = new Map();
89
103
  const functionReplacements = functionMatches.map(match => {
90
104
  var _a;
@@ -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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"}
@@ -36,12 +36,14 @@ describe('PromptService', () => {
36
36
  promptService.storePrompt('1', 'Hello, {{name}}!');
37
37
  promptService.storePrompt('2', 'Goodbye, {{name}}!');
38
38
  promptService.storePrompt('3', 'Ciao, {{invalid}}!');
39
+ promptService.storePrompt('8', 'Hello, {{{name}}}');
39
40
  });
40
41
  it('should initialize prompts from PromptCollectionService', () => {
41
42
  const allPrompts = promptService.getAllPrompts();
42
43
  (0, chai_1.expect)(allPrompts['1'].template).to.equal('Hello, {{name}}!');
43
44
  (0, chai_1.expect)(allPrompts['2'].template).to.equal('Goodbye, {{name}}!');
44
45
  (0, chai_1.expect)(allPrompts['3'].template).to.equal('Ciao, {{invalid}}!');
46
+ (0, chai_1.expect)(allPrompts['8'].template).to.equal('Hello, {{{name}}}');
45
47
  });
46
48
  it('should retrieve raw prompt by id', () => {
47
49
  const rawPrompt = promptService.getRawPrompt('1');
@@ -82,5 +84,124 @@ describe('PromptService', () => {
82
84
  (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('Hello, John!');
83
85
  }
84
86
  });
87
+ it('should retrieve raw prompt by id (three bracket)', () => {
88
+ const rawPrompt = promptService.getRawPrompt('8');
89
+ (0, chai_1.expect)(rawPrompt === null || rawPrompt === void 0 ? void 0 : rawPrompt.template).to.equal('Hello, {{{name}}}');
90
+ });
91
+ it('should correctly replace variables (three brackets)', async () => {
92
+ const formattedPrompt = await promptService.getPrompt('8');
93
+ (0, chai_1.expect)(formattedPrompt === null || formattedPrompt === void 0 ? void 0 : formattedPrompt.text).to.equal('Hello, Jane');
94
+ });
95
+ it('should ignore whitespace in variables (three bracket)', async () => {
96
+ promptService.storePrompt('9', 'Hello, {{{name }}}');
97
+ promptService.storePrompt('10', 'Hello, {{{ name}}}');
98
+ promptService.storePrompt('11', 'Hello, {{{ name }}}');
99
+ promptService.storePrompt('12', 'Hello, {{{ name }}}');
100
+ for (let i = 9; i <= 12; i++) {
101
+ const prompt = await promptService.getPrompt(`${i}`, { name: 'John' });
102
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('Hello, John');
103
+ }
104
+ });
105
+ it('should ignore invalid prompts with unmatched brackets', async () => {
106
+ promptService.storePrompt('9', 'Hello, {{name');
107
+ promptService.storePrompt('10', 'Hello, {{{name');
108
+ promptService.storePrompt('11', 'Hello, name}}}}');
109
+ const prompt1 = await promptService.getPrompt('9', { name: 'John' });
110
+ (0, chai_1.expect)(prompt1 === null || prompt1 === void 0 ? void 0 : prompt1.text).to.equal('Hello, {{name'); // Not matching due to missing closing brackets
111
+ const prompt2 = await promptService.getPrompt('10', { name: 'John' });
112
+ (0, chai_1.expect)(prompt2 === null || prompt2 === void 0 ? void 0 : prompt2.text).to.equal('Hello, {{{name'); // Matches pattern due to valid three-start-two-end brackets
113
+ const prompt3 = await promptService.getPrompt('11', { name: 'John' });
114
+ (0, chai_1.expect)(prompt3 === null || prompt3 === void 0 ? void 0 : prompt3.text).to.equal('Hello, name}}}}'); // Extra closing bracket, does not match cleanly
115
+ });
116
+ it('should handle a mixture of two and three brackets correctly', async () => {
117
+ promptService.storePrompt('12', 'Hi, {{name}}}'); // (invalid)
118
+ promptService.storePrompt('13', 'Hello, {{{name}}'); // (invalid)
119
+ promptService.storePrompt('14', 'Greetings, {{{name}}}}'); // (invalid)
120
+ promptService.storePrompt('15', 'Bye, {{{{name}}}'); // (invalid)
121
+ promptService.storePrompt('16', 'Ciao, {{{{name}}}}'); // (invalid)
122
+ promptService.storePrompt('17', 'Hi, {{name}}! {{{name}}}'); // Mixed valid patterns
123
+ const prompt12 = await promptService.getPrompt('12', { name: 'John' });
124
+ (0, chai_1.expect)(prompt12 === null || prompt12 === void 0 ? void 0 : prompt12.text).to.equal('Hi, {{name}}}');
125
+ const prompt13 = await promptService.getPrompt('13', { name: 'John' });
126
+ (0, chai_1.expect)(prompt13 === null || prompt13 === void 0 ? void 0 : prompt13.text).to.equal('Hello, {{{name}}');
127
+ const prompt14 = await promptService.getPrompt('14', { name: 'John' });
128
+ (0, chai_1.expect)(prompt14 === null || prompt14 === void 0 ? void 0 : prompt14.text).to.equal('Greetings, {{{name}}}}');
129
+ const prompt15 = await promptService.getPrompt('15', { name: 'John' });
130
+ (0, chai_1.expect)(prompt15 === null || prompt15 === void 0 ? void 0 : prompt15.text).to.equal('Bye, {{{{name}}}');
131
+ const prompt16 = await promptService.getPrompt('16', { name: 'John' });
132
+ (0, chai_1.expect)(prompt16 === null || prompt16 === void 0 ? void 0 : prompt16.text).to.equal('Ciao, {{{{name}}}}');
133
+ const prompt17 = await promptService.getPrompt('17', { name: 'John' });
134
+ (0, chai_1.expect)(prompt17 === null || prompt17 === void 0 ? void 0 : prompt17.text).to.equal('Hi, John! John');
135
+ });
136
+ it('should strip single-line comments at the start of the template', () => {
137
+ promptService.storePrompt('comment-basic', '{{!-- Comment --}}Hello, {{name}}!');
138
+ const prompt = promptService.getUnresolvedPrompt('comment-basic');
139
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('Hello, {{name}}!');
140
+ });
141
+ it('should remove line break after first-line comment', () => {
142
+ promptService.storePrompt('comment-line-break', '{{!-- Comment --}}\nHello, {{name}}!');
143
+ const prompt = promptService.getUnresolvedPrompt('comment-line-break');
144
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('Hello, {{name}}!');
145
+ });
146
+ it('should strip multiline comments at the start of the template', () => {
147
+ promptService.storePrompt('comment-multiline', '{{!--\nMultiline comment\n--}}\nGoodbye, {{name}}!');
148
+ const prompt = promptService.getUnresolvedPrompt('comment-multiline');
149
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('Goodbye, {{name}}!');
150
+ });
151
+ it('should not strip comments not in the first line', () => {
152
+ promptService.storePrompt('comment-second-line', 'Hello, {{name}}!\n{{!-- Comment --}}');
153
+ const prompt = promptService.getUnresolvedPrompt('comment-second-line');
154
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('Hello, {{name}}!\n{{!-- Comment --}}');
155
+ });
156
+ it('should treat unclosed comments as regular text', () => {
157
+ promptService.storePrompt('comment-unclosed', '{{!-- Unclosed comment');
158
+ const prompt = promptService.getUnresolvedPrompt('comment-unclosed');
159
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('{{!-- Unclosed comment');
160
+ });
161
+ it('should treat standalone closing delimiters as regular text', () => {
162
+ promptService.storePrompt('comment-standalone', '--}} Hello, {{name}}!');
163
+ const prompt = promptService.getUnresolvedPrompt('comment-standalone');
164
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('--}} Hello, {{name}}!');
165
+ });
166
+ it('should handle nested comments and stop at the first closing tag', () => {
167
+ promptService.storePrompt('nested-comment', '{{!-- {{!-- Nested comment --}} --}}text');
168
+ const prompt = promptService.getUnresolvedPrompt('nested-comment');
169
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('--}}text');
170
+ });
171
+ it('should handle templates with only comments', () => {
172
+ promptService.storePrompt('comment-only', '{{!-- Only comments --}}');
173
+ const prompt = promptService.getUnresolvedPrompt('comment-only');
174
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('');
175
+ });
176
+ it('should handle mixed delimiters on the same line', () => {
177
+ promptService.storePrompt('comment-mixed', '{{!-- Unclosed comment --}}');
178
+ const prompt = promptService.getUnresolvedPrompt('comment-mixed');
179
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('');
180
+ });
181
+ it('should resolve variables after stripping single-line comments', async () => {
182
+ promptService.storePrompt('comment-resolve', '{{!-- Comment --}}Hello, {{name}}!');
183
+ const prompt = await promptService.getPrompt('comment-resolve', { name: 'John' });
184
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('Hello, John!');
185
+ });
186
+ it('should resolve variables in multiline templates with comments', async () => {
187
+ promptService.storePrompt('comment-multiline-vars', '{{!--\nMultiline comment\n--}}\nHello, {{name}}!');
188
+ const prompt = await promptService.getPrompt('comment-multiline-vars', { name: 'John' });
189
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('Hello, John!');
190
+ });
191
+ it('should resolve variables with standalone closing delimiters', async () => {
192
+ promptService.storePrompt('comment-standalone-vars', '--}} Hello, {{name}}!');
193
+ const prompt = await promptService.getPrompt('comment-standalone-vars', { name: 'John' });
194
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('--}} Hello, John!');
195
+ });
196
+ it('should treat unclosed comments as text and resolve variables', async () => {
197
+ promptService.storePrompt('comment-unclosed-vars', '{{!-- Unclosed comment\nHello, {{name}}!');
198
+ const prompt = await promptService.getPrompt('comment-unclosed-vars', { name: 'John' });
199
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('{{!-- Unclosed comment\nHello, John!');
200
+ });
201
+ it('should handle templates with mixed comments and variables', async () => {
202
+ promptService.storePrompt('comment-mixed-vars', '{{!-- Comment --}}Hi, {{name}}! {{!-- Another comment --}}');
203
+ const prompt = await promptService.getPrompt('comment-mixed-vars', { name: 'John' });
204
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('Hi, John! {{!-- Another comment --}}');
205
+ });
85
206
  });
86
207
  //# 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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"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@theia/ai-core",
3
- "version": "1.55.0-next.71+f3c5f5739",
3
+ "version": "1.55.0-next.97+52cad8a35",
4
4
  "description": "Theia - AI Core",
5
5
  "dependencies": {
6
- "@theia/core": "1.55.0-next.71+f3c5f5739",
7
- "@theia/editor": "1.55.0-next.71+f3c5f5739",
8
- "@theia/filesystem": "1.55.0-next.71+f3c5f5739",
9
- "@theia/monaco": "1.55.0-next.71+f3c5f5739",
6
+ "@theia/core": "1.55.0-next.97+52cad8a35",
7
+ "@theia/editor": "1.55.0-next.97+52cad8a35",
8
+ "@theia/filesystem": "1.55.0-next.97+52cad8a35",
9
+ "@theia/monaco": "1.55.0-next.97+52cad8a35",
10
10
  "@theia/monaco-editor-core": "1.83.101",
11
- "@theia/output": "1.55.0-next.71+f3c5f5739",
12
- "@theia/variable-resolver": "1.55.0-next.71+f3c5f5739",
13
- "@theia/workspace": "1.55.0-next.71+f3c5f5739",
11
+ "@theia/output": "1.55.0-next.97+52cad8a35",
12
+ "@theia/variable-resolver": "1.55.0-next.97+52cad8a35",
13
+ "@theia/workspace": "1.55.0-next.97+52cad8a35",
14
14
  "@types/js-yaml": "^4.0.9",
15
15
  "js-yaml": "^4.1.0",
16
16
  "minimatch": "^5.1.0",
@@ -57,5 +57,5 @@
57
57
  "nyc": {
58
58
  "extends": "../../configs/nyc.json"
59
59
  },
60
- "gitHead": "f3c5f573995afb0f0042765f5d7685f105d12313"
60
+ "gitHead": "52cad8a35c3c86231f1b3efc74608bd159840a69"
61
61
  }
@@ -23,8 +23,8 @@ import {
23
23
  AIVariableService,
24
24
  LanguageModel,
25
25
  LanguageModelRegistry,
26
+ matchVariablesRegEx,
26
27
  PROMPT_FUNCTION_REGEX,
27
- PROMPT_VARIABLE_REGEX,
28
28
  PromptCustomizationService,
29
29
  PromptService,
30
30
  } from '../../common';
@@ -112,7 +112,7 @@ export class AIAgentConfigurationWidget extends ReactWidget {
112
112
  }
113
113
 
114
114
  private renderAgentName(agent: Agent): React.ReactNode {
115
- const tagsSuffix = agent.tags?.length ? <span>{agent.tags.map(tag => <span className='agent-tag'>{tag}</span>)}</span> : '';
115
+ const tagsSuffix = agent.tags?.length ? <span>{agent.tags.map(tag => <span key={tag} className='agent-tag'>{tag}</span>)}</span> : '';
116
116
  return <span>{agent.name} {tagsSuffix}</span>;
117
117
  }
118
118
 
@@ -180,9 +180,9 @@ export class AIAgentConfigurationWidget extends ReactWidget {
180
180
  const promptTemplates = agent.promptTemplates;
181
181
  const result: ParsedPrompt = { functions: [], globalVariables: [], agentSpecificVariables: [] };
182
182
  promptTemplates.forEach(template => {
183
- const storedPrompt = this.promptService.getRawPrompt(template.id);
183
+ const storedPrompt = this.promptService.getUnresolvedPrompt(template.id);
184
184
  const prompt = storedPrompt?.template ?? template.template;
185
- const variableMatches = [...prompt.matchAll(PROMPT_VARIABLE_REGEX)];
185
+ const variableMatches = matchVariablesRegEx(prompt);
186
186
 
187
187
  variableMatches.forEach(match => {
188
188
  const variableId = match[1];
@@ -99,7 +99,7 @@ export const LanguageModelRenderer: React.FC<LanguageModelSettingsProps> = (
99
99
  onChange={event => onSelectedModelChange(requirements.purpose, event)}
100
100
  >
101
101
  <option value=""></option>
102
- {languageModels?.map(model => (
102
+ {languageModels?.sort((a, b) => (a.name ?? a.id).localeCompare(b.name ?? b.id)).map(model => (
103
103
  <option key={model.id} value={model.id}>{model.name ?? model.id}</option>
104
104
  ))}
105
105
  </select>
@@ -60,7 +60,7 @@ export interface Agent {
60
60
  readonly languageModelRequirements: LanguageModelRequirement[];
61
61
 
62
62
  /** A list of tags to filter agents and to display capabilities in the UI */
63
- readonly tags?: String[];
63
+ readonly tags?: string[];
64
64
 
65
65
  /** The list of local variable identifiers this agent needs to clarify its context requirements. */
66
66
  readonly agentSpecificVariables: AgentSpecificVariables[];
@@ -14,8 +14,18 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- /** Should match the one from VariableResolverService. The format is `{{variableName:arg}}`. */
18
- export const PROMPT_VARIABLE_REGEX = /\{\{\s*(.*?)\s*\}\}/g;
17
+ /** Should match the one from VariableResolverService. The format is `{{variableName:arg}}`. We allow {{}} and {{{}}} but no mixtures */
18
+ export const PROMPT_VARIABLE_TWO_BRACES_REGEX = /(?<!\{)\{\{\s*([^{}]+?)\s*\}\}(?!\})/g;
19
+ export const PROMPT_VARIABLE_THREE_BRACES_REGEX = /(?<!\{)\{\{\{\s*([^{}]+?)\s*\}\}\}(?!\})/g;
20
+ export function matchVariablesRegEx(template: string): RegExpMatchArray[] {
21
+ const twoBraceMatches = [...template.matchAll(PROMPT_VARIABLE_TWO_BRACES_REGEX)];
22
+ const threeBraceMatches = [...template.matchAll(PROMPT_VARIABLE_THREE_BRACES_REGEX)];
23
+ return twoBraceMatches.concat(threeBraceMatches);
24
+ }
19
25
 
20
26
  /** Match function/tool references in the prompt. The format is `~{functionId}`. */
21
27
  export const PROMPT_FUNCTION_REGEX = /\~\{\s*(.*?)\s*\}/g;
28
+
29
+ export function matchFunctionsRegEx(template: string): RegExpMatchArray[] {
30
+ return [...template.matchAll(PROMPT_FUNCTION_REGEX)];
31
+ }
@@ -40,6 +40,7 @@ describe('PromptService', () => {
40
40
  promptService.storePrompt('1', 'Hello, {{name}}!');
41
41
  promptService.storePrompt('2', 'Goodbye, {{name}}!');
42
42
  promptService.storePrompt('3', 'Ciao, {{invalid}}!');
43
+ promptService.storePrompt('8', 'Hello, {{{name}}}');
43
44
  });
44
45
 
45
46
  it('should initialize prompts from PromptCollectionService', () => {
@@ -47,6 +48,7 @@ describe('PromptService', () => {
47
48
  expect(allPrompts['1'].template).to.equal('Hello, {{name}}!');
48
49
  expect(allPrompts['2'].template).to.equal('Goodbye, {{name}}!');
49
50
  expect(allPrompts['3'].template).to.equal('Ciao, {{invalid}}!');
51
+ expect(allPrompts['8'].template).to.equal('Hello, {{{name}}}');
50
52
  });
51
53
 
52
54
  it('should retrieve raw prompt by id', () => {
@@ -95,4 +97,151 @@ describe('PromptService', () => {
95
97
  expect(prompt?.text).to.equal('Hello, John!');
96
98
  }
97
99
  });
100
+
101
+ it('should retrieve raw prompt by id (three bracket)', () => {
102
+ const rawPrompt = promptService.getRawPrompt('8');
103
+ expect(rawPrompt?.template).to.equal('Hello, {{{name}}}');
104
+ });
105
+
106
+ it('should correctly replace variables (three brackets)', async () => {
107
+ const formattedPrompt = await promptService.getPrompt('8');
108
+ expect(formattedPrompt?.text).to.equal('Hello, Jane');
109
+ });
110
+
111
+ it('should ignore whitespace in variables (three bracket)', async () => {
112
+ promptService.storePrompt('9', 'Hello, {{{name }}}');
113
+ promptService.storePrompt('10', 'Hello, {{{ name}}}');
114
+ promptService.storePrompt('11', 'Hello, {{{ name }}}');
115
+ promptService.storePrompt('12', 'Hello, {{{ name }}}');
116
+ for (let i = 9; i <= 12; i++) {
117
+ const prompt = await promptService.getPrompt(`${i}`, { name: 'John' });
118
+ expect(prompt?.text).to.equal('Hello, John');
119
+ }
120
+ });
121
+
122
+ it('should ignore invalid prompts with unmatched brackets', async () => {
123
+ promptService.storePrompt('9', 'Hello, {{name');
124
+ promptService.storePrompt('10', 'Hello, {{{name');
125
+ promptService.storePrompt('11', 'Hello, name}}}}');
126
+ const prompt1 = await promptService.getPrompt('9', { name: 'John' });
127
+ expect(prompt1?.text).to.equal('Hello, {{name'); // Not matching due to missing closing brackets
128
+
129
+ const prompt2 = await promptService.getPrompt('10', { name: 'John' });
130
+ expect(prompt2?.text).to.equal('Hello, {{{name'); // Matches pattern due to valid three-start-two-end brackets
131
+
132
+ const prompt3 = await promptService.getPrompt('11', { name: 'John' });
133
+ expect(prompt3?.text).to.equal('Hello, name}}}}'); // Extra closing bracket, does not match cleanly
134
+ });
135
+
136
+ it('should handle a mixture of two and three brackets correctly', async () => {
137
+ promptService.storePrompt('12', 'Hi, {{name}}}'); // (invalid)
138
+ promptService.storePrompt('13', 'Hello, {{{name}}'); // (invalid)
139
+ promptService.storePrompt('14', 'Greetings, {{{name}}}}'); // (invalid)
140
+ promptService.storePrompt('15', 'Bye, {{{{name}}}'); // (invalid)
141
+ promptService.storePrompt('16', 'Ciao, {{{{name}}}}'); // (invalid)
142
+ promptService.storePrompt('17', 'Hi, {{name}}! {{{name}}}'); // Mixed valid patterns
143
+
144
+ const prompt12 = await promptService.getPrompt('12', { name: 'John' });
145
+ expect(prompt12?.text).to.equal('Hi, {{name}}}');
146
+
147
+ const prompt13 = await promptService.getPrompt('13', { name: 'John' });
148
+ expect(prompt13?.text).to.equal('Hello, {{{name}}');
149
+
150
+ const prompt14 = await promptService.getPrompt('14', { name: 'John' });
151
+ expect(prompt14?.text).to.equal('Greetings, {{{name}}}}');
152
+
153
+ const prompt15 = await promptService.getPrompt('15', { name: 'John' });
154
+ expect(prompt15?.text).to.equal('Bye, {{{{name}}}');
155
+
156
+ const prompt16 = await promptService.getPrompt('16', { name: 'John' });
157
+ expect(prompt16?.text).to.equal('Ciao, {{{{name}}}}');
158
+
159
+ const prompt17 = await promptService.getPrompt('17', { name: 'John' });
160
+ expect(prompt17?.text).to.equal('Hi, John! John');
161
+ });
162
+
163
+ it('should strip single-line comments at the start of the template', () => {
164
+ promptService.storePrompt('comment-basic', '{{!-- Comment --}}Hello, {{name}}!');
165
+ const prompt = promptService.getUnresolvedPrompt('comment-basic');
166
+ expect(prompt?.template).to.equal('Hello, {{name}}!');
167
+ });
168
+
169
+ it('should remove line break after first-line comment', () => {
170
+ promptService.storePrompt('comment-line-break', '{{!-- Comment --}}\nHello, {{name}}!');
171
+ const prompt = promptService.getUnresolvedPrompt('comment-line-break');
172
+ expect(prompt?.template).to.equal('Hello, {{name}}!');
173
+ });
174
+
175
+ it('should strip multiline comments at the start of the template', () => {
176
+ promptService.storePrompt('comment-multiline', '{{!--\nMultiline comment\n--}}\nGoodbye, {{name}}!');
177
+ const prompt = promptService.getUnresolvedPrompt('comment-multiline');
178
+ expect(prompt?.template).to.equal('Goodbye, {{name}}!');
179
+ });
180
+
181
+ it('should not strip comments not in the first line', () => {
182
+ promptService.storePrompt('comment-second-line', 'Hello, {{name}}!\n{{!-- Comment --}}');
183
+ const prompt = promptService.getUnresolvedPrompt('comment-second-line');
184
+ expect(prompt?.template).to.equal('Hello, {{name}}!\n{{!-- Comment --}}');
185
+ });
186
+
187
+ it('should treat unclosed comments as regular text', () => {
188
+ promptService.storePrompt('comment-unclosed', '{{!-- Unclosed comment');
189
+ const prompt = promptService.getUnresolvedPrompt('comment-unclosed');
190
+ expect(prompt?.template).to.equal('{{!-- Unclosed comment');
191
+ });
192
+
193
+ it('should treat standalone closing delimiters as regular text', () => {
194
+ promptService.storePrompt('comment-standalone', '--}} Hello, {{name}}!');
195
+ const prompt = promptService.getUnresolvedPrompt('comment-standalone');
196
+ expect(prompt?.template).to.equal('--}} Hello, {{name}}!');
197
+ });
198
+
199
+ it('should handle nested comments and stop at the first closing tag', () => {
200
+ promptService.storePrompt('nested-comment', '{{!-- {{!-- Nested comment --}} --}}text');
201
+ const prompt = promptService.getUnresolvedPrompt('nested-comment');
202
+ expect(prompt?.template).to.equal('--}}text');
203
+ });
204
+
205
+ it('should handle templates with only comments', () => {
206
+ promptService.storePrompt('comment-only', '{{!-- Only comments --}}');
207
+ const prompt = promptService.getUnresolvedPrompt('comment-only');
208
+ expect(prompt?.template).to.equal('');
209
+ });
210
+
211
+ it('should handle mixed delimiters on the same line', () => {
212
+ promptService.storePrompt('comment-mixed', '{{!-- Unclosed comment --}}');
213
+ const prompt = promptService.getUnresolvedPrompt('comment-mixed');
214
+ expect(prompt?.template).to.equal('');
215
+ });
216
+
217
+ it('should resolve variables after stripping single-line comments', async () => {
218
+ promptService.storePrompt('comment-resolve', '{{!-- Comment --}}Hello, {{name}}!');
219
+ const prompt = await promptService.getPrompt('comment-resolve', { name: 'John' });
220
+ expect(prompt?.text).to.equal('Hello, John!');
221
+ });
222
+
223
+ it('should resolve variables in multiline templates with comments', async () => {
224
+ promptService.storePrompt('comment-multiline-vars', '{{!--\nMultiline comment\n--}}\nHello, {{name}}!');
225
+ const prompt = await promptService.getPrompt('comment-multiline-vars', { name: 'John' });
226
+ expect(prompt?.text).to.equal('Hello, John!');
227
+ });
228
+
229
+ it('should resolve variables with standalone closing delimiters', async () => {
230
+ promptService.storePrompt('comment-standalone-vars', '--}} Hello, {{name}}!');
231
+ const prompt = await promptService.getPrompt('comment-standalone-vars', { name: 'John' });
232
+ expect(prompt?.text).to.equal('--}} Hello, John!');
233
+ });
234
+
235
+ it('should treat unclosed comments as text and resolve variables', async () => {
236
+ promptService.storePrompt('comment-unclosed-vars', '{{!-- Unclosed comment\nHello, {{name}}!');
237
+ const prompt = await promptService.getPrompt('comment-unclosed-vars', { name: 'John' });
238
+ expect(prompt?.text).to.equal('{{!-- Unclosed comment\nHello, John!');
239
+ });
240
+
241
+ it('should handle templates with mixed comments and variables', async () => {
242
+ promptService.storePrompt('comment-mixed-vars', '{{!-- Comment --}}Hi, {{name}}! {{!-- Another comment --}}');
243
+ const prompt = await promptService.getPrompt('comment-mixed-vars', { name: 'John' });
244
+ expect(prompt?.text).to.equal('Hi, John! {{!-- Another comment --}}');
245
+ });
246
+
98
247
  });
@@ -20,7 +20,7 @@ import { 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';
23
- import { PROMPT_VARIABLE_REGEX, PROMPT_FUNCTION_REGEX } from './prompt-service-util';
23
+ import { matchFunctionsRegEx, matchVariablesRegEx } from './prompt-service-util';
24
24
 
25
25
  export interface PromptTemplate {
26
26
  id: string;
@@ -40,10 +40,15 @@ export interface ResolvedPromptTemplate {
40
40
  export const PromptService = Symbol('PromptService');
41
41
  export interface PromptService {
42
42
  /**
43
- * Retrieve the raw {@link PromptTemplate} object.
43
+ * Retrieve the raw {@link PromptTemplate} object (unresolved variables, functions and including comments).
44
44
  * @param id the id of the {@link PromptTemplate}
45
45
  */
46
46
  getRawPrompt(id: string): PromptTemplate | undefined;
47
+ /**
48
+ * Retrieve the unresolved {@link PromptTemplate} object (unresolved variables, functions, excluding comments)
49
+ * @param id the id of the {@link PromptTemplate}
50
+ */
51
+ getUnresolvedPrompt(id: string): PromptTemplate | undefined;
47
52
  /**
48
53
  * Retrieve the default raw {@link PromptTemplate} object.
49
54
  * @param id the id of the {@link PromptTemplate}
@@ -181,13 +186,30 @@ export class PromptServiceImpl implements PromptService {
181
186
  getDefaultRawPrompt(id: string): PromptTemplate | undefined {
182
187
  return this._prompts[id];
183
188
  }
189
+
190
+ getUnresolvedPrompt(id: string): PromptTemplate | undefined {
191
+ const rawPrompt = this.getRawPrompt(id);
192
+ if (!rawPrompt) {
193
+ return undefined;
194
+ }
195
+ return {
196
+ id: rawPrompt.id,
197
+ template: this.stripComments(rawPrompt.template)
198
+ };
199
+ }
200
+
201
+ protected stripComments(template: string): string {
202
+ const commentRegex = /^\s*{{!--[\s\S]*?--}}\s*\n?/;
203
+ return commentRegex.test(template) ? template.replace(commentRegex, '').trimStart() : template;
204
+ }
205
+
184
206
  async getPrompt(id: string, args?: { [key: string]: unknown }): Promise<ResolvedPromptTemplate | undefined> {
185
- const prompt = this.getRawPrompt(id);
207
+ const prompt = this.getUnresolvedPrompt(id);
186
208
  if (prompt === undefined) {
187
209
  return undefined;
188
210
  }
189
211
 
190
- const matches = [...prompt.template.matchAll(PROMPT_VARIABLE_REGEX)];
212
+ const matches = matchVariablesRegEx(prompt.template);
191
213
  const variableAndArgReplacements = await Promise.all(matches.map(async match => {
192
214
  const completeText = match[0];
193
215
  const variableAndArg = match[1];
@@ -207,7 +229,7 @@ export class PromptServiceImpl implements PromptService {
207
229
  };
208
230
  }));
209
231
 
210
- const functionMatches = [...prompt.template.matchAll(PROMPT_FUNCTION_REGEX)];
232
+ const functionMatches = matchFunctionsRegEx(prompt.template);
211
233
  const functions = new Map<string, ToolRequest>();
212
234
  const functionReplacements = functionMatches.map(match => {
213
235
  const completeText = match[0];