@theia/ai-ide 1.77.0-next.29 → 1.77.0-next.37

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.
@@ -1 +1 @@
1
- {"version":3,"file":"task-context-file-storage-service.d.ts","sourceRoot":"","sources":["../../src/browser/task-context-file-storage-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AACtH,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAC;AAGrG,OAAO,EAAE,oBAAoB,EAAO,OAAO,EAAE,OAAO,EAAQ,iBAAiB,EAAE,GAAG,EAAe,MAAM,aAAa,CAAC;AACrH,OAAO,EAAE,aAAa,EAAQ,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAkB,MAAM,oCAAoC,CAAC;AAIhF,qBACa,6BAA8B,YAAW,yBAAyB;IACvC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,0BAA0B,CAAC;IACxE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACzD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC3D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,gBAAuB;IAC5D,QAAQ,CAAC,WAAW,oCAAiC;IAErD,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI9C,SAAS,CAAC,kBAAkB,IAAI,GAAG,GAAG,SAAS;IAU/C,SAAS,CAAC,IAAI,IAAI,IAAI;IAItB,SAAS,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAKnC;cAEe,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvC,SAAS,CAAC,wBAAwB,CAAC,EAAE,oBAAoB,CAAC;cAC1C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cAgB7B,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnE,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAItC,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;cAYhC,aAAa,CAAC,eAAe,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;cAOlD,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB3C,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB5C,MAAM,IAAI,OAAO,EAAE;IAIb,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAiBrD,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYlD,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,eAAe,GAAG,SAAS,CAAA;KAAE;IAK3G,SAAS,CAAC,QAAQ,GAAI,WAAW,OAAO,KAAG,SAAS,IAAI,eAAe,CACsE;IAEvI,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOhD"}
1
+ {"version":3,"file":"task-context-file-storage-service.d.ts","sourceRoot":"","sources":["../../src/browser/task-context-file-storage-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AACtH,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAC;AAGrG,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAQ,iBAAiB,EAAE,GAAG,EAAe,MAAM,aAAa,CAAC;AAChH,OAAO,EAAE,aAAa,EAAQ,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAkB,MAAM,oCAAoC,CAAC;AAIhF,qBACa,6BAA8B,YAAW,yBAAyB;IACvC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,0BAA0B,CAAC;IACxE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACzD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC3D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,gBAAuB;IAC5D,QAAQ,CAAC,WAAW,oCAAiC;IAErD,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI9C,SAAS,CAAC,kBAAkB,IAAI,GAAG,GAAG,SAAS;IAU/C,SAAS,CAAC,IAAI,IAAI,IAAI;IAItB,SAAS,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAKnC;cAEe,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvC,SAAS,CAAC,wBAAwB,CAAC,EAAE,oBAAoB,CAAC;cAC1C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cAgB7B,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnE,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAItC,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;cAYhC,aAAa,CAAC,eAAe,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;cAOlD,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB3C,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB5C,MAAM,IAAI,OAAO,EAAE;IAIb,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAiBrD,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYlD,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,eAAe,GAAG,SAAS,CAAA;KAAE;IAK3G,SAAS,CAAC,QAAQ,GAAI,WAAW,OAAO,KAAG,SAAS,IAAI,eAAe,CACsE;IAEvI,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOhD"}
@@ -24,7 +24,6 @@ const core_1 = require("@theia/core");
24
24
  const browser_1 = require("@theia/core/lib/browser");
25
25
  const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
26
26
  const browser_2 = require("@theia/workspace/lib/browser");
27
- const yaml = require("js-yaml");
28
27
  const workspace_preferences_1 = require("../common/workspace-preferences");
29
28
  const buffer_1 = require("@theia/core/lib/common/buffer");
30
29
  let TaskContextFileStorageService = class TaskContextFileStorageService {
@@ -145,7 +144,7 @@ let TaskContextFileStorageService = class TaskContextFileStorageService {
145
144
  };
146
145
  const derivedName = label.trim().replace(/[^\p{L}\p{N}]/ug, '-').replace(/^-+|-+$/g, '');
147
146
  const filename = (derivedName.length > 32 ? derivedName.slice(0, derivedName.indexOf('-', 32)) : derivedName) + '.md';
148
- const content = yaml.dump(frontmatter).trim() + `${core_1.EOL}---${core_1.EOL}` + summary.summary;
147
+ const content = (0, frontmatter_1.serializeFrontmatter)(frontmatter, summary.summary);
149
148
  const uri = storageLocation.resolve(filename);
150
149
  summary.uri = uri;
151
150
  await this.fileService.writeFile(uri, buffer_1.BinaryBuffer.fromString(content));
@@ -1 +1 @@
1
- {"version":3,"file":"task-context-file-storage-service.js","sourceRoot":"","sources":["../../src/browser/task-context-file-storage-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-context-file-storage-service.js","sourceRoot":"","sources":["../../src/browser/task-context-file-storage-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=task-context-file-storage-service.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-context-file-storage-service.spec.d.ts","sourceRoot":"","sources":["../../src/browser/task-context-file-storage-service.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 Safi Seid-Ahmad, K2view 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
+ const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
19
+ const disableJSDOM = (0, jsdom_1.enableJSDOM)();
20
+ const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
21
+ frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
22
+ const chai_1 = require("chai");
23
+ const inversify_1 = require("@theia/core/shared/inversify");
24
+ const core_1 = require("@theia/core");
25
+ const browser_1 = require("@theia/core/lib/browser");
26
+ const ai_core_1 = require("@theia/ai-core");
27
+ const task_context_storage_service_1 = require("@theia/ai-chat/lib/browser/task-context-storage-service");
28
+ const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
29
+ const browser_2 = require("@theia/workspace/lib/browser");
30
+ const task_context_file_storage_service_1 = require("./task-context-file-storage-service");
31
+ disableJSDOM();
32
+ const workspaceRoot = new core_1.URI('file:///workspace');
33
+ const storageLocation = workspaceRoot.resolve('.prompts/task-contexts');
34
+ describe('TaskContextFileStorageService', () => {
35
+ let files;
36
+ let container;
37
+ beforeEach(() => {
38
+ files = new Map();
39
+ container = new inversify_1.Container();
40
+ container.bind(file_service_1.FileService).toConstantValue({
41
+ watch: () => core_1.Disposable.NULL,
42
+ onDidFilesChange: () => core_1.Disposable.NULL,
43
+ resolve: async (uri) => ({
44
+ children: [...files.keys()].map(key => new core_1.URI(key)).filter(resource => uri.isEqualOrParent(resource)).map(resource => ({ resource }))
45
+ }),
46
+ read: async (uri) => {
47
+ const value = files.get(uri.toString());
48
+ if (value === undefined) {
49
+ throw new Error(`No file at ${uri}`);
50
+ }
51
+ return { value };
52
+ },
53
+ writeFile: async (uri, content) => {
54
+ files.set(uri.toString(), content.toString());
55
+ }
56
+ });
57
+ container.bind(browser_2.WorkspaceService).toConstantValue({
58
+ opened: true,
59
+ ready: Promise.resolve(),
60
+ tryGetRoots: () => [{ resource: workspaceRoot }]
61
+ });
62
+ container.bind(core_1.PreferenceService).toConstantValue({
63
+ ready: Promise.resolve(),
64
+ inspect: () => ({ defaultValue: '.prompts/task-contexts' }),
65
+ onPreferenceChanged: () => core_1.Disposable.NULL
66
+ });
67
+ container.bind(core_1.ILogger).toConstantValue({ error: () => { } });
68
+ container.bind(browser_1.OpenerService).toConstantValue({});
69
+ container.bind(ai_core_1.AIVariableResourceResolver).toConstantValue({});
70
+ container.bind(task_context_storage_service_1.InMemoryTaskContextStorage).toSelf().inSingletonScope();
71
+ container.bind(task_context_file_storage_service_1.TaskContextFileStorageService).toSelf().inSingletonScope();
72
+ });
73
+ /** Creates the service and waits for its startup scan to load the files already in the storage location. */
74
+ const loadStoredFiles = async () => {
75
+ const service = container.get(task_context_file_storage_service_1.TaskContextFileStorageService);
76
+ await core_1.Event.toPromise(service.onDidChange);
77
+ return service;
78
+ };
79
+ it('writes the metadata as standard frontmatter', async () => {
80
+ const service = container.get(task_context_file_storage_service_1.TaskContextFileStorageService);
81
+ await service.store({ id: 'task-1', sessionId: 'session-1', label: 'Fix the build', summary: '# Plan\n\nDo it.' });
82
+ const content = files.get(storageLocation.resolve('Fix-the-build.md').toString());
83
+ (0, chai_1.expect)(content).to.not.be.undefined;
84
+ const lines = content.split('\n');
85
+ (0, chai_1.expect)(lines[0]).to.equal('---');
86
+ (0, chai_1.expect)(lines).to.include.members(['id: task-1', 'sessionId: session-1', 'label: Fix the build']);
87
+ (0, chai_1.expect)(content).to.match(/\n---\n# Plan\n\nDo it\.$/);
88
+ });
89
+ it('reads back the body without the frontmatter', async () => {
90
+ const service = container.get(task_context_file_storage_service_1.TaskContextFileStorageService);
91
+ await service.store({ id: 'task-1', label: 'Fix the build', summary: '# Plan\n\nDo it.' });
92
+ const summary = await service.get('task-1');
93
+ (0, chai_1.expect)(summary?.summary).to.equal('# Plan\n\nDo it.');
94
+ (0, chai_1.expect)(summary?.label).to.equal('Fix the build');
95
+ });
96
+ it('still reads files written without the opening separator', async () => {
97
+ files.set(storageLocation.resolve('legacy.md').toString(), 'id: legacy-task\nlabel: Legacy task\n---\n# Legacy plan');
98
+ const service = await loadStoredFiles();
99
+ const summary = await service.get('legacy-task');
100
+ (0, chai_1.expect)(summary?.label).to.equal('Legacy task');
101
+ (0, chai_1.expect)(summary?.summary).to.equal('# Legacy plan');
102
+ });
103
+ it('still reads files written without the opening separator and with CRLF line endings', async () => {
104
+ files.set(storageLocation.resolve('legacy.md').toString(), 'id: legacy-task\r\nlabel: Legacy task\r\n---\r\n# Legacy plan\r\n\r\nDo it.');
105
+ const service = await loadStoredFiles();
106
+ const summary = await service.get('legacy-task');
107
+ (0, chai_1.expect)(summary?.label).to.equal('Legacy task');
108
+ (0, chai_1.expect)(summary?.summary).to.equal('# Legacy plan\r\n\r\nDo it.');
109
+ });
110
+ });
111
+ //# sourceMappingURL=task-context-file-storage-service.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-context-file-storage-service.spec.js","sourceRoot":"","sources":["../../src/browser/task-context-file-storage-service.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/ai-ide",
3
- "version": "1.77.0-next.29+b5e3a3281",
3
+ "version": "1.77.0-next.37+29045502ffe",
4
4
  "description": "AI IDE Agents Extension",
5
5
  "license": "EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0",
6
6
  "repository": {
@@ -15,30 +15,29 @@
15
15
  "theia-extension"
16
16
  ],
17
17
  "dependencies": {
18
- "@theia/ai-chat": "1.77.0-next.29+b5e3a3281",
19
- "@theia/ai-chat-ui": "1.77.0-next.29+b5e3a3281",
20
- "@theia/ai-core": "1.77.0-next.29+b5e3a3281",
21
- "@theia/ai-core-ui": "1.77.0-next.29+b5e3a3281",
22
- "@theia/ai-mcp": "1.77.0-next.29+b5e3a3281",
23
- "@theia/ai-terminal": "1.77.0-next.29+b5e3a3281",
24
- "@theia/core": "1.77.0-next.29+b5e3a3281",
25
- "@theia/debug": "1.77.0-next.29+b5e3a3281",
26
- "@theia/editor": "1.77.0-next.29+b5e3a3281",
27
- "@theia/file-search": "1.77.0-next.29+b5e3a3281",
28
- "@theia/filesystem": "1.77.0-next.29+b5e3a3281",
29
- "@theia/getting-started": "1.77.0-next.29+b5e3a3281",
30
- "@theia/markers": "1.77.0-next.29+b5e3a3281",
31
- "@theia/monaco": "1.77.0-next.29+b5e3a3281",
32
- "@theia/navigator": "1.77.0-next.29+b5e3a3281",
33
- "@theia/preferences": "1.77.0-next.29+b5e3a3281",
34
- "@theia/scm": "1.77.0-next.29+b5e3a3281",
35
- "@theia/search-in-workspace": "1.77.0-next.29+b5e3a3281",
36
- "@theia/task": "1.77.0-next.29+b5e3a3281",
37
- "@theia/terminal": "1.77.0-next.29+b5e3a3281",
38
- "@theia/workspace": "1.77.0-next.29+b5e3a3281",
18
+ "@theia/ai-chat": "1.77.0-next.37+29045502ffe",
19
+ "@theia/ai-chat-ui": "1.77.0-next.37+29045502ffe",
20
+ "@theia/ai-core": "1.77.0-next.37+29045502ffe",
21
+ "@theia/ai-core-ui": "1.77.0-next.37+29045502ffe",
22
+ "@theia/ai-mcp": "1.77.0-next.37+29045502ffe",
23
+ "@theia/ai-terminal": "1.77.0-next.37+29045502ffe",
24
+ "@theia/core": "1.77.0-next.37+29045502ffe",
25
+ "@theia/debug": "1.77.0-next.37+29045502ffe",
26
+ "@theia/editor": "1.77.0-next.37+29045502ffe",
27
+ "@theia/file-search": "1.77.0-next.37+29045502ffe",
28
+ "@theia/filesystem": "1.77.0-next.37+29045502ffe",
29
+ "@theia/getting-started": "1.77.0-next.37+29045502ffe",
30
+ "@theia/markers": "1.77.0-next.37+29045502ffe",
31
+ "@theia/monaco": "1.77.0-next.37+29045502ffe",
32
+ "@theia/navigator": "1.77.0-next.37+29045502ffe",
33
+ "@theia/preferences": "1.77.0-next.37+29045502ffe",
34
+ "@theia/scm": "1.77.0-next.37+29045502ffe",
35
+ "@theia/search-in-workspace": "1.77.0-next.37+29045502ffe",
36
+ "@theia/task": "1.77.0-next.37+29045502ffe",
37
+ "@theia/terminal": "1.77.0-next.37+29045502ffe",
38
+ "@theia/workspace": "1.77.0-next.37+29045502ffe",
39
39
  "date-fns": "^4.4.0",
40
40
  "ignore": "^6.0.2",
41
- "js-yaml": "^4.3.2",
42
41
  "minimatch": "^10.2.6",
43
42
  "puppeteer-core": "^25.1.0",
44
43
  "simple-git": "^3.36.0"
@@ -47,8 +46,8 @@
47
46
  "access": "public"
48
47
  },
49
48
  "devDependencies": {
50
- "@theia/cli": "1.77.0-next.29+b5e3a3281",
51
- "@theia/test": "1.77.0-next.29+b5e3a3281"
49
+ "@theia/cli": "1.77.0-next.37+29045502ffe",
50
+ "@theia/test": "1.77.0-next.37+29045502ffe"
52
51
  },
53
52
  "theiaExtensions": [
54
53
  {
@@ -72,5 +71,5 @@
72
71
  "nyc": {
73
72
  "extends": "../../configs/nyc.json"
74
73
  },
75
- "gitHead": "b5e3a3281ee084a2b7aa65c146caa7313e58d719"
74
+ "gitHead": "29045502ffe2bd1ecd5c655b40f37f0d0bc0c4ad"
76
75
  }
@@ -0,0 +1,125 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2026 Safi Seid-Ahmad, K2view and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { enableJSDOM } from '@theia/core/lib/browser/test/jsdom';
18
+ const disableJSDOM = enableJSDOM();
19
+ import { FrontendApplicationConfigProvider } from '@theia/core/lib/browser/frontend-application-config-provider';
20
+ FrontendApplicationConfigProvider.set({});
21
+ import { expect } from 'chai';
22
+ import { Container } from '@theia/core/shared/inversify';
23
+ import { Disposable, Event, ILogger, PreferenceService, URI } from '@theia/core';
24
+ import { OpenerService } from '@theia/core/lib/browser';
25
+ import { BinaryBuffer } from '@theia/core/lib/common/buffer';
26
+ import { AIVariableResourceResolver } from '@theia/ai-core';
27
+ import { InMemoryTaskContextStorage } from '@theia/ai-chat/lib/browser/task-context-storage-service';
28
+ import { FileService } from '@theia/filesystem/lib/browser/file-service';
29
+ import { WorkspaceService } from '@theia/workspace/lib/browser';
30
+ import { TaskContextFileStorageService } from './task-context-file-storage-service';
31
+ disableJSDOM();
32
+
33
+ const workspaceRoot = new URI('file:///workspace');
34
+ const storageLocation = workspaceRoot.resolve('.prompts/task-contexts');
35
+
36
+ describe('TaskContextFileStorageService', () => {
37
+
38
+ let files: Map<string, string>;
39
+ let container: Container;
40
+
41
+ beforeEach(() => {
42
+ files = new Map();
43
+ container = new Container();
44
+ container.bind(FileService).toConstantValue({
45
+ watch: () => Disposable.NULL,
46
+ onDidFilesChange: () => Disposable.NULL,
47
+ resolve: async (uri: URI) => ({
48
+ children: [...files.keys()].map(key => new URI(key)).filter(resource => uri.isEqualOrParent(resource)).map(resource => ({ resource }))
49
+ }),
50
+ read: async (uri: URI) => {
51
+ const value = files.get(uri.toString());
52
+ if (value === undefined) {
53
+ throw new Error(`No file at ${uri}`);
54
+ }
55
+ return { value };
56
+ },
57
+ writeFile: async (uri: URI, content: BinaryBuffer) => {
58
+ files.set(uri.toString(), content.toString());
59
+ }
60
+ } as unknown as FileService);
61
+ container.bind(WorkspaceService).toConstantValue({
62
+ opened: true,
63
+ ready: Promise.resolve(),
64
+ tryGetRoots: () => [{ resource: workspaceRoot }]
65
+ } as unknown as WorkspaceService);
66
+ container.bind(PreferenceService).toConstantValue({
67
+ ready: Promise.resolve(),
68
+ inspect: () => ({ defaultValue: '.prompts/task-contexts' }),
69
+ onPreferenceChanged: () => Disposable.NULL
70
+ } as unknown as PreferenceService);
71
+ container.bind(ILogger).toConstantValue({ error: () => { } } as unknown as ILogger);
72
+ container.bind(OpenerService).toConstantValue({} as OpenerService);
73
+ container.bind(AIVariableResourceResolver).toConstantValue({} as AIVariableResourceResolver);
74
+ container.bind(InMemoryTaskContextStorage).toSelf().inSingletonScope();
75
+ container.bind(TaskContextFileStorageService).toSelf().inSingletonScope();
76
+ });
77
+
78
+ /** Creates the service and waits for its startup scan to load the files already in the storage location. */
79
+ const loadStoredFiles = async (): Promise<TaskContextFileStorageService> => {
80
+ const service = container.get(TaskContextFileStorageService);
81
+ await Event.toPromise(service.onDidChange);
82
+ return service;
83
+ };
84
+
85
+ it('writes the metadata as standard frontmatter', async () => {
86
+ const service = container.get(TaskContextFileStorageService);
87
+ await service.store({ id: 'task-1', sessionId: 'session-1', label: 'Fix the build', summary: '# Plan\n\nDo it.' });
88
+
89
+ const content = files.get(storageLocation.resolve('Fix-the-build.md').toString());
90
+ expect(content).to.not.be.undefined;
91
+ const lines = content!.split('\n');
92
+ expect(lines[0]).to.equal('---');
93
+ expect(lines).to.include.members(['id: task-1', 'sessionId: session-1', 'label: Fix the build']);
94
+ expect(content).to.match(/\n---\n# Plan\n\nDo it\.$/);
95
+ });
96
+
97
+ it('reads back the body without the frontmatter', async () => {
98
+ const service = container.get(TaskContextFileStorageService);
99
+ await service.store({ id: 'task-1', label: 'Fix the build', summary: '# Plan\n\nDo it.' });
100
+
101
+ const summary = await service.get('task-1');
102
+ expect(summary?.summary).to.equal('# Plan\n\nDo it.');
103
+ expect(summary?.label).to.equal('Fix the build');
104
+ });
105
+
106
+ it('still reads files written without the opening separator', async () => {
107
+ files.set(storageLocation.resolve('legacy.md').toString(), 'id: legacy-task\nlabel: Legacy task\n---\n# Legacy plan');
108
+
109
+ const service = await loadStoredFiles();
110
+
111
+ const summary = await service.get('legacy-task');
112
+ expect(summary?.label).to.equal('Legacy task');
113
+ expect(summary?.summary).to.equal('# Legacy plan');
114
+ });
115
+
116
+ it('still reads files written without the opening separator and with CRLF line endings', async () => {
117
+ files.set(storageLocation.resolve('legacy.md').toString(), 'id: legacy-task\r\nlabel: Legacy task\r\n---\r\n# Legacy plan\r\n\r\nDo it.');
118
+
119
+ const service = await loadStoredFiles();
120
+
121
+ const summary = await service.get('legacy-task');
122
+ expect(summary?.label).to.equal('Legacy task');
123
+ expect(summary?.summary).to.equal('# Legacy plan\r\n\r\nDo it.');
124
+ });
125
+ });
@@ -16,13 +16,12 @@
16
16
 
17
17
  import { Summary, SummaryMetadata, TaskContextStorageService } from '@theia/ai-chat/lib/browser/task-context-service';
18
18
  import { InMemoryTaskContextStorage } from '@theia/ai-chat/lib/browser/task-context-storage-service';
19
- import { parseFrontmatter } from '@theia/ai-core/lib/common/frontmatter';
19
+ import { parseFrontmatter, serializeFrontmatter } from '@theia/ai-core/lib/common/frontmatter';
20
20
  import { inject, injectable, postConstruct, named } from '@theia/core/shared/inversify';
21
- import { DisposableCollection, EOL, Emitter, ILogger, Path, PreferenceService, URI, unreachable } from '@theia/core';
21
+ import { DisposableCollection, Emitter, ILogger, Path, PreferenceService, URI, unreachable } from '@theia/core';
22
22
  import { OpenerService, open } from '@theia/core/lib/browser';
23
23
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
24
24
  import { WorkspaceService } from '@theia/workspace/lib/browser';
25
- import * as yaml from 'js-yaml';
26
25
  import { FileChange, FileChangeType } from '@theia/filesystem/lib/common/files';
27
26
  import { TASK_CONTEXT_STORAGE_DIRECTORY_PREF } from '../common/workspace-preferences';
28
27
  import { BinaryBuffer } from '@theia/core/lib/common/buffer';
@@ -160,7 +159,7 @@ export class TaskContextFileStorageService implements TaskContextStorageService
160
159
  };
161
160
  const derivedName = label.trim().replace(/[^\p{L}\p{N}]/ug, '-').replace(/^-+|-+$/g, '');
162
161
  const filename = (derivedName.length > 32 ? derivedName.slice(0, derivedName.indexOf('-', 32)) : derivedName) + '.md';
163
- const content = yaml.dump(frontmatter).trim() + `${EOL}---${EOL}` + summary.summary;
162
+ const content = serializeFrontmatter(frontmatter, summary.summary);
164
163
  const uri = storageLocation.resolve(filename);
165
164
  summary.uri = uri;
166
165
  await this.fileService.writeFile(uri, BinaryBuffer.fromString(content));