@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,138 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource GmbH.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TokenUsageFrontendServiceImpl = exports.TokenUsageServiceClientImpl = void 0;
19
- const tslib_1 = require("tslib");
20
- const inversify_1 = require("@theia/core/shared/inversify");
21
- const core_1 = require("@theia/core");
22
- const token_usage_service_1 = require("../common/token-usage-service");
23
- const protocol_1 = require("../common/protocol");
24
- let TokenUsageServiceClientImpl = class TokenUsageServiceClientImpl {
25
- constructor() {
26
- this._onTokenUsageUpdated = new core_1.Emitter();
27
- this.onTokenUsageUpdated = this._onTokenUsageUpdated.event;
28
- }
29
- notifyTokenUsage(usage) {
30
- this._onTokenUsageUpdated.fire(usage);
31
- }
32
- };
33
- exports.TokenUsageServiceClientImpl = TokenUsageServiceClientImpl;
34
- exports.TokenUsageServiceClientImpl = TokenUsageServiceClientImpl = tslib_1.__decorate([
35
- (0, inversify_1.injectable)()
36
- ], TokenUsageServiceClientImpl);
37
- let TokenUsageFrontendServiceImpl = class TokenUsageFrontendServiceImpl {
38
- constructor() {
39
- this._onTokenUsageUpdated = new core_1.Emitter();
40
- this.onTokenUsageUpdated = this._onTokenUsageUpdated.event;
41
- this.cachedUsageData = [];
42
- }
43
- init() {
44
- this.tokenUsageServiceClient.onTokenUsageUpdated(() => {
45
- this.getTokenUsageData().then(data => {
46
- this._onTokenUsageUpdated.fire(data);
47
- });
48
- });
49
- }
50
- /**
51
- * Gets the current token usage data for all models
52
- */
53
- async getTokenUsageData() {
54
- try {
55
- const usages = await this.tokenUsageService.getTokenUsages();
56
- this.cachedUsageData = this.aggregateTokenUsages(usages);
57
- return this.cachedUsageData;
58
- }
59
- catch (error) {
60
- console.error('Failed to get token usage data:', error);
61
- return [];
62
- }
63
- }
64
- /**
65
- * Aggregates token usages by model
66
- */
67
- aggregateTokenUsages(usages) {
68
- // Group by model
69
- const modelMap = new Map();
70
- // Process each usage record
71
- for (const usage of usages) {
72
- const existing = modelMap.get(usage.model);
73
- if (existing) {
74
- existing.inputTokens += usage.inputTokens;
75
- existing.outputTokens += usage.outputTokens;
76
- // Add cached tokens if they exist
77
- if (usage.cachedInputTokens !== undefined) {
78
- existing.cachedInputTokens += usage.cachedInputTokens;
79
- }
80
- // Add read cached tokens if they exist
81
- if (usage.readCachedInputTokens !== undefined) {
82
- existing.readCachedInputTokens += usage.readCachedInputTokens;
83
- }
84
- // Update last used if this usage is more recent
85
- if (!existing.lastUsed || (usage.timestamp && usage.timestamp > existing.lastUsed)) {
86
- existing.lastUsed = usage.timestamp;
87
- }
88
- }
89
- else {
90
- modelMap.set(usage.model, {
91
- inputTokens: usage.inputTokens,
92
- outputTokens: usage.outputTokens,
93
- cachedInputTokens: usage.cachedInputTokens || 0,
94
- readCachedInputTokens: usage.readCachedInputTokens || 0,
95
- lastUsed: usage.timestamp
96
- });
97
- }
98
- }
99
- // Convert map to array of model usage data
100
- const result = [];
101
- for (const [modelId, data] of modelMap.entries()) {
102
- const modelData = {
103
- modelId,
104
- inputTokens: data.inputTokens,
105
- outputTokens: data.outputTokens,
106
- lastUsed: data.lastUsed
107
- };
108
- // Only include cache-related fields if they have non-zero values
109
- if (data.cachedInputTokens > 0) {
110
- modelData.cachedInputTokens = data.cachedInputTokens;
111
- }
112
- if (data.readCachedInputTokens > 0) {
113
- modelData.readCachedInputTokens = data.readCachedInputTokens;
114
- }
115
- result.push(modelData);
116
- }
117
- return result;
118
- }
119
- };
120
- exports.TokenUsageFrontendServiceImpl = TokenUsageFrontendServiceImpl;
121
- tslib_1.__decorate([
122
- (0, inversify_1.inject)(protocol_1.TokenUsageServiceClient),
123
- tslib_1.__metadata("design:type", Object)
124
- ], TokenUsageFrontendServiceImpl.prototype, "tokenUsageServiceClient", void 0);
125
- tslib_1.__decorate([
126
- (0, inversify_1.inject)(token_usage_service_1.TokenUsageService),
127
- tslib_1.__metadata("design:type", Object)
128
- ], TokenUsageFrontendServiceImpl.prototype, "tokenUsageService", void 0);
129
- tslib_1.__decorate([
130
- (0, inversify_1.postConstruct)(),
131
- tslib_1.__metadata("design:type", Function),
132
- tslib_1.__metadata("design:paramtypes", []),
133
- tslib_1.__metadata("design:returntype", void 0)
134
- ], TokenUsageFrontendServiceImpl.prototype, "init", null);
135
- exports.TokenUsageFrontendServiceImpl = TokenUsageFrontendServiceImpl = tslib_1.__decorate([
136
- (0, inversify_1.injectable)()
137
- ], TokenUsageFrontendServiceImpl);
138
- //# sourceMappingURL=token-usage-frontend-service-impl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token-usage-frontend-service-impl.js","sourceRoot":"","sources":["../../src/browser/token-usage-frontend-service-impl.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { Event } from '@theia/core';
2
- /**
3
- * Data structure for token usage data specific to a model.
4
- */
5
- export interface ModelTokenUsageData {
6
- /** The model identifier */
7
- modelId: string;
8
- /** Number of input tokens used */
9
- inputTokens: number;
10
- /** Number of output tokens used */
11
- outputTokens: number;
12
- /** Number of input tokens written to cache */
13
- cachedInputTokens?: number;
14
- /** Number of input tokens read from cache */
15
- readCachedInputTokens?: number;
16
- /** Date when the model was last used */
17
- lastUsed?: Date;
18
- }
19
- /**
20
- * Service for managing token usage data on the frontend.
21
- */
22
- export declare const TokenUsageFrontendService: unique symbol;
23
- export interface TokenUsageFrontendService {
24
- /**
25
- * Event emitted when token usage data is updated
26
- */
27
- readonly onTokenUsageUpdated: Event<ModelTokenUsageData[]>;
28
- /**
29
- * Gets the current token usage data for all models
30
- */
31
- getTokenUsageData(): Promise<ModelTokenUsageData[]>;
32
- }
33
- //# sourceMappingURL=token-usage-frontend-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token-usage-frontend-service.d.ts","sourceRoot":"","sources":["../../src/browser/token-usage-frontend-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6CAA6C;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,eAAsC,CAAC;AAC7E,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE3D;;OAEG;IACH,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;CACvD"}
@@ -1,23 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource GmbH.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TokenUsageFrontendService = void 0;
19
- /**
20
- * Service for managing token usage data on the frontend.
21
- */
22
- exports.TokenUsageFrontendService = Symbol('TokenUsageFrontendService');
23
- //# sourceMappingURL=token-usage-frontend-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token-usage-frontend-service.js","sourceRoot":"","sources":["../../src/browser/token-usage-frontend-service.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;;;AAsBhF;;GAEG;AACU,QAAA,yBAAyB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC"}
@@ -1,41 +0,0 @@
1
- /**
2
- * Result of a window blink attempt
3
- */
4
- export interface WindowBlinkResult {
5
- /** Whether the window blink was successful */
6
- success: boolean;
7
- /** Error message if the blink failed */
8
- error?: string;
9
- }
10
- /**
11
- * Service for blinking/flashing the application window to get user attention.
12
- */
13
- export declare class WindowBlinkService {
14
- private isElectron;
15
- constructor();
16
- /**
17
- * Blink/flash the window to get user attention.
18
- * The implementation varies depending on the platform and environment.
19
- *
20
- * @param agentName Optional name of the agent to include in the blink notification
21
- */
22
- blinkWindow(agentName?: string): Promise<WindowBlinkResult>;
23
- private blinkElectronWindow;
24
- private blinkBrowserWindow;
25
- private blinkDocumentTitle;
26
- private blinkWithVisibilityAPI;
27
- private focusWindow;
28
- /**
29
- * Check if window blinking is supported in the current environment.
30
- */
31
- isBlinkSupported(): boolean;
32
- /**
33
- * Get information about the blinking capabilities.
34
- */
35
- getBlinkCapabilities(): {
36
- supported: boolean;
37
- method: 'electron' | 'browser' | 'none';
38
- features: string[];
39
- };
40
- }
41
- //# sourceMappingURL=window-blink-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"window-blink-service.d.ts","sourceRoot":"","sources":["../../src/browser/window-blink-service.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBACa,kBAAkB;IAE3B,OAAO,CAAC,UAAU,CAAU;;IAM5B;;;;;OAKG;IACG,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAwBnD,mBAAmB;YAiBnB,kBAAkB;YAQlB,kBAAkB;IAqBhC,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,WAAW;IAiBnB;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAU3B;;OAEG;IACH,oBAAoB,IAAI;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;QACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACtB;CA6BJ"}
@@ -1,174 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource GmbH.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.WindowBlinkService = void 0;
19
- const tslib_1 = require("tslib");
20
- const inversify_1 = require("@theia/core/shared/inversify");
21
- const core_1 = require("@theia/core");
22
- /**
23
- * Service for blinking/flashing the application window to get user attention.
24
- */
25
- let WindowBlinkService = class WindowBlinkService {
26
- constructor() {
27
- this.isElectron = core_1.environment.electron.is();
28
- }
29
- /**
30
- * Blink/flash the window to get user attention.
31
- * The implementation varies depending on the platform and environment.
32
- *
33
- * @param agentName Optional name of the agent to include in the blink notification
34
- */
35
- async blinkWindow(agentName) {
36
- try {
37
- if (this.isElectron) {
38
- await this.blinkElectronWindow(agentName);
39
- }
40
- else {
41
- await this.blinkBrowserWindow(agentName);
42
- }
43
- return { success: true };
44
- }
45
- catch (error) {
46
- console.warn('Failed to blink window:', error);
47
- try {
48
- if (document.hidden) {
49
- this.focusWindow();
50
- }
51
- return { success: true };
52
- }
53
- catch (fallbackError) {
54
- return {
55
- success: false,
56
- error: error instanceof Error ? error.message : 'Failed to blink window'
57
- };
58
- }
59
- }
60
- }
61
- async blinkElectronWindow(agentName) {
62
- await this.blinkDocumentTitle(agentName);
63
- if (document.hidden) {
64
- try {
65
- const theiaCoreAPI = window.electronTheiaCore;
66
- if (theiaCoreAPI === null || theiaCoreAPI === void 0 ? void 0 : theiaCoreAPI.focusWindow) {
67
- theiaCoreAPI.focusWindow();
68
- }
69
- else {
70
- window.focus();
71
- }
72
- }
73
- catch (error) {
74
- console.debug('Could not focus hidden window:', error);
75
- }
76
- }
77
- }
78
- async blinkBrowserWindow(agentName) {
79
- await this.blinkDocumentTitle(agentName);
80
- this.blinkWithVisibilityAPI();
81
- if (document.hidden) {
82
- this.focusWindow();
83
- }
84
- }
85
- async blinkDocumentTitle(agentName) {
86
- const originalTitle = document.title;
87
- const alertTitle = '🔔 ' + (agentName
88
- ? core_1.nls.localize('theia/ai/core/blinkTitle/namedAgentCompleted', 'Theia - Agent "{0}" Completed', agentName)
89
- : core_1.nls.localize('theia/ai/core/blinkTitle/agentCompleted', 'Theia - Agent Completed'));
90
- let blinkCount = 0;
91
- const maxBlinks = 6;
92
- const blinkInterval = setInterval(() => {
93
- if (blinkCount >= maxBlinks) {
94
- clearInterval(blinkInterval);
95
- document.title = originalTitle;
96
- return;
97
- }
98
- document.title = blinkCount % 2 === 0 ? alertTitle : originalTitle;
99
- blinkCount++;
100
- }, 500);
101
- }
102
- blinkWithVisibilityAPI() {
103
- // This method provides visual attention-getting behavior without creating notifications
104
- // as notifications are handled by the OSNotificationService to avoid duplicates
105
- if (!this.isElectron && typeof document.hidden !== 'undefined') {
106
- // Focus the window if it's hidden to get user attention
107
- if (document.hidden) {
108
- this.focusWindow();
109
- }
110
- }
111
- }
112
- focusWindow() {
113
- try {
114
- window.focus();
115
- // Try to scroll to top to create some visual movement
116
- if (document.body.scrollTop > 0 || document.documentElement.scrollTop > 0) {
117
- const currentScroll = document.documentElement.scrollTop || document.body.scrollTop;
118
- window.scrollTo(0, 0);
119
- setTimeout(() => {
120
- window.scrollTo(0, currentScroll);
121
- }, 100);
122
- }
123
- }
124
- catch (error) {
125
- console.debug('Could not focus window:', error);
126
- }
127
- }
128
- /**
129
- * Check if window blinking is supported in the current environment.
130
- */
131
- isBlinkSupported() {
132
- if (this.isElectron) {
133
- const theiaCoreAPI = window.electronTheiaCore;
134
- return !!(theiaCoreAPI === null || theiaCoreAPI === void 0 ? void 0 : theiaCoreAPI.focusWindow);
135
- }
136
- // In browser, we can always provide some form of attention-getting behavior
137
- return true;
138
- }
139
- /**
140
- * Get information about the blinking capabilities.
141
- */
142
- getBlinkCapabilities() {
143
- const features = [];
144
- let method = 'none';
145
- if (this.isElectron) {
146
- method = 'electron';
147
- const theiaCoreAPI = window.electronTheiaCore;
148
- if (theiaCoreAPI === null || theiaCoreAPI === void 0 ? void 0 : theiaCoreAPI.focusWindow) {
149
- features.push('electronTheiaCore.focusWindow');
150
- features.push('document.title blinking');
151
- features.push('window.focus');
152
- }
153
- }
154
- else {
155
- method = 'browser';
156
- features.push('document.title');
157
- features.push('window.focus');
158
- if (typeof document.hidden !== 'undefined') {
159
- features.push('Page Visibility API');
160
- }
161
- }
162
- return {
163
- supported: features.length > 0,
164
- method,
165
- features
166
- };
167
- }
168
- };
169
- exports.WindowBlinkService = WindowBlinkService;
170
- exports.WindowBlinkService = WindowBlinkService = tslib_1.__decorate([
171
- (0, inversify_1.injectable)(),
172
- tslib_1.__metadata("design:paramtypes", [])
173
- ], WindowBlinkService);
174
- //# sourceMappingURL=window-blink-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"window-blink-service.js","sourceRoot":"","sources":["../../src/browser/window-blink-service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { PreferenceSchema } from '@theia/core';
2
- export declare const AGENT_SETTINGS_PREF = "ai-features.agentSettings";
3
- export declare const AgentSettingsPreferenceSchema: PreferenceSchema;
4
- //# sourceMappingURL=agent-preferences.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-preferences.d.ts","sourceRoot":"","sources":["../../src/common/agent-preferences.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAO,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKpD,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAE/D,eAAO,MAAM,6BAA6B,EAAE,gBAgE3C,CAAC"}
@@ -1,84 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource GmbH.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.AgentSettingsPreferenceSchema = exports.AGENT_SETTINGS_PREF = void 0;
19
- const core_1 = require("@theia/core");
20
- const notification_types_1 = require("./notification-types");
21
- exports.AGENT_SETTINGS_PREF = 'ai-features.agentSettings';
22
- exports.AgentSettingsPreferenceSchema = {
23
- properties: {
24
- [exports.AGENT_SETTINGS_PREF]: {
25
- type: 'object',
26
- title: core_1.nls.localize('theia/ai/agents/title', 'Agent Settings'),
27
- hidden: true,
28
- markdownDescription: core_1.nls.localize('theia/ai/agents/mdDescription', 'Configure agent settings such as enabling or disabling specific agents, configuring prompts and \
29
- selecting LLMs.'),
30
- additionalProperties: {
31
- type: 'object',
32
- properties: {
33
- enable: {
34
- type: 'boolean',
35
- title: core_1.nls.localize('theia/ai/agents/enable/title', 'Enable Agent'),
36
- markdownDescription: core_1.nls.localize('theia/ai/agents/enable/mdDescription', 'Specifies whether the agent should be enabled (true) or disabled (false).'),
37
- default: true
38
- },
39
- languageModelRequirements: {
40
- type: 'array',
41
- title: core_1.nls.localize('theia/ai/agents/languageModelRequirements/title', 'Language Model Requirements'),
42
- markdownDescription: core_1.nls.localize('theia/ai/agents/languageModelRequirements/mdDescription', 'Specifies the used language models for this agent.'),
43
- items: {
44
- type: 'object',
45
- properties: {
46
- purpose: {
47
- type: 'string',
48
- title: core_1.nls.localize('theia/ai/agents/languageModelRequirements/purpose/title', 'Purpose'),
49
- markdownDescription: core_1.nls.localize('theia/ai/agents/languageModelRequirements/purpose/mdDescription', 'The purpose for which this language model is used.')
50
- },
51
- identifier: {
52
- type: 'string',
53
- title: core_1.nls.localize('theia/ai/agents/languageModelRequirements/identifier/title', 'Identifier'),
54
- markdownDescription: core_1.nls.localize('theia/ai/agents/languageModelRequirements/identifier/mdDescription', 'The identifier of the language model to be used.')
55
- }
56
- },
57
- required: ['purpose', 'identifier']
58
- }
59
- },
60
- selectedVariants: {
61
- type: 'object',
62
- title: core_1.nls.localize('theia/ai/agents/selectedVariants/title', 'Selected Variants'),
63
- markdownDescription: core_1.nls.localize('theia/ai/agents/selectedVariants/mdDescription', 'Specifies the currently selected prompt variants for this agent.'),
64
- additionalProperties: {
65
- type: 'string'
66
- }
67
- },
68
- completionNotification: {
69
- type: 'string',
70
- enum: [...notification_types_1.NOTIFICATION_TYPES],
71
- title: core_1.nls.localize('theia/ai/agents/completionNotification/title', 'Completion Notification'),
72
- markdownDescription: core_1.nls.localize('theia/ai/agents/completionNotification/mdDescription', 'Notification behavior when this agent completes a task. If not set, the global default notification setting will be used.\n\
73
- - `os-notification`: Show OS/system notifications\n\
74
- - `message`: Show notifications in the status bar/message area\n\
75
- - `blink`: Blink or highlight the UI\n\
76
- - `off`: Disable notifications for this agent')
77
- }
78
- },
79
- required: ['languageModelRequirements']
80
- }
81
- }
82
- }
83
- };
84
- //# sourceMappingURL=agent-preferences.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-preferences.js","sourceRoot":"","sources":["../../src/common/agent-preferences.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,sCAAoD;AACpD,6DAE8B;AAEjB,QAAA,mBAAmB,GAAG,2BAA2B,CAAC;AAElD,QAAA,6BAA6B,GAAqB;IAC3D,UAAU,EAAE;QACR,CAAC,2BAAmB,CAAC,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;YAC9D,MAAM,EAAE,IAAI;YACZ,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,+BAA+B,EAAE;wBACvD,CAAC;YACb,oBAAoB,EAAE;gBAClB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,MAAM,EAAE;wBACJ,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,8BAA8B,EAAE,cAAc,CAAC;wBACnE,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,sCAAsC,EAAE,2EAA2E,CAAC;wBACtJ,OAAO,EAAE,IAAI;qBAChB;oBACD,yBAAyB,EAAE;wBACvB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,iDAAiD,EAAE,6BAA6B,CAAC;wBACrG,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,yDAAyD,EAAE,oDAAoD,CAAC;wBAClJ,KAAK,EAAE;4BACH,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACR,OAAO,EAAE;oCACL,IAAI,EAAE,QAAQ;oCACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,yDAAyD,EAAE,SAAS,CAAC;oCACzF,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,iEAAiE,EAC/F,oDAAoD,CAAC;iCAC5D;gCACD,UAAU,EAAE;oCACR,IAAI,EAAE,QAAQ;oCACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,4DAA4D,EAAE,YAAY,CAAC;oCAC/F,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,oEAAoE,EAClG,kDAAkD,CAAC;iCAC1D;6BACJ;4BACD,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;yBACtC;qBACJ;oBACD,gBAAgB,EAAE;wBACd,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,wCAAwC,EAAE,mBAAmB,CAAC;wBAClF,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,gDAAgD,EAAE,kEAAkE,CAAC;wBACvJ,oBAAoB,EAAE;4BAClB,IAAI,EAAE,QAAQ;yBACjB;qBACJ;oBACD,sBAAsB,EAAE;wBACpB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,GAAG,uCAAkB,CAAC;wBAC7B,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,8CAA8C,EAAE,yBAAyB,CAAC;wBAC9F,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,sDAAsD,EACpF;;;;8DAIkC,CAAC;qBAC1C;iBACJ;gBACD,QAAQ,EAAE,CAAC,2BAA2B,CAAC;aAC1C;SACJ;KACJ;CACJ,CAAC"}
@@ -1,66 +0,0 @@
1
- import { Event } from '@theia/core';
2
- import { Agent } from './agent';
3
- import { AISettingsService } from './settings-service';
4
- import { PromptService } from './prompt-service';
5
- export declare const AgentService: unique symbol;
6
- /**
7
- * Service to access the list of known Agents.
8
- */
9
- export interface AgentService {
10
- /**
11
- * Retrieves a list of all available agents, i.e. agents which are not disabled
12
- */
13
- getAgents(): Agent[];
14
- /**
15
- * Retrieves a list of all agents, including disabled ones.
16
- */
17
- getAllAgents(): Agent[];
18
- /**
19
- * Enable the agent with the specified id.
20
- * @param agentId the agent id.
21
- */
22
- enableAgent(agentId: string): void;
23
- /**
24
- * disable the agent with the specified id.
25
- * @param agentId the agent id.
26
- */
27
- disableAgent(agentId: string): void;
28
- /**
29
- * query whether this agent is currently enabled or disabled.
30
- * @param agentId the agent id.
31
- * @return true if the agent is enabled, false otherwise.
32
- */
33
- isEnabled(agentId: string): boolean;
34
- /**
35
- * Allows to register an agent programmatically.
36
- * @param agent the agent to register
37
- */
38
- registerAgent(agent: Agent): void;
39
- /**
40
- * Allows to unregister an agent programmatically.
41
- * @param agentId the agent id to unregister
42
- */
43
- unregisterAgent(agentId: string): void;
44
- /**
45
- * Emitted when the list of agents changes.
46
- * This can be used to update the UI when agents are added or removed.
47
- */
48
- onDidChangeAgents: Event<void>;
49
- }
50
- export declare class AgentServiceImpl implements AgentService {
51
- protected readonly aiSettingsService: AISettingsService | undefined;
52
- protected readonly promptService: PromptService;
53
- protected disabledAgents: Set<string>;
54
- protected _agents: Agent[];
55
- private readonly onDidChangeAgentsEmitter;
56
- readonly onDidChangeAgents: Event<void>;
57
- protected init(): void;
58
- registerAgent(agent: Agent): void;
59
- unregisterAgent(agentId: string): void;
60
- getAgents(): Agent[];
61
- getAllAgents(): Agent[];
62
- enableAgent(agentId: string): void;
63
- disableAgent(agentId: string): void;
64
- isEnabled(agentId: string): boolean;
65
- }
66
- //# sourceMappingURL=agent-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-service.d.ts","sourceRoot":"","sources":["../../src/common/agent-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAW,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,YAAY,eAAyB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,SAAS,IAAI,KAAK,EAAE,CAAC;IACrB;;OAEG;IACH,YAAY,IAAI,KAAK,EAAE,CAAC;IACxB;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAEpC;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAElC;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvC;;;OAGG;IACH,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CAClC;AAED,qBACa,gBAAiB,YAAW,YAAY;IAGjD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,cAAc,cAAqB;IAE7C,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAM;IAEhC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAuB;IAChE,QAAQ,CAAC,iBAAiB,cAAuC;IAGjE,SAAS,CAAC,IAAI,IAAI,IAAI;IAUtB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAajC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IActC,SAAS,IAAI,KAAK,EAAE;IAIpB,YAAY,IAAI,KAAK,EAAE;IAIvB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKlC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKnC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGtC"}