@mrciphersmith/keryx 0.3.80 → 0.3.81
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/dist/cli.js +14 -7
- package/dist/core.js +13 -6
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -21098,7 +21098,7 @@ var package_default;
|
|
|
21098
21098
|
var init_package = __esm(() => {
|
|
21099
21099
|
package_default = {
|
|
21100
21100
|
name: "@mrciphersmith/keryx",
|
|
21101
|
-
version: "0.3.
|
|
21101
|
+
version: "0.3.81",
|
|
21102
21102
|
description: "Version-controlled project context for AI coding agents: code graph, architecture wiki, project memory, relevant tests, quality signals, and task flows.",
|
|
21103
21103
|
private: false,
|
|
21104
21104
|
publishConfig: {
|
|
@@ -47904,9 +47904,11 @@ async function wikiPruneOrphans(cwd, history) {
|
|
|
47904
47904
|
if (!await pathExists(componentsDir)) {
|
|
47905
47905
|
return { pruned: [], orphanedAccepted: [] };
|
|
47906
47906
|
}
|
|
47907
|
-
const
|
|
47908
|
-
|
|
47909
|
-
|
|
47907
|
+
const counts = await moduleFileCounts(cwd);
|
|
47908
|
+
if (counts === undefined || counts.size === 0) {
|
|
47909
|
+
return { pruned: [], orphanedAccepted: [] };
|
|
47910
|
+
}
|
|
47911
|
+
const validSlugs = new Set([...counts].filter(([, files]) => files >= MIN_MODULE_FILES).map(([name]) => slugifyPath(name)));
|
|
47910
47912
|
const pruned = [];
|
|
47911
47913
|
const orphanedAccepted = [];
|
|
47912
47914
|
let run;
|
|
@@ -47932,18 +47934,23 @@ async function wikiPruneOrphans(cwd, history) {
|
|
|
47932
47934
|
return { pruned, orphanedAccepted };
|
|
47933
47935
|
}
|
|
47934
47936
|
async function validModuleNames(cwd) {
|
|
47937
|
+
const counts = await moduleFileCounts(cwd);
|
|
47938
|
+
return counts === undefined ? undefined : new Set(counts.keys());
|
|
47939
|
+
}
|
|
47940
|
+
async function moduleFileCounts(cwd) {
|
|
47935
47941
|
const nodesPath = path105.join(cwd, ".metaproject", "data", "gdgraph", "storage", "nodes.jsonl");
|
|
47936
47942
|
if (!await pathExists(nodesPath)) {
|
|
47937
47943
|
return;
|
|
47938
47944
|
}
|
|
47939
|
-
const
|
|
47945
|
+
const counts = new Map;
|
|
47940
47946
|
for (const node of parseJsonl(await readFile46(nodesPath, "utf8"))) {
|
|
47941
47947
|
if (node.kind === "asset")
|
|
47942
47948
|
continue;
|
|
47943
47949
|
const nodePath = String(node.path ?? node.id ?? "unknown");
|
|
47944
|
-
|
|
47950
|
+
const moduleName = moduleNameFromProjectPath(nodePath);
|
|
47951
|
+
counts.set(moduleName, (counts.get(moduleName) ?? 0) + 1);
|
|
47945
47952
|
}
|
|
47946
|
-
return
|
|
47953
|
+
return counts;
|
|
47947
47954
|
}
|
|
47948
47955
|
async function wikiEvidence(input) {
|
|
47949
47956
|
const ask = await wikiAsk({
|
package/dist/core.js
CHANGED
|
@@ -23795,9 +23795,11 @@ async function wikiPruneOrphans(cwd, history) {
|
|
|
23795
23795
|
if (!await pathExists(componentsDir)) {
|
|
23796
23796
|
return { pruned: [], orphanedAccepted: [] };
|
|
23797
23797
|
}
|
|
23798
|
-
const
|
|
23799
|
-
|
|
23800
|
-
|
|
23798
|
+
const counts = await moduleFileCounts(cwd);
|
|
23799
|
+
if (counts === undefined || counts.size === 0) {
|
|
23800
|
+
return { pruned: [], orphanedAccepted: [] };
|
|
23801
|
+
}
|
|
23802
|
+
const validSlugs = new Set([...counts].filter(([, files]) => files >= MIN_MODULE_FILES).map(([name]) => slugifyPath(name)));
|
|
23801
23803
|
const pruned = [];
|
|
23802
23804
|
const orphanedAccepted = [];
|
|
23803
23805
|
let run;
|
|
@@ -23823,18 +23825,23 @@ async function wikiPruneOrphans(cwd, history) {
|
|
|
23823
23825
|
return { pruned, orphanedAccepted };
|
|
23824
23826
|
}
|
|
23825
23827
|
async function validModuleNames(cwd) {
|
|
23828
|
+
const counts = await moduleFileCounts(cwd);
|
|
23829
|
+
return counts === undefined ? undefined : new Set(counts.keys());
|
|
23830
|
+
}
|
|
23831
|
+
async function moduleFileCounts(cwd) {
|
|
23826
23832
|
const nodesPath = path76.join(cwd, ".metaproject", "data", "gdgraph", "storage", "nodes.jsonl");
|
|
23827
23833
|
if (!await pathExists(nodesPath)) {
|
|
23828
23834
|
return;
|
|
23829
23835
|
}
|
|
23830
|
-
const
|
|
23836
|
+
const counts = new Map;
|
|
23831
23837
|
for (const node of parseJsonl(await readFile39(nodesPath, "utf8"))) {
|
|
23832
23838
|
if (node.kind === "asset")
|
|
23833
23839
|
continue;
|
|
23834
23840
|
const nodePath = String(node.path ?? node.id ?? "unknown");
|
|
23835
|
-
|
|
23841
|
+
const moduleName = moduleNameFromProjectPath(nodePath);
|
|
23842
|
+
counts.set(moduleName, (counts.get(moduleName) ?? 0) + 1);
|
|
23836
23843
|
}
|
|
23837
|
-
return
|
|
23844
|
+
return counts;
|
|
23838
23845
|
}
|
|
23839
23846
|
async function wikiEvidence(input) {
|
|
23840
23847
|
const ask = await wikiAsk({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mrciphersmith/keryx",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.81",
|
|
4
4
|
"description": "Version-controlled project context for AI coding agents: code graph, architecture wiki, project memory, relevant tests, quality signals, and task flows.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|