@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,243 +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.PromptTemplateContribution = exports.DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS = exports.PROMPT_TEMPLATE_EXTENSION = void 0;
19
- const tslib_1 = require("tslib");
20
- const inversify_1 = require("@theia/core/shared/inversify");
21
- const monaco = require("@theia/monaco-editor-core");
22
- const core_1 = require("@theia/core");
23
- const browser_1 = require("@theia/core/lib/browser");
24
- const browser_2 = require("@theia/editor/lib/browser");
25
- const common_1 = require("../common");
26
- const variable_service_1 = require("../common/variable-service");
27
- const PROMPT_TEMPLATE_LANGUAGE_ID = 'theia-ai-prompt-template';
28
- const PROMPT_TEMPLATE_TEXTMATE_SCOPE = 'source.prompttemplate';
29
- exports.PROMPT_TEMPLATE_EXTENSION = '.prompttemplate';
30
- exports.DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS = core_1.Command.toLocalizedCommand({
31
- id: 'theia-ai-prompt-template:discard',
32
- label: 'Discard AI Prompt Template',
33
- iconClass: (0, browser_1.codicon)('discard'),
34
- category: 'AI Prompt Templates'
35
- }, 'theia/ai/core/discard/label', 'theia/ai/core/prompts/category');
36
- let PromptTemplateContribution = class PromptTemplateContribution {
37
- constructor() {
38
- this.config = {
39
- 'brackets': [
40
- ['${', '}'],
41
- ['~{', '}'],
42
- ['{{', '}}'],
43
- ['{{{', '}}}']
44
- ],
45
- 'autoClosingPairs': [
46
- { 'open': '${', 'close': '}' },
47
- { 'open': '~{', 'close': '}' },
48
- { 'open': '{{', 'close': '}}' },
49
- { 'open': '{{{', 'close': '}}}' }
50
- ],
51
- 'surroundingPairs': [
52
- { 'open': '${', 'close': '}' },
53
- { 'open': '~{', 'close': '}' },
54
- { 'open': '{{', 'close': '}}' },
55
- { 'open': '{{{', 'close': '}}}' }
56
- ]
57
- };
58
- }
59
- registerTextmateLanguage(registry) {
60
- monaco.languages.register({
61
- id: PROMPT_TEMPLATE_LANGUAGE_ID,
62
- 'aliases': [
63
- 'AI Prompt Template'
64
- ],
65
- 'extensions': [
66
- exports.PROMPT_TEMPLATE_EXTENSION,
67
- ],
68
- 'filenames': []
69
- });
70
- monaco.languages.setLanguageConfiguration(PROMPT_TEMPLATE_LANGUAGE_ID, this.config);
71
- monaco.languages.registerCompletionItemProvider(PROMPT_TEMPLATE_LANGUAGE_ID, {
72
- // Monaco only supports single character trigger characters
73
- triggerCharacters: ['{'],
74
- provideCompletionItems: (model, position, _context, _token) => this.provideFunctionCompletions(model, position),
75
- });
76
- monaco.languages.registerCompletionItemProvider(PROMPT_TEMPLATE_LANGUAGE_ID, {
77
- // Monaco only supports single character trigger characters
78
- triggerCharacters: ['{'],
79
- provideCompletionItems: (model, position, _context, _token) => this.provideVariableCompletions(model, position),
80
- });
81
- monaco.languages.registerCompletionItemProvider(PROMPT_TEMPLATE_LANGUAGE_ID, {
82
- // Monaco only supports single character trigger characters
83
- triggerCharacters: ['{', ':'],
84
- provideCompletionItems: (model, position, _context, _token) => this.provideVariableWithArgCompletions(model, position),
85
- });
86
- const textmateGrammar = require('../../data/prompttemplate.tmLanguage.json');
87
- const grammarDefinitionProvider = {
88
- getGrammarDefinition: function () {
89
- return Promise.resolve({
90
- format: 'json',
91
- content: textmateGrammar
92
- });
93
- }
94
- };
95
- registry.registerTextmateGrammarScope(PROMPT_TEMPLATE_TEXTMATE_SCOPE, grammarDefinitionProvider);
96
- registry.mapLanguageIdToTextmateGrammar(PROMPT_TEMPLATE_LANGUAGE_ID, PROMPT_TEMPLATE_TEXTMATE_SCOPE);
97
- }
98
- provideFunctionCompletions(model, position) {
99
- return this.getSuggestions(model, position, '~{', this.toolInvocationRegistry.getAllFunctions(), monaco.languages.CompletionItemKind.Function, tool => tool.id, tool => tool.name, tool => { var _a; return (_a = tool.description) !== null && _a !== void 0 ? _a : ''; });
100
- }
101
- provideVariableCompletions(model, position) {
102
- return this.getSuggestions(model, position, '{{', this.variableService.getVariables(), monaco.languages.CompletionItemKind.Variable, variable => { var _a; return ((_a = variable.args) === null || _a === void 0 ? void 0 : _a.some(arg => !arg.isOptional)) ? variable.name + common_1.PromptText.VARIABLE_SEPARATOR_CHAR : variable.name; }, variable => variable.name, variable => { var _a; return (_a = variable.description) !== null && _a !== void 0 ? _a : ''; });
103
- }
104
- async provideVariableWithArgCompletions(model, position) {
105
- // Get the text of the current line up to the cursor position
106
- const textUntilPosition = model.getValueInRange({
107
- startLineNumber: position.lineNumber,
108
- startColumn: 1,
109
- endLineNumber: position.lineNumber,
110
- endColumn: position.column,
111
- });
112
- // Regex that captures the variable name in contexts like {{, {{{, {{varname, {{{varname, {{varname:, or {{{varname:
113
- const variableRegex = /(?:\{\{\{|\{\{)([\w-]+)?(?::)?/;
114
- const match = textUntilPosition.match(variableRegex);
115
- if (!match) {
116
- return { suggestions: [] };
117
- }
118
- const currentVariableName = match[1];
119
- const hasColonSeparator = textUntilPosition.includes(`${currentVariableName}:`);
120
- const variables = this.variableService.getVariables();
121
- const suggestions = [];
122
- for (const variable of variables) {
123
- // If we have a variable:arg pattern, only process the matching variable
124
- if (hasColonSeparator && variable.name !== currentVariableName) {
125
- continue;
126
- }
127
- const provider = await this.variableService.getArgumentCompletionProvider(variable.name);
128
- if (provider) {
129
- const items = await provider(model, position, '{');
130
- if (items) {
131
- suggestions.push(...items.map(item => ({
132
- ...item
133
- })));
134
- }
135
- }
136
- }
137
- return { suggestions };
138
- }
139
- getCompletionRange(model, position, triggerCharacters) {
140
- // Check if the characters before the current position are the trigger characters
141
- const lineContent = model.getLineContent(position.lineNumber);
142
- const triggerLength = triggerCharacters.length;
143
- const charactersBefore = lineContent.substring(position.column - triggerLength - 1, position.column - 1);
144
- if (charactersBefore !== triggerCharacters) {
145
- // Do not return agent suggestions if the user didn't just type the trigger characters
146
- return undefined;
147
- }
148
- // Calculate the range from the position of the trigger characters
149
- const wordInfo = model.getWordUntilPosition(position);
150
- return new monaco.Range(position.lineNumber, wordInfo.startColumn, position.lineNumber, position.column);
151
- }
152
- getSuggestions(model, position, triggerChars, items, kind, getId, getName, getDescription) {
153
- const completionRange = this.getCompletionRange(model, position, triggerChars);
154
- if (completionRange === undefined) {
155
- return { suggestions: [] };
156
- }
157
- const suggestions = items.map(item => ({
158
- insertText: getId(item),
159
- kind: kind,
160
- label: getName(item),
161
- range: completionRange,
162
- detail: getDescription(item),
163
- }));
164
- return { suggestions };
165
- }
166
- registerCommands(commands) {
167
- commands.registerCommand(exports.DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS, {
168
- isVisible: (widget) => this.isPromptTemplateWidget(widget),
169
- isEnabled: (widget) => this.canDiscard(widget),
170
- execute: (widget) => this.discard(widget)
171
- });
172
- }
173
- isPromptTemplateWidget(widget) {
174
- if (widget instanceof browser_2.EditorWidget) {
175
- return PROMPT_TEMPLATE_LANGUAGE_ID === widget.editor.document.languageId;
176
- }
177
- return false;
178
- }
179
- canDiscard(widget) {
180
- const resourceUri = widget.editor.uri;
181
- const id = this.promptService.getTemplateIDFromResource(resourceUri);
182
- if (id === undefined) {
183
- return false;
184
- }
185
- const rawPrompt = this.promptService.getRawPromptFragment(id);
186
- const defaultPrompt = this.promptService.getBuiltInRawPrompt(id);
187
- return (rawPrompt === null || rawPrompt === void 0 ? void 0 : rawPrompt.template) !== (defaultPrompt === null || defaultPrompt === void 0 ? void 0 : defaultPrompt.template);
188
- }
189
- async discard(widget) {
190
- const resourceUri = widget.editor.uri;
191
- const id = this.promptService.getTemplateIDFromResource(resourceUri);
192
- if (id === undefined) {
193
- return;
194
- }
195
- const defaultPrompt = this.promptService.getBuiltInRawPrompt(id);
196
- if (defaultPrompt === undefined) {
197
- return;
198
- }
199
- const source = widget.editor.document.getText();
200
- const lastLine = widget.editor.document.getLineContent(widget.editor.document.lineCount);
201
- const replaceOperation = {
202
- range: {
203
- start: {
204
- line: 0,
205
- character: 0
206
- },
207
- end: {
208
- line: widget.editor.document.lineCount,
209
- character: lastLine.length
210
- }
211
- },
212
- text: defaultPrompt.template
213
- };
214
- await widget.editor.replaceText({
215
- source,
216
- replaceOperations: [replaceOperation]
217
- });
218
- }
219
- registerToolbarItems(registry) {
220
- registry.registerItem({
221
- id: exports.DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS.id,
222
- command: exports.DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS.id,
223
- tooltip: core_1.nls.localize('theia/ai/core/discardCustomPrompt/tooltip', 'Discard Customizations')
224
- });
225
- }
226
- };
227
- exports.PromptTemplateContribution = PromptTemplateContribution;
228
- tslib_1.__decorate([
229
- (0, inversify_1.inject)(common_1.PromptService),
230
- tslib_1.__metadata("design:type", Object)
231
- ], PromptTemplateContribution.prototype, "promptService", void 0);
232
- tslib_1.__decorate([
233
- (0, inversify_1.inject)(common_1.ToolInvocationRegistry),
234
- tslib_1.__metadata("design:type", Object)
235
- ], PromptTemplateContribution.prototype, "toolInvocationRegistry", void 0);
236
- tslib_1.__decorate([
237
- (0, inversify_1.inject)(variable_service_1.AIVariableService),
238
- tslib_1.__metadata("design:type", Object)
239
- ], PromptTemplateContribution.prototype, "variableService", void 0);
240
- exports.PromptTemplateContribution = PromptTemplateContribution = tslib_1.__decorate([
241
- (0, inversify_1.injectable)()
242
- ], PromptTemplateContribution);
243
- //# sourceMappingURL=prompttemplate-contribution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompttemplate-contribution.js","sourceRoot":"","sources":["../../src/browser/prompttemplate-contribution.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import { CommandPromptFragmentMetadata } from '../common';
2
- /**
3
- * Result of parsing a template file that may contain YAML front matter
4
- */
5
- export interface ParsedTemplate {
6
- /** The template content (without front matter) */
7
- template: string;
8
- /** Parsed metadata from YAML front matter, if present */
9
- metadata?: CommandPromptFragmentMetadata;
10
- }
11
- /**
12
- * Type guard to check if an object is valid TemplateMetadata
13
- */
14
- export declare function isTemplateMetadata(obj: unknown): obj is CommandPromptFragmentMetadata;
15
- /**
16
- * Parses a template file that may contain YAML front matter.
17
- *
18
- * Front matter format:
19
- * ```
20
- * ---
21
- * isCommand: true
22
- * commandName: mycommand
23
- * commandDescription: My command description
24
- * commandArgumentHint: <arg1> <arg2>
25
- * commandAgents:
26
- * - Agent1
27
- * - Agent2
28
- * ---
29
- * Template content here
30
- * ```
31
- *
32
- * @param fileContent The raw file content to parse
33
- * @returns ParsedTemplate containing the template content and optional metadata
34
- */
35
- export declare function parseTemplateWithMetadata(fileContent: string): ParsedTemplate;
36
- //# sourceMappingURL=prompttemplate-parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompttemplate-parser.d.ts","sourceRoot":"","sources":["../../src/browser/prompttemplate-parser.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IAEjB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,6BAA6B,CAAC;CAC5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,6BAA6B,CAarF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CA0C7E"}
@@ -1,94 +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
- exports.parseTemplateWithMetadata = exports.isTemplateMetadata = void 0;
19
- const js_yaml_1 = require("js-yaml");
20
- /**
21
- * Type guard to check if an object is valid TemplateMetadata
22
- */
23
- function isTemplateMetadata(obj) {
24
- if (!obj || typeof obj !== 'object') {
25
- return false;
26
- }
27
- const metadata = obj;
28
- return ((metadata.isCommand === undefined || typeof metadata.isCommand === 'boolean') &&
29
- (metadata.commandName === undefined || typeof metadata.commandName === 'string') &&
30
- (metadata.commandDescription === undefined || typeof metadata.commandDescription === 'string') &&
31
- (metadata.commandArgumentHint === undefined || typeof metadata.commandArgumentHint === 'string') &&
32
- (metadata.commandAgents === undefined || (Array.isArray(metadata.commandAgents) &&
33
- metadata.commandAgents.every(agent => typeof agent === 'string'))));
34
- }
35
- exports.isTemplateMetadata = isTemplateMetadata;
36
- /**
37
- * Parses a template file that may contain YAML front matter.
38
- *
39
- * Front matter format:
40
- * ```
41
- * ---
42
- * isCommand: true
43
- * commandName: mycommand
44
- * commandDescription: My command description
45
- * commandArgumentHint: <arg1> <arg2>
46
- * commandAgents:
47
- * - Agent1
48
- * - Agent2
49
- * ---
50
- * Template content here
51
- * ```
52
- *
53
- * @param fileContent The raw file content to parse
54
- * @returns ParsedTemplate containing the template content and optional metadata
55
- */
56
- function parseTemplateWithMetadata(fileContent) {
57
- const frontMatterRegex = /^---\s*\n([\s\S]*?)\n---\s*\n([\s\S]*)$/;
58
- const match = fileContent.match(frontMatterRegex);
59
- if (!match) {
60
- // No front matter, return content as-is
61
- return { template: fileContent };
62
- }
63
- try {
64
- const yamlContent = match[1];
65
- const template = match[2];
66
- const parsedYaml = (0, js_yaml_1.load)(yamlContent);
67
- // Validate the parsed YAML is an object
68
- if (!parsedYaml || typeof parsedYaml !== 'object') {
69
- return { template: fileContent };
70
- }
71
- const metadata = parsedYaml;
72
- // Extract and validate command metadata
73
- const templateMetadata = {
74
- isCommand: typeof metadata.isCommand === 'boolean' ? metadata.isCommand : undefined,
75
- commandName: typeof metadata.commandName === 'string' ? metadata.commandName : undefined,
76
- commandDescription: typeof metadata.commandDescription === 'string' ? metadata.commandDescription : undefined,
77
- commandArgumentHint: typeof metadata.commandArgumentHint === 'string' ? metadata.commandArgumentHint : undefined,
78
- commandAgents: Array.isArray(metadata.commandAgents) ? metadata.commandAgents.filter(a => typeof a === 'string') : undefined,
79
- };
80
- // Only include metadata if it's valid
81
- if (isTemplateMetadata(templateMetadata)) {
82
- return { template, metadata: templateMetadata };
83
- }
84
- // Metadata validation failed, return just the template
85
- return { template };
86
- }
87
- catch (error) {
88
- console.error('Failed to parse front matter:', error);
89
- // Return entire content if YAML parsing fails
90
- return { template: fileContent };
91
- }
92
- }
93
- exports.parseTemplateWithMetadata = parseTemplateWithMetadata;
94
- //# sourceMappingURL=prompttemplate-parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompttemplate-parser.js","sourceRoot":"","sources":["../../src/browser/prompttemplate-parser.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
2
- import { VariableRegistry, VariableResolverService } from '@theia/variable-resolver/lib/browser';
3
- import { AIVariableContribution, AIVariableResolver, AIVariableService, AIVariableResolutionRequest, AIVariableContext, ResolvedAIVariable } from '../common';
4
- /**
5
- * Mapping configuration for a Theia variable to one or more AI variables
6
- */
7
- interface VariableMapping {
8
- name?: string;
9
- description?: string;
10
- }
11
- /**
12
- * Integrates the Theia VariableRegistry with the Theia AI VariableService
13
- */
14
- export declare class TheiaVariableContribution implements AIVariableContribution, AIVariableResolver {
15
- private static readonly THEIA_PREFIX;
16
- protected readonly variableResolverService: VariableResolverService;
17
- protected readonly variableRegistry: VariableRegistry;
18
- protected readonly stateService: FrontendApplicationStateService;
19
- protected variableRenameMap: Map<string, VariableMapping[]>;
20
- registerVariables(service: AIVariableService): void;
21
- protected toTheiaVariable(request: AIVariableResolutionRequest): string;
22
- canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<number>;
23
- resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
24
- }
25
- export {};
26
- //# sourceMappingURL=theia-variable-contribution.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theia-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/theia-variable-contribution.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AAGrG,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE9J;;GAEG;AACH,UAAU,eAAe;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBACa,yBAA0B,YAAW,sBAAsB,EAAE,kBAAkB;IAExF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAY;IAGhD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,+BAA+B,CAAC;IAIjE,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CA4CxD;IAEH,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAgCnD,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM;IAYjE,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAU7F,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;CAI3H"}
@@ -1,146 +0,0 @@
1
- "use strict";
2
- var TheiaVariableContribution_1;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.TheiaVariableContribution = void 0;
5
- const tslib_1 = require("tslib");
6
- // *****************************************************************************
7
- // Copyright (C) 2024 EclipseSource GmbH.
8
- //
9
- // This program and the accompanying materials are made available under the
10
- // terms of the Eclipse Public License v. 2.0 which is available at
11
- // http://www.eclipse.org/legal/epl-2.0.
12
- //
13
- // This Source Code may also be made available under the following Secondary
14
- // Licenses when the conditions for such availability set forth in the Eclipse
15
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
16
- // with the GNU Classpath Exception which is available at
17
- // https://www.gnu.org/software/classpath/license.html.
18
- //
19
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
20
- // *****************************************************************************
21
- const frontend_application_state_1 = require("@theia/core/lib/browser/frontend-application-state");
22
- const nls_1 = require("@theia/core/lib/common/nls");
23
- const inversify_1 = require("@theia/core/shared/inversify");
24
- const browser_1 = require("@theia/variable-resolver/lib/browser");
25
- /**
26
- * Integrates the Theia VariableRegistry with the Theia AI VariableService
27
- */
28
- let TheiaVariableContribution = TheiaVariableContribution_1 = class TheiaVariableContribution {
29
- constructor() {
30
- // Map original variable name to one or more mappings with new name and description.
31
- // Only variables present in this map are registered.
32
- this.variableRenameMap = new Map([
33
- ['file', [
34
- {
35
- name: 'currentAbsoluteFilePath',
36
- description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentAbsoluteFilePath', 'The absolute path of the \
37
- currently opened file. Please note that most agents will expect a relative file path (relative to the current workspace).')
38
- }
39
- ]],
40
- ['selectedText', [
41
- {
42
- description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentSelectedText', 'The plain text that is currently selected in the \
43
- opened file. This excludes the information where the content is coming from. Please note that most agents will work better with a relative file path \
44
- (relative to the current workspace).')
45
- }
46
- ]],
47
- ['currentText', [
48
- {
49
- name: 'currentFileContent',
50
- description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentFileContent', 'The plain content of the \
51
- currently opened file. This excludes the information where the content is coming from. Please note that most agents will work better with a relative file path \
52
- (relative to the current workspace).')
53
- }
54
- ]],
55
- ['relativeFile', [
56
- {
57
- name: 'currentRelativeFilePath',
58
- description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentRelativeFilePath', 'The relative path of the \
59
- currently opened file.')
60
- },
61
- {
62
- name: '_f',
63
- description: nls_1.nls.localize('theia/ai/core/variable-contribution/dotRelativePath', 'Short reference to the relative path of the \
64
- currently opened file (\'currentRelativeFilePath\').')
65
- }
66
- ]],
67
- ['relativeFileDirname', [
68
- {
69
- name: 'currentRelativeDirPath',
70
- description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentRelativeDirPath', 'The relative path of the directory \
71
- containing the currently opened file.')
72
- }
73
- ]],
74
- ['lineNumber', [{}]],
75
- ['workspaceFolder', [{}]]
76
- ]);
77
- }
78
- registerVariables(service) {
79
- this.stateService.reachedState('initialized_layout').then(() => {
80
- // some variable contributions in Theia are done as part of the onStart, same as our AI variable contributions
81
- // we therefore wait for all of them to be registered before we register we map them to our own
82
- this.variableRegistry.getVariables().forEach(variable => {
83
- if (!this.variableRenameMap.has(variable.name)) {
84
- return; // Do not register variables not part of the map
85
- }
86
- const mappings = this.variableRenameMap.get(variable.name);
87
- // Register each mapping for this variable
88
- mappings.forEach((mapping, index) => {
89
- const newName = (mapping.name && mapping.name.trim() !== '') ? mapping.name : variable.name;
90
- const newDescription = (mapping.description && mapping.description.trim() !== '') ? mapping.description
91
- : (variable.description && variable.description.trim() !== '' ? variable.description
92
- : nls_1.nls.localize('theia/ai/core/variable-contribution/builtInVariable', 'Theia Built-in Variable'));
93
- // For multiple mappings of the same variable, add a suffix to the ID to make it unique
94
- const idSuffix = mappings.length > 1 ? `-${index}` : '';
95
- const id = `${TheiaVariableContribution_1.THEIA_PREFIX}${variable.name}${idSuffix}`;
96
- service.registerResolver({
97
- id,
98
- name: newName,
99
- description: newDescription
100
- }, this);
101
- });
102
- });
103
- });
104
- }
105
- toTheiaVariable(request) {
106
- // Extract the base variable name by removing the THEIA_PREFIX and any potential index suffix
107
- let variableId = request.variable.id;
108
- if (variableId.startsWith(TheiaVariableContribution_1.THEIA_PREFIX)) {
109
- variableId = variableId.slice(TheiaVariableContribution_1.THEIA_PREFIX.length);
110
- // Remove any potential index suffix (e.g., -0, -1)
111
- variableId = variableId.replace(/-\d+$/, '');
112
- }
113
- return `\${${variableId}${request.arg ? ':' + request.arg : ''}}`;
114
- }
115
- async canResolve(request, context) {
116
- if (!request.variable.id.startsWith(TheiaVariableContribution_1.THEIA_PREFIX)) {
117
- return 0;
118
- }
119
- // some variables are not resolvable without providing a specific context
120
- // this may be expensive but was not a problem for Theia's built-in variables
121
- const resolved = await this.variableResolverService.resolve(this.toTheiaVariable(request), context);
122
- return !resolved ? 0 : 1;
123
- }
124
- async resolve(request, context) {
125
- const resolved = await this.variableResolverService.resolve(this.toTheiaVariable(request), context);
126
- return resolved ? { value: resolved, variable: request.variable } : undefined;
127
- }
128
- };
129
- exports.TheiaVariableContribution = TheiaVariableContribution;
130
- TheiaVariableContribution.THEIA_PREFIX = 'theia-';
131
- tslib_1.__decorate([
132
- (0, inversify_1.inject)(browser_1.VariableResolverService),
133
- tslib_1.__metadata("design:type", browser_1.VariableResolverService)
134
- ], TheiaVariableContribution.prototype, "variableResolverService", void 0);
135
- tslib_1.__decorate([
136
- (0, inversify_1.inject)(browser_1.VariableRegistry),
137
- tslib_1.__metadata("design:type", browser_1.VariableRegistry)
138
- ], TheiaVariableContribution.prototype, "variableRegistry", void 0);
139
- tslib_1.__decorate([
140
- (0, inversify_1.inject)(frontend_application_state_1.FrontendApplicationStateService),
141
- tslib_1.__metadata("design:type", frontend_application_state_1.FrontendApplicationStateService)
142
- ], TheiaVariableContribution.prototype, "stateService", void 0);
143
- exports.TheiaVariableContribution = TheiaVariableContribution = TheiaVariableContribution_1 = tslib_1.__decorate([
144
- (0, inversify_1.injectable)()
145
- ], TheiaVariableContribution);
146
- //# sourceMappingURL=theia-variable-contribution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theia-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/theia-variable-contribution.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { ModelTokenUsageData, TokenUsageFrontendService } from './token-usage-frontend-service';
2
- import { TokenUsage, TokenUsageService } from '../common/token-usage-service';
3
- import { TokenUsageServiceClient } from '../common/protocol';
4
- export declare class TokenUsageServiceClientImpl implements TokenUsageServiceClient {
5
- private readonly _onTokenUsageUpdated;
6
- readonly onTokenUsageUpdated: import("@theia/core").Event<TokenUsage>;
7
- notifyTokenUsage(usage: TokenUsage): void;
8
- }
9
- export declare class TokenUsageFrontendServiceImpl implements TokenUsageFrontendService {
10
- protected readonly tokenUsageServiceClient: TokenUsageServiceClient;
11
- protected readonly tokenUsageService: TokenUsageService;
12
- private readonly _onTokenUsageUpdated;
13
- readonly onTokenUsageUpdated: import("@theia/core").Event<ModelTokenUsageData[]>;
14
- private cachedUsageData;
15
- protected init(): void;
16
- /**
17
- * Gets the current token usage data for all models
18
- */
19
- getTokenUsageData(): Promise<ModelTokenUsageData[]>;
20
- /**
21
- * Aggregates token usages by model
22
- */
23
- private aggregateTokenUsages;
24
- }
25
- //# sourceMappingURL=token-usage-frontend-service-impl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token-usage-frontend-service-impl.d.ts","sourceRoot":"","sources":["../../src/browser/token-usage-frontend-service-impl.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,qBACa,2BAA4B,YAAW,uBAAuB;IACvE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;IAClE,QAAQ,CAAC,mBAAmB,0CAAmC;IAE/D,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAI5C;AAED,qBACa,6BAA8B,YAAW,yBAAyB;IAG3E,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAwC;IAC7E,QAAQ,CAAC,mBAAmB,qDAAmC;IAE/D,OAAO,CAAC,eAAe,CAA6B;IAGpD,SAAS,CAAC,IAAI,IAAI,IAAI;IAQtB;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAWzD;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAoE/B"}