@sanqianx/project-knowledge 5.0.15 → 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.
- package/.claude-plugin/marketplace.json +1 -1
- package/_modules/knowledge-engine/package.json +1 -1
- package/_modules/knowledge-engine/src/runtime/knowledge-promotion.js +54 -8
- package/module-runtime-manifest.json +21 -21
- 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/vendor-manifest.json +4 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanqianx/ai-coding-knowledge-engine",
|
|
3
|
-
"version": "0.2.7-rc.
|
|
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
|
|
54
|
-
// not unfinished prose.
|
|
55
|
-
//
|
|
56
|
-
const marker = /(?:\[TODO:|\bTODO:\s|\bTBD\b
|
|
57
|
-
const prose = content
|
|
58
|
-
|
|
59
|
-
|
|
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": "
|
|
12
|
-
"plugins/project-knowledge/.codex-plugin/plugin.json": "
|
|
13
|
-
"plugins/project-knowledge/.mcp.json": "
|
|
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.
|
|
19
|
+
"version": "0.13.2-rc.10",
|
|
20
20
|
"files": {
|
|
21
21
|
"LICENSE": "c1b9df1275e769f3dbab000d1e457a2d4b0f28eb5da6c77e48dc37eeba202ed7",
|
|
22
|
-
"README.md": "
|
|
22
|
+
"README.md": "7227e5dccce535f48d7e42c5f72c96f3d659d3a664476c0b304f461315a424c3",
|
|
23
23
|
"apps/agent-terminal/app.css": "ede36d9fdb1f7036e3453134c0d5a86197bfc30e3ac547a24b4fc1d17847277e",
|
|
24
|
-
"apps/agent-terminal/app.js": "
|
|
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": "
|
|
36
|
+
"docs/sdk/openapi.yaml": "a254fa35a612c9c7993ec8fe70c27c73aff3d69045c91d4b5a47cd28eb5ee30a",
|
|
37
37
|
"docs/sdk/README.md": "7ab591d39c36a3b84cfdf487ff567040ec453975f3ef0fba86dc822094667b61",
|
|
38
|
-
"package.json": "
|
|
38
|
+
"package.json": "e226cd693afd17cf520607841990f7643af8bec5f214e15c6f1510cba2847f6a",
|
|
39
39
|
"packages/client/index.d.ts": "fb66b7b21ac936cddcb7f74543cf4f3bb7e80c169534ec249ab8ef2356224162",
|
|
40
40
|
"packages/client/index.js": "92fe5ddd32289d729f336f669e47bd9601e562f5a4309ee4fa7f7f15b567edc2",
|
|
41
|
-
"packages/client/package.json": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
67
|
-
"packages/server/lib/drivers/codex-driver.js": "
|
|
68
|
-
"packages/server/lib/drivers/opencode-driver.js": "
|
|
69
|
-
"packages/server/lib/drivers/zcode-driver.js": "
|
|
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": "
|
|
83
|
-
"packages/server/package.json": "
|
|
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": "
|
|
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": "
|
|
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.
|
|
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.
|
|
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.
|
|
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",
|
package/vendor-manifest.json
CHANGED
|
@@ -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.
|
|
6
|
+
"version": "0.2.7-rc.5",
|
|
7
7
|
"root": "_modules/knowledge-engine",
|
|
8
8
|
"files": {
|
|
9
9
|
"README.md": "e55d09671139a97825bb59b1ce2e594cf82a51d392205442bc4f09c4cf42708c",
|
|
10
|
-
"package.json": "
|
|
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": "
|
|
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": "
|
|
50
|
+
"sourceCommit": "af65e4f31fc237df07f571b063b3c0c76f922cda"
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}
|