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

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 (246) hide show
  1. package/README.md +1 -0
  2. package/data/prompttemplate.tmLanguage.json +3 -0
  3. package/package.json +9 -9
  4. package/src/browser/frontend-language-model-alias-registry.ts +11 -11
  5. package/src/common/agent-service.ts +6 -6
  6. package/src/common/prompt-service.ts +6 -2
  7. package/lib/browser/agent-completion-notification-service.d.ts +0 -69
  8. package/lib/browser/agent-completion-notification-service.d.ts.map +0 -1
  9. package/lib/browser/agent-completion-notification-service.js +0 -187
  10. package/lib/browser/agent-completion-notification-service.js.map +0 -1
  11. package/lib/browser/ai-activation-service.d.ts +0 -31
  12. package/lib/browser/ai-activation-service.d.ts.map +0 -1
  13. package/lib/browser/ai-activation-service.js +0 -56
  14. package/lib/browser/ai-activation-service.js.map +0 -1
  15. package/lib/browser/ai-command-handler-factory.d.ts +0 -4
  16. package/lib/browser/ai-command-handler-factory.d.ts.map +0 -1
  17. package/lib/browser/ai-command-handler-factory.js +0 -20
  18. package/lib/browser/ai-command-handler-factory.js.map +0 -1
  19. package/lib/browser/ai-core-command-contribution.d.ts +0 -8
  20. package/lib/browser/ai-core-command-contribution.d.ts.map +0 -1
  21. package/lib/browser/ai-core-command-contribution.js +0 -44
  22. package/lib/browser/ai-core-command-contribution.js.map +0 -1
  23. package/lib/browser/ai-core-frontend-application-contribution.d.ts +0 -10
  24. package/lib/browser/ai-core-frontend-application-contribution.d.ts.map +0 -1
  25. package/lib/browser/ai-core-frontend-application-contribution.js +0 -46
  26. package/lib/browser/ai-core-frontend-application-contribution.js.map +0 -1
  27. package/lib/browser/ai-core-frontend-module.d.ts +0 -4
  28. package/lib/browser/ai-core-frontend-module.d.ts.map +0 -1
  29. package/lib/browser/ai-core-frontend-module.js +0 -137
  30. package/lib/browser/ai-core-frontend-module.js.map +0 -1
  31. package/lib/browser/ai-settings-service.d.ts +0 -16
  32. package/lib/browser/ai-settings-service.d.ts.map +0 -1
  33. package/lib/browser/ai-settings-service.js +0 -78
  34. package/lib/browser/ai-settings-service.js.map +0 -1
  35. package/lib/browser/ai-variable-uri-label-provider.d.ts +0 -17
  36. package/lib/browser/ai-variable-uri-label-provider.d.ts.map +0 -1
  37. package/lib/browser/ai-variable-uri-label-provider.js +0 -85
  38. package/lib/browser/ai-variable-uri-label-provider.js.map +0 -1
  39. package/lib/browser/ai-view-contribution.d.ts +0 -14
  40. package/lib/browser/ai-view-contribution.d.ts.map +0 -1
  41. package/lib/browser/ai-view-contribution.js +0 -87
  42. package/lib/browser/ai-view-contribution.js.map +0 -1
  43. package/lib/browser/file-variable-contribution.d.ts +0 -23
  44. package/lib/browser/file-variable-contribution.d.ts.map +0 -1
  45. package/lib/browser/file-variable-contribution.js +0 -114
  46. package/lib/browser/file-variable-contribution.js.map +0 -1
  47. package/lib/browser/frontend-language-model-alias-registry.d.ts +0 -31
  48. package/lib/browser/frontend-language-model-alias-registry.d.ts.map +0 -1
  49. package/lib/browser/frontend-language-model-alias-registry.js +0 -170
  50. package/lib/browser/frontend-language-model-alias-registry.js.map +0 -1
  51. package/lib/browser/frontend-language-model-registry.d.ts +0 -49
  52. package/lib/browser/frontend-language-model-registry.d.ts.map +0 -1
  53. package/lib/browser/frontend-language-model-registry.js +0 -387
  54. package/lib/browser/frontend-language-model-registry.js.map +0 -1
  55. package/lib/browser/frontend-language-model-registry.spec.d.ts +0 -2
  56. package/lib/browser/frontend-language-model-registry.spec.d.ts.map +0 -1
  57. package/lib/browser/frontend-language-model-registry.spec.js +0 -248
  58. package/lib/browser/frontend-language-model-registry.spec.js.map +0 -1
  59. package/lib/browser/frontend-language-model-service.d.ts +0 -10
  60. package/lib/browser/frontend-language-model-service.d.ts.map +0 -1
  61. package/lib/browser/frontend-language-model-service.js +0 -66
  62. package/lib/browser/frontend-language-model-service.js.map +0 -1
  63. package/lib/browser/frontend-prompt-customization-service.d.ts +0 -271
  64. package/lib/browser/frontend-prompt-customization-service.d.ts.map +0 -1
  65. package/lib/browser/frontend-prompt-customization-service.js +0 -869
  66. package/lib/browser/frontend-prompt-customization-service.js.map +0 -1
  67. package/lib/browser/frontend-prompt-customization-service.spec.d.ts +0 -2
  68. package/lib/browser/frontend-prompt-customization-service.spec.d.ts.map +0 -1
  69. package/lib/browser/frontend-prompt-customization-service.spec.js +0 -127
  70. package/lib/browser/frontend-prompt-customization-service.spec.js.map +0 -1
  71. package/lib/browser/frontend-variable-service.d.ts +0 -61
  72. package/lib/browser/frontend-variable-service.d.ts.map +0 -1
  73. package/lib/browser/frontend-variable-service.js +0 -165
  74. package/lib/browser/frontend-variable-service.js.map +0 -1
  75. package/lib/browser/index.d.ts +0 -20
  76. package/lib/browser/index.d.ts.map +0 -1
  77. package/lib/browser/index.js +0 -38
  78. package/lib/browser/index.js.map +0 -1
  79. package/lib/browser/open-editors-variable-contribution.d.ts +0 -17
  80. package/lib/browser/open-editors-variable-contribution.d.ts.map +0 -1
  81. package/lib/browser/open-editors-variable-contribution.js +0 -84
  82. package/lib/browser/open-editors-variable-contribution.js.map +0 -1
  83. package/lib/browser/os-notification-service.d.ts +0 -96
  84. package/lib/browser/os-notification-service.d.ts.map +0 -1
  85. package/lib/browser/os-notification-service.js +0 -222
  86. package/lib/browser/os-notification-service.js.map +0 -1
  87. package/lib/browser/prompttemplate-contribution.d.ts +0 -29
  88. package/lib/browser/prompttemplate-contribution.d.ts.map +0 -1
  89. package/lib/browser/prompttemplate-contribution.js +0 -243
  90. package/lib/browser/prompttemplate-contribution.js.map +0 -1
  91. package/lib/browser/prompttemplate-parser.d.ts +0 -36
  92. package/lib/browser/prompttemplate-parser.d.ts.map +0 -1
  93. package/lib/browser/prompttemplate-parser.js +0 -94
  94. package/lib/browser/prompttemplate-parser.js.map +0 -1
  95. package/lib/browser/theia-variable-contribution.d.ts +0 -26
  96. package/lib/browser/theia-variable-contribution.d.ts.map +0 -1
  97. package/lib/browser/theia-variable-contribution.js +0 -146
  98. package/lib/browser/theia-variable-contribution.js.map +0 -1
  99. package/lib/browser/token-usage-frontend-service-impl.d.ts +0 -25
  100. package/lib/browser/token-usage-frontend-service-impl.d.ts.map +0 -1
  101. package/lib/browser/token-usage-frontend-service-impl.js +0 -138
  102. package/lib/browser/token-usage-frontend-service-impl.js.map +0 -1
  103. package/lib/browser/token-usage-frontend-service.d.ts +0 -33
  104. package/lib/browser/token-usage-frontend-service.d.ts.map +0 -1
  105. package/lib/browser/token-usage-frontend-service.js +0 -23
  106. package/lib/browser/token-usage-frontend-service.js.map +0 -1
  107. package/lib/browser/window-blink-service.d.ts +0 -41
  108. package/lib/browser/window-blink-service.d.ts.map +0 -1
  109. package/lib/browser/window-blink-service.js +0 -174
  110. package/lib/browser/window-blink-service.js.map +0 -1
  111. package/lib/common/agent-preferences.d.ts +0 -4
  112. package/lib/common/agent-preferences.d.ts.map +0 -1
  113. package/lib/common/agent-preferences.js +0 -84
  114. package/lib/common/agent-preferences.js.map +0 -1
  115. package/lib/common/agent-service.d.ts +0 -66
  116. package/lib/common/agent-service.d.ts.map +0 -1
  117. package/lib/common/agent-service.js +0 -104
  118. package/lib/common/agent-service.js.map +0 -1
  119. package/lib/common/agent.d.ts +0 -72
  120. package/lib/common/agent.d.ts.map +0 -1
  121. package/lib/common/agent.js +0 -20
  122. package/lib/common/agent.js.map +0 -1
  123. package/lib/common/agents-variable-contribution.d.ts +0 -19
  124. package/lib/common/agents-variable-contribution.d.ts.map +0 -1
  125. package/lib/common/agents-variable-contribution.js +0 -57
  126. package/lib/common/agents-variable-contribution.js.map +0 -1
  127. package/lib/common/ai-core-preferences.d.ts +0 -48
  128. package/lib/common/ai-core-preferences.d.ts.map +0 -1
  129. package/lib/common/ai-core-preferences.js +0 -204
  130. package/lib/common/ai-core-preferences.js.map +0 -1
  131. package/lib/common/ai-variable-resource.d.ts +0 -18
  132. package/lib/common/ai-variable-resource.d.ts.map +0 -1
  133. package/lib/common/ai-variable-resource.js +0 -103
  134. package/lib/common/ai-variable-resource.js.map +0 -1
  135. package/lib/common/configurable-in-memory-resources.d.ts +0 -47
  136. package/lib/common/configurable-in-memory-resources.d.ts.map +0 -1
  137. package/lib/common/configurable-in-memory-resources.js +0 -154
  138. package/lib/common/configurable-in-memory-resources.js.map +0 -1
  139. package/lib/common/index.d.ts +0 -22
  140. package/lib/common/index.d.ts.map +0 -1
  141. package/lib/common/index.js +0 -40
  142. package/lib/common/index.js.map +0 -1
  143. package/lib/common/language-model-alias.d.ts +0 -58
  144. package/lib/common/language-model-alias.d.ts.map +0 -1
  145. package/lib/common/language-model-alias.js +0 -20
  146. package/lib/common/language-model-alias.js.map +0 -1
  147. package/lib/common/language-model-delegate.d.ts +0 -25
  148. package/lib/common/language-model-delegate.d.ts.map +0 -1
  149. package/lib/common/language-model-delegate.js +0 -26
  150. package/lib/common/language-model-delegate.js.map +0 -1
  151. package/lib/common/language-model-interaction-model.d.ts +0 -74
  152. package/lib/common/language-model-interaction-model.d.ts.map +0 -1
  153. package/lib/common/language-model-interaction-model.js +0 -3
  154. package/lib/common/language-model-interaction-model.js.map +0 -1
  155. package/lib/common/language-model-service.d.ts +0 -38
  156. package/lib/common/language-model-service.d.ts.map +0 -1
  157. package/lib/common/language-model-service.js +0 -128
  158. package/lib/common/language-model-service.js.map +0 -1
  159. package/lib/common/language-model-util.d.ts +0 -17
  160. package/lib/common/language-model-util.d.ts.map +0 -1
  161. package/lib/common/language-model-util.js +0 -82
  162. package/lib/common/language-model-util.js.map +0 -1
  163. package/lib/common/language-model.d.ts +0 -285
  164. package/lib/common/language-model.d.ts.map +0 -1
  165. package/lib/common/language-model.js +0 -248
  166. package/lib/common/language-model.js.map +0 -1
  167. package/lib/common/language-model.spec.d.ts +0 -2
  168. package/lib/common/language-model.spec.d.ts.map +0 -1
  169. package/lib/common/language-model.spec.js +0 -62
  170. package/lib/common/language-model.spec.js.map +0 -1
  171. package/lib/common/notification-types.d.ts +0 -7
  172. package/lib/common/notification-types.d.ts.map +0 -1
  173. package/lib/common/notification-types.js +0 -29
  174. package/lib/common/notification-types.js.map +0 -1
  175. package/lib/common/prompt-service-util.d.ts +0 -8
  176. package/lib/common/prompt-service-util.d.ts.map +0 -1
  177. package/lib/common/prompt-service-util.js +0 -34
  178. package/lib/common/prompt-service-util.js.map +0 -1
  179. package/lib/common/prompt-service.d.ts +0 -466
  180. package/lib/common/prompt-service.d.ts.map +0 -1
  181. package/lib/common/prompt-service.js +0 -653
  182. package/lib/common/prompt-service.js.map +0 -1
  183. package/lib/common/prompt-service.spec.d.ts +0 -2
  184. package/lib/common/prompt-service.spec.d.ts.map +0 -1
  185. package/lib/common/prompt-service.spec.js +0 -431
  186. package/lib/common/prompt-service.spec.js.map +0 -1
  187. package/lib/common/prompt-text.d.ts +0 -8
  188. package/lib/common/prompt-text.d.ts.map +0 -1
  189. package/lib/common/prompt-text.js +0 -27
  190. package/lib/common/prompt-text.js.map +0 -1
  191. package/lib/common/prompt-variable-contribution.d.ts +0 -18
  192. package/lib/common/prompt-variable-contribution.d.ts.map +0 -1
  193. package/lib/common/prompt-variable-contribution.js +0 -207
  194. package/lib/common/prompt-variable-contribution.js.map +0 -1
  195. package/lib/common/prompt-variable-contribution.spec.d.ts +0 -2
  196. package/lib/common/prompt-variable-contribution.spec.d.ts.map +0 -1
  197. package/lib/common/prompt-variable-contribution.spec.js +0 -163
  198. package/lib/common/prompt-variable-contribution.spec.js.map +0 -1
  199. package/lib/common/protocol.d.ts +0 -25
  200. package/lib/common/protocol.d.ts.map +0 -1
  201. package/lib/common/protocol.js +0 -22
  202. package/lib/common/protocol.js.map +0 -1
  203. package/lib/common/settings-service.d.ts +0 -29
  204. package/lib/common/settings-service.d.ts.map +0 -1
  205. package/lib/common/settings-service.js +0 -5
  206. package/lib/common/settings-service.js.map +0 -1
  207. package/lib/common/today-variable-contribution.d.ts +0 -17
  208. package/lib/common/today-variable-contribution.d.ts.map +0 -1
  209. package/lib/common/today-variable-contribution.js +0 -68
  210. package/lib/common/today-variable-contribution.js.map +0 -1
  211. package/lib/common/token-usage-service.d.ts +0 -43
  212. package/lib/common/token-usage-service.d.ts.map +0 -1
  213. package/lib/common/token-usage-service.js +0 -20
  214. package/lib/common/token-usage-service.js.map +0 -1
  215. package/lib/common/tool-invocation-registry.d.ts +0 -66
  216. package/lib/common/tool-invocation-registry.d.ts.map +0 -1
  217. package/lib/common/tool-invocation-registry.js +0 -101
  218. package/lib/common/tool-invocation-registry.js.map +0 -1
  219. package/lib/common/variable-service.d.ts +0 -172
  220. package/lib/common/variable-service.d.ts.map +0 -1
  221. package/lib/common/variable-service.js +0 -287
  222. package/lib/common/variable-service.js.map +0 -1
  223. package/lib/common/variable-service.spec.d.ts +0 -2
  224. package/lib/common/variable-service.spec.d.ts.map +0 -1
  225. package/lib/common/variable-service.spec.js +0 -237
  226. package/lib/common/variable-service.spec.js.map +0 -1
  227. package/lib/node/ai-core-backend-module.d.ts +0 -4
  228. package/lib/node/ai-core-backend-module.d.ts.map +0 -1
  229. package/lib/node/ai-core-backend-module.js +0 -65
  230. package/lib/node/ai-core-backend-module.js.map +0 -1
  231. package/lib/node/backend-language-model-registry.d.ts +0 -13
  232. package/lib/node/backend-language-model-registry.d.ts.map +0 -1
  233. package/lib/node/backend-language-model-registry.js +0 -68
  234. package/lib/node/backend-language-model-registry.js.map +0 -1
  235. package/lib/node/language-model-frontend-delegate.d.ts +0 -18
  236. package/lib/node/language-model-frontend-delegate.d.ts.map +0 -1
  237. package/lib/node/language-model-frontend-delegate.js +0 -109
  238. package/lib/node/language-model-frontend-delegate.js.map +0 -1
  239. package/lib/node/token-usage-service-impl.d.ts +0 -23
  240. package/lib/node/token-usage-service-impl.d.ts.map +0 -1
  241. package/lib/node/token-usage-service-impl.js +0 -78
  242. package/lib/node/token-usage-service-impl.js.map +0 -1
  243. package/lib/node/tool-request-parameters.spec.d.ts +0 -2
  244. package/lib/node/tool-request-parameters.spec.d.ts.map +0 -1
  245. package/lib/node/tool-request-parameters.spec.js +0 -116
  246. package/lib/node/tool-request-parameters.spec.js.map +0 -1
@@ -1,207 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PromptVariableContribution = exports.PROMPT_VARIABLE = void 0;
4
- const tslib_1 = require("tslib");
5
- // *****************************************************************************
6
- // Copyright (C) 2025 EclipseSource GmbH.
7
- //
8
- // This program and the accompanying materials are made available under the
9
- // terms of the Eclipse Public License v. 2.0 which is available at
10
- // http://www.eclipse.org/legal/epl-2.0.
11
- //
12
- // This Source Code may also be made available under the following Secondary
13
- // Licenses when the conditions for such availability set forth in the Eclipse
14
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
15
- // with the GNU Classpath Exception which is available at
16
- // https://www.gnu.org/software/classpath/license.html.
17
- //
18
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
19
- // *****************************************************************************
20
- const core_1 = require("@theia/core");
21
- const inversify_1 = require("@theia/core/shared/inversify");
22
- const monaco = require("@theia/monaco-editor-core");
23
- const prompt_service_1 = require("./prompt-service");
24
- const prompt_text_1 = require("./prompt-text");
25
- exports.PROMPT_VARIABLE = {
26
- id: 'prompt-provider',
27
- description: core_1.nls.localize('theia/ai/core/promptVariable/description', 'Resolves prompt templates via the prompt service'),
28
- name: 'prompt',
29
- args: [
30
- { name: 'id', description: core_1.nls.localize('theia/ai/core/promptVariable/argDescription', 'The prompt template id to resolve') }
31
- ]
32
- };
33
- let PromptVariableContribution = class PromptVariableContribution {
34
- registerVariables(service) {
35
- service.registerResolver(exports.PROMPT_VARIABLE, this);
36
- service.registerArgumentPicker(exports.PROMPT_VARIABLE, this.triggerArgumentPicker.bind(this));
37
- service.registerArgumentCompletionProvider(exports.PROMPT_VARIABLE, this.provideArgumentCompletionItems.bind(this));
38
- }
39
- canResolve(request, context) {
40
- if (request.variable.name === exports.PROMPT_VARIABLE.name) {
41
- return 1;
42
- }
43
- return -1;
44
- }
45
- async resolve(request, context, resolveDependency) {
46
- var _a;
47
- if (request.variable.name === exports.PROMPT_VARIABLE.name) {
48
- const arg = (_a = request.arg) === null || _a === void 0 ? void 0 : _a.trim();
49
- if (arg) {
50
- // Check if this is a command-style reference (contains | separator)
51
- const pipeIndex = arg.indexOf('|');
52
- const promptIdOrCommandName = pipeIndex >= 0 ? arg.substring(0, pipeIndex) : arg;
53
- const commandArgs = pipeIndex >= 0 ? arg.substring(pipeIndex + 1) : '';
54
- // Determine the actual fragment ID
55
- // If this is a command invocation (has args), try to find by command name first
56
- let fragment = commandArgs
57
- ? this.promptService.getPromptFragmentByCommandName(promptIdOrCommandName)
58
- : undefined;
59
- // Fall back to looking up by fragment ID if not found by command name
60
- if (!fragment) {
61
- fragment = this.promptService.getRawPromptFragment(promptIdOrCommandName);
62
- }
63
- // If we still don't have a fragment, we can't resolve
64
- if (!fragment) {
65
- this.logger.debug(`Could not find prompt fragment or command '${promptIdOrCommandName}'`);
66
- return {
67
- variable: request.variable,
68
- value: '',
69
- allResolvedDependencies: []
70
- };
71
- }
72
- const fragmentId = fragment.id;
73
- // Resolve the prompt fragment normally (this handles {{variables}} and ~{functions})
74
- const resolvedPrompt = await this.promptService.getResolvedPromptFragmentWithoutFunctions(fragmentId, undefined, context, resolveDependency);
75
- if (resolvedPrompt) {
76
- // If command args were provided, substitute them in the resolved text
77
- // This happens AFTER variable/function resolution, so $ARGUMENTS can be part of the template
78
- // alongside {{variables}} which get resolved first
79
- const isCommand = (fragment === null || fragment === void 0 ? void 0 : fragment.isCommand) === true;
80
- const finalText = isCommand && commandArgs
81
- ? this.substituteCommandArguments(resolvedPrompt.text, promptIdOrCommandName, commandArgs)
82
- : resolvedPrompt.text;
83
- return {
84
- variable: request.variable,
85
- value: finalText,
86
- allResolvedDependencies: resolvedPrompt.variables
87
- };
88
- }
89
- }
90
- }
91
- this.logger.debug(`Could not resolve prompt variable '${request.variable.name}' with arg '${request.arg}'. Returning empty string.`);
92
- return {
93
- variable: request.variable,
94
- value: '',
95
- allResolvedDependencies: []
96
- };
97
- }
98
- substituteCommandArguments(template, commandName, commandArgs) {
99
- // Parse arguments (respecting quotes)
100
- const args = this.parseCommandArguments(commandArgs);
101
- // Substitute $ARGUMENTS with full arg string
102
- let result = template.replace(/\$ARGUMENTS/g, commandArgs);
103
- // Substitute $0 with command name
104
- result = result.replace(/\$0/g, commandName);
105
- // Substitute numbered arguments in reverse order to avoid collision
106
- // (e.g., $10 before $1 to prevent $1 from matching the "1" in "$10")
107
- for (let i = args.length; i > 0; i--) {
108
- const regex = new RegExp(`\\$${i}\\b`, 'g');
109
- result = result.replace(regex, args[i - 1]);
110
- }
111
- return result;
112
- }
113
- parseCommandArguments(commandArgs) {
114
- const args = [];
115
- let current = '';
116
- let inQuotes = false;
117
- let quoteChar = '';
118
- for (let i = 0; i < commandArgs.length; i++) {
119
- const char = commandArgs[i];
120
- // Handle escape sequences within quotes
121
- if (char === '\\' && i + 1 < commandArgs.length && inQuotes) {
122
- const nextChar = commandArgs[i + 1];
123
- if (nextChar === '"' || nextChar === "'" || nextChar === '\\') {
124
- current += nextChar;
125
- i++; // Skip the next character
126
- continue;
127
- }
128
- }
129
- if ((char === '"' || char === "'") && !inQuotes) {
130
- inQuotes = true;
131
- quoteChar = char;
132
- }
133
- else if (char === quoteChar && inQuotes) {
134
- inQuotes = false;
135
- quoteChar = '';
136
- }
137
- else if (char === ' ' && !inQuotes) {
138
- if (current.trim()) {
139
- args.push(current.trim());
140
- current = '';
141
- }
142
- }
143
- else {
144
- current += char;
145
- }
146
- }
147
- if (current.trim()) {
148
- args.push(current.trim());
149
- }
150
- return args;
151
- }
152
- async triggerArgumentPicker() {
153
- // Trigger the suggestion command to show argument completions
154
- this.commandService.executeCommand('editor.action.triggerSuggest');
155
- // Return undefined because we don't actually pick the argument here.
156
- // The argument is selected and inserted by the monaco editor's completion mechanism.
157
- return undefined;
158
- }
159
- async provideArgumentCompletionItems(model, position) {
160
- const lineContent = model.getLineContent(position.lineNumber);
161
- // Only provide completions once the variable argument separator is typed
162
- const triggerCharIndex = lineContent.lastIndexOf(prompt_text_1.PromptText.VARIABLE_SEPARATOR_CHAR, position.column - 1);
163
- if (triggerCharIndex === -1) {
164
- return undefined;
165
- }
166
- // Check if the text immediately before the trigger is the prompt variable, i.e #prompt
167
- const requiredVariable = `${prompt_text_1.PromptText.VARIABLE_CHAR}${exports.PROMPT_VARIABLE.name}`;
168
- if (triggerCharIndex < requiredVariable.length ||
169
- lineContent.substring(triggerCharIndex - requiredVariable.length, triggerCharIndex) !== requiredVariable) {
170
- return undefined;
171
- }
172
- const range = new monaco.Range(position.lineNumber, triggerCharIndex + 2, position.lineNumber, position.column);
173
- const activePrompts = this.promptService.getActivePromptFragments();
174
- let builtinPromptCompletions = undefined;
175
- if (activePrompts.length > 0) {
176
- builtinPromptCompletions = [];
177
- activePrompts.forEach(prompt => (builtinPromptCompletions.push({
178
- label: prompt.id,
179
- kind: (0, prompt_service_1.isCustomizedPromptFragment)(prompt) ? monaco.languages.CompletionItemKind.Enum : monaco.languages.CompletionItemKind.Variable,
180
- insertText: prompt.id,
181
- range,
182
- detail: (0, prompt_service_1.isCustomizedPromptFragment)(prompt) ?
183
- core_1.nls.localize('theia/ai/core/promptVariable/completions/detail/custom', 'Customized prompt fragment') :
184
- core_1.nls.localize('theia/ai/core/promptVariable/completions/detail/builtin', 'Built-in prompt fragment'),
185
- sortText: `${prompt.id}`
186
- })));
187
- }
188
- return builtinPromptCompletions;
189
- }
190
- };
191
- exports.PromptVariableContribution = PromptVariableContribution;
192
- tslib_1.__decorate([
193
- (0, inversify_1.inject)(core_1.CommandService),
194
- tslib_1.__metadata("design:type", Object)
195
- ], PromptVariableContribution.prototype, "commandService", void 0);
196
- tslib_1.__decorate([
197
- (0, inversify_1.inject)(prompt_service_1.PromptService),
198
- tslib_1.__metadata("design:type", Object)
199
- ], PromptVariableContribution.prototype, "promptService", void 0);
200
- tslib_1.__decorate([
201
- (0, inversify_1.inject)(core_1.ILogger),
202
- tslib_1.__metadata("design:type", Object)
203
- ], PromptVariableContribution.prototype, "logger", void 0);
204
- exports.PromptVariableContribution = PromptVariableContribution = tslib_1.__decorate([
205
- (0, inversify_1.injectable)()
206
- ], PromptVariableContribution);
207
- //# sourceMappingURL=prompt-variable-contribution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt-variable-contribution.js","sourceRoot":"","sources":["../../src/common/prompt-variable-contribution.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import 'reflect-metadata';
2
- //# sourceMappingURL=prompt-variable-contribution.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt-variable-contribution.spec.d.ts","sourceRoot":"","sources":["../../src/common/prompt-variable-contribution.spec.ts"],"names":[],"mappings":"AAoBA,OAAO,kBAAkB,CAAC"}
@@ -1,163 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource and others.
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
- const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
19
- let disableJSDOM = (0, jsdom_1.enableJSDOM)();
20
- require("reflect-metadata");
21
- const chai_1 = require("chai");
22
- const sinon = require("sinon");
23
- const inversify_1 = require("inversify");
24
- const core_1 = require("@theia/core");
25
- const prompt_variable_contribution_1 = require("./prompt-variable-contribution");
26
- const prompt_service_1 = require("./prompt-service");
27
- const variable_service_1 = require("./variable-service");
28
- const mock_logger_1 = require("@theia/core/lib/common/test/mock-logger");
29
- disableJSDOM();
30
- describe('PromptVariableContribution', () => {
31
- before(() => disableJSDOM = (0, jsdom_1.enableJSDOM)());
32
- after(() => disableJSDOM());
33
- let contribution;
34
- let promptService;
35
- let container;
36
- beforeEach(() => {
37
- container = new inversify_1.Container();
38
- // Set up PromptService
39
- container.bind(prompt_service_1.PromptService).to(prompt_service_1.PromptServiceImpl).inSingletonScope();
40
- const logger = sinon.createStubInstance(core_1.Logger);
41
- const variableService = new variable_service_1.DefaultAIVariableService({ getContributions: () => [] }, logger);
42
- container.bind(variable_service_1.AIVariableService).toConstantValue(variableService);
43
- container.bind(core_1.ILogger).toConstantValue(new mock_logger_1.MockLogger);
44
- // Set up CommandService stub (needed for PromptVariableContribution but not used in these tests)
45
- const commandService = sinon.createStubInstance(core_1.Logger); // Using Logger as a simple mock
46
- container.bind(core_1.CommandService).toConstantValue(commandService);
47
- // Bind PromptVariableContribution with proper DI
48
- container.bind(prompt_variable_contribution_1.PromptVariableContribution).toSelf().inSingletonScope();
49
- // Get instances
50
- promptService = container.get(prompt_service_1.PromptService);
51
- contribution = container.get(prompt_variable_contribution_1.PromptVariableContribution);
52
- });
53
- describe('Command Argument Substitution', () => {
54
- it('substitutes $ARGUMENTS with full argument string', async () => {
55
- promptService.addBuiltInPromptFragment({
56
- id: 'test-cmd',
57
- template: 'Process: $ARGUMENTS',
58
- isCommand: true,
59
- commandName: 'test'
60
- });
61
- const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'test-cmd|arg1 arg2 arg3' }, {});
62
- (0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Process: arg1 arg2 arg3');
63
- });
64
- it('substitutes $0 with command name', async () => {
65
- promptService.addBuiltInPromptFragment({
66
- id: 'test-cmd',
67
- template: 'Command $0 was called',
68
- isCommand: true,
69
- commandName: 'test'
70
- });
71
- const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'test-cmd|args' }, {});
72
- (0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Command test-cmd was called');
73
- });
74
- it('substitutes $1, $2, ... with individual arguments', async () => {
75
- promptService.addBuiltInPromptFragment({
76
- id: 'compare-cmd',
77
- template: 'Compare $1 with $2',
78
- isCommand: true,
79
- commandName: 'compare'
80
- });
81
- const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'compare-cmd|item1 item2' }, {});
82
- (0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Compare item1 with item2');
83
- });
84
- it('handles quoted arguments in $1, $2', async () => {
85
- promptService.addBuiltInPromptFragment({
86
- id: 'test-cmd',
87
- template: 'First: $1, Second: $2',
88
- isCommand: true,
89
- commandName: 'test'
90
- });
91
- const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'test-cmd|"arg with spaces" other' }, {});
92
- (0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('First: arg with spaces, Second: other');
93
- });
94
- it('handles escaped quotes in arguments', async () => {
95
- promptService.addBuiltInPromptFragment({
96
- id: 'test-cmd',
97
- template: 'Arg: $1',
98
- isCommand: true,
99
- commandName: 'test'
100
- });
101
- const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'test-cmd|"value with \\"quote\\""' }, {});
102
- (0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Arg: value with "quote"');
103
- });
104
- it('handles 10+ arguments correctly', async () => {
105
- promptService.addBuiltInPromptFragment({
106
- id: 'test-cmd',
107
- template: 'Args: $1 $10 $11',
108
- isCommand: true,
109
- commandName: 'test'
110
- });
111
- const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'test-cmd|a b c d e f g h i j k' }, {});
112
- (0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Args: a j k');
113
- });
114
- it('handles command without arguments', async () => {
115
- promptService.addBuiltInPromptFragment({
116
- id: 'hello-cmd',
117
- template: 'Hello, world!',
118
- isCommand: true,
119
- commandName: 'hello'
120
- });
121
- const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'hello-cmd' }, {});
122
- (0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Hello, world!');
123
- });
124
- it('handles non-command prompts without substitution', async () => {
125
- promptService.addBuiltInPromptFragment({
126
- id: 'normal-prompt',
127
- template: 'This has $1 and $ARGUMENTS but is not a command'
128
- });
129
- const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'normal-prompt' }, {});
130
- // No substitution should occur for non-commands
131
- (0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('This has $1 and $ARGUMENTS but is not a command');
132
- });
133
- it('handles missing argument placeholders gracefully', async () => {
134
- promptService.addBuiltInPromptFragment({
135
- id: 'test-cmd',
136
- template: 'Args: $1 $2 $3',
137
- isCommand: true,
138
- commandName: 'test'
139
- });
140
- const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'test-cmd|only-one' }, {});
141
- // Missing arguments should remain as placeholders
142
- (0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Args: only-one $2 $3');
143
- });
144
- });
145
- describe('Command Resolution', () => {
146
- it('resolves command fragments correctly', async () => {
147
- promptService.addBuiltInPromptFragment({
148
- id: 'test-cmd',
149
- template: 'Do something with $ARGUMENTS',
150
- isCommand: true,
151
- commandName: 'test'
152
- });
153
- const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'test-cmd|input' }, {});
154
- (0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Do something with input');
155
- (0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.variable).to.deep.equal(prompt_variable_contribution_1.PROMPT_VARIABLE);
156
- });
157
- it('returns empty string for non-existent prompts', async () => {
158
- const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'non-existent|args' }, {});
159
- (0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('');
160
- });
161
- });
162
- });
163
- //# sourceMappingURL=prompt-variable-contribution.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt-variable-contribution.spec.js","sourceRoot":"","sources":["../../src/common/prompt-variable-contribution.spec.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { Event } from '@theia/core';
2
- import { LanguageModelMetaData } from './language-model';
3
- import { TokenUsage } from './token-usage-service';
4
- export declare const LanguageModelRegistryClient: unique symbol;
5
- export interface LanguageModelRegistryClient {
6
- languageModelAdded(metadata: LanguageModelMetaData): void;
7
- languageModelRemoved(id: string): void;
8
- /**
9
- * Notify the client that a language model was updated.
10
- */
11
- onLanguageModelUpdated(id: string): void;
12
- }
13
- export declare const TOKEN_USAGE_SERVICE_PATH = "/services/token-usage";
14
- export declare const TokenUsageServiceClient: unique symbol;
15
- export interface TokenUsageServiceClient {
16
- /**
17
- * Notify the client about new token usage
18
- */
19
- notifyTokenUsage(usage: TokenUsage): void;
20
- /**
21
- * An event that is fired when token usage data is updated.
22
- */
23
- readonly onTokenUsageUpdated: Event<TokenUsage>;
24
- }
25
- //# sourceMappingURL=protocol.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/common/protocol.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,eAAO,MAAM,2BAA2B,eAAwC,CAAC;AACjF,MAAM,WAAW,2BAA2B;IACxC,kBAAkB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC1D,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC;;OAEG;IACH,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAEhE,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACpC;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CACnD"}
@@ -1,22 +0,0 @@
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
- exports.TokenUsageServiceClient = exports.TOKEN_USAGE_SERVICE_PATH = exports.LanguageModelRegistryClient = void 0;
19
- exports.LanguageModelRegistryClient = Symbol('LanguageModelRegistryClient');
20
- exports.TOKEN_USAGE_SERVICE_PATH = '/services/token-usage';
21
- exports.TokenUsageServiceClient = Symbol('TokenUsageServiceClient');
22
- //# sourceMappingURL=protocol.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/common/protocol.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;;;AAMnE,QAAA,2BAA2B,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;AAUpE,QAAA,wBAAwB,GAAG,uBAAuB,CAAC;AAEnD,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC"}
@@ -1,29 +0,0 @@
1
- import { Event } from '@theia/core';
2
- import { LanguageModelRequirement } from './language-model';
3
- import { NotificationType } from './notification-types';
4
- export declare const AISettingsService: unique symbol;
5
- /**
6
- * Service to store and retrieve settings on a per-agent basis.
7
- */
8
- export interface AISettingsService {
9
- updateAgentSettings(agent: string, agentSettings: Partial<AgentSettings>): Promise<void>;
10
- getAgentSettings(agent: string): Promise<AgentSettings | undefined>;
11
- getSettings(): Promise<AISettings>;
12
- onDidChange: Event<void>;
13
- }
14
- export type AISettings = Record<string, AgentSettings>;
15
- export interface AgentSettings {
16
- languageModelRequirements?: LanguageModelRequirement[];
17
- enable?: boolean;
18
- /**
19
- * A mapping of main template IDs to their selected variant IDs.
20
- * If a main template is not present in this mapping, it means the main template is used.
21
- */
22
- selectedVariants?: Record<string, string>;
23
- /**
24
- * Configuration for completion notifications when the agent finishes a task.
25
- * If undefined, defaults to 'off'.
26
- */
27
- completionNotification?: NotificationType;
28
- }
29
- //# sourceMappingURL=settings-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings-service.d.ts","sourceRoot":"","sources":["../../src/common/settings-service.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IACpE,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CAC5B;AACD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACvD,MAAM,WAAW,aAAa;IAC1B,yBAAyB,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,gBAAgB,CAAC;CAC7C"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AISettingsService = void 0;
4
- exports.AISettingsService = Symbol('AISettingsService');
5
- //# sourceMappingURL=settings-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings-service.js","sourceRoot":"","sources":["../../src/common/settings-service.ts"],"names":[],"mappings":";;;AAmBa,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC"}
@@ -1,17 +0,0 @@
1
- import { MaybePromise } from '@theia/core';
2
- import { AIVariable, ResolvedAIVariable, AIVariableContribution, AIVariableResolver, AIVariableService, AIVariableResolutionRequest, AIVariableContext } from './variable-service';
3
- export declare namespace TodayVariableArgs {
4
- const IN_UNIX_SECONDS = "inUnixSeconds";
5
- const IN_ISO_8601 = "inIso8601";
6
- }
7
- export declare const TODAY_VARIABLE: AIVariable;
8
- export interface ResolvedTodayVariable extends ResolvedAIVariable {
9
- date: Date;
10
- }
11
- export declare class TodayVariableContribution implements AIVariableContribution, AIVariableResolver {
12
- registerVariables(service: AIVariableService): void;
13
- canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): MaybePromise<number>;
14
- resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
15
- private resolveTodayVariable;
16
- }
17
- //# sourceMappingURL=today-variable-contribution.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"today-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/common/today-variable-contribution.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAO,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEnL,yBAAiB,iBAAiB,CAAC;IACxB,MAAM,eAAe,kBAAkB,CAAC;IACxC,MAAM,WAAW,cAAc,CAAC;CAC1C;AAED,eAAO,MAAM,cAAc,EAAE,UAY5B,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC7D,IAAI,EAAE,IAAI,CAAC;CACd;AAED,qBACa,yBAA0B,YAAW,sBAAsB,EAAE,kBAAkB;IACxF,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAInD,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC;IAI5F,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAOxH,OAAO,CAAC,oBAAoB;CAU/B"}
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TodayVariableContribution = exports.TODAY_VARIABLE = exports.TodayVariableArgs = void 0;
4
- const tslib_1 = require("tslib");
5
- // *****************************************************************************
6
- // Copyright (C) 2024 EclipseSource GmbH.
7
- //
8
- // This program and the accompanying materials are made available under the
9
- // terms of the Eclipse Public License v. 2.0 which is available at
10
- // http://www.eclipse.org/legal/epl-2.0.
11
- //
12
- // This Source Code may also be made available under the following Secondary
13
- // Licenses when the conditions for such availability set forth in the Eclipse
14
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
15
- // with the GNU Classpath Exception which is available at
16
- // https://www.gnu.org/software/classpath/license.html.
17
- //
18
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
19
- // *****************************************************************************
20
- const core_1 = require("@theia/core");
21
- const inversify_1 = require("@theia/core/shared/inversify");
22
- var TodayVariableArgs;
23
- (function (TodayVariableArgs) {
24
- TodayVariableArgs.IN_UNIX_SECONDS = 'inUnixSeconds';
25
- TodayVariableArgs.IN_ISO_8601 = 'inIso8601';
26
- })(TodayVariableArgs || (exports.TodayVariableArgs = TodayVariableArgs = {}));
27
- exports.TODAY_VARIABLE = {
28
- id: 'today-provider',
29
- description: core_1.nls.localize('theia/ai/core/todayVariable/description', 'Does something for today'),
30
- name: 'today',
31
- args: [
32
- {
33
- name: 'Format',
34
- description: core_1.nls.localize('theia/ai/core/todayVariable/format/description', 'The format of the date'),
35
- enum: [TodayVariableArgs.IN_ISO_8601, TodayVariableArgs.IN_UNIX_SECONDS],
36
- isOptional: true
37
- }
38
- ]
39
- };
40
- let TodayVariableContribution = class TodayVariableContribution {
41
- registerVariables(service) {
42
- service.registerResolver(exports.TODAY_VARIABLE, this);
43
- }
44
- canResolve(request, context) {
45
- return 1;
46
- }
47
- async resolve(request, context) {
48
- if (request.variable.name === exports.TODAY_VARIABLE.name) {
49
- return this.resolveTodayVariable(request);
50
- }
51
- return undefined;
52
- }
53
- resolveTodayVariable(request) {
54
- const date = new Date();
55
- if (request.arg === TodayVariableArgs.IN_ISO_8601) {
56
- return { variable: request.variable, value: date.toISOString(), date };
57
- }
58
- if (request.arg === TodayVariableArgs.IN_UNIX_SECONDS) {
59
- return { variable: request.variable, value: Math.round(date.getTime() / 1000).toString(), date };
60
- }
61
- return { variable: request.variable, value: date.toDateString(), date };
62
- }
63
- };
64
- exports.TodayVariableContribution = TodayVariableContribution;
65
- exports.TodayVariableContribution = TodayVariableContribution = tslib_1.__decorate([
66
- (0, inversify_1.injectable)()
67
- ], TodayVariableContribution);
68
- //# sourceMappingURL=today-variable-contribution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"today-variable-contribution.js","sourceRoot":"","sources":["../../src/common/today-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,sCAAgD;AAChD,4DAA0D;AAG1D,IAAiB,iBAAiB,CAGjC;AAHD,WAAiB,iBAAiB;IACjB,iCAAe,GAAG,eAAe,CAAC;IAClC,6BAAW,GAAG,WAAW,CAAC;AAC3C,CAAC,EAHgB,iBAAiB,iCAAjB,iBAAiB,QAGjC;AAEY,QAAA,cAAc,GAAe;IACtC,EAAE,EAAE,gBAAgB;IACpB,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,yCAAyC,EAAE,0BAA0B,CAAC;IAChG,IAAI,EAAE,OAAO;IACb,IAAI,EAAE;QACF;YACI,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,gDAAgD,EAAE,wBAAwB,CAAC;YACrG,IAAI,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,CAAC,eAAe,CAAC;YACxE,UAAU,EAAE,IAAI;SACnB;KACJ;CACJ,CAAC;AAOK,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAClC,iBAAiB,CAAC,OAA0B;QACxC,OAAO,CAAC,gBAAgB,CAAC,sBAAc,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,UAAU,CAAC,OAAoC,EAAE,OAA0B;QACvE,OAAO,CAAC,CAAC;IACb,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoC,EAAE,OAA0B;QAC1E,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,IAAI,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,oBAAoB,CAAC,OAAoC;QAC7D,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,OAAO,CAAC,GAAG,KAAK,iBAAiB,CAAC,WAAW,EAAE,CAAC;YAChD,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC;QAC3E,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,KAAK,iBAAiB,CAAC,eAAe,EAAE,CAAC;YACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;QACrG,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5E,CAAC;CACJ,CAAA;AA1BY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,sBAAU,GAAE;GACA,yBAAyB,CA0BrC"}