@theia/ai-core 1.67.0-next.56 → 1.67.0-next.86

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 (243) hide show
  1. package/lib/browser/agent-completion-notification-service.d.ts +69 -0
  2. package/lib/browser/agent-completion-notification-service.d.ts.map +1 -0
  3. package/lib/browser/agent-completion-notification-service.js +187 -0
  4. package/lib/browser/agent-completion-notification-service.js.map +1 -0
  5. package/lib/browser/ai-activation-service.d.ts +31 -0
  6. package/lib/browser/ai-activation-service.d.ts.map +1 -0
  7. package/lib/browser/ai-activation-service.js +56 -0
  8. package/lib/browser/ai-activation-service.js.map +1 -0
  9. package/lib/browser/ai-command-handler-factory.d.ts +4 -0
  10. package/lib/browser/ai-command-handler-factory.d.ts.map +1 -0
  11. package/lib/browser/ai-command-handler-factory.js +20 -0
  12. package/lib/browser/ai-command-handler-factory.js.map +1 -0
  13. package/lib/browser/ai-core-command-contribution.d.ts +8 -0
  14. package/lib/browser/ai-core-command-contribution.d.ts.map +1 -0
  15. package/lib/browser/ai-core-command-contribution.js +44 -0
  16. package/lib/browser/ai-core-command-contribution.js.map +1 -0
  17. package/lib/browser/ai-core-frontend-application-contribution.d.ts +10 -0
  18. package/lib/browser/ai-core-frontend-application-contribution.d.ts.map +1 -0
  19. package/lib/browser/ai-core-frontend-application-contribution.js +46 -0
  20. package/lib/browser/ai-core-frontend-application-contribution.js.map +1 -0
  21. package/lib/browser/ai-core-frontend-module.d.ts +4 -0
  22. package/lib/browser/ai-core-frontend-module.d.ts.map +1 -0
  23. package/lib/browser/ai-core-frontend-module.js +137 -0
  24. package/lib/browser/ai-core-frontend-module.js.map +1 -0
  25. package/lib/browser/ai-settings-service.d.ts +16 -0
  26. package/lib/browser/ai-settings-service.d.ts.map +1 -0
  27. package/lib/browser/ai-settings-service.js +76 -0
  28. package/lib/browser/ai-settings-service.js.map +1 -0
  29. package/lib/browser/ai-variable-uri-label-provider.d.ts +17 -0
  30. package/lib/browser/ai-variable-uri-label-provider.d.ts.map +1 -0
  31. package/lib/browser/ai-variable-uri-label-provider.js +85 -0
  32. package/lib/browser/ai-variable-uri-label-provider.js.map +1 -0
  33. package/lib/browser/ai-view-contribution.d.ts +14 -0
  34. package/lib/browser/ai-view-contribution.d.ts.map +1 -0
  35. package/lib/browser/ai-view-contribution.js +87 -0
  36. package/lib/browser/ai-view-contribution.js.map +1 -0
  37. package/lib/browser/file-variable-contribution.d.ts +23 -0
  38. package/lib/browser/file-variable-contribution.d.ts.map +1 -0
  39. package/lib/browser/file-variable-contribution.js +114 -0
  40. package/lib/browser/file-variable-contribution.js.map +1 -0
  41. package/lib/browser/frontend-language-model-alias-registry.d.ts +31 -0
  42. package/lib/browser/frontend-language-model-alias-registry.d.ts.map +1 -0
  43. package/lib/browser/frontend-language-model-alias-registry.js +170 -0
  44. package/lib/browser/frontend-language-model-alias-registry.js.map +1 -0
  45. package/lib/browser/frontend-language-model-registry.d.ts +49 -0
  46. package/lib/browser/frontend-language-model-registry.d.ts.map +1 -0
  47. package/lib/browser/frontend-language-model-registry.js +387 -0
  48. package/lib/browser/frontend-language-model-registry.js.map +1 -0
  49. package/lib/browser/frontend-language-model-registry.spec.d.ts +2 -0
  50. package/lib/browser/frontend-language-model-registry.spec.d.ts.map +1 -0
  51. package/lib/browser/frontend-language-model-registry.spec.js +248 -0
  52. package/lib/browser/frontend-language-model-registry.spec.js.map +1 -0
  53. package/lib/browser/frontend-language-model-service.d.ts +10 -0
  54. package/lib/browser/frontend-language-model-service.d.ts.map +1 -0
  55. package/lib/browser/frontend-language-model-service.js +66 -0
  56. package/lib/browser/frontend-language-model-service.js.map +1 -0
  57. package/lib/browser/frontend-prompt-customization-service.d.ts +271 -0
  58. package/lib/browser/frontend-prompt-customization-service.d.ts.map +1 -0
  59. package/lib/browser/frontend-prompt-customization-service.js +869 -0
  60. package/lib/browser/frontend-prompt-customization-service.js.map +1 -0
  61. package/lib/browser/frontend-prompt-customization-service.spec.d.ts +2 -0
  62. package/lib/browser/frontend-prompt-customization-service.spec.d.ts.map +1 -0
  63. package/lib/browser/frontend-prompt-customization-service.spec.js +127 -0
  64. package/lib/browser/frontend-prompt-customization-service.spec.js.map +1 -0
  65. package/lib/browser/frontend-variable-service.d.ts +61 -0
  66. package/lib/browser/frontend-variable-service.d.ts.map +1 -0
  67. package/lib/browser/frontend-variable-service.js +165 -0
  68. package/lib/browser/frontend-variable-service.js.map +1 -0
  69. package/lib/browser/index.d.ts +20 -0
  70. package/lib/browser/index.d.ts.map +1 -0
  71. package/lib/browser/index.js +38 -0
  72. package/lib/browser/index.js.map +1 -0
  73. package/lib/browser/open-editors-variable-contribution.d.ts +17 -0
  74. package/lib/browser/open-editors-variable-contribution.d.ts.map +1 -0
  75. package/lib/browser/open-editors-variable-contribution.js +84 -0
  76. package/lib/browser/open-editors-variable-contribution.js.map +1 -0
  77. package/lib/browser/os-notification-service.d.ts +96 -0
  78. package/lib/browser/os-notification-service.d.ts.map +1 -0
  79. package/lib/browser/os-notification-service.js +222 -0
  80. package/lib/browser/os-notification-service.js.map +1 -0
  81. package/lib/browser/prompttemplate-contribution.d.ts +29 -0
  82. package/lib/browser/prompttemplate-contribution.d.ts.map +1 -0
  83. package/lib/browser/prompttemplate-contribution.js +246 -0
  84. package/lib/browser/prompttemplate-contribution.js.map +1 -0
  85. package/lib/browser/prompttemplate-parser.d.ts +36 -0
  86. package/lib/browser/prompttemplate-parser.d.ts.map +1 -0
  87. package/lib/browser/prompttemplate-parser.js +94 -0
  88. package/lib/browser/prompttemplate-parser.js.map +1 -0
  89. package/lib/browser/theia-variable-contribution.d.ts +26 -0
  90. package/lib/browser/theia-variable-contribution.d.ts.map +1 -0
  91. package/lib/browser/theia-variable-contribution.js +146 -0
  92. package/lib/browser/theia-variable-contribution.js.map +1 -0
  93. package/lib/browser/token-usage-frontend-service-impl.d.ts +25 -0
  94. package/lib/browser/token-usage-frontend-service-impl.d.ts.map +1 -0
  95. package/lib/browser/token-usage-frontend-service-impl.js +138 -0
  96. package/lib/browser/token-usage-frontend-service-impl.js.map +1 -0
  97. package/lib/browser/token-usage-frontend-service.d.ts +33 -0
  98. package/lib/browser/token-usage-frontend-service.d.ts.map +1 -0
  99. package/lib/browser/token-usage-frontend-service.js +23 -0
  100. package/lib/browser/token-usage-frontend-service.js.map +1 -0
  101. package/lib/browser/window-blink-service.d.ts +41 -0
  102. package/lib/browser/window-blink-service.d.ts.map +1 -0
  103. package/lib/browser/window-blink-service.js +174 -0
  104. package/lib/browser/window-blink-service.js.map +1 -0
  105. package/lib/common/agent-preferences.d.ts +4 -0
  106. package/lib/common/agent-preferences.d.ts.map +1 -0
  107. package/lib/common/agent-preferences.js +84 -0
  108. package/lib/common/agent-preferences.js.map +1 -0
  109. package/lib/common/agent-service.d.ts +66 -0
  110. package/lib/common/agent-service.d.ts.map +1 -0
  111. package/lib/common/agent-service.js +104 -0
  112. package/lib/common/agent-service.js.map +1 -0
  113. package/lib/common/agent.d.ts +72 -0
  114. package/lib/common/agent.d.ts.map +1 -0
  115. package/lib/common/agent.js +20 -0
  116. package/lib/common/agent.js.map +1 -0
  117. package/lib/common/agents-variable-contribution.d.ts +19 -0
  118. package/lib/common/agents-variable-contribution.d.ts.map +1 -0
  119. package/lib/common/agents-variable-contribution.js +57 -0
  120. package/lib/common/agents-variable-contribution.js.map +1 -0
  121. package/lib/common/ai-core-preferences.d.ts +48 -0
  122. package/lib/common/ai-core-preferences.d.ts.map +1 -0
  123. package/lib/common/ai-core-preferences.js +204 -0
  124. package/lib/common/ai-core-preferences.js.map +1 -0
  125. package/lib/common/ai-variable-resource.d.ts +18 -0
  126. package/lib/common/ai-variable-resource.d.ts.map +1 -0
  127. package/lib/common/ai-variable-resource.js +103 -0
  128. package/lib/common/ai-variable-resource.js.map +1 -0
  129. package/lib/common/configurable-in-memory-resources.d.ts +47 -0
  130. package/lib/common/configurable-in-memory-resources.d.ts.map +1 -0
  131. package/lib/common/configurable-in-memory-resources.js +154 -0
  132. package/lib/common/configurable-in-memory-resources.js.map +1 -0
  133. package/lib/common/index.d.ts +22 -0
  134. package/lib/common/index.d.ts.map +1 -0
  135. package/lib/common/index.js +40 -0
  136. package/lib/common/index.js.map +1 -0
  137. package/lib/common/language-model-alias.d.ts +58 -0
  138. package/lib/common/language-model-alias.d.ts.map +1 -0
  139. package/lib/common/language-model-alias.js +20 -0
  140. package/lib/common/language-model-alias.js.map +1 -0
  141. package/lib/common/language-model-delegate.d.ts +25 -0
  142. package/lib/common/language-model-delegate.d.ts.map +1 -0
  143. package/lib/common/language-model-delegate.js +26 -0
  144. package/lib/common/language-model-delegate.js.map +1 -0
  145. package/lib/common/language-model-interaction-model.d.ts +74 -0
  146. package/lib/common/language-model-interaction-model.d.ts.map +1 -0
  147. package/lib/common/language-model-interaction-model.js +3 -0
  148. package/lib/common/language-model-interaction-model.js.map +1 -0
  149. package/lib/common/language-model-service.d.ts +38 -0
  150. package/lib/common/language-model-service.d.ts.map +1 -0
  151. package/lib/common/language-model-service.js +128 -0
  152. package/lib/common/language-model-service.js.map +1 -0
  153. package/lib/common/language-model-util.d.ts +17 -0
  154. package/lib/common/language-model-util.d.ts.map +1 -0
  155. package/lib/common/language-model-util.js +82 -0
  156. package/lib/common/language-model-util.js.map +1 -0
  157. package/lib/common/language-model.d.ts +285 -0
  158. package/lib/common/language-model.d.ts.map +1 -0
  159. package/lib/common/language-model.js +248 -0
  160. package/lib/common/language-model.js.map +1 -0
  161. package/lib/common/language-model.spec.d.ts +2 -0
  162. package/lib/common/language-model.spec.d.ts.map +1 -0
  163. package/lib/common/language-model.spec.js +62 -0
  164. package/lib/common/language-model.spec.js.map +1 -0
  165. package/lib/common/notification-types.d.ts +7 -0
  166. package/lib/common/notification-types.d.ts.map +1 -0
  167. package/lib/common/notification-types.js +29 -0
  168. package/lib/common/notification-types.js.map +1 -0
  169. package/lib/common/prompt-service-util.d.ts +8 -0
  170. package/lib/common/prompt-service-util.d.ts.map +1 -0
  171. package/lib/common/prompt-service-util.js +34 -0
  172. package/lib/common/prompt-service-util.js.map +1 -0
  173. package/lib/common/prompt-service.d.ts +467 -0
  174. package/lib/common/prompt-service.d.ts.map +1 -0
  175. package/lib/common/prompt-service.js +657 -0
  176. package/lib/common/prompt-service.js.map +1 -0
  177. package/lib/common/prompt-service.spec.d.ts +2 -0
  178. package/lib/common/prompt-service.spec.d.ts.map +1 -0
  179. package/lib/common/prompt-service.spec.js +431 -0
  180. package/lib/common/prompt-service.spec.js.map +1 -0
  181. package/lib/common/prompt-text.d.ts +8 -0
  182. package/lib/common/prompt-text.d.ts.map +1 -0
  183. package/lib/common/prompt-text.js +27 -0
  184. package/lib/common/prompt-text.js.map +1 -0
  185. package/lib/common/prompt-variable-contribution.d.ts +18 -0
  186. package/lib/common/prompt-variable-contribution.d.ts.map +1 -0
  187. package/lib/common/prompt-variable-contribution.js +207 -0
  188. package/lib/common/prompt-variable-contribution.js.map +1 -0
  189. package/lib/common/prompt-variable-contribution.spec.d.ts +2 -0
  190. package/lib/common/prompt-variable-contribution.spec.d.ts.map +1 -0
  191. package/lib/common/prompt-variable-contribution.spec.js +163 -0
  192. package/lib/common/prompt-variable-contribution.spec.js.map +1 -0
  193. package/lib/common/protocol.d.ts +25 -0
  194. package/lib/common/protocol.d.ts.map +1 -0
  195. package/lib/common/protocol.js +22 -0
  196. package/lib/common/protocol.js.map +1 -0
  197. package/lib/common/settings-service.d.ts +29 -0
  198. package/lib/common/settings-service.d.ts.map +1 -0
  199. package/lib/common/settings-service.js +5 -0
  200. package/lib/common/settings-service.js.map +1 -0
  201. package/lib/common/today-variable-contribution.d.ts +17 -0
  202. package/lib/common/today-variable-contribution.d.ts.map +1 -0
  203. package/lib/common/today-variable-contribution.js +68 -0
  204. package/lib/common/today-variable-contribution.js.map +1 -0
  205. package/lib/common/token-usage-service.d.ts +43 -0
  206. package/lib/common/token-usage-service.d.ts.map +1 -0
  207. package/lib/common/token-usage-service.js +20 -0
  208. package/lib/common/token-usage-service.js.map +1 -0
  209. package/lib/common/tool-invocation-registry.d.ts +66 -0
  210. package/lib/common/tool-invocation-registry.d.ts.map +1 -0
  211. package/lib/common/tool-invocation-registry.js +101 -0
  212. package/lib/common/tool-invocation-registry.js.map +1 -0
  213. package/lib/common/variable-service.d.ts +172 -0
  214. package/lib/common/variable-service.d.ts.map +1 -0
  215. package/lib/common/variable-service.js +287 -0
  216. package/lib/common/variable-service.js.map +1 -0
  217. package/lib/common/variable-service.spec.d.ts +2 -0
  218. package/lib/common/variable-service.spec.d.ts.map +1 -0
  219. package/lib/common/variable-service.spec.js +237 -0
  220. package/lib/common/variable-service.spec.js.map +1 -0
  221. package/lib/node/ai-core-backend-module.d.ts +4 -0
  222. package/lib/node/ai-core-backend-module.d.ts.map +1 -0
  223. package/lib/node/ai-core-backend-module.js +65 -0
  224. package/lib/node/ai-core-backend-module.js.map +1 -0
  225. package/lib/node/backend-language-model-registry.d.ts +13 -0
  226. package/lib/node/backend-language-model-registry.d.ts.map +1 -0
  227. package/lib/node/backend-language-model-registry.js +68 -0
  228. package/lib/node/backend-language-model-registry.js.map +1 -0
  229. package/lib/node/language-model-frontend-delegate.d.ts +18 -0
  230. package/lib/node/language-model-frontend-delegate.d.ts.map +1 -0
  231. package/lib/node/language-model-frontend-delegate.js +109 -0
  232. package/lib/node/language-model-frontend-delegate.js.map +1 -0
  233. package/lib/node/token-usage-service-impl.d.ts +23 -0
  234. package/lib/node/token-usage-service-impl.d.ts.map +1 -0
  235. package/lib/node/token-usage-service-impl.js +78 -0
  236. package/lib/node/token-usage-service-impl.js.map +1 -0
  237. package/lib/node/tool-request-parameters.spec.d.ts +2 -0
  238. package/lib/node/tool-request-parameters.spec.d.ts.map +1 -0
  239. package/lib/node/tool-request-parameters.spec.js +116 -0
  240. package/lib/node/tool-request-parameters.spec.js.map +1 -0
  241. package/package.json +9 -9
  242. package/src/browser/ai-settings-service.ts +7 -10
  243. package/src/browser/prompttemplate-contribution.ts +7 -4
@@ -0,0 +1 @@
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
+ import 'reflect-metadata';
2
+ //# sourceMappingURL=prompt-service.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-service.spec.d.ts","sourceRoot":"","sources":["../../src/common/prompt-service.spec.ts"],"names":[],"mappings":"AAgBA,OAAO,kBAAkB,CAAC"}
@@ -0,0 +1,431 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2024 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ require("reflect-metadata");
19
+ const chai_1 = require("chai");
20
+ const inversify_1 = require("inversify");
21
+ const prompt_service_1 = require("./prompt-service");
22
+ const variable_service_1 = require("./variable-service");
23
+ const tool_invocation_registry_1 = require("./tool-invocation-registry");
24
+ const mock_logger_1 = require("@theia/core/lib/common/test/mock-logger");
25
+ const core_1 = require("@theia/core");
26
+ const sinon = require("sinon");
27
+ describe('PromptService', () => {
28
+ let promptService;
29
+ beforeEach(() => {
30
+ const container = new inversify_1.Container();
31
+ container.bind(prompt_service_1.PromptService).to(prompt_service_1.PromptServiceImpl).inSingletonScope();
32
+ const logger = sinon.createStubInstance(core_1.Logger);
33
+ const variableService = new variable_service_1.DefaultAIVariableService({ getContributions: () => [] }, logger);
34
+ const nameVariable = { id: 'test', name: 'name', description: 'Test name ' };
35
+ variableService.registerResolver(nameVariable, {
36
+ canResolve: () => 100,
37
+ resolve: async () => ({ variable: nameVariable, value: 'Jane' })
38
+ });
39
+ container.bind(variable_service_1.AIVariableService).toConstantValue(variableService);
40
+ container.bind(core_1.ILogger).toConstantValue(new mock_logger_1.MockLogger);
41
+ promptService = container.get(prompt_service_1.PromptService);
42
+ promptService.addBuiltInPromptFragment({ id: '1', template: 'Hello, {{name}}!' });
43
+ promptService.addBuiltInPromptFragment({ id: '2', template: 'Goodbye, {{name}}!' });
44
+ promptService.addBuiltInPromptFragment({ id: '3', template: 'Ciao, {{invalid}}!' });
45
+ promptService.addBuiltInPromptFragment({ id: '8', template: 'Hello, {{{name}}}' });
46
+ });
47
+ it('should successfully initialize and retrieve built-in prompt fragments', () => {
48
+ const allPrompts = promptService.getActivePromptFragments();
49
+ (0, chai_1.expect)(allPrompts.find(prompt => prompt.id === '1').template).to.equal('Hello, {{name}}!');
50
+ (0, chai_1.expect)(allPrompts.find(prompt => prompt.id === '2').template).to.equal('Goodbye, {{name}}!');
51
+ (0, chai_1.expect)(allPrompts.find(prompt => prompt.id === '3').template).to.equal('Ciao, {{invalid}}!');
52
+ (0, chai_1.expect)(allPrompts.find(prompt => prompt.id === '8').template).to.equal('Hello, {{{name}}}');
53
+ });
54
+ it('should retrieve raw prompt fragment by id', () => {
55
+ const rawPrompt = promptService.getRawPromptFragment('1');
56
+ (0, chai_1.expect)(rawPrompt === null || rawPrompt === void 0 ? void 0 : rawPrompt.template).to.equal('Hello, {{name}}!');
57
+ });
58
+ it('should format prompt fragment with provided arguments', async () => {
59
+ const formattedPrompt = await promptService.getResolvedPromptFragment('1', { name: 'John' });
60
+ (0, chai_1.expect)(formattedPrompt === null || formattedPrompt === void 0 ? void 0 : formattedPrompt.text).to.equal('Hello, John!');
61
+ });
62
+ it('should store a new prompt fragment', () => {
63
+ promptService.addBuiltInPromptFragment({ id: '3', template: 'Welcome, {{name}}!' });
64
+ const newPrompt = promptService.getRawPromptFragment('3');
65
+ (0, chai_1.expect)(newPrompt === null || newPrompt === void 0 ? void 0 : newPrompt.template).to.equal('Welcome, {{name}}!');
66
+ });
67
+ it('should replace variable placeholders with provided arguments', async () => {
68
+ const prompt = await promptService.getResolvedPromptFragment('1', { name: 'John' });
69
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('Hello, John!');
70
+ });
71
+ it('should use variable service to resolve placeholders when argument values are not provided', async () => {
72
+ const prompt = await promptService.getResolvedPromptFragment('1');
73
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('Hello, Jane!');
74
+ });
75
+ it('should return the prompt fragment even if there are no valid replacements', async () => {
76
+ const prompt = await promptService.getResolvedPromptFragment('3');
77
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('Ciao, {{invalid}}!');
78
+ });
79
+ it('should return undefined if the prompt fragment id is not found', async () => {
80
+ const prompt = await promptService.getResolvedPromptFragment('4');
81
+ (0, chai_1.expect)(prompt).to.be.undefined;
82
+ });
83
+ it('should ignore whitespace in variables', async () => {
84
+ promptService.addBuiltInPromptFragment({ id: '4', template: 'Hello, {{name }}!' });
85
+ promptService.addBuiltInPromptFragment({ id: '5', template: 'Hello, {{ name}}!' });
86
+ promptService.addBuiltInPromptFragment({ id: '6', template: 'Hello, {{ name }}!' });
87
+ promptService.addBuiltInPromptFragment({ id: '7', template: 'Hello, {{ name }}!' });
88
+ for (let i = 4; i <= 7; i++) {
89
+ const prompt = await promptService.getResolvedPromptFragment(`${i}`, { name: 'John' });
90
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('Hello, John!');
91
+ }
92
+ });
93
+ it('should retrieve raw prompt fragment by id (three bracket)', () => {
94
+ const rawPrompt = promptService.getRawPromptFragment('8');
95
+ (0, chai_1.expect)(rawPrompt === null || rawPrompt === void 0 ? void 0 : rawPrompt.template).to.equal('Hello, {{{name}}}');
96
+ });
97
+ it('should correctly replace variables (three brackets)', async () => {
98
+ const formattedPrompt = await promptService.getResolvedPromptFragment('8');
99
+ (0, chai_1.expect)(formattedPrompt === null || formattedPrompt === void 0 ? void 0 : formattedPrompt.text).to.equal('Hello, Jane');
100
+ });
101
+ it('should ignore whitespace in variables (three bracket)', async () => {
102
+ promptService.addBuiltInPromptFragment({ id: '9', template: 'Hello, {{{name }}}' });
103
+ promptService.addBuiltInPromptFragment({ id: '10', template: 'Hello, {{{ name}}}' });
104
+ promptService.addBuiltInPromptFragment({ id: '11', template: 'Hello, {{{ name }}}' });
105
+ promptService.addBuiltInPromptFragment({ id: '12', template: 'Hello, {{{ name }}}' });
106
+ for (let i = 9; i <= 12; i++) {
107
+ const prompt = await promptService.getResolvedPromptFragment(`${i}`, { name: 'John' });
108
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('Hello, John');
109
+ }
110
+ });
111
+ it('should ignore invalid prompts with unmatched brackets', async () => {
112
+ promptService.addBuiltInPromptFragment({ id: '9', template: 'Hello, {{name' });
113
+ promptService.addBuiltInPromptFragment({ id: '10', template: 'Hello, {{{name' });
114
+ promptService.addBuiltInPromptFragment({ id: '11', template: 'Hello, name}}}}' });
115
+ const prompt1 = await promptService.getResolvedPromptFragment('9', { name: 'John' });
116
+ (0, chai_1.expect)(prompt1 === null || prompt1 === void 0 ? void 0 : prompt1.text).to.equal('Hello, {{name'); // Not matching due to missing closing brackets
117
+ const prompt2 = await promptService.getResolvedPromptFragment('10', { name: 'John' });
118
+ (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
119
+ const prompt3 = await promptService.getResolvedPromptFragment('11', { name: 'John' });
120
+ (0, chai_1.expect)(prompt3 === null || prompt3 === void 0 ? void 0 : prompt3.text).to.equal('Hello, name}}}}'); // Extra closing bracket, does not match cleanly
121
+ });
122
+ it('should handle a mixture of two and three brackets correctly', async () => {
123
+ promptService.addBuiltInPromptFragment({ id: '12', template: 'Hi, {{name}}}' }); // (invalid)
124
+ promptService.addBuiltInPromptFragment({ id: '13', template: 'Hello, {{{name}}' }); // (invalid)
125
+ promptService.addBuiltInPromptFragment({ id: '14', template: 'Greetings, {{{name}}}}' }); // (invalid)
126
+ promptService.addBuiltInPromptFragment({ id: '15', template: 'Bye, {{{{name}}}' }); // (invalid)
127
+ promptService.addBuiltInPromptFragment({ id: '16', template: 'Ciao, {{{{name}}}}' }); // (invalid)
128
+ promptService.addBuiltInPromptFragment({ id: '17', template: 'Hi, {{name}}! {{{name}}}' }); // Mixed valid patterns
129
+ const prompt12 = await promptService.getResolvedPromptFragment('12', { name: 'John' });
130
+ (0, chai_1.expect)(prompt12 === null || prompt12 === void 0 ? void 0 : prompt12.text).to.equal('Hi, {{name}}}');
131
+ const prompt13 = await promptService.getResolvedPromptFragment('13', { name: 'John' });
132
+ (0, chai_1.expect)(prompt13 === null || prompt13 === void 0 ? void 0 : prompt13.text).to.equal('Hello, {{{name}}');
133
+ const prompt14 = await promptService.getResolvedPromptFragment('14', { name: 'John' });
134
+ (0, chai_1.expect)(prompt14 === null || prompt14 === void 0 ? void 0 : prompt14.text).to.equal('Greetings, {{{name}}}}');
135
+ const prompt15 = await promptService.getResolvedPromptFragment('15', { name: 'John' });
136
+ (0, chai_1.expect)(prompt15 === null || prompt15 === void 0 ? void 0 : prompt15.text).to.equal('Bye, {{{{name}}}');
137
+ const prompt16 = await promptService.getResolvedPromptFragment('16', { name: 'John' });
138
+ (0, chai_1.expect)(prompt16 === null || prompt16 === void 0 ? void 0 : prompt16.text).to.equal('Ciao, {{{{name}}}}');
139
+ const prompt17 = await promptService.getResolvedPromptFragment('17', { name: 'John' });
140
+ (0, chai_1.expect)(prompt17 === null || prompt17 === void 0 ? void 0 : prompt17.text).to.equal('Hi, John! John');
141
+ });
142
+ it('should strip single-line comments at the start of the template', () => {
143
+ promptService.addBuiltInPromptFragment({ id: 'comment-basic', template: '{{!-- Comment --}}Hello, {{name}}!' });
144
+ const prompt = promptService.getPromptFragment('comment-basic');
145
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('Hello, {{name}}!');
146
+ });
147
+ it('should remove line break after first-line comment', () => {
148
+ promptService.addBuiltInPromptFragment({ id: 'comment-line-break', template: '{{!-- Comment --}}\nHello, {{name}}!' });
149
+ const prompt = promptService.getPromptFragment('comment-line-break');
150
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('Hello, {{name}}!');
151
+ });
152
+ it('should strip multiline comments at the start of the template', () => {
153
+ promptService.addBuiltInPromptFragment({ id: 'comment-multiline', template: '{{!--\nMultiline comment\n--}}\nGoodbye, {{name}}!' });
154
+ const prompt = promptService.getPromptFragment('comment-multiline');
155
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('Goodbye, {{name}}!');
156
+ });
157
+ it('should not strip comments not in the first line', () => {
158
+ promptService.addBuiltInPromptFragment({ id: 'comment-second-line', template: 'Hello, {{name}}!\n{{!-- Comment --}}' });
159
+ const prompt = promptService.getPromptFragment('comment-second-line');
160
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('Hello, {{name}}!\n{{!-- Comment --}}');
161
+ });
162
+ it('should treat unclosed comments as regular text', () => {
163
+ promptService.addBuiltInPromptFragment({ id: 'comment-unclosed', template: '{{!-- Unclosed comment' });
164
+ const prompt = promptService.getPromptFragment('comment-unclosed');
165
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('{{!-- Unclosed comment');
166
+ });
167
+ it('should treat standalone closing delimiters as regular text', () => {
168
+ promptService.addBuiltInPromptFragment({ id: 'comment-standalone', template: '--}} Hello, {{name}}!' });
169
+ const prompt = promptService.getPromptFragment('comment-standalone');
170
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('--}} Hello, {{name}}!');
171
+ });
172
+ it('should handle nested comments and stop at the first closing tag', () => {
173
+ promptService.addBuiltInPromptFragment({ id: 'nested-comment', template: '{{!-- {{!-- Nested comment --}} --}}text' });
174
+ const prompt = promptService.getPromptFragment('nested-comment');
175
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('--}}text');
176
+ });
177
+ it('should handle templates with only comments', () => {
178
+ promptService.addBuiltInPromptFragment({ id: 'comment-only', template: '{{!-- Only comments --}}' });
179
+ const prompt = promptService.getPromptFragment('comment-only');
180
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('');
181
+ });
182
+ it('should handle mixed delimiters on the same line', () => {
183
+ promptService.addBuiltInPromptFragment({ id: 'comment-mixed', template: '{{!-- Unclosed comment --}}' });
184
+ const prompt = promptService.getPromptFragment('comment-mixed');
185
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.template).to.equal('');
186
+ });
187
+ it('should resolve variables after stripping single-line comments', async () => {
188
+ promptService.addBuiltInPromptFragment({ id: 'comment-resolve', template: '{{!-- Comment --}}Hello, {{name}}!' });
189
+ const prompt = await promptService.getResolvedPromptFragment('comment-resolve', { name: 'John' });
190
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('Hello, John!');
191
+ });
192
+ it('should resolve variables in multiline templates with comments', async () => {
193
+ promptService.addBuiltInPromptFragment({ id: 'comment-multiline-vars', template: '{{!--\nMultiline comment\n--}}\nHello, {{name}}!' });
194
+ const prompt = await promptService.getResolvedPromptFragment('comment-multiline-vars', { name: 'John' });
195
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('Hello, John!');
196
+ });
197
+ it('should resolve variables with standalone closing delimiters', async () => {
198
+ promptService.addBuiltInPromptFragment({ id: 'comment-standalone-vars', template: '--}} Hello, {{name}}!' });
199
+ const prompt = await promptService.getResolvedPromptFragment('comment-standalone-vars', { name: 'John' });
200
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('--}} Hello, John!');
201
+ });
202
+ it('should treat unclosed comments as text and resolve variables', async () => {
203
+ promptService.addBuiltInPromptFragment({ id: 'comment-unclosed-vars', template: '{{!-- Unclosed comment\nHello, {{name}}!' });
204
+ const prompt = await promptService.getResolvedPromptFragment('comment-unclosed-vars', { name: 'John' });
205
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('{{!-- Unclosed comment\nHello, John!');
206
+ });
207
+ it('should handle templates with mixed comments and variables', async () => {
208
+ promptService.addBuiltInPromptFragment({ id: 'comment-mixed-vars', template: '{{!-- Comment --}}Hi, {{name}}! {{!-- Another comment --}}' });
209
+ const prompt = await promptService.getResolvedPromptFragment('comment-mixed-vars', { name: 'John' });
210
+ (0, chai_1.expect)(prompt === null || prompt === void 0 ? void 0 : prompt.text).to.equal('Hi, John! {{!-- Another comment --}}');
211
+ });
212
+ it('should return all variant IDs of a given prompt', () => {
213
+ promptService.addBuiltInPromptFragment({
214
+ id: 'variant1',
215
+ template: 'Variant 1',
216
+ }, 'systemPrompt');
217
+ promptService.addBuiltInPromptFragment({
218
+ id: 'variant2',
219
+ template: 'Variant 2',
220
+ }, 'systemPrompt');
221
+ promptService.addBuiltInPromptFragment({
222
+ id: 'variant3',
223
+ template: 'Variant 3',
224
+ }, 'systemPrompt');
225
+ const variantIds = promptService.getVariantIds('systemPrompt');
226
+ (0, chai_1.expect)(variantIds).to.deep.equal(['variant1', 'variant2', 'variant3']);
227
+ });
228
+ it('should return an empty array if no variants exist for a given prompt', () => {
229
+ promptService.addBuiltInPromptFragment({ id: 'main', template: 'Main template' });
230
+ const variantIds = promptService.getVariantIds('main');
231
+ (0, chai_1.expect)(variantIds).to.deep.equal([]);
232
+ });
233
+ it('should return an empty array if the main prompt ID does not exist', () => {
234
+ const variantIds = promptService.getVariantIds('nonExistent');
235
+ (0, chai_1.expect)(variantIds).to.deep.equal([]);
236
+ });
237
+ it('should not influence prompts without variants when other prompts have variants', () => {
238
+ promptService.addBuiltInPromptFragment({ id: 'variant1', template: 'Variant 1' }, 'systemPromptWithVariants', true);
239
+ promptService.addBuiltInPromptFragment({ id: 'promptFragmentWithoutVariants', template: 'template without variants' });
240
+ promptService.addBuiltInPromptFragment({
241
+ id: 'variant2',
242
+ template: 'Variant 2',
243
+ }, 'systemPromptWithVariants');
244
+ const systemPromptWithVariants = promptService.getVariantIds('systemPromptWithVariants');
245
+ const promptFragmentWithoutVariants = promptService.getVariantIds('promptFragmentWithoutVariants');
246
+ (0, chai_1.expect)(systemPromptWithVariants).to.deep.equal(['variant1', 'variant2']);
247
+ (0, chai_1.expect)(promptFragmentWithoutVariants).to.deep.equal([]);
248
+ });
249
+ it('should resolve function references within resolved variable replacements', async () => {
250
+ var _a, _b;
251
+ // Mock the tool invocation registry
252
+ const toolInvocationRegistry = {
253
+ getFunction: sinon.stub()
254
+ };
255
+ // Create a test tool request that will be returned by the registry
256
+ const testFunction = {
257
+ id: 'testFunction',
258
+ name: 'Test Function',
259
+ description: 'A test function',
260
+ parameters: {
261
+ type: 'object',
262
+ properties: {
263
+ param1: {
264
+ type: 'string',
265
+ description: 'Test parameter'
266
+ }
267
+ }
268
+ },
269
+ providerName: 'test-provider',
270
+ handler: sinon.stub()
271
+ };
272
+ toolInvocationRegistry.getFunction.withArgs('testFunction').returns(testFunction);
273
+ // Create a container with our mocked registry
274
+ const container = new inversify_1.Container();
275
+ container.bind(prompt_service_1.PromptService).to(prompt_service_1.PromptServiceImpl).inSingletonScope();
276
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
277
+ container.bind(tool_invocation_registry_1.ToolInvocationRegistry).toConstantValue(toolInvocationRegistry);
278
+ // Set up a variable service that returns a fragment with a function reference
279
+ const variableService = new variable_service_1.DefaultAIVariableService({ getContributions: () => [] }, sinon.createStubInstance(core_1.Logger));
280
+ const fragmentVariable = { id: 'test', name: 'fragment', description: 'Test fragment with function' };
281
+ variableService.registerResolver(fragmentVariable, {
282
+ canResolve: () => 100,
283
+ resolve: async () => ({
284
+ variable: fragmentVariable,
285
+ value: 'This fragment contains a function reference: ~{testFunction}'
286
+ })
287
+ });
288
+ container.bind(variable_service_1.AIVariableService).toConstantValue(variableService);
289
+ container.bind(core_1.ILogger).toConstantValue(new mock_logger_1.MockLogger);
290
+ const testPromptService = container.get(prompt_service_1.PromptService);
291
+ testPromptService.addBuiltInPromptFragment({ id: 'testPrompt', template: 'Template with fragment: {{fragment}}' });
292
+ // Get the resolved prompt
293
+ const resolvedPrompt = await testPromptService.getResolvedPromptFragment('testPrompt');
294
+ // Verify that the function was resolved
295
+ (0, chai_1.expect)(resolvedPrompt).to.not.be.undefined;
296
+ (0, chai_1.expect)(resolvedPrompt === null || resolvedPrompt === void 0 ? void 0 : resolvedPrompt.text).to.include('This fragment contains a function reference:');
297
+ (0, chai_1.expect)(resolvedPrompt === null || resolvedPrompt === void 0 ? void 0 : resolvedPrompt.text).to.not.include('~{testFunction}');
298
+ // Verify that the function description was added to functionDescriptions
299
+ (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);
300
+ (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);
301
+ // Verify that the tool invocation registry was called
302
+ (0, chai_1.expect)(toolInvocationRegistry.getFunction.calledWith('testFunction')).to.be.true;
303
+ });
304
+ // ===== Command Tests =====
305
+ describe('Command Management', () => {
306
+ it('getCommands() returns only fragments with isCommand=true', () => {
307
+ promptService.addBuiltInPromptFragment({
308
+ id: 'cmd1',
309
+ template: 'Command 1',
310
+ isCommand: true,
311
+ commandName: 'cmd1'
312
+ });
313
+ promptService.addBuiltInPromptFragment({
314
+ id: 'normal',
315
+ template: 'Normal prompt'
316
+ });
317
+ promptService.addBuiltInPromptFragment({
318
+ id: 'cmd2',
319
+ template: 'Command 2',
320
+ isCommand: true,
321
+ commandName: 'cmd2'
322
+ });
323
+ const commands = promptService.getCommands();
324
+ (0, chai_1.expect)(commands.length).to.equal(2);
325
+ (0, chai_1.expect)(commands.map(c => c.id)).to.include('cmd1');
326
+ (0, chai_1.expect)(commands.map(c => c.id)).to.include('cmd2');
327
+ (0, chai_1.expect)(commands.map(c => c.id)).to.not.include('normal');
328
+ });
329
+ it('getCommands(agentId) filters by commandAgents array', () => {
330
+ promptService.addBuiltInPromptFragment({
331
+ id: 'cmd-universal',
332
+ template: 'Universal command',
333
+ isCommand: true,
334
+ commandName: 'universal',
335
+ commandAgents: ['Universal']
336
+ });
337
+ promptService.addBuiltInPromptFragment({
338
+ id: 'cmd-specific',
339
+ template: 'Specific command',
340
+ isCommand: true,
341
+ commandName: 'specific',
342
+ commandAgents: ['SpecificAgent']
343
+ });
344
+ const universalCommands = promptService.getCommands('Universal');
345
+ (0, chai_1.expect)(universalCommands.length).to.equal(1);
346
+ (0, chai_1.expect)(universalCommands[0].id).to.equal('cmd-universal');
347
+ const specificCommands = promptService.getCommands('SpecificAgent');
348
+ (0, chai_1.expect)(specificCommands.length).to.equal(1);
349
+ (0, chai_1.expect)(specificCommands[0].id).to.equal('cmd-specific');
350
+ });
351
+ it('getCommands(agentId) includes commands without commandAgents', () => {
352
+ promptService.addBuiltInPromptFragment({
353
+ id: 'cmd-all',
354
+ template: 'Available for all',
355
+ isCommand: true,
356
+ commandName: 'all'
357
+ // No commandAgents means available for all
358
+ });
359
+ promptService.addBuiltInPromptFragment({
360
+ id: 'cmd-specific',
361
+ template: 'Specific command',
362
+ isCommand: true,
363
+ commandName: 'specific',
364
+ commandAgents: ['Universal']
365
+ });
366
+ const commands = promptService.getCommands('SomeOtherAgent');
367
+ (0, chai_1.expect)(commands.length).to.equal(1);
368
+ (0, chai_1.expect)(commands[0].id).to.equal('cmd-all');
369
+ });
370
+ it('getCommands() returns empty array when no commands registered', () => {
371
+ promptService.addBuiltInPromptFragment({
372
+ id: 'normal1',
373
+ template: 'Normal prompt 1'
374
+ });
375
+ promptService.addBuiltInPromptFragment({
376
+ id: 'normal2',
377
+ template: 'Normal prompt 2'
378
+ });
379
+ const commands = promptService.getCommands();
380
+ (0, chai_1.expect)(commands.length).to.equal(0);
381
+ });
382
+ it('command metadata preserved through registration', () => {
383
+ promptService.addBuiltInPromptFragment({
384
+ id: 'test-cmd',
385
+ template: 'Test command',
386
+ isCommand: true,
387
+ commandName: 'test',
388
+ commandDescription: 'A test command',
389
+ commandArgumentHint: '<arg>',
390
+ commandAgents: ['Agent1', 'Agent2']
391
+ });
392
+ const commands = promptService.getCommands();
393
+ (0, chai_1.expect)(commands.length).to.equal(1);
394
+ const cmd = commands[0];
395
+ (0, chai_1.expect)(cmd.isCommand).to.be.true;
396
+ (0, chai_1.expect)(cmd.commandName).to.equal('test');
397
+ (0, chai_1.expect)(cmd.commandDescription).to.equal('A test command');
398
+ (0, chai_1.expect)(cmd.commandArgumentHint).to.equal('<arg>');
399
+ (0, chai_1.expect)(cmd.commandAgents).to.deep.equal(['Agent1', 'Agent2']);
400
+ });
401
+ it('getFragmentByCommandName finds fragment by command name', () => {
402
+ promptService.addBuiltInPromptFragment({
403
+ id: 'sample-debug',
404
+ template: 'Help debug: $ARGUMENTS',
405
+ isCommand: true,
406
+ commandName: 'debug',
407
+ commandDescription: 'Debug an issue',
408
+ commandArgumentHint: '<problem>'
409
+ });
410
+ // Should find by command name
411
+ const fragment = promptService.getPromptFragmentByCommandName('debug');
412
+ (0, chai_1.expect)(fragment).to.not.be.undefined;
413
+ (0, chai_1.expect)(fragment === null || fragment === void 0 ? void 0 : fragment.id).to.equal('sample-debug');
414
+ (0, chai_1.expect)(fragment === null || fragment === void 0 ? void 0 : fragment.commandName).to.equal('debug');
415
+ (0, chai_1.expect)(fragment === null || fragment === void 0 ? void 0 : fragment.template).to.equal('Help debug: $ARGUMENTS');
416
+ });
417
+ it('getFragmentByCommandName returns undefined for non-command fragments', () => {
418
+ promptService.addBuiltInPromptFragment({
419
+ id: 'normal-fragment',
420
+ template: 'Not a command'
421
+ });
422
+ const fragment = promptService.getPromptFragmentByCommandName('normal-fragment');
423
+ (0, chai_1.expect)(fragment).to.be.undefined;
424
+ });
425
+ it('getFragmentByCommandName returns undefined for non-existent command', () => {
426
+ const fragment = promptService.getPromptFragmentByCommandName('non-existent');
427
+ (0, chai_1.expect)(fragment).to.be.undefined;
428
+ });
429
+ });
430
+ });
431
+ //# sourceMappingURL=prompt-service.spec.js.map
@@ -0,0 +1 @@
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,8 @@
1
+ export declare namespace PromptText {
2
+ const AGENT_CHAR = "@";
3
+ const VARIABLE_CHAR = "#";
4
+ const FUNCTION_CHAR = "~";
5
+ const VARIABLE_SEPARATOR_CHAR = ":";
6
+ const COMMAND_CHAR = "/";
7
+ }
8
+ //# sourceMappingURL=prompt-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-text.d.ts","sourceRoot":"","sources":["../../src/common/prompt-text.ts"],"names":[],"mappings":"AAgBA,yBAAiB,UAAU,CAAC;IACjB,MAAM,UAAU,MAAM,CAAC;IACvB,MAAM,aAAa,MAAM,CAAC;IAC1B,MAAM,aAAa,MAAM,CAAC;IAC1B,MAAM,uBAAuB,MAAM,CAAC;IACpC,MAAM,YAAY,MAAM,CAAC;CACnC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.PromptText = void 0;
19
+ var PromptText;
20
+ (function (PromptText) {
21
+ PromptText.AGENT_CHAR = '@';
22
+ PromptText.VARIABLE_CHAR = '#';
23
+ PromptText.FUNCTION_CHAR = '~';
24
+ PromptText.VARIABLE_SEPARATOR_CHAR = ':';
25
+ PromptText.COMMAND_CHAR = '/';
26
+ })(PromptText || (exports.PromptText = PromptText = {}));
27
+ //# sourceMappingURL=prompt-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-text.js","sourceRoot":"","sources":["../../src/common/prompt-text.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,IAAiB,UAAU,CAM1B;AAND,WAAiB,UAAU;IACV,qBAAU,GAAG,GAAG,CAAC;IACjB,wBAAa,GAAG,GAAG,CAAC;IACpB,wBAAa,GAAG,GAAG,CAAC;IACpB,kCAAuB,GAAG,GAAG,CAAC;IAC9B,uBAAY,GAAG,GAAG,CAAC;AACpC,CAAC,EANgB,UAAU,0BAAV,UAAU,QAM1B"}
@@ -0,0 +1,18 @@
1
+ import { CommandService, ILogger } 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 { 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 logger: ILogger;
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
+ private substituteCommandArguments;
14
+ private parseCommandArguments;
15
+ protected triggerArgumentPicker(): Promise<string | undefined>;
16
+ protected provideArgumentCompletionItems(model: monaco.editor.ITextModel, position: monaco.Position): Promise<monaco.languages.CompletionItem[] | undefined>;
17
+ }
18
+ //# 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,EAAE,OAAO,EAAO,MAAM,aAAa,CAAC;AAE3D,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,EAA8B,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,MAAM,EAAE,OAAO,CAAC;IAE1B,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;IAiE1C,OAAO,CAAC,0BAA0B;IAoBlC,OAAO,CAAC,qBAAqB;cA0Cb,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;CAsC5D"}