@theia/ai-chat 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 (254) hide show
  1. package/README.md +1 -0
  2. package/package.json +9 -9
  3. package/lib/browser/agent-delegation-tool.d.ts +0 -25
  4. package/lib/browser/agent-delegation-tool.d.ts.map +0 -1
  5. package/lib/browser/agent-delegation-tool.js +0 -196
  6. package/lib/browser/agent-delegation-tool.js.map +0 -1
  7. package/lib/browser/ai-chat-frontend-contribution.d.ts +0 -11
  8. package/lib/browser/ai-chat-frontend-contribution.d.ts.map +0 -1
  9. package/lib/browser/ai-chat-frontend-contribution.js +0 -56
  10. package/lib/browser/ai-chat-frontend-contribution.js.map +0 -1
  11. package/lib/browser/ai-chat-frontend-module.d.ts +0 -4
  12. package/lib/browser/ai-chat-frontend-module.d.ts.map +0 -1
  13. package/lib/browser/ai-chat-frontend-module.js +0 -143
  14. package/lib/browser/ai-chat-frontend-module.js.map +0 -1
  15. package/lib/browser/change-set-decorator-service.d.ts +0 -24
  16. package/lib/browser/change-set-decorator-service.d.ts.map +0 -1
  17. package/lib/browser/change-set-decorator-service.js +0 -66
  18. package/lib/browser/change-set-decorator-service.js.map +0 -1
  19. package/lib/browser/change-set-file-element-deserializer.d.ts +0 -7
  20. package/lib/browser/change-set-file-element-deserializer.d.ts.map +0 -1
  21. package/lib/browser/change-set-file-element-deserializer.js +0 -61
  22. package/lib/browser/change-set-file-element-deserializer.js.map +0 -1
  23. package/lib/browser/change-set-file-element.d.ts +0 -122
  24. package/lib/browser/change-set-file-element.d.ts.map +0 -1
  25. package/lib/browser/change-set-file-element.js +0 -435
  26. package/lib/browser/change-set-file-element.js.map +0 -1
  27. package/lib/browser/change-set-file-resource.d.ts +0 -4
  28. package/lib/browser/change-set-file-resource.d.ts.map +0 -1
  29. package/lib/browser/change-set-file-resource.js +0 -24
  30. package/lib/browser/change-set-file-resource.js.map +0 -1
  31. package/lib/browser/change-set-file-service.d.ts +0 -32
  32. package/lib/browser/change-set-file-service.d.ts.map +0 -1
  33. package/lib/browser/change-set-file-service.js +0 -161
  34. package/lib/browser/change-set-file-service.js.map +0 -1
  35. package/lib/browser/change-set-variable.d.ts +0 -11
  36. package/lib/browser/change-set-variable.d.ts.map +0 -1
  37. package/lib/browser/change-set-variable.js +0 -64
  38. package/lib/browser/change-set-variable.js.map +0 -1
  39. package/lib/browser/chat-session-store-impl.d.ts +0 -36
  40. package/lib/browser/chat-session-store-impl.d.ts.map +0 -1
  41. package/lib/browser/chat-session-store-impl.js +0 -287
  42. package/lib/browser/chat-session-store-impl.js.map +0 -1
  43. package/lib/browser/chat-tool-preference-bindings.d.ts +0 -34
  44. package/lib/browser/chat-tool-preference-bindings.d.ts.map +0 -1
  45. package/lib/browser/chat-tool-preference-bindings.js +0 -122
  46. package/lib/browser/chat-tool-preference-bindings.js.map +0 -1
  47. package/lib/browser/chat-tool-request-service.d.ts +0 -21
  48. package/lib/browser/chat-tool-request-service.d.ts.map +0 -1
  49. package/lib/browser/chat-tool-request-service.js +0 -90
  50. package/lib/browser/chat-tool-request-service.js.map +0 -1
  51. package/lib/browser/context-file-validation-service.d.ts +0 -15
  52. package/lib/browser/context-file-validation-service.d.ts.map +0 -1
  53. package/lib/browser/context-file-validation-service.js +0 -26
  54. package/lib/browser/context-file-validation-service.js.map +0 -1
  55. package/lib/browser/context-file-variable-label-provider.d.ts +0 -14
  56. package/lib/browser/context-file-variable-label-provider.d.ts.map +0 -1
  57. package/lib/browser/context-file-variable-label-provider.js +0 -63
  58. package/lib/browser/context-file-variable-label-provider.js.map +0 -1
  59. package/lib/browser/context-variable-label-provider.d.ts +0 -9
  60. package/lib/browser/context-variable-label-provider.d.ts.map +0 -1
  61. package/lib/browser/context-variable-label-provider.js +0 -55
  62. package/lib/browser/context-variable-label-provider.js.map +0 -1
  63. package/lib/browser/custom-agent-factory.d.ts +0 -4
  64. package/lib/browser/custom-agent-factory.d.ts.map +0 -1
  65. package/lib/browser/custom-agent-factory.js +0 -20
  66. package/lib/browser/custom-agent-factory.js.map +0 -1
  67. package/lib/browser/custom-agent-frontend-application-contribution.d.ts +0 -13
  68. package/lib/browser/custom-agent-frontend-application-contribution.d.ts.map +0 -1
  69. package/lib/browser/custom-agent-frontend-application-contribution.js +0 -83
  70. package/lib/browser/custom-agent-frontend-application-contribution.js.map +0 -1
  71. package/lib/browser/delegation-response-content.d.ts +0 -20
  72. package/lib/browser/delegation-response-content.d.ts.map +0 -1
  73. package/lib/browser/delegation-response-content.js +0 -47
  74. package/lib/browser/delegation-response-content.js.map +0 -1
  75. package/lib/browser/file-chat-variable-contribution.d.ts +0 -32
  76. package/lib/browser/file-chat-variable-contribution.d.ts.map +0 -1
  77. package/lib/browser/file-chat-variable-contribution.js +0 -241
  78. package/lib/browser/file-chat-variable-contribution.js.map +0 -1
  79. package/lib/browser/frontend-chat-service.d.ts +0 -15
  80. package/lib/browser/frontend-chat-service.d.ts.map +0 -1
  81. package/lib/browser/frontend-chat-service.js +0 -72
  82. package/lib/browser/frontend-chat-service.js.map +0 -1
  83. package/lib/browser/image-context-variable-contribution.d.ts +0 -27
  84. package/lib/browser/image-context-variable-contribution.d.ts.map +0 -1
  85. package/lib/browser/image-context-variable-contribution.js +0 -149
  86. package/lib/browser/image-context-variable-contribution.js.map +0 -1
  87. package/lib/browser/task-context-service.d.ts +0 -46
  88. package/lib/browser/task-context-service.d.ts.map +0 -1
  89. package/lib/browser/task-context-service.js +0 -256
  90. package/lib/browser/task-context-service.js.map +0 -1
  91. package/lib/browser/task-context-storage-service.d.ts +0 -19
  92. package/lib/browser/task-context-storage-service.d.ts.map +0 -1
  93. package/lib/browser/task-context-storage-service.js +0 -80
  94. package/lib/browser/task-context-storage-service.js.map +0 -1
  95. package/lib/browser/task-context-variable-contribution.d.ts +0 -20
  96. package/lib/browser/task-context-variable-contribution.d.ts.map +0 -1
  97. package/lib/browser/task-context-variable-contribution.js +0 -101
  98. package/lib/browser/task-context-variable-contribution.js.map +0 -1
  99. package/lib/browser/task-context-variable-label-provider.d.ts +0 -21
  100. package/lib/browser/task-context-variable-label-provider.d.ts.map +0 -1
  101. package/lib/browser/task-context-variable-label-provider.js +0 -83
  102. package/lib/browser/task-context-variable-label-provider.js.map +0 -1
  103. package/lib/browser/task-context-variable.d.ts +0 -3
  104. package/lib/browser/task-context-variable.d.ts.map +0 -1
  105. package/lib/browser/task-context-variable.js +0 -33
  106. package/lib/browser/task-context-variable.js.map +0 -1
  107. package/lib/common/ai-chat-preferences.d.ts +0 -5
  108. package/lib/common/ai-chat-preferences.d.ts.map +0 -1
  109. package/lib/common/ai-chat-preferences.js +0 -40
  110. package/lib/common/ai-chat-preferences.js.map +0 -1
  111. package/lib/common/change-set-element-deserializer.d.ts +0 -30
  112. package/lib/common/change-set-element-deserializer.d.ts.map +0 -1
  113. package/lib/common/change-set-element-deserializer.js +0 -81
  114. package/lib/common/change-set-element-deserializer.js.map +0 -1
  115. package/lib/common/change-set.d.ts +0 -85
  116. package/lib/common/change-set.d.ts.map +0 -1
  117. package/lib/common/change-set.js +0 -133
  118. package/lib/common/change-set.js.map +0 -1
  119. package/lib/common/chat-agent-service.d.ts +0 -46
  120. package/lib/common/chat-agent-service.d.ts.map +0 -1
  121. package/lib/common/chat-agent-service.js +0 -79
  122. package/lib/common/chat-agent-service.js.map +0 -1
  123. package/lib/common/chat-agents-variable-contribution.d.ts +0 -17
  124. package/lib/common/chat-agents-variable-contribution.d.ts.map +0 -1
  125. package/lib/common/chat-agents-variable-contribution.js +0 -67
  126. package/lib/common/chat-agents-variable-contribution.js.map +0 -1
  127. package/lib/common/chat-agents.d.ts +0 -138
  128. package/lib/common/chat-agents.d.ts.map +0 -1
  129. package/lib/common/chat-agents.js +0 -428
  130. package/lib/common/chat-agents.js.map +0 -1
  131. package/lib/common/chat-auto-save.spec.d.ts +0 -2
  132. package/lib/common/chat-auto-save.spec.d.ts.map +0 -1
  133. package/lib/common/chat-auto-save.spec.js +0 -304
  134. package/lib/common/chat-auto-save.spec.js.map +0 -1
  135. package/lib/common/chat-content-deserializer.d.ts +0 -161
  136. package/lib/common/chat-content-deserializer.d.ts.map +0 -1
  137. package/lib/common/chat-content-deserializer.js +0 -166
  138. package/lib/common/chat-content-deserializer.js.map +0 -1
  139. package/lib/common/chat-content-deserializer.spec.d.ts +0 -2
  140. package/lib/common/chat-content-deserializer.spec.d.ts.map +0 -1
  141. package/lib/common/chat-content-deserializer.spec.js +0 -307
  142. package/lib/common/chat-content-deserializer.spec.js.map +0 -1
  143. package/lib/common/chat-model-serialization.d.ts +0 -110
  144. package/lib/common/chat-model-serialization.d.ts.map +0 -1
  145. package/lib/common/chat-model-serialization.js +0 -20
  146. package/lib/common/chat-model-serialization.js.map +0 -1
  147. package/lib/common/chat-model-serialization.spec.d.ts +0 -2
  148. package/lib/common/chat-model-serialization.spec.d.ts.map +0 -1
  149. package/lib/common/chat-model-serialization.spec.js +0 -278
  150. package/lib/common/chat-model-serialization.spec.js.map +0 -1
  151. package/lib/common/chat-model-util.d.ts +0 -7
  152. package/lib/common/chat-model-util.d.ts.map +0 -1
  153. package/lib/common/chat-model-util.js +0 -50
  154. package/lib/common/chat-model-util.js.map +0 -1
  155. package/lib/common/chat-model.d.ts +0 -923
  156. package/lib/common/chat-model.d.ts.map +0 -1
  157. package/lib/common/chat-model.js +0 -1791
  158. package/lib/common/chat-model.js.map +0 -1
  159. package/lib/common/chat-request-parser.d.ts +0 -38
  160. package/lib/common/chat-request-parser.d.ts.map +0 -1
  161. package/lib/common/chat-request-parser.js +0 -230
  162. package/lib/common/chat-request-parser.js.map +0 -1
  163. package/lib/common/chat-request-parser.spec.d.ts +0 -2
  164. package/lib/common/chat-request-parser.spec.d.ts.map +0 -1
  165. package/lib/common/chat-request-parser.spec.js +0 -235
  166. package/lib/common/chat-request-parser.spec.js.map +0 -1
  167. package/lib/common/chat-service-deletion.spec.d.ts +0 -2
  168. package/lib/common/chat-service-deletion.spec.d.ts.map +0 -1
  169. package/lib/common/chat-service-deletion.spec.js +0 -221
  170. package/lib/common/chat-service-deletion.spec.js.map +0 -1
  171. package/lib/common/chat-service.d.ts +0 -153
  172. package/lib/common/chat-service.d.ts.map +0 -1
  173. package/lib/common/chat-service.js +0 -474
  174. package/lib/common/chat-service.js.map +0 -1
  175. package/lib/common/chat-session-naming-prompt-template.d.ts +0 -3
  176. package/lib/common/chat-session-naming-prompt-template.d.ts.map +0 -1
  177. package/lib/common/chat-session-naming-prompt-template.js +0 -31
  178. package/lib/common/chat-session-naming-prompt-template.js.map +0 -1
  179. package/lib/common/chat-session-naming-service.d.ts +0 -26
  180. package/lib/common/chat-session-naming-service.d.ts.map +0 -1
  181. package/lib/common/chat-session-naming-service.js +0 -119
  182. package/lib/common/chat-session-naming-service.js.map +0 -1
  183. package/lib/common/chat-session-store.d.ts +0 -43
  184. package/lib/common/chat-session-store.d.ts.map +0 -1
  185. package/lib/common/chat-session-store.js +0 -20
  186. package/lib/common/chat-session-store.js.map +0 -1
  187. package/lib/common/chat-session-summary-agent-prompt.d.ts +0 -8
  188. package/lib/common/chat-session-summary-agent-prompt.d.ts.map +0 -1
  189. package/lib/common/chat-session-summary-agent-prompt.js +0 -33
  190. package/lib/common/chat-session-summary-agent-prompt.js.map +0 -1
  191. package/lib/common/chat-session-summary-agent.d.ts +0 -16
  192. package/lib/common/chat-session-summary-agent.d.ts.map +0 -1
  193. package/lib/common/chat-session-summary-agent.js +0 -48
  194. package/lib/common/chat-session-summary-agent.js.map +0 -1
  195. package/lib/common/chat-string-utils.d.ts +0 -3
  196. package/lib/common/chat-string-utils.d.ts.map +0 -1
  197. package/lib/common/chat-string-utils.js +0 -27
  198. package/lib/common/chat-string-utils.js.map +0 -1
  199. package/lib/common/chat-tool-preferences.d.ts +0 -23
  200. package/lib/common/chat-tool-preferences.d.ts.map +0 -1
  201. package/lib/common/chat-tool-preferences.js +0 -68
  202. package/lib/common/chat-tool-preferences.js.map +0 -1
  203. package/lib/common/chat-tool-request-service.d.ts +0 -18
  204. package/lib/common/chat-tool-request-service.d.ts.map +0 -1
  205. package/lib/common/chat-tool-request-service.js +0 -52
  206. package/lib/common/chat-tool-request-service.js.map +0 -1
  207. package/lib/common/context-details-variable.d.ts +0 -9
  208. package/lib/common/context-details-variable.d.ts.map +0 -1
  209. package/lib/common/context-details-variable.js +0 -57
  210. package/lib/common/context-details-variable.js.map +0 -1
  211. package/lib/common/context-summary-variable.d.ts +0 -9
  212. package/lib/common/context-summary-variable.d.ts.map +0 -1
  213. package/lib/common/context-summary-variable.js +0 -57
  214. package/lib/common/context-summary-variable.js.map +0 -1
  215. package/lib/common/context-variables.d.ts +0 -4
  216. package/lib/common/context-variables.d.ts.map +0 -1
  217. package/lib/common/context-variables.js +0 -22
  218. package/lib/common/context-variables.js.map +0 -1
  219. package/lib/common/custom-chat-agent.d.ts +0 -10
  220. package/lib/common/custom-chat-agent.d.ts.map +0 -1
  221. package/lib/common/custom-chat-agent.js +0 -40
  222. package/lib/common/custom-chat-agent.js.map +0 -1
  223. package/lib/common/image-context-variable.d.ts +0 -29
  224. package/lib/common/image-context-variable.d.ts.map +0 -1
  225. package/lib/common/image-context-variable.js +0 -114
  226. package/lib/common/image-context-variable.js.map +0 -1
  227. package/lib/common/index.d.ts +0 -13
  228. package/lib/common/index.d.ts.map +0 -1
  229. package/lib/common/index.js +0 -31
  230. package/lib/common/index.js.map +0 -1
  231. package/lib/common/parse-contents-with-incomplete-parts.spec.d.ts +0 -2
  232. package/lib/common/parse-contents-with-incomplete-parts.spec.d.ts.map +0 -1
  233. package/lib/common/parse-contents-with-incomplete-parts.spec.js +0 -103
  234. package/lib/common/parse-contents-with-incomplete-parts.spec.js.map +0 -1
  235. package/lib/common/parse-contents.d.ts +0 -12
  236. package/lib/common/parse-contents.d.ts.map +0 -1
  237. package/lib/common/parse-contents.js +0 -107
  238. package/lib/common/parse-contents.js.map +0 -1
  239. package/lib/common/parse-contents.spec.d.ts +0 -10
  240. package/lib/common/parse-contents.spec.d.ts.map +0 -1
  241. package/lib/common/parse-contents.spec.js +0 -146
  242. package/lib/common/parse-contents.spec.js.map +0 -1
  243. package/lib/common/parsed-chat-request.d.ts +0 -66
  244. package/lib/common/parsed-chat-request.d.ts.map +0 -1
  245. package/lib/common/parsed-chat-request.js +0 -83
  246. package/lib/common/parsed-chat-request.js.map +0 -1
  247. package/lib/common/response-content-matcher.d.ts +0 -69
  248. package/lib/common/response-content-matcher.d.ts.map +0 -1
  249. package/lib/common/response-content-matcher.js +0 -97
  250. package/lib/common/response-content-matcher.js.map +0 -1
  251. package/lib/node/ai-chat-backend-module.d.ts +0 -4
  252. package/lib/node/ai-chat-backend-module.d.ts.map +0 -1
  253. package/lib/node/ai-chat-backend-module.js +0 -26
  254. package/lib/node/ai-chat-backend-module.js.map +0 -1
@@ -1,241 +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.FileChatVariableContribution = void 0;
19
- const tslib_1 = require("tslib");
20
- const ai_core_1 = require("@theia/ai-core");
21
- const browser_1 = require("@theia/ai-core/lib/browser");
22
- const file_variable_contribution_1 = require("@theia/ai-core/lib/browser/file-variable-contribution");
23
- const core_1 = require("@theia/core");
24
- const inversify_1 = require("@theia/core/shared/inversify");
25
- const monaco = require("@theia/monaco-editor-core");
26
- const quick_file_select_service_1 = require("@theia/file-search/lib/browser/quick-file-select-service");
27
- const browser_2 = require("@theia/workspace/lib/browser");
28
- const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
29
- const ai_chat_frontend_contribution_1 = require("./ai-chat-frontend-contribution");
30
- const image_context_variable_1 = require("../common/image-context-variable");
31
- const browser_3 = require("@theia/core/lib/browser");
32
- let FileChatVariableContribution = class FileChatVariableContribution {
33
- registerVariables(service) {
34
- service.registerArgumentPicker(file_variable_contribution_1.FILE_VARIABLE, this.triggerArgumentPicker.bind(this));
35
- service.registerArgumentPicker(image_context_variable_1.IMAGE_CONTEXT_VARIABLE, this.imageArgumentPicker.bind(this));
36
- service.registerArgumentCompletionProvider(file_variable_contribution_1.FILE_VARIABLE, this.provideArgumentCompletionItems.bind(this));
37
- service.registerDropHandler(this.handleDrop.bind(this));
38
- }
39
- async triggerArgumentPicker() {
40
- const quickPick = this.quickInputService.createQuickPick();
41
- quickPick.items = await this.quickFileSelectService.getPicks();
42
- const updateItems = async (value) => {
43
- quickPick.items = await this.quickFileSelectService.getPicks(value, core_1.CancellationToken.None);
44
- };
45
- const onChangeListener = quickPick.onDidChangeValue(updateItems);
46
- quickPick.show();
47
- return new Promise(resolve => {
48
- quickPick.onDispose(onChangeListener.dispose);
49
- quickPick.onDidAccept(async () => {
50
- const selectedItem = quickPick.selectedItems[0];
51
- if (selectedItem && quick_file_select_service_1.FileQuickPickItem.is(selectedItem)) {
52
- quickPick.dispose();
53
- resolve(await this.wsService.getWorkspaceRelativePath(selectedItem.uri));
54
- }
55
- });
56
- });
57
- }
58
- async imageArgumentPicker() {
59
- const quickPick = this.quickInputService.createQuickPick();
60
- quickPick.title = core_1.nls.localize('theia/ai/chat/selectImageFile', 'Select an image file');
61
- // Get all files and filter only image files
62
- const allPicks = await this.quickFileSelectService.getPicks();
63
- quickPick.items = allPicks.filter(item => {
64
- if (quick_file_select_service_1.FileQuickPickItem.is(item)) {
65
- return this.isImageFile(item.uri.path.toString());
66
- }
67
- return false;
68
- });
69
- const updateItems = async (value) => {
70
- const filteredPicks = await this.quickFileSelectService.getPicks(value, core_1.CancellationToken.None);
71
- quickPick.items = filteredPicks.filter(item => {
72
- if (quick_file_select_service_1.FileQuickPickItem.is(item)) {
73
- return this.isImageFile(item.uri.path.toString());
74
- }
75
- return false;
76
- });
77
- };
78
- const onChangeListener = quickPick.onDidChangeValue(updateItems);
79
- quickPick.show();
80
- return new Promise(resolve => {
81
- quickPick.onDispose(onChangeListener.dispose);
82
- quickPick.onDidAccept(async () => {
83
- const selectedItem = quickPick.selectedItems[0];
84
- if (selectedItem && quick_file_select_service_1.FileQuickPickItem.is(selectedItem)) {
85
- quickPick.dispose();
86
- const filePath = await this.wsService.getWorkspaceRelativePath(selectedItem.uri);
87
- const fileName = selectedItem.uri.displayName;
88
- const base64Data = await this.fileToBase64(selectedItem.uri);
89
- const mimeType = this.getMimeTypeFromExtension(selectedItem.uri.path.toString());
90
- // Create the argument string in the required format
91
- const imageVarArgs = {
92
- name: fileName,
93
- wsRelativePath: filePath,
94
- data: base64Data,
95
- mimeType: mimeType
96
- };
97
- resolve(image_context_variable_1.ImageContextVariable.createArgString(imageVarArgs));
98
- }
99
- });
100
- });
101
- }
102
- async provideArgumentCompletionItems(model, position, matchString) {
103
- const context = browser_1.AIVariableCompletionContext.get(file_variable_contribution_1.FILE_VARIABLE.name, model, position, matchString);
104
- if (!context) {
105
- return undefined;
106
- }
107
- const { userInput, range, prefix } = context;
108
- const picks = await this.quickFileSelectService.getPicks(userInput, core_1.CancellationToken.None);
109
- return Promise.all(picks
110
- .filter(quick_file_select_service_1.FileQuickPickItem.is)
111
- // only show files with highlights, if the user started typing to filter down the results
112
- .filter(p => { var _a; return !userInput || ((_a = p.highlights) === null || _a === void 0 ? void 0 : _a.label); })
113
- .map(async (pick, index) => {
114
- const relativePath = await this.wsService.getWorkspaceRelativePath(pick.uri);
115
- return {
116
- label: pick.label,
117
- kind: monaco.languages.CompletionItemKind.File,
118
- range,
119
- insertText: `${prefix}${relativePath}`,
120
- detail: await this.wsService.getWorkspaceRelativePath(pick.uri.parent),
121
- // don't let monaco filter the items, as we only return picks that are filtered
122
- filterText: userInput,
123
- // keep the order of the items, but move them to the end of the list
124
- sortText: `ZZ${index.toString().padStart(4, '0')}_${pick.label}`,
125
- command: {
126
- title: ai_chat_frontend_contribution_1.VARIABLE_ADD_CONTEXT_COMMAND.label,
127
- id: ai_chat_frontend_contribution_1.VARIABLE_ADD_CONTEXT_COMMAND.id,
128
- arguments: [file_variable_contribution_1.FILE_VARIABLE.name, relativePath]
129
- }
130
- };
131
- }));
132
- }
133
- /**
134
- * Checks if a file is an image based on its extension.
135
- */
136
- isImageFile(filePath) {
137
- const imageExtensions = ['.jpg', '.jpeg', '.png', '.gif', '.bmp', '.svg', '.webp'];
138
- const extension = filePath.toLowerCase().substring(filePath.lastIndexOf('.'));
139
- return imageExtensions.includes(extension);
140
- }
141
- /**
142
- * Determines the MIME type based on file extension.
143
- */
144
- getMimeTypeFromExtension(filePath) {
145
- const extension = filePath.toLowerCase().substring(filePath.lastIndexOf('.'));
146
- const mimeTypes = {
147
- '.jpg': 'image/jpeg',
148
- '.jpeg': 'image/jpeg',
149
- '.png': 'image/png',
150
- '.gif': 'image/gif',
151
- '.bmp': 'image/bmp',
152
- '.svg': 'image/svg+xml',
153
- '.webp': 'image/webp'
154
- };
155
- return mimeTypes[extension] || 'application/octet-stream';
156
- }
157
- /**
158
- * Converts a file to base64 data URL.
159
- */
160
- async fileToBase64(uri) {
161
- try {
162
- const fileContent = await this.fileService.readFile(uri);
163
- const uint8Array = new Uint8Array(fileContent.value.buffer);
164
- let binary = '';
165
- for (let i = 0; i < uint8Array.length; i++) {
166
- binary += String.fromCharCode(uint8Array[i]);
167
- }
168
- return btoa(binary);
169
- }
170
- catch (error) {
171
- this.logger.error('Error reading file content:', error);
172
- return '';
173
- }
174
- }
175
- async handleDrop(event, _) {
176
- if (!event.dataTransfer) {
177
- return undefined;
178
- }
179
- const uris = browser_3.ApplicationShell.getDraggedEditorUris(event.dataTransfer);
180
- if (!uris.length) {
181
- return undefined;
182
- }
183
- try {
184
- const variables = [];
185
- const texts = [];
186
- for (const uri of uris) {
187
- if (await this.fileService.exists(uri)) {
188
- const wsRelativePath = await this.wsService.getWorkspaceRelativePath(uri);
189
- const fileName = uri.displayName;
190
- if (this.isImageFile(wsRelativePath)) {
191
- const base64Data = await this.fileToBase64(uri);
192
- const mimeType = this.getMimeTypeFromExtension(wsRelativePath);
193
- variables.push(image_context_variable_1.ImageContextVariable.createRequest({
194
- [image_context_variable_1.ImageContextVariable.name]: fileName,
195
- [image_context_variable_1.ImageContextVariable.wsRelativePath]: wsRelativePath,
196
- [image_context_variable_1.ImageContextVariable.data]: base64Data,
197
- [image_context_variable_1.ImageContextVariable.mimeType]: mimeType
198
- }));
199
- // we do not want to push a text for image variables
200
- }
201
- else {
202
- variables.push({
203
- variable: file_variable_contribution_1.FILE_VARIABLE,
204
- arg: wsRelativePath
205
- });
206
- texts.push(`${ai_core_1.PromptText.VARIABLE_CHAR}${file_variable_contribution_1.FILE_VARIABLE.name}${ai_core_1.PromptText.VARIABLE_SEPARATOR_CHAR}${wsRelativePath}`);
207
- }
208
- }
209
- }
210
- return { variables, text: texts.length ? texts.join(' ') : undefined };
211
- }
212
- catch {
213
- return undefined;
214
- }
215
- }
216
- };
217
- exports.FileChatVariableContribution = FileChatVariableContribution;
218
- tslib_1.__decorate([
219
- (0, inversify_1.inject)(file_service_1.FileService),
220
- tslib_1.__metadata("design:type", file_service_1.FileService)
221
- ], FileChatVariableContribution.prototype, "fileService", void 0);
222
- tslib_1.__decorate([
223
- (0, inversify_1.inject)(browser_2.WorkspaceService),
224
- tslib_1.__metadata("design:type", browser_2.WorkspaceService)
225
- ], FileChatVariableContribution.prototype, "wsService", void 0);
226
- tslib_1.__decorate([
227
- (0, inversify_1.inject)(core_1.QuickInputService),
228
- tslib_1.__metadata("design:type", Object)
229
- ], FileChatVariableContribution.prototype, "quickInputService", void 0);
230
- tslib_1.__decorate([
231
- (0, inversify_1.inject)(quick_file_select_service_1.QuickFileSelectService),
232
- tslib_1.__metadata("design:type", quick_file_select_service_1.QuickFileSelectService)
233
- ], FileChatVariableContribution.prototype, "quickFileSelectService", void 0);
234
- tslib_1.__decorate([
235
- (0, inversify_1.inject)(core_1.ILogger),
236
- tslib_1.__metadata("design:type", Object)
237
- ], FileChatVariableContribution.prototype, "logger", void 0);
238
- exports.FileChatVariableContribution = FileChatVariableContribution = tslib_1.__decorate([
239
- (0, inversify_1.injectable)()
240
- ], FileChatVariableContribution);
241
- //# sourceMappingURL=file-chat-variable-contribution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-chat-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/file-chat-variable-contribution.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { ChatAgent, ChatAgentLocation, ChatServiceImpl, ChatSession, ParsedChatRequest, SessionOptions } from '../common';
2
- import { PreferenceService } from '@theia/core/lib/common';
3
- import { ChangeSetFileService } from './change-set-file-service';
4
- /**
5
- * Customizes the ChatServiceImpl to consider preference based default chat agent
6
- */
7
- export declare class FrontendChatServiceImpl extends ChatServiceImpl {
8
- protected readonly preferenceService: PreferenceService;
9
- protected readonly changeSetFileService: ChangeSetFileService;
10
- protected isPinChatAgentEnabled(): boolean;
11
- protected initialAgentSelection(parsedRequest: ParsedChatRequest): ChatAgent | undefined;
12
- protected getConfiguredDefaultChatAgent(): ChatAgent | undefined;
13
- createSession(location?: ChatAgentLocation, options?: SessionOptions, pinnedAgent?: ChatAgent): ChatSession;
14
- }
15
- //# sourceMappingURL=frontend-chat-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"frontend-chat-service.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-chat-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAmB,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3I,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;GAEG;AACH,qBACa,uBAAwB,SAAQ,eAAe;IAGxD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;cAE3C,qBAAqB,IAAI,OAAO;cAIhC,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,GAAG,SAAS,GAAG,SAAS;IAWjG,SAAS,CAAC,6BAA6B,IAAI,SAAS,GAAG,SAAS;IASvD,aAAa,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,SAAS,GAAG,WAAW;CASvH"}
@@ -1,72 +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.FrontendChatServiceImpl = void 0;
19
- const tslib_1 = require("tslib");
20
- const inversify_1 = require("@theia/core/shared/inversify");
21
- const common_1 = require("../common");
22
- const common_2 = require("@theia/core/lib/common");
23
- const ai_chat_preferences_1 = require("../common/ai-chat-preferences");
24
- const change_set_file_service_1 = require("./change-set-file-service");
25
- /**
26
- * Customizes the ChatServiceImpl to consider preference based default chat agent
27
- */
28
- let FrontendChatServiceImpl = class FrontendChatServiceImpl extends common_1.ChatServiceImpl {
29
- isPinChatAgentEnabled() {
30
- return this.preferenceService.get(ai_chat_preferences_1.PIN_CHAT_AGENT_PREF, true);
31
- }
32
- initialAgentSelection(parsedRequest) {
33
- const agentPart = this.getMentionedAgent(parsedRequest);
34
- if (!agentPart) {
35
- const configuredDefaultChatAgent = this.getConfiguredDefaultChatAgent();
36
- if (configuredDefaultChatAgent) {
37
- return configuredDefaultChatAgent;
38
- }
39
- }
40
- return super.initialAgentSelection(parsedRequest);
41
- }
42
- getConfiguredDefaultChatAgent() {
43
- const configuredDefaultChatAgentId = this.preferenceService.get(ai_chat_preferences_1.DEFAULT_CHAT_AGENT_PREF, undefined);
44
- const configuredDefaultChatAgent = configuredDefaultChatAgentId ? this.chatAgentService.getAgent(configuredDefaultChatAgentId) : undefined;
45
- if (configuredDefaultChatAgentId && !configuredDefaultChatAgent) {
46
- this.logger.warn(`The configured default chat agent with id '${configuredDefaultChatAgentId}' does not exist.`);
47
- }
48
- return configuredDefaultChatAgent;
49
- }
50
- createSession(location, options, pinnedAgent) {
51
- const session = super.createSession(location, options, pinnedAgent);
52
- session.model.onDidChange(event => {
53
- if (common_1.ChatChangeEvent.isChangeSetEvent(event)) {
54
- this.changeSetFileService.closeDiffsForSession(session.id, session.model.changeSet.getElements().map(({ uri }) => uri));
55
- }
56
- });
57
- return session;
58
- }
59
- };
60
- exports.FrontendChatServiceImpl = FrontendChatServiceImpl;
61
- tslib_1.__decorate([
62
- (0, inversify_1.inject)(common_2.PreferenceService),
63
- tslib_1.__metadata("design:type", Object)
64
- ], FrontendChatServiceImpl.prototype, "preferenceService", void 0);
65
- tslib_1.__decorate([
66
- (0, inversify_1.inject)(change_set_file_service_1.ChangeSetFileService),
67
- tslib_1.__metadata("design:type", change_set_file_service_1.ChangeSetFileService)
68
- ], FrontendChatServiceImpl.prototype, "changeSetFileService", void 0);
69
- exports.FrontendChatServiceImpl = FrontendChatServiceImpl = tslib_1.__decorate([
70
- (0, inversify_1.injectable)()
71
- ], FrontendChatServiceImpl);
72
- //# sourceMappingURL=frontend-chat-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"frontend-chat-service.js","sourceRoot":"","sources":["../../src/browser/frontend-chat-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;;;;AAEhF,4DAAkE;AAClE,sCAA2I;AAC3I,mDAA2D;AAC3D,uEAA6F;AAC7F,uEAAiE;AAEjE;;GAEG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,wBAAe;IAQrC,qBAAqB;QACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAU,yCAAmB,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAEkB,qBAAqB,CAAC,aAAgC;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,0BAA0B,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACxE,IAAI,0BAA0B,EAAE,CAAC;gBAC7B,OAAO,0BAA0B,CAAC;YACtC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IAES,6BAA6B;QACnC,MAAM,4BAA4B,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAS,6CAAuB,EAAE,SAAS,CAAC,CAAC;QAC5G,MAAM,0BAA0B,GAAG,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3I,IAAI,4BAA4B,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,4BAA4B,mBAAmB,CAAC,CAAC;QACpH,CAAC;QACD,OAAO,0BAA0B,CAAC;IACtC,CAAC;IAEQ,aAAa,CAAC,QAA4B,EAAE,OAAwB,EAAE,WAAuB;QAClG,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAC9B,IAAI,wBAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5H,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ,CAAA;AAzCY,0DAAuB;AAGb;IADlB,IAAA,kBAAM,EAAC,0BAAiB,CAAC;;kEAC8B;AAGrC;IADlB,IAAA,kBAAM,EAAC,8CAAoB,CAAC;sCACY,8CAAoB;qEAAC;kCANrD,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CAyCnC"}
@@ -1,27 +0,0 @@
1
- import { AIVariableContext, AIVariableContribution, AIVariableOpener, AIVariableResolutionRequest, AIVariableResolver, ResolvedAIContextVariable } from '@theia/ai-core';
2
- import { FrontendVariableService, AIVariablePasteResult } from '@theia/ai-core/lib/browser';
3
- import { URI } from '@theia/core';
4
- import { LabelProvider, LabelProviderContribution, OpenerService } from '@theia/core/lib/browser';
5
- import { FileService } from '@theia/filesystem/lib/browser/file-service';
6
- import { WorkspaceService } from '@theia/workspace/lib/browser';
7
- import { ImageContextVariableRequest } from '../common/image-context-variable';
8
- export declare class ImageContextVariableContribution implements AIVariableContribution, AIVariableResolver, AIVariableOpener, LabelProviderContribution {
9
- protected readonly fileService: FileService;
10
- protected readonly wsService: WorkspaceService;
11
- protected readonly openerService: OpenerService;
12
- protected readonly labelProvider: LabelProvider;
13
- registerVariables(service: FrontendVariableService): void;
14
- canResolve(request: AIVariableResolutionRequest, _: AIVariableContext): Promise<number>;
15
- resolve(request: AIVariableResolutionRequest, _: AIVariableContext): Promise<ResolvedAIContextVariable | undefined>;
16
- canOpen(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<number>;
17
- open(request: ImageContextVariableRequest, context: AIVariableContext): Promise<void>;
18
- protected toUri(request: ImageContextVariableRequest): Promise<URI | undefined>;
19
- handlePaste(event: ClipboardEvent, context: AIVariableContext): Promise<AIVariablePasteResult | undefined>;
20
- private readFileAsDataURL;
21
- protected makeAbsolute(pathStr: string): Promise<URI | undefined>;
22
- canHandle(element: object): number;
23
- getIcon(element: ImageContextVariableRequest): string | undefined;
24
- getName(element: ImageContextVariableRequest): string | undefined;
25
- getDetails(element: ImageContextVariableRequest): string | undefined;
26
- }
27
- //# sourceMappingURL=image-context-variable-contribution.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-context-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/image-context-variable-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EACH,iBAAiB,EAAE,sBAAsB,EACzC,gBAAgB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,yBAAyB,EAC/F,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAQ,GAAG,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAQ,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExG,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAgD,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE7H,qBACa,gCAAiC,YAAW,sBAAsB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,yBAAyB;IAE5I,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAG/C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAMnD,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvF,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAInH,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1F,IAAI,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;cAQ3E,KAAK,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAK/E,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IA6BhH,OAAO,CAAC,iBAAiB;cAeT,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAkBvE,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIlC,OAAO,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM,GAAG,SAAS;IAKjE,OAAO,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM,GAAG,SAAS;IAIjE,UAAU,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM,GAAG,SAAS;CAIvE"}
@@ -1,149 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource GmbH 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.ImageContextVariableContribution = void 0;
19
- const tslib_1 = require("tslib");
20
- const core_1 = require("@theia/core");
21
- const browser_1 = require("@theia/core/lib/browser");
22
- const inversify_1 = require("@theia/core/shared/inversify");
23
- const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
24
- const browser_2 = require("@theia/workspace/lib/browser");
25
- const image_context_variable_1 = require("../common/image-context-variable");
26
- let ImageContextVariableContribution = class ImageContextVariableContribution {
27
- registerVariables(service) {
28
- service.registerResolver(image_context_variable_1.IMAGE_CONTEXT_VARIABLE, this);
29
- service.registerOpener(image_context_variable_1.IMAGE_CONTEXT_VARIABLE, this);
30
- service.registerPasteHandler(this.handlePaste.bind(this));
31
- }
32
- async canResolve(request, _) {
33
- return image_context_variable_1.ImageContextVariable.isImageContextRequest(request) ? 1 : 0;
34
- }
35
- async resolve(request, _) {
36
- return image_context_variable_1.ImageContextVariable.resolve(request);
37
- }
38
- async canOpen(request, context) {
39
- var _a;
40
- return image_context_variable_1.ImageContextVariable.isImageContextRequest(request) && !!((_a = image_context_variable_1.ImageContextVariable.parseRequest(request)) === null || _a === void 0 ? void 0 : _a.wsRelativePath) ? 1 : 0;
41
- }
42
- async open(request, context) {
43
- const uri = await this.toUri(request);
44
- if (!uri) {
45
- throw new Error('Unable to resolve URI for request.');
46
- }
47
- await (0, browser_1.open)(this.openerService, uri);
48
- }
49
- async toUri(request) {
50
- const variable = image_context_variable_1.ImageContextVariable.parseRequest(request);
51
- return (variable === null || variable === void 0 ? void 0 : variable.wsRelativePath) ? this.makeAbsolute(variable.wsRelativePath) : undefined;
52
- }
53
- async handlePaste(event, context) {
54
- var _a;
55
- if (!((_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.items)) {
56
- return undefined;
57
- }
58
- const variables = [];
59
- for (const item of event.clipboardData.items) {
60
- if (item.type.startsWith('image/')) {
61
- const blob = item.getAsFile();
62
- if (blob) {
63
- try {
64
- const dataUrl = await this.readFileAsDataURL(blob);
65
- // Extract the base64 data by removing the data URL prefix
66
- // Format is like: data:image/png;base64,BASE64DATA
67
- const imageData = dataUrl.substring(dataUrl.indexOf(',') + 1);
68
- variables.push(image_context_variable_1.ImageContextVariable.createRequest({
69
- data: imageData,
70
- name: blob.name || `pasted-image-${Date.now()}.png`,
71
- mimeType: blob.type
72
- }));
73
- }
74
- catch (error) {
75
- console.error('Failed to process pasted image:', error);
76
- }
77
- }
78
- }
79
- }
80
- return variables.length > 0 ? { variables } : undefined;
81
- }
82
- readFileAsDataURL(blob) {
83
- return new Promise((resolve, reject) => {
84
- const reader = new FileReader();
85
- reader.onload = e => {
86
- var _a;
87
- if (!((_a = e.target) === null || _a === void 0 ? void 0 : _a.result)) {
88
- reject(new Error('Failed to read file as data URL'));
89
- return;
90
- }
91
- resolve(e.target.result);
92
- };
93
- reader.onerror = () => reject(reader.error);
94
- reader.readAsDataURL(blob);
95
- });
96
- }
97
- async makeAbsolute(pathStr) {
98
- const path = new core_1.Path(core_1.Path.normalizePathSeparator(pathStr));
99
- if (!path.isAbsolute) {
100
- const workspaceRoots = this.wsService.tryGetRoots();
101
- const wsUris = workspaceRoots.map(root => root.resource.resolve(path));
102
- for (const uri of wsUris) {
103
- if (await this.fileService.exists(uri)) {
104
- return uri;
105
- }
106
- }
107
- }
108
- const argUri = new core_1.URI(pathStr);
109
- if (await this.fileService.exists(argUri)) {
110
- return argUri;
111
- }
112
- return undefined;
113
- }
114
- canHandle(element) {
115
- return image_context_variable_1.ImageContextVariable.isImageContextRequest(element) ? 10 : -1;
116
- }
117
- getIcon(element) {
118
- const path = image_context_variable_1.ImageContextVariable.parseArg(element.arg).wsRelativePath;
119
- return path ? this.labelProvider.getIcon(new core_1.URI(path)) : undefined;
120
- }
121
- getName(element) {
122
- return image_context_variable_1.ImageContextVariable.parseArg(element.arg).name;
123
- }
124
- getDetails(element) {
125
- const path = image_context_variable_1.ImageContextVariable.parseArg(element.arg).wsRelativePath;
126
- return path ? this.labelProvider.getDetails(new core_1.URI(path)) : undefined;
127
- }
128
- };
129
- exports.ImageContextVariableContribution = ImageContextVariableContribution;
130
- tslib_1.__decorate([
131
- (0, inversify_1.inject)(file_service_1.FileService),
132
- tslib_1.__metadata("design:type", file_service_1.FileService)
133
- ], ImageContextVariableContribution.prototype, "fileService", void 0);
134
- tslib_1.__decorate([
135
- (0, inversify_1.inject)(browser_2.WorkspaceService),
136
- tslib_1.__metadata("design:type", browser_2.WorkspaceService)
137
- ], ImageContextVariableContribution.prototype, "wsService", void 0);
138
- tslib_1.__decorate([
139
- (0, inversify_1.inject)(browser_1.OpenerService),
140
- tslib_1.__metadata("design:type", Object)
141
- ], ImageContextVariableContribution.prototype, "openerService", void 0);
142
- tslib_1.__decorate([
143
- (0, inversify_1.inject)(browser_1.LabelProvider),
144
- tslib_1.__metadata("design:type", browser_1.LabelProvider)
145
- ], ImageContextVariableContribution.prototype, "labelProvider", void 0);
146
- exports.ImageContextVariableContribution = ImageContextVariableContribution = tslib_1.__decorate([
147
- (0, inversify_1.injectable)()
148
- ], ImageContextVariableContribution);
149
- //# sourceMappingURL=image-context-variable-contribution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-context-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/image-context-variable-contribution.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- import { MaybePromise, ProgressService, URI, Event } from '@theia/core';
2
- import { ChatAgent, ChatService, ChatSession } from '../common';
3
- import { PreferenceService } from '@theia/core/lib/common';
4
- import { AgentService, PromptService, ResolvedPromptFragment } from '@theia/ai-core';
5
- import { ChangeSetFileElementFactory } from './change-set-file-element';
6
- export interface SummaryMetadata {
7
- label: string;
8
- uri?: URI;
9
- sessionId?: string;
10
- }
11
- export interface Summary extends SummaryMetadata {
12
- summary: string;
13
- id: string;
14
- }
15
- export declare const TaskContextStorageService: unique symbol;
16
- export interface TaskContextStorageService {
17
- onDidChange: Event<void>;
18
- store(summary: Summary): MaybePromise<void>;
19
- getAll(): Summary[];
20
- get(identifier: string): Summary | undefined;
21
- delete(identifier: string): MaybePromise<boolean>;
22
- open(identifier: string): Promise<void>;
23
- }
24
- export declare class TaskContextService {
25
- protected pendingSummaries: Map<string, Promise<Summary>>;
26
- protected readonly chatService: ChatService;
27
- protected readonly agentService: AgentService;
28
- protected readonly promptService: PromptService;
29
- protected readonly storageService: TaskContextStorageService;
30
- protected readonly progressService: ProgressService;
31
- protected readonly preferenceService: PreferenceService;
32
- protected readonly fileChangeFactory: ChangeSetFileElementFactory;
33
- get onDidChange(): Event<void>;
34
- getAll(): Array<Summary>;
35
- getSummary(sessionIdOrFilePath: string): Promise<string>;
36
- /** Returns an ID that can be used to refer to the summary in the future. */
37
- summarize(session: ChatSession, promptId?: string, agent?: ChatAgent, override?: boolean): Promise<string>;
38
- update(session: ChatSession, promptId?: string, agent?: ChatAgent, override?: boolean): Promise<string>;
39
- protected getLlmSummary(session: ChatSession, prompt: ResolvedPromptFragment | undefined, agent?: ChatAgent): Promise<string>;
40
- protected getSystemPrompt(session: ChatSession, promptId?: string): Promise<ResolvedPromptFragment | undefined>;
41
- hasSummary(chatSession: ChatSession): boolean;
42
- protected getSummaryForSession(chatSession: ChatSession): Summary | undefined;
43
- getLabel(id: string): string | undefined;
44
- open(id: string): Promise<void>;
45
- }
46
- //# sourceMappingURL=task-context-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-context-service.d.ts","sourceRoot":"","sources":["../../src/browser/task-context-service.ts"],"names":[],"mappings":"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"}