@sanqianx/project-knowledge 5.0.9-rc.18 → 5.0.9-rc.19
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/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +12 -0
- package/_site/_test/path-consistency-test.js +1 -1
- package/_site/_test/product-diagnostics-ui-test.js +5 -1
- package/_site/_test/test-server-cleanup-test.js +5 -1
- package/module-runtime-manifest.json +11 -11
- package/package.json +2 -2
- package/plugins/project-knowledge/.claude-plugin/plugin.json +1 -1
- package/plugins/project-knowledge/.codex-plugin/plugin.json +1 -1
- package/plugins/project-knowledge/.mcp.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [5.0.9-rc.19] - 2026-10-12
|
|
4
|
+
|
|
5
|
+
- Pin Workbench 0.13.2-rc.7. Startup shows a loading state and keeps controls
|
|
6
|
+
inert until projects and event handlers are ready; the existing streaming
|
|
7
|
+
and session recovery paths are unchanged.
|
|
8
|
+
- Preserve the real rc.18 premature-click failure and require its actual
|
|
9
|
+
usable-page ready receipt in browser acceptance. Add a deterministic
|
|
10
|
+
startup gate regression and Node 22/24 retests.
|
|
11
|
+
- Include Windows test-server cleanup hardening and corrected storage-root
|
|
12
|
+
assertions. Retain existing v5 data, third-party configuration and the
|
|
13
|
+
official-package acceptance gate before stable latest promotion.
|
|
14
|
+
|
|
3
15
|
## [5.0.9-rc.18] - 2026-10-12
|
|
4
16
|
|
|
5
17
|
- Project resolution for MCP and CLI now reports the vector-hub storage root
|
|
@@ -98,7 +98,7 @@ async function waitForServer() {
|
|
|
98
98
|
const resolved = runtime.resolveProject({ repoPath: movedRepo });
|
|
99
99
|
assert.strictEqual(resolved.projectId, 'project-stable');
|
|
100
100
|
assert.strictEqual(resolved.knowledgePath, oldKnowledge);
|
|
101
|
-
assert.strictEqual(resolved.indexPath, layout.
|
|
101
|
+
assert.strictEqual(resolved.indexPath, layout.getVectorRootPath(settingsStore.read()));
|
|
102
102
|
const mcpResolved = await callTool(runtime, 'project_knowledge_resolve', { projectId: 'project-stable' });
|
|
103
103
|
assert.strictEqual(mcpResolved.knowledgePath, resolved.knowledgePath);
|
|
104
104
|
assert.strictEqual(mcpResolved.indexPath, resolved.indexPath);
|
|
@@ -83,7 +83,11 @@ async function main() {
|
|
|
83
83
|
if (browser) console.error(await browser.evaluate("JSON.stringify({ toast:document.getElementById('toast').textContent, project:document.getElementById('projectSelect').value, detail:document.getElementById('projectDetail').textContent })"));
|
|
84
84
|
throw error;
|
|
85
85
|
} finally {
|
|
86
|
-
await browser?.close();
|
|
86
|
+
try { await browser?.close(); }
|
|
87
|
+
finally {
|
|
88
|
+
try { await server.cleanup(); }
|
|
89
|
+
finally { offline.closeAllConnections(); await new Promise(resolve => offline.close(resolve)); fixture.cleanup(); }
|
|
90
|
+
}
|
|
87
91
|
}
|
|
88
92
|
}
|
|
89
93
|
main().catch(error => { console.error(error.stack || error.message); process.exitCode = 1; });
|
|
@@ -5,6 +5,7 @@ const path = require('node:path');
|
|
|
5
5
|
const { spawnServer } = require('./helpers/spawn-server');
|
|
6
6
|
const freePort = require('./helpers/free-port');
|
|
7
7
|
const { readEndpoint } = require('../lib/runtime-endpoint');
|
|
8
|
+
const { spawn } = require('node:child_process');
|
|
8
9
|
|
|
9
10
|
(async () => {
|
|
10
11
|
const port = await freePort();
|
|
@@ -19,7 +20,10 @@ const { readEndpoint } = require('../lib/runtime-endpoint');
|
|
|
19
20
|
assert.equal(readEndpoint(spawned.dataDir)?.pid, spawned.child.pid);
|
|
20
21
|
let output = '';
|
|
21
22
|
spawned.child.stderr.on('data', bytes => { output += bytes; });
|
|
22
|
-
|
|
23
|
+
const locker = process.platform === 'win32' ? spawn(process.execPath, ['-e', 'process.stdout.write("holding-cwd\\n");setTimeout(()=>process.exit(0),2500)'], { cwd: spawned.dataDir, windowsHide: true, stdio: ['ignore', 'pipe', 'pipe'] }) : null;
|
|
24
|
+
if (locker) await new Promise((resolve, reject) => { locker.once('error', reject); locker.stdout.once('data', resolve); });
|
|
25
|
+
try { await spawned.cleanup(); stopped = true; }
|
|
26
|
+
finally { if (locker?.exitCode === null) { locker.kill(); await new Promise(resolve => locker.once('close', resolve)); } }
|
|
23
27
|
assert.notEqual(spawned.child.exitCode, null, output);
|
|
24
28
|
assert.equal(spawned.child.signalCode, null, 'normal cleanup must drain the server instead of force killing it');
|
|
25
29
|
assert.equal(spawned.child.exitCode, 0, output);
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
"terminal": {
|
|
11
11
|
"name": "@sanqianx/claude-ai-workbench",
|
|
12
12
|
"installName": "claude-ai-workbench",
|
|
13
|
-
"version": "0.13.2-rc.
|
|
13
|
+
"version": "0.13.2-rc.7",
|
|
14
14
|
"files": {
|
|
15
15
|
"LICENSE": "c1b9df1275e769f3dbab000d1e457a2d4b0f28eb5da6c77e48dc37eeba202ed7",
|
|
16
16
|
"README.md": "5a382c531372deaa63b3e014f4dbd077d41ce02efee40347973463081848cb86",
|
|
17
|
-
"apps/agent-terminal/app.css": "
|
|
18
|
-
"apps/agent-terminal/app.js": "
|
|
19
|
-
"apps/agent-terminal/index.html": "
|
|
17
|
+
"apps/agent-terminal/app.css": "ede36d9fdb1f7036e3453134c0d5a86197bfc30e3ac547a24b4fc1d17847277e",
|
|
18
|
+
"apps/agent-terminal/app.js": "e23fde6529f72031b745b47d5658e62f9079678248aab95599487d1d0660b6e7",
|
|
19
|
+
"apps/agent-terminal/index.html": "cdffd5c535c81f56aba70ec5dd3bc060f59ec2abcdc8676b79c8f327126be605",
|
|
20
20
|
"apps/ai-profile-settings-host/index.html": "bc158f68954506d2b8e43c690f28dbe931eff9a02b1524855ac17e74ea4df736",
|
|
21
21
|
"apps/ai-profile-settings-host/page.css": "8b75cbf7f1ea5aaa92f2889390720ece310a8fd4b9ca38c890fa447d4323a557",
|
|
22
22
|
"apps/ai-profile-settings-host/page.js": "f42755a3ed17bd7e00919cee56875b04035aa3c5526fce889f8ba52f4278a8b8",
|
|
@@ -27,20 +27,20 @@
|
|
|
27
27
|
"apps/minimal-test-host/README.md": "fa73136f4ee3865c2d91eb97b2e8c03679aa4688e44c1e1c8ec6e27d604b0de5",
|
|
28
28
|
"docs/sdk/FILE_LAYOUT.md": "17882f96505c8161bfb66876684b9d2d3f50021a111b8b844502d3cb4e97870a",
|
|
29
29
|
"docs/sdk/INTEGRATION.md": "d4c0c80d2d2fc610205102d703a429bfaa20f9f3a48f1718f5bab02ee90138df",
|
|
30
|
-
"docs/sdk/openapi.yaml": "
|
|
30
|
+
"docs/sdk/openapi.yaml": "18581c89859580ba153ca6582691fe87daf9bc37fb9971040bd8c564a0440281",
|
|
31
31
|
"docs/sdk/README.md": "7ab591d39c36a3b84cfdf487ff567040ec453975f3ef0fba86dc822094667b61",
|
|
32
|
-
"package.json": "
|
|
32
|
+
"package.json": "f2f45324f4bff372fe99e8bcb0af04624162a2f65712f8b8f6479e5630d64de7",
|
|
33
33
|
"packages/client/index.d.ts": "fb66b7b21ac936cddcb7f74543cf4f3bb7e80c169534ec249ab8ef2356224162",
|
|
34
34
|
"packages/client/index.js": "92fe5ddd32289d729f336f669e47bd9601e562f5a4309ee4fa7f7f15b567edc2",
|
|
35
|
-
"packages/client/package.json": "
|
|
35
|
+
"packages/client/package.json": "2cc2ee4f2305ddb5fe32f0c9bc928f47257e4522f7b2063e84de92d981f7660a",
|
|
36
36
|
"packages/client/README.md": "342dff9b1dcbc85fccc9b980ed3e4e455aa71133af1d0805b8431ea2ac564ef8",
|
|
37
37
|
"packages/contracts/index.d.ts": "edc717067bfb864c6c95df0c408a799fbf90b7552519131e6dc35af3f9eb9006",
|
|
38
38
|
"packages/contracts/index.js": "565b4a88190dbb8994cd0a9309b30b00f64305d65505fff9fa360d7ce69dfb58",
|
|
39
|
-
"packages/contracts/package.json": "
|
|
39
|
+
"packages/contracts/package.json": "502ec29cf54dcbc604dc9bc6ccd7c74a553ae9b301616b37e2624c6a038601fc",
|
|
40
40
|
"packages/contracts/README.md": "44d83a3cc508cec6c5c20dfa1f2c08d5ea03e3afb2853639fdc0a9cc8eb5b9c8",
|
|
41
41
|
"packages/core/index.d.ts": "c95b24a13f8aeeb128497833cf298790563baca6036ea5d29a9d8daff53199d7",
|
|
42
42
|
"packages/core/index.js": "5579ceb1a63d3f962f5656c75f82cf60cd834fd270b4aa95e581bf38e4432448",
|
|
43
|
-
"packages/core/package.json": "
|
|
43
|
+
"packages/core/package.json": "56adcbfba15bf283e885032f3d6bab4ff3a8d3ba1ab03e84e44fde04ed2ff445",
|
|
44
44
|
"packages/core/README.md": "e222c546104a168f1038d95c6c4efb8e5603edd6145ab2cab79cab977fb710e5",
|
|
45
45
|
"packages/server/bin/agent-terminal-server.js": "043dff4d76e3fd213b666a55e581ed1e72f9e5b8de6cb798fbf42bd39ed26861",
|
|
46
46
|
"packages/server/bin/claude-workbench-server.js": "b03c730b6d86faf6974afea26c74109d59b1bbc1ecc656c1d6270258708694ac",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"packages/server/lib/system-doctor.js": "2b0e858d69d8fb268eaed950c9883473ee9850684b532bc2db8e14674a974919",
|
|
75
75
|
"packages/server/lib/ui-preferences-store.js": "e108cb22e7cc1f3438704913d5401e01de2c0e717eb2abd3bdc4727209393819",
|
|
76
76
|
"packages/server/lib/workbench-service.js": "92b9323db8742bbdd69abd111c81cab86b225103596f6818b007fbfe2376fc6f",
|
|
77
|
-
"packages/server/package.json": "
|
|
77
|
+
"packages/server/package.json": "08195a1f8a78f8a9405f3c5c7e037f4c451c77128fd0f81e7406cada89ca8075",
|
|
78
78
|
"packages/server/README.md": "a34cfaa4f4e859008b44e2be8e1aafb56e97fe83e6129c968a8562945fa843f3",
|
|
79
79
|
"packages/ui/ai-profile-settings.d.ts": "0551b6c6eda6d18ea89a976daddf01b2161195f4874fe2d67a57cd9ecc6ce643",
|
|
80
80
|
"packages/ui/ai-profile-settings.js": "e92bbac67a1199d473e4e44b32d1cc76c5b6c79306d4fef9d9067a1bb6ec42ca",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"packages/ui/claude-terminal.js": "96bd217a4a7e4792ae3fbaaf46249ecee13b0f4e01fc6d25a1b8b22d8f8fe00c",
|
|
83
83
|
"packages/ui/index.d.ts": "e547ab39640fe7519fb367b78442dc8a2c51b2efd17b66f8b0a003b154b36ead",
|
|
84
84
|
"packages/ui/index.js": "f4394aabd395938f5c3fe587e430471d4033e83945a9b9c7e0149ad4040982c9",
|
|
85
|
-
"packages/ui/package.json": "
|
|
85
|
+
"packages/ui/package.json": "a07586cb53b6eb77c4c5af51bcc81509c753e4bbf715a7359e466cec2ba80012",
|
|
86
86
|
"packages/ui/README.md": "793c4a9c286fee23f39062a1976ca3afe9d2816dcdb55e156ba940e1ef514f89",
|
|
87
87
|
"packages/ui/theme.css": "8f03a081272a7db11b196f7a70d0fafb1f8d954778f329f1ba53d110d9d5fd98",
|
|
88
88
|
"src/assets/claude-prompts.json": "cb111f2e0a45afe8a31c251a504d1ab5375966ed61291660e61fd2efd77f6d9f",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanqianx/project-knowledge",
|
|
3
|
-
"version": "5.0.9-rc.
|
|
3
|
+
"version": "5.0.9-rc.19",
|
|
4
4
|
"description": "Knowledge base manager with Git integration, AI-driven analysis, and bilingual (zh-CN/en-US) knowledge output",
|
|
5
5
|
"main": "_site/server.js",
|
|
6
6
|
"scripts": {
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"@sanqianx/vector-hub": "1.0.8-rc.3",
|
|
85
85
|
"buffer": "^6.0.3",
|
|
86
86
|
"cheerio": "^1.2.0",
|
|
87
|
-
"claude-ai-workbench": "npm:@sanqianx/claude-ai-workbench@0.13.2-rc.
|
|
87
|
+
"claude-ai-workbench": "npm:@sanqianx/claude-ai-workbench@0.13.2-rc.7",
|
|
88
88
|
"cross-spawn": "7.0.6",
|
|
89
89
|
"dotenv": "^17.4.2",
|
|
90
90
|
"gpt-tokenizer": "^3.4.0",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
|
|
3
3
|
"name": "project-knowledge",
|
|
4
|
-
"version": "5.0.9-rc.
|
|
4
|
+
"version": "5.0.9-rc.19",
|
|
5
5
|
"description": "Read durable project decisions and implementation history from Project Knowledge.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "SanQianX",
|