@theia/ai-chat 1.67.0-next.3 → 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 (250) hide show
  1. package/README.md +1 -0
  2. package/package.json +9 -9
  3. package/{lib/common/context-variables.js → src/browser/context-file-validation-service.ts} +19 -7
  4. package/lib/browser/agent-delegation-tool.d.ts +0 -25
  5. package/lib/browser/agent-delegation-tool.d.ts.map +0 -1
  6. package/lib/browser/agent-delegation-tool.js +0 -196
  7. package/lib/browser/agent-delegation-tool.js.map +0 -1
  8. package/lib/browser/ai-chat-frontend-contribution.d.ts +0 -11
  9. package/lib/browser/ai-chat-frontend-contribution.d.ts.map +0 -1
  10. package/lib/browser/ai-chat-frontend-contribution.js +0 -56
  11. package/lib/browser/ai-chat-frontend-contribution.js.map +0 -1
  12. package/lib/browser/ai-chat-frontend-module.d.ts +0 -4
  13. package/lib/browser/ai-chat-frontend-module.d.ts.map +0 -1
  14. package/lib/browser/ai-chat-frontend-module.js +0 -143
  15. package/lib/browser/ai-chat-frontend-module.js.map +0 -1
  16. package/lib/browser/change-set-decorator-service.d.ts +0 -24
  17. package/lib/browser/change-set-decorator-service.d.ts.map +0 -1
  18. package/lib/browser/change-set-decorator-service.js +0 -66
  19. package/lib/browser/change-set-decorator-service.js.map +0 -1
  20. package/lib/browser/change-set-file-element-deserializer.d.ts +0 -7
  21. package/lib/browser/change-set-file-element-deserializer.d.ts.map +0 -1
  22. package/lib/browser/change-set-file-element-deserializer.js +0 -61
  23. package/lib/browser/change-set-file-element-deserializer.js.map +0 -1
  24. package/lib/browser/change-set-file-element.d.ts +0 -122
  25. package/lib/browser/change-set-file-element.d.ts.map +0 -1
  26. package/lib/browser/change-set-file-element.js +0 -435
  27. package/lib/browser/change-set-file-element.js.map +0 -1
  28. package/lib/browser/change-set-file-resource.d.ts +0 -4
  29. package/lib/browser/change-set-file-resource.d.ts.map +0 -1
  30. package/lib/browser/change-set-file-resource.js +0 -24
  31. package/lib/browser/change-set-file-resource.js.map +0 -1
  32. package/lib/browser/change-set-file-service.d.ts +0 -32
  33. package/lib/browser/change-set-file-service.d.ts.map +0 -1
  34. package/lib/browser/change-set-file-service.js +0 -161
  35. package/lib/browser/change-set-file-service.js.map +0 -1
  36. package/lib/browser/change-set-variable.d.ts +0 -11
  37. package/lib/browser/change-set-variable.d.ts.map +0 -1
  38. package/lib/browser/change-set-variable.js +0 -64
  39. package/lib/browser/change-set-variable.js.map +0 -1
  40. package/lib/browser/chat-session-store-impl.d.ts +0 -36
  41. package/lib/browser/chat-session-store-impl.d.ts.map +0 -1
  42. package/lib/browser/chat-session-store-impl.js +0 -287
  43. package/lib/browser/chat-session-store-impl.js.map +0 -1
  44. package/lib/browser/chat-tool-preference-bindings.d.ts +0 -34
  45. package/lib/browser/chat-tool-preference-bindings.d.ts.map +0 -1
  46. package/lib/browser/chat-tool-preference-bindings.js +0 -122
  47. package/lib/browser/chat-tool-preference-bindings.js.map +0 -1
  48. package/lib/browser/chat-tool-request-service.d.ts +0 -21
  49. package/lib/browser/chat-tool-request-service.d.ts.map +0 -1
  50. package/lib/browser/chat-tool-request-service.js +0 -90
  51. package/lib/browser/chat-tool-request-service.js.map +0 -1
  52. package/lib/browser/context-file-variable-label-provider.d.ts +0 -14
  53. package/lib/browser/context-file-variable-label-provider.d.ts.map +0 -1
  54. package/lib/browser/context-file-variable-label-provider.js +0 -63
  55. package/lib/browser/context-file-variable-label-provider.js.map +0 -1
  56. package/lib/browser/context-variable-label-provider.d.ts +0 -9
  57. package/lib/browser/context-variable-label-provider.d.ts.map +0 -1
  58. package/lib/browser/context-variable-label-provider.js +0 -55
  59. package/lib/browser/context-variable-label-provider.js.map +0 -1
  60. package/lib/browser/custom-agent-factory.d.ts +0 -4
  61. package/lib/browser/custom-agent-factory.d.ts.map +0 -1
  62. package/lib/browser/custom-agent-factory.js +0 -20
  63. package/lib/browser/custom-agent-factory.js.map +0 -1
  64. package/lib/browser/custom-agent-frontend-application-contribution.d.ts +0 -13
  65. package/lib/browser/custom-agent-frontend-application-contribution.d.ts.map +0 -1
  66. package/lib/browser/custom-agent-frontend-application-contribution.js +0 -83
  67. package/lib/browser/custom-agent-frontend-application-contribution.js.map +0 -1
  68. package/lib/browser/delegation-response-content.d.ts +0 -20
  69. package/lib/browser/delegation-response-content.d.ts.map +0 -1
  70. package/lib/browser/delegation-response-content.js +0 -47
  71. package/lib/browser/delegation-response-content.js.map +0 -1
  72. package/lib/browser/file-chat-variable-contribution.d.ts +0 -32
  73. package/lib/browser/file-chat-variable-contribution.d.ts.map +0 -1
  74. package/lib/browser/file-chat-variable-contribution.js +0 -241
  75. package/lib/browser/file-chat-variable-contribution.js.map +0 -1
  76. package/lib/browser/frontend-chat-service.d.ts +0 -15
  77. package/lib/browser/frontend-chat-service.d.ts.map +0 -1
  78. package/lib/browser/frontend-chat-service.js +0 -72
  79. package/lib/browser/frontend-chat-service.js.map +0 -1
  80. package/lib/browser/image-context-variable-contribution.d.ts +0 -27
  81. package/lib/browser/image-context-variable-contribution.d.ts.map +0 -1
  82. package/lib/browser/image-context-variable-contribution.js +0 -149
  83. package/lib/browser/image-context-variable-contribution.js.map +0 -1
  84. package/lib/browser/task-context-service.d.ts +0 -46
  85. package/lib/browser/task-context-service.d.ts.map +0 -1
  86. package/lib/browser/task-context-service.js +0 -256
  87. package/lib/browser/task-context-service.js.map +0 -1
  88. package/lib/browser/task-context-storage-service.d.ts +0 -19
  89. package/lib/browser/task-context-storage-service.d.ts.map +0 -1
  90. package/lib/browser/task-context-storage-service.js +0 -80
  91. package/lib/browser/task-context-storage-service.js.map +0 -1
  92. package/lib/browser/task-context-variable-contribution.d.ts +0 -20
  93. package/lib/browser/task-context-variable-contribution.d.ts.map +0 -1
  94. package/lib/browser/task-context-variable-contribution.js +0 -101
  95. package/lib/browser/task-context-variable-contribution.js.map +0 -1
  96. package/lib/browser/task-context-variable-label-provider.d.ts +0 -21
  97. package/lib/browser/task-context-variable-label-provider.d.ts.map +0 -1
  98. package/lib/browser/task-context-variable-label-provider.js +0 -83
  99. package/lib/browser/task-context-variable-label-provider.js.map +0 -1
  100. package/lib/browser/task-context-variable.d.ts +0 -3
  101. package/lib/browser/task-context-variable.d.ts.map +0 -1
  102. package/lib/browser/task-context-variable.js +0 -33
  103. package/lib/browser/task-context-variable.js.map +0 -1
  104. package/lib/common/ai-chat-preferences.d.ts +0 -5
  105. package/lib/common/ai-chat-preferences.d.ts.map +0 -1
  106. package/lib/common/ai-chat-preferences.js +0 -40
  107. package/lib/common/ai-chat-preferences.js.map +0 -1
  108. package/lib/common/change-set-element-deserializer.d.ts +0 -30
  109. package/lib/common/change-set-element-deserializer.d.ts.map +0 -1
  110. package/lib/common/change-set-element-deserializer.js +0 -81
  111. package/lib/common/change-set-element-deserializer.js.map +0 -1
  112. package/lib/common/change-set.d.ts +0 -85
  113. package/lib/common/change-set.d.ts.map +0 -1
  114. package/lib/common/change-set.js +0 -133
  115. package/lib/common/change-set.js.map +0 -1
  116. package/lib/common/chat-agent-service.d.ts +0 -46
  117. package/lib/common/chat-agent-service.d.ts.map +0 -1
  118. package/lib/common/chat-agent-service.js +0 -79
  119. package/lib/common/chat-agent-service.js.map +0 -1
  120. package/lib/common/chat-agents-variable-contribution.d.ts +0 -17
  121. package/lib/common/chat-agents-variable-contribution.d.ts.map +0 -1
  122. package/lib/common/chat-agents-variable-contribution.js +0 -67
  123. package/lib/common/chat-agents-variable-contribution.js.map +0 -1
  124. package/lib/common/chat-agents.d.ts +0 -138
  125. package/lib/common/chat-agents.d.ts.map +0 -1
  126. package/lib/common/chat-agents.js +0 -428
  127. package/lib/common/chat-agents.js.map +0 -1
  128. package/lib/common/chat-auto-save.spec.d.ts +0 -2
  129. package/lib/common/chat-auto-save.spec.d.ts.map +0 -1
  130. package/lib/common/chat-auto-save.spec.js +0 -304
  131. package/lib/common/chat-auto-save.spec.js.map +0 -1
  132. package/lib/common/chat-content-deserializer.d.ts +0 -161
  133. package/lib/common/chat-content-deserializer.d.ts.map +0 -1
  134. package/lib/common/chat-content-deserializer.js +0 -166
  135. package/lib/common/chat-content-deserializer.js.map +0 -1
  136. package/lib/common/chat-content-deserializer.spec.d.ts +0 -2
  137. package/lib/common/chat-content-deserializer.spec.d.ts.map +0 -1
  138. package/lib/common/chat-content-deserializer.spec.js +0 -307
  139. package/lib/common/chat-content-deserializer.spec.js.map +0 -1
  140. package/lib/common/chat-model-serialization.d.ts +0 -110
  141. package/lib/common/chat-model-serialization.d.ts.map +0 -1
  142. package/lib/common/chat-model-serialization.js +0 -20
  143. package/lib/common/chat-model-serialization.js.map +0 -1
  144. package/lib/common/chat-model-serialization.spec.d.ts +0 -2
  145. package/lib/common/chat-model-serialization.spec.d.ts.map +0 -1
  146. package/lib/common/chat-model-serialization.spec.js +0 -278
  147. package/lib/common/chat-model-serialization.spec.js.map +0 -1
  148. package/lib/common/chat-model-util.d.ts +0 -7
  149. package/lib/common/chat-model-util.d.ts.map +0 -1
  150. package/lib/common/chat-model-util.js +0 -50
  151. package/lib/common/chat-model-util.js.map +0 -1
  152. package/lib/common/chat-model.d.ts +0 -923
  153. package/lib/common/chat-model.d.ts.map +0 -1
  154. package/lib/common/chat-model.js +0 -1791
  155. package/lib/common/chat-model.js.map +0 -1
  156. package/lib/common/chat-request-parser.d.ts +0 -38
  157. package/lib/common/chat-request-parser.d.ts.map +0 -1
  158. package/lib/common/chat-request-parser.js +0 -230
  159. package/lib/common/chat-request-parser.js.map +0 -1
  160. package/lib/common/chat-request-parser.spec.d.ts +0 -2
  161. package/lib/common/chat-request-parser.spec.d.ts.map +0 -1
  162. package/lib/common/chat-request-parser.spec.js +0 -235
  163. package/lib/common/chat-request-parser.spec.js.map +0 -1
  164. package/lib/common/chat-service-deletion.spec.d.ts +0 -2
  165. package/lib/common/chat-service-deletion.spec.d.ts.map +0 -1
  166. package/lib/common/chat-service-deletion.spec.js +0 -221
  167. package/lib/common/chat-service-deletion.spec.js.map +0 -1
  168. package/lib/common/chat-service.d.ts +0 -153
  169. package/lib/common/chat-service.d.ts.map +0 -1
  170. package/lib/common/chat-service.js +0 -474
  171. package/lib/common/chat-service.js.map +0 -1
  172. package/lib/common/chat-session-naming-prompt-template.d.ts +0 -3
  173. package/lib/common/chat-session-naming-prompt-template.d.ts.map +0 -1
  174. package/lib/common/chat-session-naming-prompt-template.js +0 -31
  175. package/lib/common/chat-session-naming-prompt-template.js.map +0 -1
  176. package/lib/common/chat-session-naming-service.d.ts +0 -26
  177. package/lib/common/chat-session-naming-service.d.ts.map +0 -1
  178. package/lib/common/chat-session-naming-service.js +0 -119
  179. package/lib/common/chat-session-naming-service.js.map +0 -1
  180. package/lib/common/chat-session-store.d.ts +0 -43
  181. package/lib/common/chat-session-store.d.ts.map +0 -1
  182. package/lib/common/chat-session-store.js +0 -20
  183. package/lib/common/chat-session-store.js.map +0 -1
  184. package/lib/common/chat-session-summary-agent-prompt.d.ts +0 -8
  185. package/lib/common/chat-session-summary-agent-prompt.d.ts.map +0 -1
  186. package/lib/common/chat-session-summary-agent-prompt.js +0 -33
  187. package/lib/common/chat-session-summary-agent-prompt.js.map +0 -1
  188. package/lib/common/chat-session-summary-agent.d.ts +0 -16
  189. package/lib/common/chat-session-summary-agent.d.ts.map +0 -1
  190. package/lib/common/chat-session-summary-agent.js +0 -48
  191. package/lib/common/chat-session-summary-agent.js.map +0 -1
  192. package/lib/common/chat-string-utils.d.ts +0 -3
  193. package/lib/common/chat-string-utils.d.ts.map +0 -1
  194. package/lib/common/chat-string-utils.js +0 -27
  195. package/lib/common/chat-string-utils.js.map +0 -1
  196. package/lib/common/chat-tool-preferences.d.ts +0 -23
  197. package/lib/common/chat-tool-preferences.d.ts.map +0 -1
  198. package/lib/common/chat-tool-preferences.js +0 -68
  199. package/lib/common/chat-tool-preferences.js.map +0 -1
  200. package/lib/common/chat-tool-request-service.d.ts +0 -18
  201. package/lib/common/chat-tool-request-service.d.ts.map +0 -1
  202. package/lib/common/chat-tool-request-service.js +0 -52
  203. package/lib/common/chat-tool-request-service.js.map +0 -1
  204. package/lib/common/context-details-variable.d.ts +0 -9
  205. package/lib/common/context-details-variable.d.ts.map +0 -1
  206. package/lib/common/context-details-variable.js +0 -57
  207. package/lib/common/context-details-variable.js.map +0 -1
  208. package/lib/common/context-summary-variable.d.ts +0 -9
  209. package/lib/common/context-summary-variable.d.ts.map +0 -1
  210. package/lib/common/context-summary-variable.js +0 -57
  211. package/lib/common/context-summary-variable.js.map +0 -1
  212. package/lib/common/context-variables.d.ts +0 -4
  213. package/lib/common/context-variables.d.ts.map +0 -1
  214. package/lib/common/context-variables.js.map +0 -1
  215. package/lib/common/custom-chat-agent.d.ts +0 -10
  216. package/lib/common/custom-chat-agent.d.ts.map +0 -1
  217. package/lib/common/custom-chat-agent.js +0 -40
  218. package/lib/common/custom-chat-agent.js.map +0 -1
  219. package/lib/common/image-context-variable.d.ts +0 -29
  220. package/lib/common/image-context-variable.d.ts.map +0 -1
  221. package/lib/common/image-context-variable.js +0 -114
  222. package/lib/common/image-context-variable.js.map +0 -1
  223. package/lib/common/index.d.ts +0 -13
  224. package/lib/common/index.d.ts.map +0 -1
  225. package/lib/common/index.js +0 -31
  226. package/lib/common/index.js.map +0 -1
  227. package/lib/common/parse-contents-with-incomplete-parts.spec.d.ts +0 -2
  228. package/lib/common/parse-contents-with-incomplete-parts.spec.d.ts.map +0 -1
  229. package/lib/common/parse-contents-with-incomplete-parts.spec.js +0 -103
  230. package/lib/common/parse-contents-with-incomplete-parts.spec.js.map +0 -1
  231. package/lib/common/parse-contents.d.ts +0 -12
  232. package/lib/common/parse-contents.d.ts.map +0 -1
  233. package/lib/common/parse-contents.js +0 -107
  234. package/lib/common/parse-contents.js.map +0 -1
  235. package/lib/common/parse-contents.spec.d.ts +0 -10
  236. package/lib/common/parse-contents.spec.d.ts.map +0 -1
  237. package/lib/common/parse-contents.spec.js +0 -146
  238. package/lib/common/parse-contents.spec.js.map +0 -1
  239. package/lib/common/parsed-chat-request.d.ts +0 -66
  240. package/lib/common/parsed-chat-request.d.ts.map +0 -1
  241. package/lib/common/parsed-chat-request.js +0 -83
  242. package/lib/common/parsed-chat-request.js.map +0 -1
  243. package/lib/common/response-content-matcher.d.ts +0 -69
  244. package/lib/common/response-content-matcher.d.ts.map +0 -1
  245. package/lib/common/response-content-matcher.js +0 -97
  246. package/lib/common/response-content-matcher.js.map +0 -1
  247. package/lib/node/ai-chat-backend-module.d.ts +0 -4
  248. package/lib/node/ai-chat-backend-module.d.ts.map +0 -1
  249. package/lib/node/ai-chat-backend-module.js +0 -26
  250. package/lib/node/ai-chat-backend-module.js.map +0 -1
@@ -1,161 +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.ChangeSetFileService = 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 browser_2 = require("@theia/editor/lib/browser");
24
- const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
25
- const monaco_workspace_1 = require("@theia/monaco/lib/browser/monaco-workspace");
26
- const workspace_service_1 = require("@theia/workspace/lib/browser/workspace-service");
27
- let ChangeSetFileService = class ChangeSetFileService {
28
- async read(uri) {
29
- const exists = await this.fileService.exists(uri);
30
- if (!exists) {
31
- return undefined;
32
- }
33
- try {
34
- const document = this.monacoWorkspace.getTextDocument(uri.toString());
35
- if (document) {
36
- return document.getText();
37
- }
38
- return (await this.fileService.readFile(uri)).value.toString();
39
- }
40
- catch (error) {
41
- this.logger.error('Failed to read original content of change set file element.', error);
42
- return undefined;
43
- }
44
- }
45
- getName(uri) {
46
- return this.labelProvider.getName(uri);
47
- }
48
- getIcon(uri) {
49
- return this.labelProvider.getIcon(uri);
50
- }
51
- getAdditionalInfo(uri) {
52
- const wsUri = this.wsService.getWorkspaceRootUri(uri);
53
- if (wsUri) {
54
- const wsRelative = wsUri.relative(uri);
55
- if (wsRelative === null || wsRelative === void 0 ? void 0 : wsRelative.hasDir) {
56
- return wsRelative.dir.toString();
57
- }
58
- return '';
59
- }
60
- return this.labelProvider.getLongName(uri.parent);
61
- }
62
- async open(element) {
63
- const exists = await this.fileService.exists(element.uri);
64
- if (exists) {
65
- await (0, browser_1.open)(this.openerService, element.uri);
66
- return;
67
- }
68
- await this.editorManager.open(element.changedUri, {
69
- mode: 'reveal'
70
- });
71
- }
72
- async openDiff(originalUri, suggestedUri) {
73
- const diffUri = this.getDiffUri(originalUri, suggestedUri);
74
- (0, browser_1.open)(this.openerService, diffUri);
75
- }
76
- getDiffUri(originalUri, suggestedUri) {
77
- return browser_1.DiffUris.encode(originalUri, suggestedUri, core_1.nls.localize('theia/ai/chat/changeSetFileDiffUriLabel', 'AI Changes: {0}', this.labelProvider.getName(originalUri)));
78
- }
79
- async delete(uri) {
80
- const exists = await this.fileService.exists(uri);
81
- if (exists) {
82
- await this.fileService.delete(uri);
83
- }
84
- }
85
- /** Returns true if there was a document available to save for the specified URI. */
86
- async trySave(suggestedUri) {
87
- const openModel = this.monacoWorkspace.getTextDocument(suggestedUri.toString());
88
- if (openModel) {
89
- await openModel.save();
90
- return true;
91
- }
92
- else {
93
- return false;
94
- }
95
- }
96
- async writeFrom(from, to, fallbackContent) {
97
- var _a, _b;
98
- const authoritativeContent = (_b = (_a = this.monacoWorkspace.getTextDocument(from.toString())) === null || _a === void 0 ? void 0 : _a.getText()) !== null && _b !== void 0 ? _b : fallbackContent;
99
- await this.write(to, authoritativeContent);
100
- }
101
- async write(uri, text) {
102
- const document = this.monacoWorkspace.getTextDocument(uri.toString());
103
- if (document) {
104
- await this.monacoWorkspace.applyBackgroundEdit(document, [{
105
- range: document.textEditorModel.getFullModelRange(),
106
- text
107
- }], () => true);
108
- }
109
- else {
110
- await this.fileService.write(uri, text);
111
- }
112
- }
113
- closeDiffsForSession(sessionId, except) {
114
- const openEditors = this.shell.widgets.filter(widget => {
115
- const uri = browser_1.NavigatableWidget.getUri(widget);
116
- return uri && uri.authority === sessionId && !(except === null || except === void 0 ? void 0 : except.some(candidate => candidate.path.toString() === uri.path.toString()));
117
- });
118
- openEditors.forEach(editor => editor.close());
119
- }
120
- closeDiff(uri) {
121
- const openEditors = this.shell.widgets.filter(widget => { var _a; return (_a = browser_1.NavigatableWidget.getUri(widget)) === null || _a === void 0 ? void 0 : _a.isEqual(uri); });
122
- openEditors.forEach(editor => editor.close());
123
- }
124
- };
125
- exports.ChangeSetFileService = ChangeSetFileService;
126
- tslib_1.__decorate([
127
- (0, inversify_1.inject)(core_1.ILogger),
128
- tslib_1.__metadata("design:type", Object)
129
- ], ChangeSetFileService.prototype, "logger", void 0);
130
- tslib_1.__decorate([
131
- (0, inversify_1.inject)(workspace_service_1.WorkspaceService),
132
- tslib_1.__metadata("design:type", workspace_service_1.WorkspaceService)
133
- ], ChangeSetFileService.prototype, "wsService", void 0);
134
- tslib_1.__decorate([
135
- (0, inversify_1.inject)(browser_1.LabelProvider),
136
- tslib_1.__metadata("design:type", browser_1.LabelProvider)
137
- ], ChangeSetFileService.prototype, "labelProvider", void 0);
138
- tslib_1.__decorate([
139
- (0, inversify_1.inject)(browser_1.OpenerService),
140
- tslib_1.__metadata("design:type", Object)
141
- ], ChangeSetFileService.prototype, "openerService", void 0);
142
- tslib_1.__decorate([
143
- (0, inversify_1.inject)(browser_2.EditorManager),
144
- tslib_1.__metadata("design:type", browser_2.EditorManager)
145
- ], ChangeSetFileService.prototype, "editorManager", void 0);
146
- tslib_1.__decorate([
147
- (0, inversify_1.inject)(browser_1.ApplicationShell),
148
- tslib_1.__metadata("design:type", browser_1.ApplicationShell)
149
- ], ChangeSetFileService.prototype, "shell", void 0);
150
- tslib_1.__decorate([
151
- (0, inversify_1.inject)(monaco_workspace_1.MonacoWorkspace),
152
- tslib_1.__metadata("design:type", monaco_workspace_1.MonacoWorkspace)
153
- ], ChangeSetFileService.prototype, "monacoWorkspace", void 0);
154
- tslib_1.__decorate([
155
- (0, inversify_1.inject)(file_service_1.FileService),
156
- tslib_1.__metadata("design:type", file_service_1.FileService)
157
- ], ChangeSetFileService.prototype, "fileService", void 0);
158
- exports.ChangeSetFileService = ChangeSetFileService = tslib_1.__decorate([
159
- (0, inversify_1.injectable)()
160
- ], ChangeSetFileService);
161
- //# sourceMappingURL=change-set-file-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"change-set-file-service.js","sourceRoot":"","sources":["../../src/browser/change-set-file-service.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { MaybePromise } from '@theia/core';
2
- import { AIVariable, ResolvedAIVariable, AIVariableContribution, AIVariableResolver, AIVariableService, AIVariableResolutionRequest, AIVariableContext } from '@theia/ai-core';
3
- import { WorkspaceService } from '@theia/workspace/lib/browser';
4
- export declare const CHANGE_SET_SUMMARY_VARIABLE: AIVariable;
5
- export declare class ChangeSetVariableContribution implements AIVariableContribution, AIVariableResolver {
6
- protected readonly workspaceService: WorkspaceService;
7
- registerVariables(service: AIVariableService): void;
8
- canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): MaybePromise<number>;
9
- resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
10
- }
11
- //# sourceMappingURL=change-set-variable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"change-set-variable.d.ts","sourceRoot":"","sources":["../../src/browser/change-set-variable.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAO,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC/K,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,eAAO,MAAM,2BAA2B,EAAE,UAKzC,CAAC;AAEF,qBACa,6BAA8B,YAAW,sBAAsB,EAAE,kBAAkB;IAE5F,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAInD,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC;IAI5F,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;CAmB3H"}
@@ -1,64 +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.ChangeSetVariableContribution = exports.CHANGE_SET_SUMMARY_VARIABLE = void 0;
19
- const tslib_1 = require("tslib");
20
- const core_1 = require("@theia/core");
21
- const inversify_1 = require("@theia/core/shared/inversify");
22
- const browser_1 = require("@theia/workspace/lib/browser");
23
- const common_1 = require("../common");
24
- exports.CHANGE_SET_SUMMARY_VARIABLE = {
25
- id: common_1.CHANGE_SET_SUMMARY_VARIABLE_ID,
26
- description: core_1.nls.localize('theia/ai/core/changeSetSummaryVariable/description', 'Provides a summary of the files in a change set and their contents.'),
27
- name: common_1.CHANGE_SET_SUMMARY_VARIABLE_ID,
28
- };
29
- let ChangeSetVariableContribution = class ChangeSetVariableContribution {
30
- registerVariables(service) {
31
- service.registerResolver(exports.CHANGE_SET_SUMMARY_VARIABLE, this);
32
- }
33
- canResolve(request, context) {
34
- return request.variable.name === exports.CHANGE_SET_SUMMARY_VARIABLE.name ? 50 : 0;
35
- }
36
- async resolve(request, context) {
37
- if (!common_1.ChatSessionContext.is(context) || request.variable.name !== exports.CHANGE_SET_SUMMARY_VARIABLE.name) {
38
- return undefined;
39
- }
40
- if (!context.model.changeSet.getElements().length) {
41
- return {
42
- variable: exports.CHANGE_SET_SUMMARY_VARIABLE,
43
- value: ''
44
- };
45
- }
46
- const entries = await Promise.all(context.model.changeSet.getElements().map(async (element) => `- file: ${await this.workspaceService.getWorkspaceRelativePath(element.uri)}, status: ${element.state}`));
47
- return {
48
- variable: exports.CHANGE_SET_SUMMARY_VARIABLE,
49
- value: `## Previously Proposed Changes
50
- You have previously proposed changes for the following files. Some suggestions may have been accepted by the user, while others may still be pending.
51
- ${entries.join('\n')}
52
- `
53
- };
54
- }
55
- };
56
- exports.ChangeSetVariableContribution = ChangeSetVariableContribution;
57
- tslib_1.__decorate([
58
- (0, inversify_1.inject)(browser_1.WorkspaceService),
59
- tslib_1.__metadata("design:type", browser_1.WorkspaceService)
60
- ], ChangeSetVariableContribution.prototype, "workspaceService", void 0);
61
- exports.ChangeSetVariableContribution = ChangeSetVariableContribution = tslib_1.__decorate([
62
- (0, inversify_1.injectable)()
63
- ], ChangeSetVariableContribution);
64
- //# sourceMappingURL=change-set-variable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"change-set-variable.js","sourceRoot":"","sources":["../../src/browser/change-set-variable.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,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,sCAAgD;AAChD,4DAAkE;AAElE,0DAAgE;AAChE,sCAA+E;AAElE,QAAA,2BAA2B,GAAe;IACnD,EAAE,EAAE,uCAA8B;IAClC,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,oDAAoD,EAAE,qEAAqE,CAAC;IAEtJ,IAAI,EAAE,uCAA8B;CACvC,CAAC;AAGK,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAItC,iBAAiB,CAAC,OAA0B;QACxC,OAAO,CAAC,gBAAgB,CAAC,mCAA2B,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,UAAU,CAAC,OAAoC,EAAE,OAA0B;QACvE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,mCAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoC,EAAE,OAA0B;QAC1E,IAAI,CAAC,2BAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,mCAA2B,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QACxH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO;gBACH,QAAQ,EAAE,mCAA2B;gBACrC,KAAK,EAAE,EAAE;aACZ,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE,CAAC,WAAW,MAAM,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,KAAK,EAAE,CAAC,CACvK,CAAC;QACF,OAAO;YACH,QAAQ,EAAE,mCAA2B;YACrC,KAAK,EAAE;;EAEjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;CACnB;SACQ,CAAC;IACN,CAAC;CACJ,CAAA;AA/BY,sEAA6B;AAEnB;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCACY,0BAAgB;uEAAC;wCAF7C,6BAA6B;IADzC,IAAA,sBAAU,GAAE;GACA,6BAA6B,CA+BzC"}
@@ -1,36 +0,0 @@
1
- import { FileService } from '@theia/filesystem/lib/browser/file-service';
2
- import { WorkspaceService } from '@theia/workspace/lib/browser';
3
- import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
4
- import { StorageService } from '@theia/core/lib/browser';
5
- import { URI } from '@theia/core';
6
- import { ILogger } from '@theia/core/lib/common/logger';
7
- import { ChatModel } from '../common/chat-model';
8
- import { ChatSessionIndex, ChatSessionStore, ChatModelWithMetadata, ChatSessionMetadata } from '../common/chat-session-store';
9
- import { SerializedChatData } from '../common/chat-model-serialization';
10
- export declare class ChatSessionStoreImpl implements ChatSessionStore {
11
- protected readonly fileService: FileService;
12
- protected readonly workspaceService: WorkspaceService;
13
- protected readonly envServer: EnvVariablesServer;
14
- protected readonly storageService: StorageService;
15
- protected readonly logger: ILogger;
16
- protected storageRoot?: URI;
17
- protected indexCache?: ChatSessionIndex;
18
- protected storePromise: Promise<void>;
19
- storeSessions(...sessions: Array<ChatModel | ChatModelWithMetadata>): Promise<void>;
20
- private isChatModelWithMetadata;
21
- readSession(sessionId: string): Promise<SerializedChatData | undefined>;
22
- deleteSession(sessionId: string): Promise<void>;
23
- clearAllSessions(): Promise<void>;
24
- getSessionIndex(): Promise<ChatSessionIndex>;
25
- setSessionTitle(sessionId: string, title: string): Promise<void>;
26
- protected getStorageRoot(): Promise<URI>;
27
- protected updateIndex(sessions: ((ChatModelWithMetadata & {
28
- saveDate: number;
29
- })[])): Promise<void>;
30
- protected trimSessions(): Promise<void>;
31
- protected loadIndex(): Promise<ChatSessionIndex>;
32
- protected isValidMetadata(metadata: unknown): metadata is ChatSessionMetadata;
33
- protected saveIndex(index: ChatSessionIndex): Promise<void>;
34
- protected migrateData(data: unknown): SerializedChatData;
35
- }
36
- //# sourceMappingURL=chat-session-store-impl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-session-store-impl.d.ts","sourceRoot":"","sources":["../../src/browser/chat-session-store-impl.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC9H,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oCAAoC,CAAC;AAK3F,qBACa,oBAAqB,YAAW,gBAAgB;IAEzD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAGjD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC;IAC5B,SAAS,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IACxC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAqB;IAEpD,aAAa,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,qBAAqB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDzF,OAAO,CAAC,uBAAuB;IAIzB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAsBvE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB/C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBjC,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAM5C,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAWtD,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;cAiB9B,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,qBAAqB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAkBxF,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cAqB7B,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA8CtD,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,mBAAmB;cAiB7D,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjE,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,kBAAkB;CAa3D"}
@@ -1,287 +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.ChatSessionStoreImpl = void 0;
19
- const tslib_1 = require("tslib");
20
- const inversify_1 = require("@theia/core/shared/inversify");
21
- const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
22
- const browser_1 = require("@theia/workspace/lib/browser");
23
- const env_variables_1 = require("@theia/core/lib/common/env-variables");
24
- const browser_2 = require("@theia/core/lib/browser");
25
- const core_1 = require("@theia/core");
26
- const buffer_1 = require("@theia/core/lib/common/buffer");
27
- const logger_1 = require("@theia/core/lib/common/logger");
28
- const chat_model_serialization_1 = require("../common/chat-model-serialization");
29
- const MAX_SESSIONS = 25;
30
- const INDEX_FILE = 'index.json';
31
- let ChatSessionStoreImpl = class ChatSessionStoreImpl {
32
- constructor() {
33
- this.storePromise = Promise.resolve();
34
- }
35
- async storeSessions(...sessions) {
36
- this.storePromise = this.storePromise.then(async () => {
37
- const root = await this.getStorageRoot();
38
- this.logger.debug('Starting to store sessions', { totalSessions: sessions.length, storageRoot: root.toString() });
39
- // Normalize to SessionWithTitle and filter empty sessions
40
- const nonEmptySessions = sessions
41
- .map(s => this.isChatModelWithMetadata(s) ? { ...s, saveDate: Date.now() } : { model: s, saveDate: Date.now() })
42
- .filter(s => !s.model.isEmpty());
43
- this.logger.debug('Filtered empty sessions', { nonEmptySessions: nonEmptySessions.length });
44
- // Write each session as JSON file
45
- for (const session of nonEmptySessions) {
46
- const sessionFile = root.resolve(`${session.model.id}.json`);
47
- const modelData = session.model.toSerializable();
48
- // Wrap model data with persistence metadata
49
- const data = {
50
- version: chat_model_serialization_1.CHAT_DATA_VERSION,
51
- title: session.title,
52
- pinnedAgentId: session.pinnedAgentId,
53
- saveDate: session.saveDate,
54
- model: modelData
55
- };
56
- this.logger.debug('Writing session to file', {
57
- sessionId: session.model.id,
58
- title: data.title,
59
- filePath: sessionFile.toString(),
60
- requestCount: modelData.requests.length,
61
- responseCount: modelData.responses.length,
62
- pinnedAgentId: data.pinnedAgentId,
63
- version: data.version
64
- });
65
- await this.fileService.writeFile(sessionFile, buffer_1.BinaryBuffer.fromString(JSON.stringify(data, undefined, 2)));
66
- }
67
- // Update index with metadata
68
- await this.updateIndex(nonEmptySessions);
69
- // Trim to max sessions
70
- await this.trimSessions();
71
- this.logger.debug('Finished storing sessions');
72
- });
73
- return this.storePromise;
74
- }
75
- isChatModelWithMetadata(session) {
76
- return 'model' in session;
77
- }
78
- async readSession(sessionId) {
79
- const root = await this.getStorageRoot();
80
- const sessionFile = root.resolve(`${sessionId}.json`);
81
- this.logger.debug('Reading session from file', { sessionId, filePath: sessionFile.toString() });
82
- try {
83
- const content = await this.fileService.readFile(sessionFile);
84
- const parsedData = JSON.parse(content.value.toString());
85
- const data = this.migrateData(parsedData);
86
- this.logger.debug('Successfully read session', {
87
- sessionId,
88
- requestCount: data.model.requests.length,
89
- responseCount: data.model.responses.length,
90
- version: data.version
91
- });
92
- return data;
93
- }
94
- catch (e) {
95
- this.logger.debug('Failed to read session', { sessionId, error: e });
96
- return undefined;
97
- }
98
- }
99
- async deleteSession(sessionId) {
100
- this.storePromise = this.storePromise.then(async () => {
101
- const root = await this.getStorageRoot();
102
- const sessionFile = root.resolve(`${sessionId}.json`);
103
- this.logger.debug('Deleting session', { sessionId, filePath: sessionFile.toString() });
104
- try {
105
- await this.fileService.delete(sessionFile);
106
- this.logger.debug('Session file deleted', { sessionId });
107
- }
108
- catch (e) {
109
- this.logger.debug('Failed to delete session file (may not exist)', { sessionId, error: e });
110
- }
111
- // Update index
112
- const index = await this.loadIndex();
113
- delete index[sessionId];
114
- await this.saveIndex(index);
115
- this.logger.debug('Session removed from index', { sessionId });
116
- });
117
- return this.storePromise;
118
- }
119
- async clearAllSessions() {
120
- this.storePromise = this.storePromise.then(async () => {
121
- const root = await this.getStorageRoot();
122
- try {
123
- await this.fileService.delete(root, { recursive: true });
124
- await this.fileService.createFolder(root);
125
- }
126
- catch (e) {
127
- // Ignore errors
128
- }
129
- this.indexCache = {};
130
- await this.saveIndex({});
131
- });
132
- return this.storePromise;
133
- }
134
- async getSessionIndex() {
135
- const index = await this.loadIndex();
136
- this.logger.debug('Retrieved session index', { sessionCount: Object.keys(index).length });
137
- return index;
138
- }
139
- async setSessionTitle(sessionId, title) {
140
- this.storePromise = this.storePromise.then(async () => {
141
- const index = await this.loadIndex();
142
- if (index[sessionId]) {
143
- index[sessionId].title = title;
144
- await this.saveIndex(index);
145
- }
146
- });
147
- return this.storePromise;
148
- }
149
- async getStorageRoot() {
150
- if (this.storageRoot) {
151
- return this.storageRoot;
152
- }
153
- const configDir = await this.envServer.getConfigDirUri();
154
- this.storageRoot = new core_1.URI(configDir).resolve('chatSessions');
155
- try {
156
- await this.fileService.createFolder(this.storageRoot);
157
- }
158
- catch (e) {
159
- // Folder may already exist
160
- }
161
- return this.storageRoot;
162
- }
163
- async updateIndex(sessions) {
164
- const index = await this.loadIndex();
165
- for (const session of sessions) {
166
- const data = session.model.toSerializable();
167
- const { model, ...metadata } = session;
168
- const previousData = index[model.id];
169
- index[model.id] = {
170
- ...previousData,
171
- sessionId: model.id,
172
- location: data.location,
173
- ...metadata
174
- };
175
- }
176
- await this.saveIndex(index);
177
- }
178
- async trimSessions() {
179
- const index = await this.loadIndex();
180
- const sessions = Object.values(index);
181
- if (sessions.length <= MAX_SESSIONS) {
182
- return;
183
- }
184
- this.logger.debug('Trimming sessions', { currentCount: sessions.length, maxSessions: MAX_SESSIONS });
185
- // Sort by save date
186
- sessions.sort((a, b) => a.saveDate - b.saveDate);
187
- // Delete oldest sessions
188
- const sessionsToDelete = sessions.slice(0, sessions.length - MAX_SESSIONS);
189
- this.logger.debug('Deleting oldest sessions', { deleteCount: sessionsToDelete.length, sessionIds: sessionsToDelete.map(s => s.sessionId) });
190
- for (const session of sessionsToDelete) {
191
- await this.deleteSession(session.sessionId);
192
- }
193
- }
194
- async loadIndex() {
195
- if (this.indexCache) {
196
- return this.indexCache;
197
- }
198
- const root = await this.getStorageRoot();
199
- const indexFile = root.resolve(INDEX_FILE);
200
- try {
201
- const content = await this.fileService.readFile(indexFile);
202
- const rawIndex = JSON.parse(content.value.toString());
203
- // Validate and clean up index entries
204
- const validatedIndex = {};
205
- let hasInvalidEntries = false;
206
- for (const [sessionId, metadata] of Object.entries(rawIndex)) {
207
- // Check if entry has required fields and valid values
208
- if (this.isValidMetadata(metadata)) {
209
- validatedIndex[sessionId] = metadata;
210
- }
211
- else {
212
- hasInvalidEntries = true;
213
- this.logger.warn('Removing invalid session metadata from index', {
214
- sessionId,
215
- metadata
216
- });
217
- }
218
- }
219
- // If we removed any entries, persist the cleaned index
220
- if (hasInvalidEntries) {
221
- this.logger.info('Index cleaned up, removing invalid entries');
222
- await this.fileService.writeFile(indexFile, buffer_1.BinaryBuffer.fromString(JSON.stringify(validatedIndex, undefined, 2)));
223
- }
224
- this.indexCache = validatedIndex;
225
- return this.indexCache;
226
- }
227
- catch (e) {
228
- this.indexCache = {};
229
- return this.indexCache;
230
- }
231
- }
232
- isValidMetadata(metadata) {
233
- if (!metadata || typeof metadata !== 'object') {
234
- return false;
235
- }
236
- const m = metadata;
237
- // Check required fields exist and have correct types
238
- return typeof m.sessionId === 'string' &&
239
- typeof m.title === 'string' &&
240
- typeof m.saveDate === 'number' &&
241
- typeof m.location === 'string' &&
242
- // Ensure saveDate is a valid timestamp
243
- !isNaN(m.saveDate) &&
244
- m.saveDate > 0;
245
- }
246
- async saveIndex(index) {
247
- this.indexCache = index;
248
- const root = await this.getStorageRoot();
249
- const indexFile = root.resolve(INDEX_FILE);
250
- await this.fileService.writeFile(indexFile, buffer_1.BinaryBuffer.fromString(JSON.stringify(index, undefined, 2)));
251
- }
252
- migrateData(data) {
253
- const parsed = data;
254
- // Defensive check for unexpected future versions
255
- if (parsed.version && parsed.version > chat_model_serialization_1.CHAT_DATA_VERSION) {
256
- this.logger.warn(`Session data version ${parsed.version} is newer than supported ${chat_model_serialization_1.CHAT_DATA_VERSION}. ` +
257
- 'Data may not load correctly.');
258
- }
259
- return parsed;
260
- }
261
- };
262
- exports.ChatSessionStoreImpl = ChatSessionStoreImpl;
263
- tslib_1.__decorate([
264
- (0, inversify_1.inject)(file_service_1.FileService),
265
- tslib_1.__metadata("design:type", file_service_1.FileService)
266
- ], ChatSessionStoreImpl.prototype, "fileService", void 0);
267
- tslib_1.__decorate([
268
- (0, inversify_1.inject)(browser_1.WorkspaceService),
269
- tslib_1.__metadata("design:type", browser_1.WorkspaceService)
270
- ], ChatSessionStoreImpl.prototype, "workspaceService", void 0);
271
- tslib_1.__decorate([
272
- (0, inversify_1.inject)(env_variables_1.EnvVariablesServer),
273
- tslib_1.__metadata("design:type", Object)
274
- ], ChatSessionStoreImpl.prototype, "envServer", void 0);
275
- tslib_1.__decorate([
276
- (0, inversify_1.inject)(browser_2.StorageService),
277
- tslib_1.__metadata("design:type", Object)
278
- ], ChatSessionStoreImpl.prototype, "storageService", void 0);
279
- tslib_1.__decorate([
280
- (0, inversify_1.inject)(logger_1.ILogger),
281
- (0, inversify_1.named)('ChatSessionStore'),
282
- tslib_1.__metadata("design:type", Object)
283
- ], ChatSessionStoreImpl.prototype, "logger", void 0);
284
- exports.ChatSessionStoreImpl = ChatSessionStoreImpl = tslib_1.__decorate([
285
- (0, inversify_1.injectable)()
286
- ], ChatSessionStoreImpl);
287
- //# sourceMappingURL=chat-session-store-impl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-session-store-impl.js","sourceRoot":"","sources":["../../src/browser/chat-session-store-impl.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- import { PreferenceService } from '@theia/core/lib/common/preferences';
2
- import { ToolConfirmationMode, ChatToolPreferences } from '../common/chat-tool-preferences';
3
- /**
4
- * Utility class to manage tool confirmation settings
5
- */
6
- export declare class ToolConfirmationManager {
7
- protected readonly preferences: ChatToolPreferences;
8
- protected readonly preferenceService: PreferenceService;
9
- protected sessionOverrides: Map<string, Map<string, ToolConfirmationMode>>;
10
- /**
11
- * Get the confirmation mode for a specific tool, considering session overrides first (per chat)
12
- */
13
- getConfirmationMode(toolId: string, chatId: string): ToolConfirmationMode;
14
- /**
15
- * Set the confirmation mode for a specific tool (persisted)
16
- */
17
- setConfirmationMode(toolId: string, mode: ToolConfirmationMode): void;
18
- /**
19
- * Set the confirmation mode for a specific tool for this session only (not persisted, per chat)
20
- */
21
- setSessionConfirmationMode(toolId: string, mode: ToolConfirmationMode, chatId: string): void;
22
- /**
23
- * Clear all session overrides for a specific chat, or all if no chatId is given
24
- */
25
- clearSessionOverrides(chatId?: string): void;
26
- /**
27
- * Get all tool confirmation settings
28
- */
29
- getAllConfirmationSettings(): {
30
- [toolId: string]: ToolConfirmationMode;
31
- };
32
- resetAllConfirmationModeSettings(): void;
33
- }
34
- //# sourceMappingURL=chat-tool-preference-bindings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-tool-preference-bindings.d.ts","sourceRoot":"","sources":["../../src/browser/chat-tool-preference-bindings.ts"],"names":[],"mappings":"AAiBA,OAAO,EACH,iBAAiB,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAgC,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE1H;;GAEG;AACH,qBACa,uBAAuB;IAEhC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAa;IAEvF;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,oBAAoB;IAezE;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAqBrE;;OAEG;IACH,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5F;;OAEG;IACH,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ5C;;OAEG;IACH,0BAA0B,IAAI;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE;IAIxE,gCAAgC,IAAI,IAAI;CAQ3C"}