@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,38 +0,0 @@
1
- import { LanguageModel, LanguageModelRegistry, LanguageModelResponse, UserRequest } from './language-model';
2
- import { LanguageModelExchangeRequest, LanguageModelSession } from './language-model-interaction-model';
3
- import { Emitter } from '@theia/core';
4
- export interface RequestAddedEvent {
5
- type: 'requestAdded';
6
- id: string;
7
- }
8
- export interface ResponseCompletedEvent {
9
- type: 'responseCompleted';
10
- requestId: string;
11
- }
12
- export interface SessionsClearedEvent {
13
- type: 'sessionsCleared';
14
- }
15
- export type SessionEvent = RequestAddedEvent | ResponseCompletedEvent | SessionsClearedEvent;
16
- export declare const LanguageModelService: unique symbol;
17
- export interface LanguageModelService {
18
- onSessionChanged: Emitter<SessionEvent>['event'];
19
- /**
20
- * Collection of all recorded LanguageModelSessions.
21
- */
22
- sessions: LanguageModelSession[];
23
- /**
24
- * Submit a language model request, it will automatically be recorded within a LanguageModelSession.
25
- */
26
- sendRequest(languageModel: LanguageModel, languageModelRequest: UserRequest): Promise<LanguageModelResponse>;
27
- }
28
- export declare class LanguageModelServiceImpl implements LanguageModelService {
29
- protected languageModelRegistry: LanguageModelRegistry;
30
- private _sessions;
31
- get sessions(): LanguageModelSession[];
32
- set sessions(newSessions: LanguageModelSession[]);
33
- protected sessionChangedEmitter: Emitter<SessionEvent>;
34
- onSessionChanged: import("@theia/core").Event<SessionEvent>;
35
- sendRequest(languageModel: LanguageModel, languageModelRequest: UserRequest): Promise<LanguageModelResponse>;
36
- protected storeRequest(languageModel: LanguageModel, languageModelRequest: UserRequest, response: LanguageModelExchangeRequest['response']): void;
37
- }
38
- //# sourceMappingURL=language-model-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-model-service.d.ts","sourceRoot":"","sources":["../../src/common/language-model-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAiC,aAAa,EAAE,qBAAqB,EAAE,qBAAqB,EAAmC,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5K,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACxG,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,iBAAiB,CAAA;CAC1B;AACD,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;AAE7F,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AACnE,MAAM,WAAW,oBAAoB;IACjC,gBAAgB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACjD;;OAEG;IACH,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC;;OAEG;IACH,WAAW,CACP,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,WAAW,GAClC,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACrC;AACD,qBAAa,wBAAyB,YAAW,oBAAoB;IAGjE,SAAS,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAEvD,OAAO,CAAC,SAAS,CAA8B;IAE/C,IAAI,QAAQ,IAAI,oBAAoB,EAAE,CAErC;IAED,IAAI,QAAQ,CAAC,WAAW,EAAE,oBAAoB,EAAE,EAK/C;IAED,SAAS,CAAC,qBAAqB,wBAA+B;IAC9D,gBAAgB,4CAAoC;IAE9C,WAAW,CACb,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,WAAW,GAClC,OAAO,CAAC,qBAAqB,CAAC;IAiCjC,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,4BAA4B,CAAC,UAAU,CAAC,GAAG,IAAI;CAuCpJ"}
@@ -1,128 +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.LanguageModelServiceImpl = exports.LanguageModelService = void 0;
19
- const tslib_1 = require("tslib");
20
- const inversify_1 = require("@theia/core/shared/inversify");
21
- const language_model_1 = require("./language-model");
22
- const core_1 = require("@theia/core");
23
- exports.LanguageModelService = Symbol('LanguageModelService');
24
- class LanguageModelServiceImpl {
25
- constructor() {
26
- this._sessions = [];
27
- this.sessionChangedEmitter = new core_1.Emitter();
28
- this.onSessionChanged = this.sessionChangedEmitter.event;
29
- }
30
- get sessions() {
31
- return this._sessions;
32
- }
33
- set sessions(newSessions) {
34
- this._sessions = newSessions;
35
- if (newSessions.length === 0) {
36
- this.sessionChangedEmitter.fire({ type: 'sessionsCleared' });
37
- }
38
- }
39
- async sendRequest(languageModel, languageModelRequest) {
40
- // Filter messages based on client settings
41
- languageModelRequest.messages = languageModelRequest.messages.filter(message => {
42
- var _a, _b;
43
- if (message.type === 'thinking' && ((_a = languageModelRequest.clientSettings) === null || _a === void 0 ? void 0 : _a.keepThinking) === false) {
44
- return false;
45
- }
46
- if ((message.type === 'tool_result' || message.type === 'tool_use') &&
47
- ((_b = languageModelRequest.clientSettings) === null || _b === void 0 ? void 0 : _b.keepToolCalls) === false) {
48
- return false;
49
- }
50
- // Keep all other messages
51
- return true;
52
- });
53
- let response = await languageModel.request(languageModelRequest, languageModelRequest.cancellationToken);
54
- let storedResponse;
55
- if ((0, language_model_1.isLanguageModelStreamResponse)(response)) {
56
- const parts = [];
57
- response = {
58
- ...response,
59
- stream: createLoggingAsyncIterable(response.stream, parts, () => { var _a; return this.sessionChangedEmitter.fire({ type: 'responseCompleted', requestId: (_a = languageModelRequest.subRequestId) !== null && _a !== void 0 ? _a : languageModelRequest.requestId }); })
60
- };
61
- storedResponse = { parts };
62
- }
63
- else {
64
- storedResponse = response;
65
- }
66
- this.storeRequest(languageModel, languageModelRequest, storedResponse);
67
- return response;
68
- }
69
- storeRequest(languageModel, languageModelRequest, response) {
70
- var _a, _b;
71
- // Find or create the session for this request
72
- let session = this._sessions.find(s => s.id === languageModelRequest.sessionId);
73
- if (!session) {
74
- session = {
75
- id: languageModelRequest.sessionId,
76
- exchanges: []
77
- };
78
- this._sessions.push(session);
79
- }
80
- // Find or create the exchange for this request
81
- let exchange = session.exchanges.find(r => r.id === languageModelRequest.requestId);
82
- if (!exchange) {
83
- exchange = {
84
- id: languageModelRequest.requestId,
85
- requests: [],
86
- metadata: { agent: languageModelRequest.agentId }
87
- };
88
- session.exchanges.push(exchange);
89
- }
90
- // Create and add the LanguageModelExchangeRequest to the exchange
91
- const exchangeRequest = {
92
- id: (_a = languageModelRequest.subRequestId) !== null && _a !== void 0 ? _a : languageModelRequest.requestId,
93
- request: languageModelRequest,
94
- languageModel: languageModel.id,
95
- response: response,
96
- metadata: {}
97
- };
98
- exchange.requests.push(exchangeRequest);
99
- exchangeRequest.metadata.agent = languageModelRequest.agentId;
100
- exchangeRequest.metadata.timestamp = Date.now();
101
- this.sessionChangedEmitter.fire({ type: 'requestAdded', id: (_b = languageModelRequest.subRequestId) !== null && _b !== void 0 ? _b : languageModelRequest.requestId });
102
- }
103
- }
104
- exports.LanguageModelServiceImpl = LanguageModelServiceImpl;
105
- tslib_1.__decorate([
106
- (0, inversify_1.inject)(language_model_1.LanguageModelRegistry),
107
- tslib_1.__metadata("design:type", Object)
108
- ], LanguageModelServiceImpl.prototype, "languageModelRegistry", void 0);
109
- /**
110
- * Creates an AsyncIterable wrapper that stores each yielded item while preserving the
111
- * original AsyncIterable behavior.
112
- */
113
- async function* createLoggingAsyncIterable(stream, parts, streamFinished) {
114
- try {
115
- for await (const part of stream) {
116
- parts.push(part);
117
- yield part;
118
- }
119
- }
120
- catch (error) {
121
- parts.push({ content: `[NOT FROM LLM] An error occurred: ${error.message}` });
122
- throw error;
123
- }
124
- finally {
125
- streamFinished();
126
- }
127
- }
128
- //# sourceMappingURL=language-model-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-model-service.js","sourceRoot":"","sources":["../../src/common/language-model-service.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { LanguageModelResponse, ToolRequest } from './language-model';
2
- import { LanguageModelMonitoredStreamResponse } from './language-model-interaction-model';
3
- /**
4
- * Retrieves the text content from a `LanguageModelResponse` object.
5
- *
6
- * **Important:** For stream responses, the stream can only be consumed once. Calling this function multiple times on the same stream response will return an empty string (`''`)
7
- * on subsequent calls, as the stream will have already been consumed.
8
- *
9
- * @param {LanguageModelResponse} response - The response object, which may contain a text, stream, or parsed response.
10
- * @returns {Promise<string>} - A promise that resolves to the text content of the response.
11
- * @throws {Error} - Throws an error if the response type is not supported or does not contain valid text content.
12
- */
13
- export declare const getTextOfResponse: (response: LanguageModelResponse | LanguageModelMonitoredStreamResponse) => Promise<string>;
14
- export declare const getJsonOfResponse: (response: LanguageModelResponse | LanguageModelMonitoredStreamResponse) => Promise<unknown>;
15
- export declare const getJsonOfText: (text: string) => unknown;
16
- export declare const toolRequestToPromptText: (toolRequest: ToolRequest) => string;
17
- //# sourceMappingURL=language-model-util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-model-util.d.ts","sourceRoot":"","sources":["../../src/common/language-model-util.ts"],"names":[],"mappings":"AAgBA,OAAO,EAKH,qBAAqB,EACrB,WAAW,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oCAAoC,EAAE,MAAM,oCAAoC,CAAC;AAE1F;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,aAAoB,qBAAqB,GAAG,oCAAoC,KAAG,QAAQ,MAAM,CAoB9H,CAAC;AAEF,eAAO,MAAM,iBAAiB,aAAoB,qBAAqB,GAAG,oCAAoC,KAAG,QAAQ,OAAO,CAG/H,CAAC;AAEF,eAAO,MAAM,aAAa,SAAU,MAAM,KAAG,OAgB5C,CAAC;AAEF,eAAO,MAAM,uBAAuB,gBAAiB,WAAW,KAAG,MAA6B,CAAC"}
@@ -1,82 +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.toolRequestToPromptText = exports.getJsonOfText = exports.getJsonOfResponse = exports.getTextOfResponse = void 0;
19
- const language_model_1 = require("./language-model");
20
- /**
21
- * Retrieves the text content from a `LanguageModelResponse` object.
22
- *
23
- * **Important:** For stream responses, the stream can only be consumed once. Calling this function multiple times on the same stream response will return an empty string (`''`)
24
- * on subsequent calls, as the stream will have already been consumed.
25
- *
26
- * @param {LanguageModelResponse} response - The response object, which may contain a text, stream, or parsed response.
27
- * @returns {Promise<string>} - A promise that resolves to the text content of the response.
28
- * @throws {Error} - Throws an error if the response type is not supported or does not contain valid text content.
29
- */
30
- const getTextOfResponse = async (response) => {
31
- if ((0, language_model_1.isLanguageModelTextResponse)(response)) {
32
- return response.text;
33
- }
34
- else if ((0, language_model_1.isLanguageModelStreamResponse)(response)) {
35
- let result = '';
36
- for await (const chunk of response.stream) {
37
- result += ((0, language_model_1.isTextResponsePart)(chunk) && chunk.content) ? chunk.content : '';
38
- }
39
- return result;
40
- }
41
- else if ((0, language_model_1.isLanguageModelParsedResponse)(response)) {
42
- return response.content;
43
- }
44
- else if ('parts' in response) {
45
- // Handle monitored stream response
46
- let result = '';
47
- for (const chunk of response.parts) {
48
- result += ((0, language_model_1.isTextResponsePart)(chunk) && chunk.content) ? chunk.content : '';
49
- }
50
- return result;
51
- }
52
- throw new Error(`Invalid response type ${response}`);
53
- };
54
- exports.getTextOfResponse = getTextOfResponse;
55
- const getJsonOfResponse = async (response) => {
56
- const text = await (0, exports.getTextOfResponse)(response);
57
- return (0, exports.getJsonOfText)(text);
58
- };
59
- exports.getJsonOfResponse = getJsonOfResponse;
60
- const getJsonOfText = (text) => {
61
- if (text.startsWith('```json')) {
62
- const regex = /```json\s*([\s\S]*?)\s*```/g;
63
- let match;
64
- // eslint-disable-next-line no-null/no-null
65
- while ((match = regex.exec(text)) !== null) {
66
- try {
67
- return JSON.parse(match[1]);
68
- }
69
- catch (error) {
70
- console.error('Failed to parse JSON:', error);
71
- }
72
- }
73
- }
74
- else if (text.startsWith('{') || text.startsWith('[')) {
75
- return JSON.parse(text);
76
- }
77
- throw new Error('Invalid response format');
78
- };
79
- exports.getJsonOfText = getJsonOfText;
80
- const toolRequestToPromptText = (toolRequest) => `${toolRequest.id}`;
81
- exports.toolRequestToPromptText = toolRequestToPromptText;
82
- //# sourceMappingURL=language-model-util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-model-util.js","sourceRoot":"","sources":["../../src/common/language-model-util.ts"],"names":[],"mappings":"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"}
@@ -1,285 +0,0 @@
1
- import { ContributionProvider, ILogger, Event, Emitter, CancellationToken } from '@theia/core';
2
- export type MessageActor = 'user' | 'ai' | 'system';
3
- export type LanguageModelMessage = TextMessage | ThinkingMessage | ToolUseMessage | ToolResultMessage | ImageMessage;
4
- export declare namespace LanguageModelMessage {
5
- function isTextMessage(obj: LanguageModelMessage): obj is TextMessage;
6
- function isThinkingMessage(obj: LanguageModelMessage): obj is ThinkingMessage;
7
- function isToolUseMessage(obj: LanguageModelMessage): obj is ToolUseMessage;
8
- function isToolResultMessage(obj: LanguageModelMessage): obj is ToolResultMessage;
9
- function isImageMessage(obj: LanguageModelMessage): obj is ImageMessage;
10
- }
11
- export interface TextMessage {
12
- actor: MessageActor;
13
- type: 'text';
14
- text: string;
15
- }
16
- export interface ThinkingMessage {
17
- actor: 'ai';
18
- type: 'thinking';
19
- thinking: string;
20
- signature: string;
21
- }
22
- export interface ToolResultMessage {
23
- actor: 'user';
24
- tool_use_id: string;
25
- name: string;
26
- type: 'tool_result';
27
- content?: ToolCallResult;
28
- is_error?: boolean;
29
- }
30
- export interface ToolUseMessage {
31
- actor: 'ai';
32
- type: 'tool_use';
33
- id: string;
34
- input: unknown;
35
- name: string;
36
- }
37
- export type ImageMimeType = 'image/jpeg' | 'image/png' | 'image/gif' | 'image/webp' | 'image/bmp' | 'image/svg+xml' | string & {};
38
- export interface UrlImageContent {
39
- url: string;
40
- }
41
- export interface Base64ImageContent {
42
- base64data: string;
43
- mimeType: ImageMimeType;
44
- }
45
- export type ImageContent = UrlImageContent | Base64ImageContent;
46
- export declare namespace ImageContent {
47
- const isUrl: (obj: ImageContent) => obj is UrlImageContent;
48
- const isBase64: (obj: ImageContent) => obj is Base64ImageContent;
49
- }
50
- export interface ImageMessage {
51
- actor: 'ai' | 'user';
52
- type: 'image';
53
- image: ImageContent;
54
- }
55
- export declare const isLanguageModelRequestMessage: (obj: unknown) => obj is LanguageModelMessage;
56
- export interface ToolRequestParameterProperty {
57
- type?: 'string' | 'number' | 'integer' | 'boolean' | 'object' | 'array' | 'null';
58
- anyOf?: ToolRequestParameterProperty[];
59
- [key: string]: unknown;
60
- }
61
- export type ToolRequestParametersProperties = Record<string, ToolRequestParameterProperty>;
62
- export interface ToolRequestParameters {
63
- type?: 'object';
64
- properties: ToolRequestParametersProperties;
65
- required?: string[];
66
- }
67
- export interface ToolRequest {
68
- id: string;
69
- name: string;
70
- parameters: ToolRequestParameters;
71
- description?: string;
72
- handler: (arg_string: string, ctx?: unknown) => Promise<ToolCallResult>;
73
- providerName?: string;
74
- }
75
- export declare namespace ToolRequest {
76
- function isToolRequestParametersProperties(obj: unknown): obj is ToolRequestParametersProperties;
77
- function isToolRequestParameters(obj: unknown): obj is ToolRequestParameters;
78
- }
79
- export interface LanguageModelRequest {
80
- messages: LanguageModelMessage[];
81
- tools?: ToolRequest[];
82
- response_format?: {
83
- type: 'text';
84
- } | {
85
- type: 'json_object';
86
- } | ResponseFormatJsonSchema;
87
- settings?: {
88
- [key: string]: unknown;
89
- };
90
- clientSettings?: {
91
- keepToolCalls: boolean;
92
- keepThinking: boolean;
93
- };
94
- }
95
- export interface ResponseFormatJsonSchema {
96
- type: 'json_schema';
97
- json_schema: {
98
- name: string;
99
- description?: string;
100
- schema?: Record<string, unknown>;
101
- strict?: boolean | null;
102
- };
103
- }
104
- /**
105
- * The UserRequest extends the "pure" LanguageModelRequest for cancelling support as well as
106
- * logging metadata.
107
- * The additional metadata might also be used for other use cases, for example to query default
108
- * request settings based on the agent id, merging with the request settings handed over.
109
- */
110
- export interface UserRequest extends LanguageModelRequest {
111
- /**
112
- * Identifier of the Ai/ChatSession
113
- */
114
- sessionId: string;
115
- /**
116
- * Identifier of the request or overall exchange. Corresponds to request id in Chat sessions
117
- */
118
- requestId: string;
119
- /**
120
- * Id of a request in case a single exchange consists of multiple requests. In this case the requestId corresponds to the overall exchange.
121
- */
122
- subRequestId?: string;
123
- /**
124
- * Optional agent identifier in case the request was sent by an agent
125
- */
126
- agentId?: string;
127
- /**
128
- * Cancellation support
129
- */
130
- cancellationToken?: CancellationToken;
131
- }
132
- export interface LanguageModelTextResponse {
133
- text: string;
134
- }
135
- export declare const isLanguageModelTextResponse: (obj: unknown) => obj is LanguageModelTextResponse;
136
- export type LanguageModelStreamResponsePart = TextResponsePart | ToolCallResponsePart | ThinkingResponsePart | UsageResponsePart;
137
- export declare const isLanguageModelStreamResponsePart: (part: unknown) => part is LanguageModelStreamResponsePart;
138
- export interface UsageResponsePart {
139
- input_tokens: number;
140
- output_tokens: number;
141
- }
142
- export declare const isUsageResponsePart: (part: unknown) => part is UsageResponsePart;
143
- export interface TextResponsePart {
144
- content: string;
145
- }
146
- export declare const isTextResponsePart: (part: unknown) => part is TextResponsePart;
147
- export interface ToolCallResponsePart {
148
- tool_calls: ToolCall[];
149
- }
150
- export declare const isToolCallResponsePart: (part: unknown) => part is ToolCallResponsePart;
151
- export interface ThinkingResponsePart {
152
- thought: string;
153
- signature: string;
154
- }
155
- export declare const isThinkingResponsePart: (part: unknown) => part is ThinkingResponsePart;
156
- export interface ToolCallTextResult {
157
- type: 'text';
158
- text: string;
159
- }
160
- export interface ToolCallImageResult extends Base64ImageContent {
161
- type: 'image';
162
- }
163
- export interface ToolCallAudioResult {
164
- type: 'audio';
165
- data: string;
166
- mimeType: string;
167
- }
168
- export interface ToolCallErrorResult {
169
- type: 'error';
170
- data: string;
171
- }
172
- export type ToolCallContentResult = ToolCallTextResult | ToolCallImageResult | ToolCallAudioResult | ToolCallErrorResult;
173
- export interface ToolCallContent {
174
- content: ToolCallContentResult[];
175
- }
176
- export type ToolCallResult = undefined | object | string | ToolCallContent;
177
- export interface ToolCall {
178
- id?: string;
179
- function?: {
180
- arguments?: string;
181
- name?: string;
182
- };
183
- finished?: boolean;
184
- result?: ToolCallResult;
185
- }
186
- export interface LanguageModelStreamResponse {
187
- stream: AsyncIterable<LanguageModelStreamResponsePart>;
188
- }
189
- export declare const isLanguageModelStreamResponse: (obj: unknown) => obj is LanguageModelStreamResponse;
190
- export interface LanguageModelParsedResponse {
191
- parsed: unknown;
192
- content: string;
193
- }
194
- export declare const isLanguageModelParsedResponse: (obj: unknown) => obj is LanguageModelParsedResponse;
195
- export type LanguageModelResponse = LanguageModelTextResponse | LanguageModelStreamResponse | LanguageModelParsedResponse;
196
- export declare const LanguageModelProvider: unique symbol;
197
- export type LanguageModelProvider = () => Promise<LanguageModel[]>;
198
- export interface LanguageModelMetaData {
199
- readonly id: string;
200
- readonly name?: string;
201
- readonly vendor?: string;
202
- readonly version?: string;
203
- readonly family?: string;
204
- readonly maxInputTokens?: number;
205
- readonly maxOutputTokens?: number;
206
- readonly status: LanguageModelStatus;
207
- }
208
- export declare namespace LanguageModelMetaData {
209
- function is(arg: unknown): arg is LanguageModelMetaData;
210
- }
211
- export interface LanguageModelStatus {
212
- status: 'ready' | 'unavailable';
213
- message?: string;
214
- }
215
- export interface LanguageModel extends LanguageModelMetaData {
216
- request(request: UserRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse>;
217
- }
218
- export declare namespace LanguageModel {
219
- function is(arg: unknown): arg is LanguageModel;
220
- }
221
- interface VsCodeLanguageModelSelector {
222
- readonly identifier?: string;
223
- readonly name?: string;
224
- readonly vendor?: string;
225
- readonly version?: string;
226
- readonly family?: string;
227
- readonly tokens?: number;
228
- }
229
- export interface LanguageModelSelector extends VsCodeLanguageModelSelector {
230
- readonly agent: string;
231
- readonly purpose: string;
232
- }
233
- export type LanguageModelRequirement = Omit<LanguageModelSelector, 'agent'>;
234
- export declare const LanguageModelRegistry: unique symbol;
235
- /**
236
- * Base interface for language model registries (frontend and backend).
237
- */
238
- export interface LanguageModelRegistry {
239
- onChange: Event<{
240
- models: LanguageModel[];
241
- }>;
242
- addLanguageModels(models: LanguageModel[]): void;
243
- getLanguageModels(): Promise<LanguageModel[]>;
244
- getLanguageModel(id: string): Promise<LanguageModel | undefined>;
245
- removeLanguageModels(id: string[]): void;
246
- selectLanguageModel(request: LanguageModelSelector): Promise<LanguageModel | undefined>;
247
- selectLanguageModels(request: LanguageModelSelector): Promise<LanguageModel[] | undefined>;
248
- patchLanguageModel<T extends LanguageModel = LanguageModel>(id: string, patch: Partial<T>): Promise<void>;
249
- }
250
- export declare const FrontendLanguageModelRegistry: unique symbol;
251
- /**
252
- * Frontend-specific language model registry interface (supports alias resolution).
253
- */
254
- export interface FrontendLanguageModelRegistry extends LanguageModelRegistry {
255
- /**
256
- * If an id of a language model is provded, returns the LanguageModel if it is `ready`.
257
- * If an alias is provided, finds the highest-priority ready model from that alias.
258
- * If none are ready returns undefined.
259
- */
260
- getReadyLanguageModel(idOrAlias: string): Promise<LanguageModel | undefined>;
261
- }
262
- export declare class DefaultLanguageModelRegistryImpl implements LanguageModelRegistry {
263
- protected logger: ILogger;
264
- protected readonly languageModelContributions: ContributionProvider<LanguageModelProvider>;
265
- protected languageModels: LanguageModel[];
266
- protected markInitialized: () => void;
267
- protected initialized: Promise<void>;
268
- protected changeEmitter: Emitter<{
269
- models: LanguageModel[];
270
- }>;
271
- onChange: Event<{
272
- models: LanguageModel[];
273
- }>;
274
- protected init(): void;
275
- addLanguageModels(models: LanguageModel[]): void;
276
- getLanguageModels(): Promise<LanguageModel[]>;
277
- getLanguageModel(id: string): Promise<LanguageModel | undefined>;
278
- removeLanguageModels(ids: string[]): void;
279
- selectLanguageModels(request: LanguageModelSelector): Promise<LanguageModel[] | undefined>;
280
- selectLanguageModel(request: LanguageModelSelector): Promise<LanguageModel | undefined>;
281
- patchLanguageModel<T extends LanguageModel = LanguageModel>(id: string, patch: Partial<T>): Promise<void>;
282
- }
283
- export declare function isModelMatching(request: LanguageModelSelector, model: LanguageModel): boolean;
284
- export {};
285
- //# sourceMappingURL=language-model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-model.d.ts","sourceRoot":"","sources":["../../src/common/language-model.ts"],"names":[],"mappings":"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"}