@theia/ai-chat 1.68.0-next.9 → 1.68.1
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.
- package/README.md +64 -0
- package/lib/browser/agent-delegation-tool.d.ts.map +1 -1
- package/lib/browser/agent-delegation-tool.js +14 -11
- package/lib/browser/agent-delegation-tool.js.map +1 -1
- package/lib/browser/ai-chat-frontend-contribution.js +1 -2
- package/lib/browser/ai-chat-frontend-contribution.js.map +1 -1
- package/lib/browser/change-set-decorator-service.d.ts +0 -1
- package/lib/browser/change-set-decorator-service.d.ts.map +1 -1
- package/lib/browser/change-set-decorator-service.js +2 -3
- package/lib/browser/change-set-decorator-service.js.map +1 -1
- package/lib/browser/change-set-file-element-deserializer.js +3 -3
- package/lib/browser/change-set-file-element-deserializer.js.map +1 -1
- package/lib/browser/change-set-file-element.js +17 -26
- package/lib/browser/change-set-file-element.js.map +1 -1
- package/lib/browser/change-set-file-resource.js +2 -2
- package/lib/browser/change-set-file-resource.js.map +1 -1
- package/lib/browser/change-set-file-service.js +4 -5
- package/lib/browser/change-set-file-service.js.map +1 -1
- package/lib/browser/chat-session-store-impl.d.ts +30 -4
- package/lib/browser/chat-session-store-impl.d.ts.map +1 -1
- package/lib/browser/chat-session-store-impl.js +178 -14
- package/lib/browser/chat-session-store-impl.js.map +1 -1
- package/lib/browser/chat-session-store-impl.spec.js +171 -5
- package/lib/browser/chat-session-store-impl.spec.js.map +1 -1
- package/lib/browser/chat-tool-preference-bindings.d.ts +16 -3
- package/lib/browser/chat-tool-preference-bindings.d.ts.map +1 -1
- package/lib/browser/chat-tool-preference-bindings.js +28 -9
- package/lib/browser/chat-tool-preference-bindings.js.map +1 -1
- package/lib/browser/chat-tool-preference-bindings.spec.d.ts +2 -0
- package/lib/browser/chat-tool-preference-bindings.spec.d.ts.map +1 -0
- package/lib/browser/chat-tool-preference-bindings.spec.js +168 -0
- package/lib/browser/chat-tool-preference-bindings.spec.js.map +1 -0
- package/lib/browser/chat-tool-request-service.d.ts +7 -6
- package/lib/browser/chat-tool-request-service.d.ts.map +1 -1
- package/lib/browser/chat-tool-request-service.js +56 -19
- package/lib/browser/chat-tool-request-service.js.map +1 -1
- package/lib/browser/custom-agent-frontend-application-contribution.js +3 -5
- package/lib/browser/custom-agent-frontend-application-contribution.js.map +1 -1
- package/lib/browser/delegation-response-content.js +2 -2
- package/lib/browser/delegation-response-content.js.map +1 -1
- package/lib/browser/file-chat-variable-contribution.js +1 -1
- package/lib/browser/file-chat-variable-contribution.js.map +1 -1
- package/lib/browser/image-context-variable-contribution.js +4 -7
- package/lib/browser/image-context-variable-contribution.js.map +1 -1
- package/lib/browser/task-context-service.d.ts +2 -1
- package/lib/browser/task-context-service.d.ts.map +1 -1
- package/lib/browser/task-context-service.js +5 -6
- package/lib/browser/task-context-service.js.map +1 -1
- package/lib/browser/task-context-storage-service.js +1 -1
- package/lib/browser/task-context-variable-contribution.js +1 -1
- package/lib/browser/task-context-variable-contribution.js.map +1 -1
- package/lib/browser/task-context-variable-label-provider.js +1 -2
- package/lib/browser/task-context-variable-label-provider.js.map +1 -1
- package/lib/common/ai-chat-preferences.d.ts +2 -0
- package/lib/common/ai-chat-preferences.d.ts.map +1 -1
- package/lib/common/ai-chat-preferences.js +14 -1
- package/lib/common/ai-chat-preferences.js.map +1 -1
- package/lib/common/change-set.js +4 -6
- package/lib/common/change-set.js.map +1 -1
- package/lib/common/chat-agents.d.ts +4 -3
- package/lib/common/chat-agents.d.ts.map +1 -1
- package/lib/common/chat-agents.js +19 -16
- package/lib/common/chat-agents.js.map +1 -1
- package/lib/common/chat-auto-save.spec.js +18 -6
- package/lib/common/chat-auto-save.spec.js.map +1 -1
- package/lib/common/chat-content-deserializer.spec.js +32 -46
- package/lib/common/chat-content-deserializer.spec.js.map +1 -1
- package/lib/common/chat-model-serialization.d.ts +44 -0
- package/lib/common/chat-model-serialization.d.ts.map +1 -1
- package/lib/common/chat-model-serialization.js.map +1 -1
- package/lib/common/chat-model-serialization.spec.js +288 -6
- package/lib/common/chat-model-serialization.spec.js.map +1 -1
- package/lib/common/chat-model-util.js +8 -10
- package/lib/common/chat-model-util.js.map +1 -1
- package/lib/common/chat-model.d.ts +77 -16
- package/lib/common/chat-model.d.ts.map +1 -1
- package/lib/common/chat-model.js +278 -99
- package/lib/common/chat-model.js.map +1 -1
- package/lib/common/chat-request-parser.js +2 -3
- package/lib/common/chat-request-parser.js.map +1 -1
- package/lib/common/chat-request-parser.spec.js +147 -30
- package/lib/common/chat-request-parser.spec.js.map +1 -1
- package/lib/common/chat-service-deletion.spec.js +16 -3
- package/lib/common/chat-service-deletion.spec.js.map +1 -1
- package/lib/common/chat-service-pinned-agent.spec.d.ts +2 -0
- package/lib/common/chat-service-pinned-agent.spec.d.ts.map +1 -0
- package/lib/common/chat-service-pinned-agent.spec.js +194 -0
- package/lib/common/chat-service-pinned-agent.spec.js.map +1 -0
- package/lib/common/chat-service.d.ts +19 -3
- package/lib/common/chat-service.d.ts.map +1 -1
- package/lib/common/chat-service.js +60 -22
- package/lib/common/chat-service.js.map +1 -1
- package/lib/common/chat-session-naming-service.js +4 -3
- package/lib/common/chat-session-naming-service.js.map +1 -1
- package/lib/common/chat-session-store.d.ts +8 -1
- package/lib/common/chat-session-store.d.ts.map +1 -1
- package/lib/common/chat-session-summary-agent.js +3 -2
- package/lib/common/chat-session-summary-agent.js.map +1 -1
- package/lib/common/chat-string-utils.js +2 -3
- package/lib/common/chat-string-utils.js.map +1 -1
- package/lib/common/chat-tool-preferences.js +3 -3
- package/lib/common/chat-tool-preferences.js.map +1 -1
- package/lib/common/chat-tool-request-service.d.ts +61 -8
- package/lib/common/chat-tool-request-service.d.ts.map +1 -1
- package/lib/common/chat-tool-request-service.js +80 -2
- package/lib/common/chat-tool-request-service.js.map +1 -1
- package/lib/common/chat-tool-request-service.spec.d.ts +2 -0
- package/lib/common/chat-tool-request-service.spec.d.ts.map +1 -0
- package/lib/common/chat-tool-request-service.spec.js +83 -0
- package/lib/common/chat-tool-request-service.spec.js.map +1 -0
- package/lib/common/image-context-variable.js +2 -3
- package/lib/common/image-context-variable.js.map +1 -1
- package/lib/common/index.d.ts +1 -0
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +1 -0
- package/lib/common/index.js.map +1 -1
- package/lib/common/parse-contents-with-incomplete-parts.spec.js +2 -4
- package/lib/common/parse-contents-with-incomplete-parts.spec.js.map +1 -1
- package/lib/common/parse-contents.js +2 -3
- package/lib/common/parse-contents.js.map +1 -1
- package/lib/common/parse-contents.spec.js +1 -2
- package/lib/common/parse-contents.spec.js.map +1 -1
- package/lib/common/parsed-chat-request.d.ts +13 -5
- package/lib/common/parsed-chat-request.d.ts.map +1 -1
- package/lib/common/parsed-chat-request.js +66 -3
- package/lib/common/parsed-chat-request.js.map +1 -1
- package/lib/common/response-content-matcher.js +2 -4
- package/lib/common/response-content-matcher.js.map +1 -1
- package/lib/common/tool-call-response-content.spec.d.ts +2 -0
- package/lib/common/tool-call-response-content.spec.d.ts.map +1 -0
- package/lib/common/tool-call-response-content.spec.js +128 -0
- package/lib/common/tool-call-response-content.spec.js.map +1 -0
- package/package.json +10 -10
- package/src/browser/agent-delegation-tool.ts +15 -11
- package/src/browser/chat-session-store-impl.spec.ts +223 -9
- package/src/browser/chat-session-store-impl.ts +204 -19
- package/src/browser/chat-tool-preference-bindings.spec.ts +203 -0
- package/src/browser/chat-tool-preference-bindings.ts +30 -9
- package/src/browser/chat-tool-request-service.ts +62 -23
- package/src/browser/task-context-service.ts +5 -3
- package/src/browser/task-context-storage-service.ts +1 -1
- package/src/common/ai-chat-preferences.ts +18 -0
- package/src/common/chat-agents.ts +17 -4
- package/src/common/chat-auto-save.spec.ts +24 -8
- package/src/common/chat-model-serialization.spec.ts +334 -7
- package/src/common/chat-model-serialization.ts +54 -0
- package/src/common/chat-model.ts +330 -44
- package/src/common/chat-request-parser.spec.ts +173 -32
- package/src/common/chat-service-deletion.spec.ts +17 -1
- package/src/common/chat-service-pinned-agent.spec.ts +218 -0
- package/src/common/chat-service.ts +57 -3
- package/src/common/chat-session-store.ts +8 -1
- package/src/common/chat-tool-request-service.spec.ts +97 -0
- package/src/common/chat-tool-request-service.ts +96 -9
- package/src/common/index.ts +1 -0
- package/src/common/parsed-chat-request.ts +75 -5
- package/src/common/tool-call-response-content.spec.ts +231 -0
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,+BAA+B,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACzH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC9H,OAAO,EAGH,mBAAmB,EACtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oCAAoC,CAAC;AAI3F,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,sBAAsB,EAAE,+BAA+B,CAAC;IAG3E,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;IAGnC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC;IAC5B,SAAS,CAAC,kBAAkB,UAAS;IACrC,SAAS,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IACxC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAqB;IAC1D,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAC1D,SAAS,CAAC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAG1D,SAAS,CAAC,IAAI,IAAI,IAAI;IAWtB,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAUlC,aAAa,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,qBAAqB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDzF,OAAO,CAAC,uBAAuB;IAIzB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IA0BvE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B/C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBjC,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAM5C,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtE;;;OAGG;cACa,cAAc,IAAI,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAe1D;;;OAGG;cACa,kBAAkB,IAAI,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAc9D;;OAEG;cACa,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;cAQ3C,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC;cAM/C,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC;cAKpC,kBAAkB,IAAI,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;cAqC9C,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,qBAAqB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxG,SAAS,CAAC,wBAAwB,IAAI,MAAM;cAI5B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cA0D7B,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAkDtD,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,mBAAmB;cAiB7D,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcjE,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,kBAAkB;IAclD,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;cA0B9B,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBrD,OAAO,IAAI,IAAI;CAGlB"}
|
|
@@ -20,22 +20,45 @@ const tslib_1 = require("tslib");
|
|
|
20
20
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
21
|
const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
|
|
22
22
|
const browser_1 = require("@theia/workspace/lib/browser");
|
|
23
|
-
const env_variables_1 = require("@theia/core/lib/common/env-variables");
|
|
24
23
|
const common_1 = require("@theia/core/lib/common");
|
|
25
24
|
const browser_2 = require("@theia/core/lib/browser");
|
|
26
25
|
const core_1 = require("@theia/core");
|
|
27
26
|
const buffer_1 = require("@theia/core/lib/common/buffer");
|
|
28
27
|
const logger_1 = require("@theia/core/lib/common/logger");
|
|
28
|
+
const env_variables_1 = require("@theia/core/lib/common/env-variables");
|
|
29
29
|
const ai_chat_preferences_1 = require("../common/ai-chat-preferences");
|
|
30
30
|
const chat_model_serialization_1 = require("../common/chat-model-serialization");
|
|
31
31
|
const INDEX_FILE = 'index.json';
|
|
32
32
|
let ChatSessionStoreImpl = class ChatSessionStoreImpl {
|
|
33
33
|
constructor() {
|
|
34
|
+
this.storageInitialized = false;
|
|
34
35
|
this.storePromise = Promise.resolve();
|
|
36
|
+
this.toDispose = new core_1.DisposableCollection();
|
|
37
|
+
}
|
|
38
|
+
init() {
|
|
39
|
+
this.toDispose.push(this.preferenceService.onPreferenceChanged(async (event) => {
|
|
40
|
+
if (event.preferenceName === ai_chat_preferences_1.SESSION_STORAGE_PREF) {
|
|
41
|
+
this.logger.debug('Session storage preference changed: invalidating cache.', { preference: event.preferenceName });
|
|
42
|
+
this.invalidateStorageCache();
|
|
43
|
+
}
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
invalidateStorageCache() {
|
|
47
|
+
this.storageRoot = undefined;
|
|
48
|
+
this.storageInitialized = false;
|
|
49
|
+
this.indexCache = undefined;
|
|
50
|
+
// Clear workspace metadata store reference so it will be recreated
|
|
51
|
+
if (this.workspaceMetadataStore) {
|
|
52
|
+
this.workspaceMetadataStore = undefined;
|
|
53
|
+
}
|
|
35
54
|
}
|
|
36
55
|
async storeSessions(...sessions) {
|
|
37
56
|
this.storePromise = this.storePromise.then(async () => {
|
|
38
|
-
const root = await this.
|
|
57
|
+
const root = await this.ensureStorageReady();
|
|
58
|
+
if (!root) {
|
|
59
|
+
this.logger.debug('Session persistence is disabled: skipping store.');
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
39
62
|
this.logger.debug('Starting to store sessions', { totalSessions: sessions.length, storageRoot: root.toString() });
|
|
40
63
|
// Normalize to SessionWithTitle and filter empty sessions
|
|
41
64
|
const nonEmptySessions = sessions
|
|
@@ -77,7 +100,11 @@ let ChatSessionStoreImpl = class ChatSessionStoreImpl {
|
|
|
77
100
|
return 'model' in session;
|
|
78
101
|
}
|
|
79
102
|
async readSession(sessionId) {
|
|
80
|
-
const root = await this.
|
|
103
|
+
const root = await this.ensureStorageReady();
|
|
104
|
+
if (!root) {
|
|
105
|
+
this.logger.debug('Session persistence is disabled: cannot read session.', { sessionId });
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
81
108
|
const sessionFile = root.resolve(`${sessionId}.json`);
|
|
82
109
|
this.logger.debug('Reading session from file', { sessionId, filePath: sessionFile.toString() });
|
|
83
110
|
try {
|
|
@@ -99,7 +126,11 @@ let ChatSessionStoreImpl = class ChatSessionStoreImpl {
|
|
|
99
126
|
}
|
|
100
127
|
async deleteSession(sessionId) {
|
|
101
128
|
this.storePromise = this.storePromise.then(async () => {
|
|
102
|
-
const root = await this.
|
|
129
|
+
const root = await this.ensureStorageReady();
|
|
130
|
+
if (!root) {
|
|
131
|
+
this.logger.debug('Session persistence is disabled: skipping delete.', { sessionId });
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
103
134
|
const sessionFile = root.resolve(`${sessionId}.json`);
|
|
104
135
|
this.logger.debug('Deleting session', { sessionId, filePath: sessionFile.toString() });
|
|
105
136
|
try {
|
|
@@ -119,7 +150,11 @@ let ChatSessionStoreImpl = class ChatSessionStoreImpl {
|
|
|
119
150
|
}
|
|
120
151
|
async clearAllSessions() {
|
|
121
152
|
this.storePromise = this.storePromise.then(async () => {
|
|
122
|
-
const root = await this.
|
|
153
|
+
const root = await this.ensureStorageReady();
|
|
154
|
+
if (!root) {
|
|
155
|
+
this.logger.debug('Session persistence is disabled: skipping clear.');
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
123
158
|
try {
|
|
124
159
|
await this.fileService.delete(root, { recursive: true });
|
|
125
160
|
await this.fileService.createFolder(root);
|
|
@@ -147,19 +182,87 @@ let ChatSessionStoreImpl = class ChatSessionStoreImpl {
|
|
|
147
182
|
});
|
|
148
183
|
return this.storePromise;
|
|
149
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Gets the storage root URI.
|
|
187
|
+
* Use {@link ensureStorageReady} when you need actually to access the storage.
|
|
188
|
+
*/
|
|
150
189
|
async getStorageRoot() {
|
|
151
|
-
if (this.storageRoot) {
|
|
190
|
+
if (this.storageRoot !== undefined) {
|
|
152
191
|
return this.storageRoot;
|
|
153
192
|
}
|
|
154
|
-
const
|
|
155
|
-
|
|
193
|
+
const resolved = await this.resolveStorageRoot();
|
|
194
|
+
if (!resolved) {
|
|
195
|
+
// Persistence is disabled
|
|
196
|
+
return undefined;
|
|
197
|
+
}
|
|
198
|
+
this.storageRoot = resolved;
|
|
199
|
+
return this.storageRoot;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Ensures the storage directory exists and is initialized on disk.
|
|
203
|
+
* This should be called before any disk I/O operations.
|
|
204
|
+
*/
|
|
205
|
+
async ensureStorageReady() {
|
|
206
|
+
const root = await this.getStorageRoot();
|
|
207
|
+
if (!root) {
|
|
208
|
+
return undefined;
|
|
209
|
+
}
|
|
210
|
+
if (!this.storageInitialized) {
|
|
211
|
+
await this.initializeStorage(root);
|
|
212
|
+
this.storageInitialized = true;
|
|
213
|
+
}
|
|
214
|
+
return root;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Initializes the storage directory on disk, creating it if necessary.
|
|
218
|
+
*/
|
|
219
|
+
async initializeStorage(root) {
|
|
156
220
|
try {
|
|
157
|
-
await this.fileService.createFolder(
|
|
221
|
+
await this.fileService.createFolder(root);
|
|
158
222
|
}
|
|
159
223
|
catch (e) {
|
|
160
224
|
// Folder may already exist
|
|
161
225
|
}
|
|
162
|
-
|
|
226
|
+
}
|
|
227
|
+
async getStorageScope() {
|
|
228
|
+
// Wait for preferences to be ready before reading storage configuration
|
|
229
|
+
await this.preferenceService.ready;
|
|
230
|
+
return this.preferenceService.get(ai_chat_preferences_1.SESSION_STORAGE_PREF, 'workspace');
|
|
231
|
+
}
|
|
232
|
+
async getGlobalStorageRoot() {
|
|
233
|
+
const configDirUri = await this.envServer.getConfigDirUri();
|
|
234
|
+
return new core_1.URI(configDirUri).resolve('chatSessions');
|
|
235
|
+
}
|
|
236
|
+
async resolveStorageRoot() {
|
|
237
|
+
const scope = await this.getStorageScope();
|
|
238
|
+
if (scope === 'workspace') {
|
|
239
|
+
if (this.workspaceService.tryGetRoots().length === 0) {
|
|
240
|
+
this.logger.debug('No workspace open: falling back to global storage.');
|
|
241
|
+
return this.getGlobalStorageRoot();
|
|
242
|
+
}
|
|
243
|
+
try {
|
|
244
|
+
// Reuse existing store or get/create one from the service
|
|
245
|
+
if (!this.workspaceMetadataStore) {
|
|
246
|
+
this.workspaceMetadataStore = await this.metadataStorageService.getOrCreateStore('chatSessions');
|
|
247
|
+
// Set up location change listener
|
|
248
|
+
this.toDispose.push(this.workspaceMetadataStore.onDidChangeLocation(newLocation => {
|
|
249
|
+
this.logger.debug('Workspace metadata store location changed: invalidating cache.', { oldRoot: this.storageRoot?.toString(), newRoot: newLocation.toString() });
|
|
250
|
+
this.invalidateStorageCache();
|
|
251
|
+
}));
|
|
252
|
+
this.toDispose.push(this.workspaceMetadataStore);
|
|
253
|
+
}
|
|
254
|
+
this.logger.debug('Using workspace metadata storage', { location: this.workspaceMetadataStore.location.toString() });
|
|
255
|
+
return this.workspaceMetadataStore.location;
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
this.logger.error('Failed to create workspace metadata store, falling back to global storage', error);
|
|
259
|
+
return this.getGlobalStorageRoot();
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
// Global storage mode
|
|
263
|
+
const globalPath = await this.getGlobalStorageRoot();
|
|
264
|
+
this.logger.debug('Using global storage path', { path: globalPath.toString() });
|
|
265
|
+
return globalPath;
|
|
163
266
|
}
|
|
164
267
|
async updateIndex(sessions) {
|
|
165
268
|
const index = await this.loadIndex();
|
|
@@ -180,6 +283,10 @@ let ChatSessionStoreImpl = class ChatSessionStoreImpl {
|
|
|
180
283
|
return this.preferenceService.get(ai_chat_preferences_1.PERSISTED_SESSION_LIMIT_PREF, 25);
|
|
181
284
|
}
|
|
182
285
|
async trimSessions() {
|
|
286
|
+
const root = await this.ensureStorageReady();
|
|
287
|
+
if (!root) {
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
183
290
|
const maxSessions = this.getPersistedSessionLimit();
|
|
184
291
|
// -1 means unlimited, skip trimming
|
|
185
292
|
if (maxSessions === -1) {
|
|
@@ -191,7 +298,6 @@ let ChatSessionStoreImpl = class ChatSessionStoreImpl {
|
|
|
191
298
|
if (maxSessions === 0) {
|
|
192
299
|
this.logger.debug('Session persistence disabled, deleting all sessions', { sessionCount: sessions.length });
|
|
193
300
|
for (const session of sessions) {
|
|
194
|
-
const root = await this.getStorageRoot();
|
|
195
301
|
const sessionFile = root.resolve(`${session.sessionId}.json`);
|
|
196
302
|
try {
|
|
197
303
|
await this.fileService.delete(sessionFile);
|
|
@@ -214,7 +320,6 @@ let ChatSessionStoreImpl = class ChatSessionStoreImpl {
|
|
|
214
320
|
const sessionsToDelete = sessions.slice(0, sessions.length - maxSessions);
|
|
215
321
|
this.logger.debug('Deleting oldest sessions', { deleteCount: sessionsToDelete.length, sessionIds: sessionsToDelete.map(s => s.sessionId) });
|
|
216
322
|
for (const session of sessionsToDelete) {
|
|
217
|
-
const root = await this.getStorageRoot();
|
|
218
323
|
const sessionFile = root.resolve(`${session.sessionId}.json`);
|
|
219
324
|
try {
|
|
220
325
|
await this.fileService.delete(sessionFile);
|
|
@@ -230,7 +335,11 @@ let ChatSessionStoreImpl = class ChatSessionStoreImpl {
|
|
|
230
335
|
if (this.indexCache) {
|
|
231
336
|
return this.indexCache;
|
|
232
337
|
}
|
|
233
|
-
const root = await this.
|
|
338
|
+
const root = await this.ensureStorageReady();
|
|
339
|
+
if (!root) {
|
|
340
|
+
this.indexCache = {};
|
|
341
|
+
return this.indexCache;
|
|
342
|
+
}
|
|
234
343
|
const indexFile = root.resolve(INDEX_FILE);
|
|
235
344
|
try {
|
|
236
345
|
const content = await this.fileService.readFile(indexFile);
|
|
@@ -280,7 +389,10 @@ let ChatSessionStoreImpl = class ChatSessionStoreImpl {
|
|
|
280
389
|
}
|
|
281
390
|
async saveIndex(index) {
|
|
282
391
|
this.indexCache = index;
|
|
283
|
-
const root = await this.
|
|
392
|
+
const root = await this.ensureStorageReady();
|
|
393
|
+
if (!root) {
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
284
396
|
const indexFile = root.resolve(INDEX_FILE);
|
|
285
397
|
await this.fileService.writeFile(indexFile, buffer_1.BinaryBuffer.fromString(JSON.stringify(index, undefined, 2)));
|
|
286
398
|
}
|
|
@@ -293,6 +405,48 @@ let ChatSessionStoreImpl = class ChatSessionStoreImpl {
|
|
|
293
405
|
}
|
|
294
406
|
return parsed;
|
|
295
407
|
}
|
|
408
|
+
async hasPersistedSessions() {
|
|
409
|
+
// If we already have cached sessions, return true immediately
|
|
410
|
+
if (this.indexCache && Object.keys(this.indexCache).length > 0) {
|
|
411
|
+
return true;
|
|
412
|
+
}
|
|
413
|
+
const storageRoot = await this.getStorageRoot();
|
|
414
|
+
if (!storageRoot) {
|
|
415
|
+
return false;
|
|
416
|
+
}
|
|
417
|
+
const indexFile = storageRoot.resolve(INDEX_FILE);
|
|
418
|
+
try {
|
|
419
|
+
const exists = await this.fileService.exists(indexFile);
|
|
420
|
+
if (!exists) {
|
|
421
|
+
return false;
|
|
422
|
+
}
|
|
423
|
+
const content = await this.fileService.readFile(indexFile);
|
|
424
|
+
const index = JSON.parse(content.value.toString());
|
|
425
|
+
return Object.keys(index).length > 0;
|
|
426
|
+
}
|
|
427
|
+
catch (e) {
|
|
428
|
+
return false;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
async hasGlobalSessions() {
|
|
432
|
+
const globalRoot = await this.getGlobalStorageRoot();
|
|
433
|
+
try {
|
|
434
|
+
const indexFile = globalRoot.resolve(INDEX_FILE);
|
|
435
|
+
const exists = await this.fileService.exists(indexFile);
|
|
436
|
+
if (!exists) {
|
|
437
|
+
return false;
|
|
438
|
+
}
|
|
439
|
+
const content = await this.fileService.readFile(indexFile);
|
|
440
|
+
const index = JSON.parse(content.value.toString());
|
|
441
|
+
return Object.keys(index).length > 0;
|
|
442
|
+
}
|
|
443
|
+
catch (e) {
|
|
444
|
+
return false;
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
dispose() {
|
|
448
|
+
this.toDispose.dispose();
|
|
449
|
+
}
|
|
296
450
|
};
|
|
297
451
|
exports.ChatSessionStoreImpl = ChatSessionStoreImpl;
|
|
298
452
|
tslib_1.__decorate([
|
|
@@ -303,6 +457,10 @@ tslib_1.__decorate([
|
|
|
303
457
|
(0, inversify_1.inject)(browser_1.WorkspaceService),
|
|
304
458
|
tslib_1.__metadata("design:type", browser_1.WorkspaceService)
|
|
305
459
|
], ChatSessionStoreImpl.prototype, "workspaceService", void 0);
|
|
460
|
+
tslib_1.__decorate([
|
|
461
|
+
(0, inversify_1.inject)(browser_1.WorkspaceMetadataStorageService),
|
|
462
|
+
tslib_1.__metadata("design:type", Object)
|
|
463
|
+
], ChatSessionStoreImpl.prototype, "metadataStorageService", void 0);
|
|
306
464
|
tslib_1.__decorate([
|
|
307
465
|
(0, inversify_1.inject)(env_variables_1.EnvVariablesServer),
|
|
308
466
|
tslib_1.__metadata("design:type", Object)
|
|
@@ -320,6 +478,12 @@ tslib_1.__decorate([
|
|
|
320
478
|
(0, inversify_1.inject)(common_1.PreferenceService),
|
|
321
479
|
tslib_1.__metadata("design:type", Object)
|
|
322
480
|
], ChatSessionStoreImpl.prototype, "preferenceService", void 0);
|
|
481
|
+
tslib_1.__decorate([
|
|
482
|
+
(0, inversify_1.postConstruct)(),
|
|
483
|
+
tslib_1.__metadata("design:type", Function),
|
|
484
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
485
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
486
|
+
], ChatSessionStoreImpl.prototype, "init", null);
|
|
323
487
|
exports.ChatSessionStoreImpl = ChatSessionStoreImpl = tslib_1.__decorate([
|
|
324
488
|
(0, inversify_1.injectable)()
|
|
325
489
|
], ChatSessionStoreImpl);
|
|
@@ -1 +1 @@
|
|
|
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
|
+
{"version":3,"file":"chat-session-store-impl.js","sourceRoot":"","sources":["../../src/browser/chat-session-store-impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,7 @@ const env_variables_1 = require("@theia/core/lib/common/env-variables");
|
|
|
29
29
|
const common_1 = require("@theia/core/lib/common");
|
|
30
30
|
const browser_2 = require("@theia/core/lib/browser");
|
|
31
31
|
const logger_1 = require("@theia/core/lib/common/logger");
|
|
32
|
+
const core_1 = require("@theia/core");
|
|
32
33
|
const buffer_1 = require("@theia/core/lib/common/buffer");
|
|
33
34
|
const ai_chat_preferences_1 = require("../common/ai-chat-preferences");
|
|
34
35
|
const chat_agents_1 = require("../common/chat-agents");
|
|
@@ -40,8 +41,16 @@ describe('ChatSessionStoreImpl', () => {
|
|
|
40
41
|
let mockFileService;
|
|
41
42
|
let mockPreferenceService;
|
|
42
43
|
let mockEnvServer;
|
|
44
|
+
let mockWorkspaceService;
|
|
43
45
|
let deletedFiles;
|
|
44
|
-
|
|
46
|
+
let preferenceChangeCallback;
|
|
47
|
+
// Use obviously fake paths that will not exist on real systems to prevent any accidental
|
|
48
|
+
// interaction with actual user data if mocking were to misconfigured
|
|
49
|
+
const STORAGE_ROOT = 'file:///__test__/mock-config/chatSessions';
|
|
50
|
+
const WORKSPACE_METADATA_STORAGE = 'file:///__test__/mock-config/workspace-metadata/test-uuid/chatSessions';
|
|
51
|
+
const WORKSPACE_ROOT = 'file:///__test__/mock-workspace/my-project';
|
|
52
|
+
const GLOBAL_CONFIG_DIR = 'file:///__test__/mock-config';
|
|
53
|
+
const DEFAULT_STORAGE_SCOPE = 'workspace';
|
|
45
54
|
function createMockSessionMetadata(id, saveDate) {
|
|
46
55
|
return {
|
|
47
56
|
sessionId: id,
|
|
@@ -66,6 +75,7 @@ describe('ChatSessionStoreImpl', () => {
|
|
|
66
75
|
beforeEach(() => {
|
|
67
76
|
sandbox = sinon.createSandbox();
|
|
68
77
|
deletedFiles = [];
|
|
78
|
+
preferenceChangeCallback = undefined;
|
|
69
79
|
container = new inversify_1.Container();
|
|
70
80
|
mockFileService = {
|
|
71
81
|
readFile: sandbox.stub(),
|
|
@@ -73,15 +83,25 @@ describe('ChatSessionStoreImpl', () => {
|
|
|
73
83
|
delete: sandbox.stub().callsFake(async (uri) => {
|
|
74
84
|
deletedFiles.push(uri.toString());
|
|
75
85
|
}),
|
|
76
|
-
createFolder: sandbox.stub().resolves()
|
|
86
|
+
createFolder: sandbox.stub().resolves(),
|
|
87
|
+
exists: sandbox.stub().resolves(true),
|
|
88
|
+
copy: sandbox.stub().resolves(),
|
|
89
|
+
resolve: sandbox.stub().resolves({ children: [] })
|
|
77
90
|
};
|
|
78
91
|
mockPreferenceService = {
|
|
79
|
-
|
|
92
|
+
ready: Promise.resolve(),
|
|
93
|
+
get: sandbox.stub(),
|
|
94
|
+
onPreferenceChanged: sandbox.stub().callsFake((callback) => {
|
|
95
|
+
preferenceChangeCallback = callback;
|
|
96
|
+
return { dispose: () => { preferenceChangeCallback = undefined; } };
|
|
97
|
+
})
|
|
80
98
|
};
|
|
81
99
|
mockEnvServer = {
|
|
82
|
-
getConfigDirUri: sandbox.stub().resolves(
|
|
100
|
+
getConfigDirUri: sandbox.stub().resolves(GLOBAL_CONFIG_DIR)
|
|
101
|
+
};
|
|
102
|
+
mockWorkspaceService = {
|
|
103
|
+
tryGetRoots: () => []
|
|
83
104
|
};
|
|
84
|
-
const mockWorkspaceService = {};
|
|
85
105
|
const mockStorageService = {};
|
|
86
106
|
const mockLogger = {
|
|
87
107
|
debug: sandbox.stub(),
|
|
@@ -89,15 +109,32 @@ describe('ChatSessionStoreImpl', () => {
|
|
|
89
109
|
warn: sandbox.stub(),
|
|
90
110
|
error: sandbox.stub()
|
|
91
111
|
};
|
|
112
|
+
// Create a mock WorkspaceMetadataStore
|
|
113
|
+
const locationChangeEmitter = new core_1.Emitter();
|
|
114
|
+
const mockMetadataStore = {
|
|
115
|
+
key: 'chatSessions',
|
|
116
|
+
location: new core_1.URI(WORKSPACE_METADATA_STORAGE),
|
|
117
|
+
onDidChangeLocation: locationChangeEmitter.event,
|
|
118
|
+
ensureExists: sandbox.stub().resolves(),
|
|
119
|
+
delete: sandbox.stub().resolves(),
|
|
120
|
+
dispose: () => locationChangeEmitter.dispose()
|
|
121
|
+
};
|
|
122
|
+
// Create a mock for WorkspaceMetadataStorageService
|
|
123
|
+
const mockMetadataStorageService = {
|
|
124
|
+
getOrCreateStore: sandbox.stub().resolves(mockMetadataStore)
|
|
125
|
+
};
|
|
92
126
|
container.bind(file_service_1.FileService).toConstantValue(mockFileService);
|
|
93
127
|
container.bind(common_1.PreferenceService).toConstantValue(mockPreferenceService);
|
|
94
128
|
container.bind(env_variables_1.EnvVariablesServer).toConstantValue(mockEnvServer);
|
|
95
129
|
container.bind(browser_1.WorkspaceService).toConstantValue(mockWorkspaceService);
|
|
130
|
+
container.bind(browser_1.WorkspaceMetadataStorageService).toConstantValue(mockMetadataStorageService);
|
|
96
131
|
container.bind(browser_2.StorageService).toConstantValue(mockStorageService);
|
|
97
132
|
container.bind('ChatSessionStore').toConstantValue(mockLogger);
|
|
98
133
|
container.bind(logger_1.ILogger).toConstantValue(mockLogger).whenTargetNamed('ChatSessionStore');
|
|
99
134
|
container.bind(chat_session_store_impl_1.ChatSessionStoreImpl).toSelf().inSingletonScope();
|
|
100
135
|
chatSessionStore = container.get(chat_session_store_impl_1.ChatSessionStoreImpl);
|
|
136
|
+
// Set up default storage preferences for all tests
|
|
137
|
+
mockPreferenceService.get.withArgs(ai_chat_preferences_1.SESSION_STORAGE_PREF, 'workspace').returns(DEFAULT_STORAGE_SCOPE);
|
|
101
138
|
});
|
|
102
139
|
afterEach(() => {
|
|
103
140
|
sandbox.restore();
|
|
@@ -379,5 +416,134 @@ describe('ChatSessionStoreImpl', () => {
|
|
|
379
416
|
(0, chai_1.expect)(result).to.equal(100);
|
|
380
417
|
});
|
|
381
418
|
});
|
|
419
|
+
describe('resolveStorageRoot', () => {
|
|
420
|
+
describe('when scope is workspace', () => {
|
|
421
|
+
it('should use workspace storage path when workspace is open', async () => {
|
|
422
|
+
mockWorkspaceService.tryGetRoots = () => [
|
|
423
|
+
{ resource: new core_1.URI(WORKSPACE_ROOT), isDirectory: true }
|
|
424
|
+
];
|
|
425
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
426
|
+
const result = await chatSessionStore.resolveStorageRoot();
|
|
427
|
+
(0, chai_1.expect)(result.toString()).to.equal(WORKSPACE_METADATA_STORAGE);
|
|
428
|
+
});
|
|
429
|
+
it('should use workspace metadata storage', async () => {
|
|
430
|
+
mockWorkspaceService.tryGetRoots = () => [
|
|
431
|
+
{ resource: new core_1.URI(WORKSPACE_ROOT), isDirectory: true }
|
|
432
|
+
];
|
|
433
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
434
|
+
const result = await chatSessionStore.resolveStorageRoot();
|
|
435
|
+
(0, chai_1.expect)(result.toString()).to.equal(WORKSPACE_METADATA_STORAGE);
|
|
436
|
+
});
|
|
437
|
+
it('should fall back to global storage when no workspace is open', async () => {
|
|
438
|
+
mockWorkspaceService.tryGetRoots = () => [];
|
|
439
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
440
|
+
const result = await chatSessionStore.resolveStorageRoot();
|
|
441
|
+
(0, chai_1.expect)(result.toString()).to.equal(`${GLOBAL_CONFIG_DIR}/chatSessions`);
|
|
442
|
+
});
|
|
443
|
+
});
|
|
444
|
+
describe('when scope is global', () => {
|
|
445
|
+
beforeEach(() => {
|
|
446
|
+
mockPreferenceService.get.withArgs(ai_chat_preferences_1.SESSION_STORAGE_PREF, 'workspace').returns('global');
|
|
447
|
+
});
|
|
448
|
+
it('should use global storage path', async () => {
|
|
449
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
450
|
+
const result = await chatSessionStore.resolveStorageRoot();
|
|
451
|
+
(0, chai_1.expect)(result.toString()).to.equal(`${GLOBAL_CONFIG_DIR}/chatSessions`);
|
|
452
|
+
});
|
|
453
|
+
it('should ignore workspace even when open', async () => {
|
|
454
|
+
mockWorkspaceService.tryGetRoots = () => [
|
|
455
|
+
{ resource: new core_1.URI(WORKSPACE_ROOT), isDirectory: true }
|
|
456
|
+
];
|
|
457
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
458
|
+
const result = await chatSessionStore.resolveStorageRoot();
|
|
459
|
+
(0, chai_1.expect)(result.toString()).to.equal(`${GLOBAL_CONFIG_DIR}/chatSessions`);
|
|
460
|
+
});
|
|
461
|
+
});
|
|
462
|
+
});
|
|
463
|
+
describe('cache invalidation', () => {
|
|
464
|
+
it('should invalidate cache when storage preference changes scope', async () => {
|
|
465
|
+
mockWorkspaceService.tryGetRoots = () => [
|
|
466
|
+
{ resource: new core_1.URI(WORKSPACE_ROOT), isDirectory: true }
|
|
467
|
+
];
|
|
468
|
+
// First call to establish cache
|
|
469
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
470
|
+
const firstResult = await chatSessionStore.getStorageRoot();
|
|
471
|
+
(0, chai_1.expect)(firstResult.toString()).to.equal(WORKSPACE_METADATA_STORAGE);
|
|
472
|
+
// Change scope to global
|
|
473
|
+
mockPreferenceService.get.withArgs(ai_chat_preferences_1.SESSION_STORAGE_PREF, 'workspace').returns('global');
|
|
474
|
+
// Trigger preference change
|
|
475
|
+
(0, chai_1.expect)(preferenceChangeCallback).to.not.be.undefined;
|
|
476
|
+
preferenceChangeCallback({ preferenceName: ai_chat_preferences_1.SESSION_STORAGE_PREF });
|
|
477
|
+
// Next call should resolve new path
|
|
478
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
479
|
+
const secondResult = await chatSessionStore.getStorageRoot();
|
|
480
|
+
(0, chai_1.expect)(secondResult.toString()).to.equal(`${GLOBAL_CONFIG_DIR}/chatSessions`);
|
|
481
|
+
});
|
|
482
|
+
it('should invalidate cache when workspace path preference changes', async () => {
|
|
483
|
+
mockWorkspaceService.tryGetRoots = () => [
|
|
484
|
+
{ resource: new core_1.URI(WORKSPACE_ROOT), isDirectory: true }
|
|
485
|
+
];
|
|
486
|
+
// First call to establish cache
|
|
487
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
488
|
+
const firstResult = await chatSessionStore.getStorageRoot();
|
|
489
|
+
(0, chai_1.expect)(firstResult.toString()).to.equal(WORKSPACE_METADATA_STORAGE);
|
|
490
|
+
// Workspace path changes are no longer applicable as we use WorkspaceMetadataStore
|
|
491
|
+
// Trigger preference change event (scope remains 'workspace')
|
|
492
|
+
mockPreferenceService.get.withArgs(ai_chat_preferences_1.SESSION_STORAGE_PREF, 'workspace').returns('workspace');
|
|
493
|
+
// Trigger preference change
|
|
494
|
+
(0, chai_1.expect)(preferenceChangeCallback).to.not.be.undefined;
|
|
495
|
+
preferenceChangeCallback({ preferenceName: ai_chat_preferences_1.SESSION_STORAGE_PREF });
|
|
496
|
+
// Path should remain the same since WorkspaceMetadataStore manages the location
|
|
497
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
498
|
+
const secondResult = await chatSessionStore.getStorageRoot();
|
|
499
|
+
(0, chai_1.expect)(secondResult.toString()).to.equal(WORKSPACE_METADATA_STORAGE);
|
|
500
|
+
});
|
|
501
|
+
it('should maintain same global path since paths are no longer customizable', async () => {
|
|
502
|
+
mockPreferenceService.get.withArgs(ai_chat_preferences_1.SESSION_STORAGE_PREF, 'workspace').returns('global');
|
|
503
|
+
// First call to establish cache
|
|
504
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
505
|
+
const firstResult = await chatSessionStore.getStorageRoot();
|
|
506
|
+
(0, chai_1.expect)(firstResult.toString()).to.equal(`${GLOBAL_CONFIG_DIR}/chatSessions`);
|
|
507
|
+
// Trigger preference change (but scope remains 'global')
|
|
508
|
+
(0, chai_1.expect)(preferenceChangeCallback).to.not.be.undefined;
|
|
509
|
+
preferenceChangeCallback({ preferenceName: ai_chat_preferences_1.SESSION_STORAGE_PREF });
|
|
510
|
+
// Path should remain the same since global path is fixed
|
|
511
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
512
|
+
const secondResult = await chatSessionStore.getStorageRoot();
|
|
513
|
+
(0, chai_1.expect)(secondResult.toString()).to.equal(`${GLOBAL_CONFIG_DIR}/chatSessions`);
|
|
514
|
+
});
|
|
515
|
+
it('should use workspace metadata storage for workspace scope', async () => {
|
|
516
|
+
mockWorkspaceService.tryGetRoots = () => [
|
|
517
|
+
{ resource: new core_1.URI(WORKSPACE_ROOT), isDirectory: true }
|
|
518
|
+
];
|
|
519
|
+
// First call to establish cache
|
|
520
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
521
|
+
const firstResult = await chatSessionStore.getStorageRoot();
|
|
522
|
+
(0, chai_1.expect)(firstResult.toString()).to.equal(WORKSPACE_METADATA_STORAGE);
|
|
523
|
+
// Workspace location changes are now handled by WorkspaceMetadataStore.onDidChangeLocation
|
|
524
|
+
// The store will emit this event and the chat store will invalidate its cache automatically
|
|
525
|
+
});
|
|
526
|
+
it('should invalidate index cache along with storage root', async () => {
|
|
527
|
+
mockWorkspaceService.tryGetRoots = () => [
|
|
528
|
+
{ resource: new core_1.URI(WORKSPACE_ROOT), isDirectory: true }
|
|
529
|
+
];
|
|
530
|
+
// Setup index file response
|
|
531
|
+
const index = { 'session-1': { sessionId: 'session-1', title: 'Test', saveDate: 1000, location: 'panel' } };
|
|
532
|
+
mockFileService.readFile.resolves({
|
|
533
|
+
value: buffer_1.BinaryBuffer.fromString(JSON.stringify(index))
|
|
534
|
+
});
|
|
535
|
+
// Load index (establishes cache)
|
|
536
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
537
|
+
await chatSessionStore.loadIndex();
|
|
538
|
+
// Change scope to trigger invalidation
|
|
539
|
+
mockPreferenceService.get.withArgs(ai_chat_preferences_1.SESSION_STORAGE_PREF, 'workspace').returns('global');
|
|
540
|
+
preferenceChangeCallback({ preferenceName: ai_chat_preferences_1.SESSION_STORAGE_PREF });
|
|
541
|
+
// Load index again - should read from file again
|
|
542
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
543
|
+
await chatSessionStore.loadIndex();
|
|
544
|
+
// readFile should have been called twice
|
|
545
|
+
(0, chai_1.expect)(mockFileService.readFile.callCount).to.equal(2);
|
|
546
|
+
});
|
|
547
|
+
});
|
|
382
548
|
});
|
|
383
549
|
//# sourceMappingURL=chat-session-store-impl.spec.js.map
|