@sanqianx/project-knowledge 5.0.15-rc.5 → 5.0.16-rc.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.
@@ -9,7 +9,7 @@
9
9
  "plugins": [
10
10
  {
11
11
  "name": "project-knowledge",
12
- "version": "5.0.15-rc.5",
12
+ "version": "5.0.16-rc.1",
13
13
  "source": "./plugins/project-knowledge",
14
14
  "description": "Search durable project decisions and implementation history through MCP."
15
15
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.0.15] - 2026-10-13
4
+
5
+ - 冻结 rc.5 已验收的中文 BM25 与可校验向量片段融合、本项目进度与跨范围上下文、无可靠匹配诊断及离线 Claude 插件接入。
6
+ - 包含 UI 属性/源码示例被知识晋升误判的修复,以及 Codex 本地市场重载修复;保留真实 Git 失败和原生 Hook 信任审核。
7
+ - 正式包先下载和测试,再更新 latest;本机与另一台设备的结果分别报告。
8
+
3
9
  ## [5.0.15-rc.5] - 2026-10-13
4
10
 
5
11
  - 修复 Codex 本地插件市场被强制执行 Git 刷新而无法更新的问题;识别原生明确的非 Git 市场反馈后重新加载本地插件,真实 Git/认证失败仍终止,保留可用旧插件。
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanqianx/ai-coding-knowledge-engine",
3
- "version": "0.2.7-rc.4",
3
+ "version": "0.2.7-rc.5",
4
4
  "description": "Knowledge engine module for project-knowledge: commit-boundary triggered knowledge analysis/generation (trigger plane) and retrieval for development assistants (retrieval plane).",
5
5
  "license": "Apache-2.0",
6
6
  "main": "src/server.js",
@@ -45,19 +45,65 @@ function decodeUtf8(buffer) {
45
45
  catch (error) { throw new DomainError('INVALID_ARGUMENT', 'Staged Markdown must be valid UTF-8.', { cause: error }); }
46
46
  }
47
47
 
48
+ // A quoted sample is exempt only when the same sentence of the original
49
+ // document names a concrete UI field or attribute context; a quoted marker
50
+ // without that context is still unfinished prose, whatever it quotes.
51
+ const UI_CONTEXT = /(?:<(?:input|textarea|select)\b|#[a-zA-Z][\w-]*|\b(?:input|textarea|select|field|form|dialog|ui|html|attribute)\b|属性|字段|输入|表单|对话框|界面|控件|提示|文案)/i;
52
+
53
+ function sentenceAround(text, index) {
54
+ const delimiters = /[。!?;\n.!?;]/g;
55
+ let start = 0;
56
+ let end = text.length;
57
+ let match;
58
+ while ((match = delimiters.exec(text))) {
59
+ if (match.index < index) start = match.index + 1;
60
+ else { end = match.index; break; }
61
+ }
62
+ return { text: text.slice(start, end), start };
63
+ }
64
+
65
+ // Mask frontmatter, fenced blocks and inline code with spaces, keeping
66
+ // length and newlines so each hit keeps its original offset for sentence
67
+ // context; only real prose can carry a placeholder marker.
68
+ function maskCoded(content) {
69
+ return content
70
+ .replace(/^---\r?\n[\s\S]*?\r?\n---(?:\r?\n|$)/, block => block.replace(/[^\n]/g, ' '))
71
+ .replace(/^[ \t]*(`{3,}|~{3,})[^\n]*\n[\s\S]*?^[ \t]*\1[ \t]*(?:\n|$)/gm, block => block.replace(/[^\n]/g, ' '))
72
+ .replace(/(`+)[^\n]*?\1/g, span => span.replace(/[^\n]/g, ' '));
73
+ }
74
+
75
+ function unfinishedPlaceholder(prose, source) {
76
+ const re = /\bplaceholder\b[ \t]*(=|[「"'“][^」"'”]*[」"'”])?/gi;
77
+ let match;
78
+ while ((match = re.exec(prose))) {
79
+ if (match[1] === '=') continue;
80
+ if (match[1]) {
81
+ const sample = match[1].slice(1, -1).trim();
82
+ if (!sample || /^[..…]+$/.test(sample)) return match[0];
83
+ // Context must come from this very sentence, outside the quoted value,
84
+ // so neither an earlier twin hit nor the sample itself can vouch for it.
85
+ const sentence = sentenceAround(source, match.index);
86
+ const quoteOffset = match.index + match[0].length - match[1].length - sentence.start;
87
+ const context = sentence.text.slice(0, quoteOffset) + ' '.repeat(match[1].length) + sentence.text.slice(quoteOffset + match[1].length);
88
+ if (UI_CONTEXT.test(context)) continue;
89
+ }
90
+ return match[0];
91
+ }
92
+ return null;
93
+ }
94
+
48
95
  function validateMarkdown(content, relativePath) {
49
96
  if (/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/.test(content)) {
50
97
  throw new DomainError('INVALID_ARGUMENT', `Staged Markdown contains disallowed control characters: ${relativePath}.`);
51
98
  }
52
99
  if (!content.trim() || !/^#\s+\S+/m.test(content)) throw new DomainError('INVALID_ARGUMENT', `Staged Markdown must contain a title: ${relativePath}.`);
53
- // UI attributes and quoted source examples describe real changes; they are
54
- // not unfinished prose. Still reject a document containing only a quoted
55
- // unfinished marker, so fencing a placeholder cannot make it valid knowledge.
56
- const marker = /(?:\[TODO:|\bTODO:\s|\bTBD\b|\bPLACEHOLDER\b(?!\s*=))/i;
57
- const prose = content.replace(/^---\r?\n[\s\S]*?\r?\n---(?:\r?\n|$)/, '')
58
- .replace(/^[ \t]*(`{3,}|~{3,})[^\n]*\n[\s\S]*?^[ \t]*\1[ \t]*(?:\n|$)/gm, '')
59
- .replace(/(`+)[^\n]*?\1/g, '');
60
- if (marker.test(prose) || !prose.replace(/^#{1,6}[ \t]+.*$/gm, '').trim() && marker.test(content)) {
100
+ // UI attributes and quoted source samples describe real changes; they are
101
+ // not unfinished prose. Quoted samples still need a UI context in the same
102
+ // sentence, so fencing a placeholder cannot make it valid knowledge.
103
+ const marker = /(?:\[TODO:|\bTODO:\s|\bTBD\b)/i;
104
+ const prose = maskCoded(content);
105
+ const bare = !prose.replace(/^#{1,6}[ \t]+.*$/gm, '').trim();
106
+ if (marker.test(prose) || unfinishedPlaceholder(prose, content) || bare && (marker.test(content) || unfinishedPlaceholder(content, content))) {
61
107
  throw new DomainError('INVALID_ARGUMENT', `Placeholder knowledge is not allowed: ${relativePath}.`);
62
108
  }
63
109
  const fences = content.match(/^```/gm) || [];
@@ -8,20 +8,20 @@
8
8
  "plugins/project-knowledge/hooks/claude.json": "d61510327e3e1facbb4c645228e9f50cad05a88b33d80c4c22e5ba9f8b9f5359",
9
9
  "plugins/project-knowledge/hooks/codex.json": "216e03c07295606ef6ebb2c4f669ad0d790b5e7c4f3f34600488033db75e4239",
10
10
  "plugins/project-knowledge/scripts/context-hook.cjs": "da666153ad5723592cce42d25337ae649f7d93e43fab76b3c6d1263933de063f",
11
- "plugins/project-knowledge/.claude-plugin/plugin.json": "2480e47b2378461537ee103abbc723b0a4030674d4d8fb2424046adbf868ddab",
12
- "plugins/project-knowledge/.codex-plugin/plugin.json": "23c8c44b0ce0acb250393320a616aee89d927a86250d6aa310e8ae6ce6b556d5",
13
- "plugins/project-knowledge/.mcp.json": "74cf5ff05a611aaa240628cf006a2dea47b786fdc4fbf82807524eab11c28cbe"
11
+ "plugins/project-knowledge/.claude-plugin/plugin.json": "3d62d2d5a00fd5c7caf552d0e83103bf1a35b6778aba0cc414b76e7f1b5c11b5",
12
+ "plugins/project-knowledge/.codex-plugin/plugin.json": "8951eacae21cb37ef16c9b334109e7441cf5b5f77ab9095959de951bebc2a71d",
13
+ "plugins/project-knowledge/.mcp.json": "d0476ae3dee485ba43bf8c5449c31fdf7a6da0957af1831001321f6c2ecf1f6a"
14
14
  },
15
15
  "modules": {
16
16
  "terminal": {
17
17
  "name": "@sanqianx/claude-ai-workbench",
18
18
  "installName": "claude-ai-workbench",
19
- "version": "0.13.2-rc.9",
19
+ "version": "0.13.2-rc.10",
20
20
  "files": {
21
21
  "LICENSE": "c1b9df1275e769f3dbab000d1e457a2d4b0f28eb5da6c77e48dc37eeba202ed7",
22
- "README.md": "5a382c531372deaa63b3e014f4dbd077d41ce02efee40347973463081848cb86",
22
+ "README.md": "7227e5dccce535f48d7e42c5f72c96f3d659d3a664476c0b304f461315a424c3",
23
23
  "apps/agent-terminal/app.css": "ede36d9fdb1f7036e3453134c0d5a86197bfc30e3ac547a24b4fc1d17847277e",
24
- "apps/agent-terminal/app.js": "e23fde6529f72031b745b47d5658e62f9079678248aab95599487d1d0660b6e7",
24
+ "apps/agent-terminal/app.js": "c1ec298f4c1f0d237e33c3cdde3f093769118ce8d25af04e22b8dd81b790eea1",
25
25
  "apps/agent-terminal/index.html": "cdffd5c535c81f56aba70ec5dd3bc060f59ec2abcdc8676b79c8f327126be605",
26
26
  "apps/ai-profile-settings-host/index.html": "bc158f68954506d2b8e43c690f28dbe931eff9a02b1524855ac17e74ea4df736",
27
27
  "apps/ai-profile-settings-host/page.css": "8b75cbf7f1ea5aaa92f2889390720ece310a8fd4b9ca38c890fa447d4323a557",
@@ -33,28 +33,28 @@
33
33
  "apps/minimal-test-host/README.md": "fa73136f4ee3865c2d91eb97b2e8c03679aa4688e44c1e1c8ec6e27d604b0de5",
34
34
  "docs/sdk/FILE_LAYOUT.md": "17882f96505c8161bfb66876684b9d2d3f50021a111b8b844502d3cb4e97870a",
35
35
  "docs/sdk/INTEGRATION.md": "d4c0c80d2d2fc610205102d703a429bfaa20f9f3a48f1718f5bab02ee90138df",
36
- "docs/sdk/openapi.yaml": "f93a0c93247267603838448814ec3f3be7d9e6827360024267cd1a3f1584721b",
36
+ "docs/sdk/openapi.yaml": "a254fa35a612c9c7993ec8fe70c27c73aff3d69045c91d4b5a47cd28eb5ee30a",
37
37
  "docs/sdk/README.md": "7ab591d39c36a3b84cfdf487ff567040ec453975f3ef0fba86dc822094667b61",
38
- "package.json": "01da288b2ade8f920695aac2f4687af3c686e153473565ac5def9ed15c1d86c1",
38
+ "package.json": "e226cd693afd17cf520607841990f7643af8bec5f214e15c6f1510cba2847f6a",
39
39
  "packages/client/index.d.ts": "fb66b7b21ac936cddcb7f74543cf4f3bb7e80c169534ec249ab8ef2356224162",
40
40
  "packages/client/index.js": "92fe5ddd32289d729f336f669e47bd9601e562f5a4309ee4fa7f7f15b567edc2",
41
- "packages/client/package.json": "563c7296c103fda4ab1c606579e0c605ed44369753baec22a6152301836dbc5f",
41
+ "packages/client/package.json": "0ebc8ac3a805b94eb278374723d1fa6bd65f197b17d860a496608969dd75e27e",
42
42
  "packages/client/README.md": "342dff9b1dcbc85fccc9b980ed3e4e455aa71133af1d0805b8431ea2ac564ef8",
43
43
  "packages/contracts/index.d.ts": "edc717067bfb864c6c95df0c408a799fbf90b7552519131e6dc35af3f9eb9006",
44
44
  "packages/contracts/index.js": "565b4a88190dbb8994cd0a9309b30b00f64305d65505fff9fa360d7ce69dfb58",
45
- "packages/contracts/package.json": "5f0d12f470196be581f0d57bdfb25d1f4e01b4672d63d5ad509ddd7241ca76f2",
45
+ "packages/contracts/package.json": "45a181c72e58e6c8485b1ecdcae048efdbf52d4278cf396e69f50c8eabff03c0",
46
46
  "packages/contracts/README.md": "44d83a3cc508cec6c5c20dfa1f2c08d5ea03e3afb2853639fdc0a9cc8eb5b9c8",
47
47
  "packages/core/index.d.ts": "c95b24a13f8aeeb128497833cf298790563baca6036ea5d29a9d8daff53199d7",
48
48
  "packages/core/index.js": "5579ceb1a63d3f962f5656c75f82cf60cd834fd270b4aa95e581bf38e4432448",
49
- "packages/core/package.json": "b272aceffc541023730d4d39b7464de64e08347af9d28ee182135beea4f7e2eb",
49
+ "packages/core/package.json": "b72dc5d2b6ccff73b3e9ad13d4814e93337b8a47a203054d036bd57246d0c89c",
50
50
  "packages/core/README.md": "e222c546104a168f1038d95c6c4efb8e5603edd6145ab2cab79cab977fb710e5",
51
51
  "packages/server/bin/agent-terminal-server.js": "043dff4d76e3fd213b666a55e581ed1e72f9e5b8de6cb798fbf42bd39ed26861",
52
52
  "packages/server/bin/claude-workbench-server.js": "b03c730b6d86faf6974afea26c74109d59b1bbc1ecc656c1d6270258708694ac",
53
53
  "packages/server/bin/claude-workbench.js": "98dbd550d4d657056a75a190e7ee0dffd9f760fba58783f3ffb8d389ad7a32de",
54
- "packages/server/index.d.ts": "ad39d5091056df5ec94e031a0de47c2c4ff75128ec3edadc3d3a364fca1b912b",
54
+ "packages/server/index.d.ts": "2dcfe86bb75f064ae2b8bf6211cc7e69da42c29352d859b7bdfd23cc8d37afa9",
55
55
  "packages/server/index.js": "77556a727cbe0e43dedfa87273a069010cad48ae46fb57a0e42a14908ab01b91",
56
56
  "packages/server/lib/agent-discovery.js": "7fa15684329fd287cd0869183808311bf975263255425562f2896bc2c1a69e7c",
57
- "packages/server/lib/agent-registry.js": "fbf4f3e96542502a41e7fdf77037d63c3b0444d26708ad9766bec90fbb6b38bb",
57
+ "packages/server/lib/agent-registry.js": "ef14c8ab8f5af56499a0cf1f7167a9495fc1745ef190e5d7b0298659a04a15ff",
58
58
  "packages/server/lib/attachment-store.js": "5c92c45c7ec5a8b0ee9c14edb42eeda5fce93d8e654718dcd75c12e3f0bfa6e7",
59
59
  "packages/server/lib/bridges/app-server-bridge.js": "85bb644ab570a7a7e6aa26123c8e3cd2e8c11c3ff4e1270954b8e26517968f69",
60
60
  "packages/server/lib/bridges/opencode-server-bridge.js": "910e4216b184d35b98fb525c629670007f4eaf52f27cfe58a631764983271ff6",
@@ -63,10 +63,10 @@
63
63
  "packages/server/lib/context-resolver.js": "d3060bfe35fb184e521847fc0900cf6114f8ebf3120ce13ed39dfc224af54660",
64
64
  "packages/server/lib/conversation-capture.js": "9f3ee29003eaea4778dc1e4b7e23e868f2ba0268bd43db07317acba62f48a094",
65
65
  "packages/server/lib/diagnostics.js": "b45687fcc07f8baeb33ffd08efdc875494d4e3205887514fdfd7e1ce6370753b",
66
- "packages/server/lib/drivers/cli-json-runner.js": "d3ad5dc67481d69abb3593ca58e7ca703bf1c438042d634d83642803849d797f",
67
- "packages/server/lib/drivers/codex-driver.js": "01d65b05cf8ba6fedf5fd7f5ce4c634f2ca69461175556286448c667031424b6",
68
- "packages/server/lib/drivers/opencode-driver.js": "322043d2d1912204c17b8c46f14d19bf132c096365cdacfdb98cfc0855e88c73",
69
- "packages/server/lib/drivers/zcode-driver.js": "9b5e6fb461c2df5b2fe530e38da9d782f10fcdbf9d187933d5d74d4e1b4bb763",
66
+ "packages/server/lib/drivers/cli-json-runner.js": "1da3da5c0bd16f3c0056b1eefd94a8bebaf8ff10b2fc14ee6ccd066d7d298d0a",
67
+ "packages/server/lib/drivers/codex-driver.js": "461c4fc4f072de87b2526252a3e3bbdca6fca79fcdec30c58d1ea2335abfe60e",
68
+ "packages/server/lib/drivers/opencode-driver.js": "3a43dd3ef139470604335e74dcd6017f1c734610da67cc5e26c3d6925ffc9ddf",
69
+ "packages/server/lib/drivers/zcode-driver.js": "5906ccb2178e19a53a1fd831e5af3cfc9fc2b56bc56a29095470721f04c1ade8",
70
70
  "packages/server/lib/drivers/zcode-profile-runtime.js": "77c5ac83551cc424375918863d4a31039984492c3a1c987a615a072ac7cb1f14",
71
71
  "packages/server/lib/event-stream.js": "b0f20bac19933a1a428c22938ae2666a1231b74a4330619b885171662133f48b",
72
72
  "packages/server/lib/folder-picker.js": "70f55df999262b90433f2b4251aa69dd70a23b55a84756b5f1d24dbeacfbda31",
@@ -79,8 +79,8 @@
79
79
  "packages/server/lib/session-archive-store.js": "d3335b832a6e9fb9792991056f6596a997a4959efa6e62b60fb60133fb724196",
80
80
  "packages/server/lib/system-doctor.js": "2b0e858d69d8fb268eaed950c9883473ee9850684b532bc2db8e14674a974919",
81
81
  "packages/server/lib/ui-preferences-store.js": "e108cb22e7cc1f3438704913d5401e01de2c0e717eb2abd3bdc4727209393819",
82
- "packages/server/lib/workbench-service.js": "206e50b8d4d9cbe18c79ffce145b4f37f711d4e18a1222010d723dfcc13f5ec4",
83
- "packages/server/package.json": "c443d9b9427fc10799fd0f5f4288e9db328ae2d3a898e39fce28c2dacc0d2388",
82
+ "packages/server/lib/workbench-service.js": "19781d2a27fa849e5508a5e233b29008b3ff18e1f10344615c371e5947601437",
83
+ "packages/server/package.json": "869f248f0291c0a36acf7d60d739e9e6d33940507f2ec01dfdb8fe8a276f5b0e",
84
84
  "packages/server/README.md": "a34cfaa4f4e859008b44e2be8e1aafb56e97fe83e6129c968a8562945fa843f3",
85
85
  "packages/ui/ai-profile-settings.d.ts": "0551b6c6eda6d18ea89a976daddf01b2161195f4874fe2d67a57cd9ecc6ce643",
86
86
  "packages/ui/ai-profile-settings.js": "e92bbac67a1199d473e4e44b32d1cc76c5b6c79306d4fef9d9067a1bb6ec42ca",
@@ -88,7 +88,7 @@
88
88
  "packages/ui/claude-terminal.js": "96bd217a4a7e4792ae3fbaaf46249ecee13b0f4e01fc6d25a1b8b22d8f8fe00c",
89
89
  "packages/ui/index.d.ts": "e547ab39640fe7519fb367b78442dc8a2c51b2efd17b66f8b0a003b154b36ead",
90
90
  "packages/ui/index.js": "f4394aabd395938f5c3fe587e430471d4033e83945a9b9c7e0149ad4040982c9",
91
- "packages/ui/package.json": "9290a2406dbef5448fd6ef20a5ecb20b8a276547d4f656e69055953347cc074b",
91
+ "packages/ui/package.json": "0ec6ce96d7a6f23075f0268a612367008bd89f70001e69faa164f9c967ca8469",
92
92
  "packages/ui/README.md": "793c4a9c286fee23f39062a1976ca3afe9d2816dcdb55e156ba940e1ef514f89",
93
93
  "packages/ui/theme.css": "8f03a081272a7db11b196f7a70d0fafb1f8d954778f329f1ba53d110d9d5fd98",
94
94
  "src/assets/claude-prompts.json": "cb111f2e0a45afe8a31c251a504d1ab5375966ed61291660e61fd2efd77f6d9f",
@@ -101,7 +101,7 @@
101
101
  "src/backend/lib/ai-vendor-presets.js": "02c6de9c2e89ad0286426e8eb4900c3c6a4960ef0e8f9d27ffb5836062abfbb2",
102
102
  "src/backend/lib/ai-workspace.js": "969917f26cd0b0a272932714819d838a2bab2a5aac5c4e946647dfa3afa479bf",
103
103
  "src/backend/lib/automation-config.js": "c23b868bbcfbcece4465c9c939faccaef582667e858f3f36fc7b6d19bcd545e6",
104
- "src/backend/lib/claude-cli-runner.js": "f7f621b6e9bbfb02603d29dc52dc09533b302a467e2d74aef913d93d92740dd0",
104
+ "src/backend/lib/claude-cli-runner.js": "c01a25ed57fdefe6fbd176e42674bfdbeaa317071b5578638eaf957b46ff5b32",
105
105
  "src/backend/lib/data-dir.js": "a62d96d1ab538e37690ad31fe4f51e84120b55b6bc767661ed98ad9242f879db",
106
106
  "src/backend/lib/llm-client.js": "76d1a73fbea445b5ac34c23d1a3b084e0884c5efed6f7d3b9ed76d406d2cd038",
107
107
  "src/backend/lib/model-context-windows.js": "f64f7c995143407b7390105087e3ebcd56a5a3ba2fd3019478a86f9e3c6b7896",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanqianx/project-knowledge",
3
- "version": "5.0.15-rc.5",
3
+ "version": "5.0.16-rc.1",
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.4",
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.9",
87
+ "claude-ai-workbench": "npm:@sanqianx/claude-ai-workbench@0.13.2-rc.10",
88
88
  "cross-spawn": "7.0.6",
89
89
  "dotenv": "^17.4.2",
90
90
  "gpt-tokenizer": "^3.4.0",
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
3
3
  "name": "project-knowledge",
4
4
  "hooks": "./hooks/claude.json",
5
- "version": "5.0.15-rc.5",
5
+ "version": "5.0.16-rc.1",
6
6
  "description": "Read durable project decisions and implementation history from Project Knowledge.",
7
7
  "author": {
8
8
  "name": "SanQianX",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-knowledge",
3
- "version": "5.0.15-rc.5",
3
+ "version": "5.0.16-rc.1",
4
4
  "description": "Read durable project decisions and implementation history from Project Knowledge.",
5
5
  "author": {
6
6
  "name": "SanQianX",
@@ -6,7 +6,7 @@
6
6
  "args": [
7
7
  "-y",
8
8
  "--package",
9
- "@sanqianx/project-knowledge@5.0.15-rc.5",
9
+ "@sanqianx/project-knowledge@5.0.16-rc.1",
10
10
  "project-knowledge-mcp"
11
11
  ]
12
12
  }
@@ -3,11 +3,11 @@
3
3
  "modules": {
4
4
  "knowledge-engine": {
5
5
  "name": "@sanqianx/ai-coding-knowledge-engine",
6
- "version": "0.2.7-rc.4",
6
+ "version": "0.2.7-rc.5",
7
7
  "root": "_modules/knowledge-engine",
8
8
  "files": {
9
9
  "README.md": "e55d09671139a97825bb59b1ce2e594cf82a51d392205442bc4f09c4cf42708c",
10
- "package.json": "1faf25907fd3382dddc68c1a3e92e767c268e5e55715ba6579a33507583759c1",
10
+ "package.json": "aade97e4cde45a55154fe81e97890ab4f42184f0d344a6921c174c09462afa21",
11
11
  "src/analysis-contract.js": "913a63b63fb4a4a9df071f95bbeb8f8c40ef87e2f8445ab0742086ced70ffbf7",
12
12
  "src/analysis-output.js": "95a3c19dcc9ab85d1dba7fee5b9aec80f9c000dfba89da3fd0be25a81e2fb680",
13
13
  "src/analysis-worker.js": "a105cabe6e1573b2d986b1e7a5aaf615e2fb53524156fc8e4e2c0a71f2c97e55",
@@ -36,7 +36,7 @@
36
36
  "src/runtime/conversation-store.js": "644318f9c04376a3317ced240dd94afa99a79631f0ecc394c5aa298ae2bc0474",
37
37
  "src/runtime/evidence-bundle.js": "33d4614849d5e1d69aba8b75c3a43c18b7b6f94e5c78654c82ef631331cc94cc",
38
38
  "src/runtime/git-runner.js": "b74fe197bd4dcf3e70635ef7b1f2615edf965c1d9a3ffe5406aabd41b76d74a9",
39
- "src/runtime/knowledge-promotion.js": "3bf9de68e8604adeb197fe8437012c3688fb3ddac884d4321ec132218df10935",
39
+ "src/runtime/knowledge-promotion.js": "cb48eeba8ff5f69411d1b35c418302f0ff51e2de25e435c7641ef7f63c329471",
40
40
  "src/runtime/knowledge-retrieval-service.js": "75444f495a9ad0720af0e57b8d27d7ac1325c78a768f4f68ebd86ebc2524945e",
41
41
  "src/runtime/layout.js": "e47fe54c605218493ce46f6289798d9db2a3ecec95089d288ed03d3b75cf871a",
42
42
  "src/runtime/markdown-knowledge-indexer.js": "4d6b5b955849d274ca0614ef030c94526da7c39ab0874f02c168d0681f5b1406",
@@ -47,7 +47,7 @@
47
47
  "ui/app.js": "33a2ba38f0dafbbb2e30a1eb3fc93476bfcaf528e124e1a9b2edd2fb69221e9e",
48
48
  "ui/index.html": "ce3565cfefd4838b11d37a91a906ef26ca5a1834844fe3f7c897b56851a3c418"
49
49
  },
50
- "sourceCommit": "5c07a801aae1e0a79698763cbe161575bcda0578"
50
+ "sourceCommit": "af65e4f31fc237df07f571b063b3c0c76f922cda"
51
51
  }
52
52
  }
53
53
  }