@sanqianx/project-knowledge 5.0.9-rc.1 → 5.0.9-rc.2
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/fixtures/make-git-repos.js +1 -9
- package/_site/_test/sessions-stream-test.js +3 -2
- package/_site/_test/simple-import-test.js +3 -2
- package/_site/_test/team-knowledge-store-test.js +3 -2
- package/module-runtime-manifest.json +24 -24
- package/package.json +3 -3
- 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.2] - 2026-10-11
|
|
4
|
+
|
|
5
|
+
- Pin the verified Workbench 0.13.2-rc.1 and vector-hub 1.0.8-rc.1 candidates.
|
|
6
|
+
Normalize known official MiniMax embedding route aliases at runtime without
|
|
7
|
+
changing existing v5 configuration bytes or private gateway paths.
|
|
8
|
+
- Queue same-project index writes across embedding-model rebuilds. Failed writes
|
|
9
|
+
do not poison retries, and unrelated projects remain independent.
|
|
10
|
+
- Restore safe relative Markdown document navigation and verify the standalone
|
|
11
|
+
retrieval UI at 1920x1080. Tests never kill unrelated port owners.
|
|
12
|
+
- Isolate regression-suite ports and tolerate Windows fixture file release.
|
|
13
|
+
Candidate publication is not full product acceptance; latest remains unchanged.
|
|
14
|
+
|
|
3
15
|
## [5.0.9-rc.1] - 2026-10-11
|
|
4
16
|
|
|
5
17
|
- Retain classified, bounded and redacted index errors in run details, activity
|
|
@@ -49,15 +49,7 @@ function makeRepo({ kind = 'one-commit' } = {}) {
|
|
|
49
49
|
const commits = [];
|
|
50
50
|
const cleanup = () => {
|
|
51
51
|
if (path.dirname(repoPath) !== path.resolve(os.tmpdir()) || !path.basename(repoPath).startsWith(`kb-fixture-${kind}-${process.pid}-`)) throw new Error('Unsafe fixture cleanup');
|
|
52
|
-
|
|
53
|
-
for (const entry of fs.readdirSync(directory, { withFileTypes: true })) {
|
|
54
|
-
const file = path.join(directory, entry.name);
|
|
55
|
-
if (entry.isDirectory() && !entry.isSymbolicLink()) remove(file);
|
|
56
|
-
else { try { fs.unlinkSync(file); } catch (error) { if (error.code !== 'EPERM') throw error; fs.chmodSync(file, 0o600); fs.unlinkSync(file); } }
|
|
57
|
-
}
|
|
58
|
-
fs.rmdirSync(directory);
|
|
59
|
-
}
|
|
60
|
-
if (fs.existsSync(repoPath)) remove(repoPath);
|
|
52
|
+
if (fs.existsSync(repoPath)) fs.rmSync(repoPath, { recursive: true, force: true, maxRetries: 5, retryDelay: 100 });
|
|
61
53
|
};
|
|
62
54
|
|
|
63
55
|
if (kind === 'not-git') {
|
|
@@ -5,10 +5,10 @@ const os = require('os');
|
|
|
5
5
|
const path = require('path');
|
|
6
6
|
const { spawnSync } = require('child_process');
|
|
7
7
|
const { spawnServer } = require('./helpers/spawn-server');
|
|
8
|
+
const freePort = require('./helpers/free-port');
|
|
8
9
|
|
|
9
10
|
const ROOT = path.resolve(__dirname, '..', '..');
|
|
10
|
-
|
|
11
|
-
const BASE = `http://127.0.0.1:${PORT}`;
|
|
11
|
+
let PORT, BASE;
|
|
12
12
|
const dataDir = fs.mkdtempSync(path.join(os.tmpdir(), 'pkb-sse-v2-'));
|
|
13
13
|
const repoPath = fs.mkdtempSync(path.join(os.tmpdir(), 'pkb-sse-repo-'));
|
|
14
14
|
|
|
@@ -60,6 +60,7 @@ async function waitFor(predicate) {
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
(async () => {
|
|
63
|
+
PORT = await freePort(); BASE = `http://127.0.0.1:${PORT}`;
|
|
63
64
|
git(['init', '--initial-branch=main']);
|
|
64
65
|
git(['config', 'user.email', 'sse@example.test']);
|
|
65
66
|
git(['config', 'user.name', 'SSE Test']);
|
|
@@ -4,10 +4,10 @@ const os = require('os');
|
|
|
4
4
|
const path = require('path');
|
|
5
5
|
const { spawnSync } = require('child_process');
|
|
6
6
|
const { spawnServer } = require('./helpers/spawn-server');
|
|
7
|
+
const freePort = require('./helpers/free-port');
|
|
7
8
|
|
|
8
9
|
const ROOT = path.resolve(__dirname, '..', '..');
|
|
9
|
-
|
|
10
|
-
const BASE = `http://127.0.0.1:${PORT}`;
|
|
10
|
+
let PORT, BASE;
|
|
11
11
|
const dataDir = fs.mkdtempSync(path.join(os.tmpdir(), 'pkb-import-v2-'));
|
|
12
12
|
const repoPath = fs.mkdtempSync(path.join(os.tmpdir(), 'pkb-import-repo-'));
|
|
13
13
|
const knowledgeRoot = path.join(dataDir, 'knowledge');
|
|
@@ -36,6 +36,7 @@ async function waitForServer() {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
(async () => {
|
|
39
|
+
PORT = await freePort(); BASE = `http://127.0.0.1:${PORT}`;
|
|
39
40
|
git(['init', '--initial-branch=main']);
|
|
40
41
|
git(['config', 'user.email', 'import@example.test']);
|
|
41
42
|
git(['config', 'user.name', 'Import Test']);
|
|
@@ -4,11 +4,11 @@ const os = require('os');
|
|
|
4
4
|
const path = require('path');
|
|
5
5
|
const { execFileSync } = require('child_process');
|
|
6
6
|
const { spawnServer } = require('./helpers/spawn-server');
|
|
7
|
+
const freePort = require('./helpers/free-port');
|
|
7
8
|
const githubTeamStore = require('../lib/github-team-store');
|
|
8
9
|
|
|
9
10
|
const ROOT = path.resolve(__dirname, '..', '..');
|
|
10
|
-
|
|
11
|
-
const BASE_URL = `http://127.0.0.1:${PORT}`;
|
|
11
|
+
let PORT, BASE_URL;
|
|
12
12
|
const TEMP = fs.mkdtempSync(path.join(os.tmpdir(), `kb-team-v2-${process.pid}-`));
|
|
13
13
|
const DATA_DIR = path.join(TEMP, 'data');
|
|
14
14
|
const SOURCE_ONE = path.join(TEMP, 'source-one');
|
|
@@ -51,6 +51,7 @@ async function json(method, route, body) {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
(async () => {
|
|
54
|
+
PORT = process.env.KB_TEAM_KNOWLEDGE_PORT ? Number(process.env.KB_TEAM_KNOWLEDGE_PORT) : await freePort(); BASE_URL = `http://127.0.0.1:${PORT}`;
|
|
54
55
|
let spawned;
|
|
55
56
|
try {
|
|
56
57
|
initializeRepo(SOURCE_ONE, 'Source one');
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
"terminal": {
|
|
11
11
|
"name": "@sanqianx/claude-ai-workbench",
|
|
12
12
|
"installName": "claude-ai-workbench",
|
|
13
|
-
"version": "0.13.1",
|
|
13
|
+
"version": "0.13.2-rc.1",
|
|
14
14
|
"files": {
|
|
15
15
|
"LICENSE": "c1b9df1275e769f3dbab000d1e457a2d4b0f28eb5da6c77e48dc37eeba202ed7",
|
|
16
|
-
"README.md": "
|
|
16
|
+
"README.md": "7efdf88b6eabdd3280fe69b6b78fce4ad9c1b5373ed5fc59e2a3db39d3f774d0",
|
|
17
17
|
"apps/agent-terminal/app.css": "39cc65ac65bcb390f4aa21d9b783182ca229557f6bec15090f69598120161917",
|
|
18
18
|
"apps/agent-terminal/app.js": "2fedcc79f9515ebae89d1c7dc996d732aa1d0946038eaaa045438121bf27f551",
|
|
19
19
|
"apps/agent-terminal/index.html": "6a52ba210696c8aed99e2786e21d2771340070d51583199dd74c8da41edf0257",
|
|
@@ -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": "c14dd8a1989a6fbb748285d8b488f553e5673d52ff2439c124c435f65a57b570",
|
|
31
31
|
"docs/sdk/README.md": "7ab591d39c36a3b84cfdf487ff567040ec453975f3ef0fba86dc822094667b61",
|
|
32
|
-
"package.json": "
|
|
32
|
+
"package.json": "21b1d94149a71e9678e4a50c3146d292c2672f206ef621ae919850b67660804b",
|
|
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": "5b5ea236e6a0769fd71b32759e0d87a33b84f4211ad298fe60452e5e8cb8bc3d",
|
|
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": "95887ef01fa0e1ccc4f8e22089bfabe8252566e38cbfb8aef0882cfe8fe22e61",
|
|
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": "d21084880b3d52e371d208c071ec94a3df456ea483055acc4a65b1aa7ec2fb9a",
|
|
44
44
|
"packages/core/README.md": "e222c546104a168f1038d95c6c4efb8e5603edd6145ab2cab79cab977fb710e5",
|
|
45
45
|
"packages/server/bin/agent-terminal-server.js": "b01297ab245a2b994bf42043b7469bd6e71d8f76a4bb99d4ed651e71844c152f",
|
|
46
46
|
"packages/server/bin/claude-workbench-server.js": "a8c46ed7e71afcc10e00a104ed6f2d0ac05346a743b33c3a5bd11b1314d80f40",
|
|
@@ -66,13 +66,13 @@
|
|
|
66
66
|
"packages/server/lib/json-file.js": "c922e10116655cd519a5365aaac5468266f6d8a76e41db33eaa51f94b79dae13",
|
|
67
67
|
"packages/server/lib/knowledge-context.js": "82023a94472fcb6fd6a74a53be43091473dbef11e6ac94ff9482c8a7fbc5c286",
|
|
68
68
|
"packages/server/lib/model-detection.js": "fa52213200c1f1a1f00e463ada57c415bf1bd4e2aedfebd04de50750509d06cf",
|
|
69
|
-
"packages/server/lib/profile-store.js": "
|
|
69
|
+
"packages/server/lib/profile-store.js": "70a9ff6aa31fe438ba8431f3e461f72e5d977f3510f2c42d39e9133e2f3491a8",
|
|
70
70
|
"packages/server/lib/project-store.js": "5225c78f3216340f01b99356496c8e2c2d9cfc6247954a3f00b273dd2cc5b692",
|
|
71
71
|
"packages/server/lib/session-archive-store.js": "d3335b832a6e9fb9792991056f6596a997a4959efa6e62b60fb60133fb724196",
|
|
72
72
|
"packages/server/lib/system-doctor.js": "2b0e858d69d8fb268eaed950c9883473ee9850684b532bc2db8e14674a974919",
|
|
73
73
|
"packages/server/lib/ui-preferences-store.js": "e108cb22e7cc1f3438704913d5401e01de2c0e717eb2abd3bdc4727209393819",
|
|
74
74
|
"packages/server/lib/workbench-service.js": "b5caac09665b21a118a0cd826adfa3f3006e68989182e4d80bf3a4554b951250",
|
|
75
|
-
"packages/server/package.json": "
|
|
75
|
+
"packages/server/package.json": "77ded7b6683df90e731a0f0204ea56698a19f2a138959bee18355ba987eb04c2",
|
|
76
76
|
"packages/server/README.md": "a34cfaa4f4e859008b44e2be8e1aafb56e97fe83e6129c968a8562945fa843f3",
|
|
77
77
|
"packages/ui/ai-profile-settings.d.ts": "0551b6c6eda6d18ea89a976daddf01b2161195f4874fe2d67a57cd9ecc6ce643",
|
|
78
78
|
"packages/ui/ai-profile-settings.js": "e92bbac67a1199d473e4e44b32d1cc76c5b6c79306d4fef9d9067a1bb6ec42ca",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"packages/ui/claude-terminal.js": "96bd217a4a7e4792ae3fbaaf46249ecee13b0f4e01fc6d25a1b8b22d8f8fe00c",
|
|
81
81
|
"packages/ui/index.d.ts": "e547ab39640fe7519fb367b78442dc8a2c51b2efd17b66f8b0a003b154b36ead",
|
|
82
82
|
"packages/ui/index.js": "f4394aabd395938f5c3fe587e430471d4033e83945a9b9c7e0149ad4040982c9",
|
|
83
|
-
"packages/ui/package.json": "
|
|
83
|
+
"packages/ui/package.json": "47418b48345efd2099b5b0861eed4a04db8cfe613efc95cec4aa181c373af72c",
|
|
84
84
|
"packages/ui/README.md": "793c4a9c286fee23f39062a1976ca3afe9d2816dcdb55e156ba940e1ef514f89",
|
|
85
85
|
"packages/ui/theme.css": "8f03a081272a7db11b196f7a70d0fafb1f8d954778f329f1ba53d110d9d5fd98",
|
|
86
86
|
"src/assets/claude-prompts.json": "cb111f2e0a45afe8a31c251a504d1ab5375966ed61291660e61fd2efd77f6d9f",
|
|
@@ -110,9 +110,9 @@
|
|
|
110
110
|
"vectorHub": {
|
|
111
111
|
"name": "@sanqianx/vector-hub",
|
|
112
112
|
"installName": "@sanqianx/vector-hub",
|
|
113
|
-
"version": "1.0.
|
|
113
|
+
"version": "1.0.8-rc.1",
|
|
114
114
|
"files": {
|
|
115
|
-
"README.md": "
|
|
115
|
+
"README.md": "801e0d2f258bc6d386b7ab44e1d8157c9f48d9c979b84c813773c34a9ee358c1",
|
|
116
116
|
"dist/cjs/bin.d.ts": "43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012",
|
|
117
117
|
"dist/cjs/bin.js": "8d0317ce087d22074b4ad350d63bf39cd6d218da565496621cd0daf4245cbdc4",
|
|
118
118
|
"dist/cjs/bin.js.map": "818e872380d9c7ba045238ba65ce77111ba822b356be26327ed05936e5667e5e",
|
|
@@ -134,12 +134,12 @@
|
|
|
134
134
|
"dist/cjs/server/folder-picker.d.ts": "b9c59dbc834fff668b1894f516450c2edc985c7bfac31edf9b7b4e766474b32b",
|
|
135
135
|
"dist/cjs/server/folder-picker.js": "053121152a210c899e8593d60670a2a510b435c3b479300c572aa4bc8443e58e",
|
|
136
136
|
"dist/cjs/server/folder-picker.js.map": "dce1ad1b03c8a6a4fba7b3cacec5b65e55c1dfd1886c5e70df384efd1a5c68a6",
|
|
137
|
-
"dist/cjs/server/manager.d.ts": "
|
|
138
|
-
"dist/cjs/server/manager.js": "
|
|
139
|
-
"dist/cjs/server/manager.js.map": "
|
|
137
|
+
"dist/cjs/server/manager.d.ts": "8aeb6b7d6e5f8ef94b65d0c078a3333b39e03546b2fc3cf8c0c0e144db4cff01",
|
|
138
|
+
"dist/cjs/server/manager.js": "1faed06b5efd6bea357ebf86e09af13791277fa07258eacc602af2945ae42845",
|
|
139
|
+
"dist/cjs/server/manager.js.map": "0d42dc88ad03bc723971a4967fb16b4fbf734ba06845e10ff10d85cf98c7b130",
|
|
140
140
|
"dist/cjs/server/server.d.ts": "13288ace9aa6ec016a2b06dc036868324ac6c23c7e73771e95d120be778f238a",
|
|
141
|
-
"dist/cjs/server/server.js": "
|
|
142
|
-
"dist/cjs/server/server.js.map": "
|
|
141
|
+
"dist/cjs/server/server.js": "8b42771d2d1c4f18f51f1d7c305edd702bf86b009ea14e5f02d133a46de3c141",
|
|
142
|
+
"dist/cjs/server/server.js.map": "701f115fb78fcca13723568fc7514a290acff9dc3fe63c9104a35bdb7120459e",
|
|
143
143
|
"dist/esm/bin.d.ts": "43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012",
|
|
144
144
|
"dist/esm/bin.js": "69f6059ce2336eb7f0d9503f86c83da787aaf74a8bfd804c694ba5b2e1728be0",
|
|
145
145
|
"dist/esm/bin.js.map": "fc174c2b5c66c20ff88184ddeb00577406185945ccadb0bddbb2014909339e9e",
|
|
@@ -162,14 +162,14 @@
|
|
|
162
162
|
"dist/esm/server/folder-picker.d.ts": "b9c59dbc834fff668b1894f516450c2edc985c7bfac31edf9b7b4e766474b32b",
|
|
163
163
|
"dist/esm/server/folder-picker.js": "6c8247e431b7181c45fb169b29e5825a0b3589f44e1625b3a5a291d7b8358042",
|
|
164
164
|
"dist/esm/server/folder-picker.js.map": "f70723213f032a0f10f538289a176a50fc8f02c200b0194479ffc139b5fbb13b",
|
|
165
|
-
"dist/esm/server/manager.d.ts": "
|
|
166
|
-
"dist/esm/server/manager.js": "
|
|
167
|
-
"dist/esm/server/manager.js.map": "
|
|
165
|
+
"dist/esm/server/manager.d.ts": "8aeb6b7d6e5f8ef94b65d0c078a3333b39e03546b2fc3cf8c0c0e144db4cff01",
|
|
166
|
+
"dist/esm/server/manager.js": "4f9c7a4cb12c7ac6d13f43ce37a8e2984bf1b4229feddb412f08ace12ca6859b",
|
|
167
|
+
"dist/esm/server/manager.js.map": "286cadd292ff7225a5faaa0946fb3b127e0ede488f1cae9f33aac2c7ec8f7726",
|
|
168
168
|
"dist/esm/server/server.d.ts": "13288ace9aa6ec016a2b06dc036868324ac6c23c7e73771e95d120be778f238a",
|
|
169
|
-
"dist/esm/server/server.js": "
|
|
170
|
-
"dist/esm/server/server.js.map": "
|
|
171
|
-
"package.json": "
|
|
172
|
-
"ui/index.html": "
|
|
169
|
+
"dist/esm/server/server.js": "357f53c83ded73318016256fbb752e78b90f3a94aecfca71607de8326cad9ebf",
|
|
170
|
+
"dist/esm/server/server.js.map": "97d1cbd3a4fff6ab0cb7994df6c5b73daea03a0dd9c8a1841cec5bb7be82e66c",
|
|
171
|
+
"package.json": "acb511c809a53643d2ee501a58bb08c74fc85edbac0ecbc35d8f3e7c549389d3",
|
|
172
|
+
"ui/index.html": "7301a595d625dadcd424069e7bb978004bfb6118eddef7a223bd25449ca6e0eb",
|
|
173
173
|
"ui/vendor/marked.min.js": "c68075672d976e4777390560baa112194855bd4404b13647da4855aae1f9360c"
|
|
174
174
|
}
|
|
175
175
|
},
|
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.2",
|
|
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": {
|
|
@@ -81,10 +81,10 @@
|
|
|
81
81
|
"@lancedb/lancedb": "0.31.0",
|
|
82
82
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
83
83
|
"@sanqianx/ai-coding-event-bridge-console": "0.7.2",
|
|
84
|
-
"@sanqianx/vector-hub": "1.0.
|
|
84
|
+
"@sanqianx/vector-hub": "1.0.8-rc.1",
|
|
85
85
|
"buffer": "^6.0.3",
|
|
86
86
|
"cheerio": "^1.2.0",
|
|
87
|
-
"claude-ai-workbench": "npm:@sanqianx/claude-ai-workbench@0.13.1",
|
|
87
|
+
"claude-ai-workbench": "npm:@sanqianx/claude-ai-workbench@0.13.2-rc.1",
|
|
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.2",
|
|
5
5
|
"description": "Read durable project decisions and implementation history from Project Knowledge.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "SanQianX",
|