mewkit 1.10.2 → 1.11.0
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/README.md +56 -4
- package/dist/commands/budget.d.ts +13 -0
- package/dist/commands/budget.d.ts.map +1 -1
- package/dist/commands/budget.js +45 -0
- package/dist/commands/budget.js.map +1 -1
- package/dist/commands/doctor-checks.d.ts +1 -1
- package/dist/commands/doctor-checks.d.ts.map +1 -1
- package/dist/commands/doctor-checks.js +7 -1
- package/dist/commands/doctor-checks.js.map +1 -1
- package/dist/commands/doctor-hard-gates.d.ts +3 -0
- package/dist/commands/doctor-hard-gates.d.ts.map +1 -0
- package/dist/commands/doctor-hard-gates.js +138 -0
- package/dist/commands/doctor-hard-gates.js.map +1 -0
- package/dist/commands/doctor.d.ts +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +77 -3
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/evolve.d.ts +11 -0
- package/dist/commands/evolve.d.ts.map +1 -0
- package/dist/commands/evolve.js +63 -0
- package/dist/commands/evolve.js.map +1 -0
- package/dist/commands/health.d.ts +14 -0
- package/dist/commands/health.d.ts.map +1 -0
- package/dist/commands/health.js +193 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +63 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/inventory.d.ts +17 -0
- package/dist/commands/inventory.d.ts.map +1 -0
- package/dist/commands/inventory.js +114 -0
- package/dist/commands/inventory.js.map +1 -0
- package/dist/commands/memory.d.ts +3 -0
- package/dist/commands/memory.d.ts.map +1 -1
- package/dist/commands/memory.js +67 -0
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/pack-helpers.d.ts +37 -0
- package/dist/commands/pack-helpers.d.ts.map +1 -0
- package/dist/commands/pack-helpers.js +105 -0
- package/dist/commands/pack-helpers.js.map +1 -0
- package/dist/commands/pack.d.ts +11 -0
- package/dist/commands/pack.d.ts.map +1 -0
- package/dist/commands/pack.js +192 -0
- package/dist/commands/pack.js.map +1 -0
- package/dist/commands/policy.d.ts +8 -0
- package/dist/commands/policy.d.ts.map +1 -0
- package/dist/commands/policy.js +65 -0
- package/dist/commands/policy.js.map +1 -0
- package/dist/commands/portability.d.ts +7 -0
- package/dist/commands/portability.d.ts.map +1 -0
- package/dist/commands/portability.js +50 -0
- package/dist/commands/portability.js.map +1 -0
- package/dist/commands/reflect.d.ts +14 -0
- package/dist/commands/reflect.d.ts.map +1 -0
- package/dist/commands/reflect.js +135 -0
- package/dist/commands/reflect.js.map +1 -0
- package/dist/commands/simulate.d.ts +14 -0
- package/dist/commands/simulate.d.ts.map +1 -0
- package/dist/commands/simulate.js +86 -0
- package/dist/commands/simulate.js.map +1 -0
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +32 -6
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/commands/validate.d.ts +28 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +170 -94
- package/dist/commands/validate.js.map +1 -1
- package/dist/core/build-inventory.d.ts +71 -0
- package/dist/core/build-inventory.d.ts.map +1 -0
- package/dist/core/build-inventory.js +222 -0
- package/dist/core/build-inventory.js.map +1 -0
- package/dist/core/check-packs.d.ts +13 -0
- package/dist/core/check-packs.d.ts.map +1 -0
- package/dist/core/check-packs.js +131 -0
- package/dist/core/check-packs.js.map +1 -0
- package/dist/core/check-stale-index.d.ts +35 -0
- package/dist/core/check-stale-index.d.ts.map +1 -0
- package/dist/core/check-stale-index.js +132 -0
- package/dist/core/check-stale-index.js.map +1 -0
- package/dist/core/check-workflow-drift.d.ts +49 -0
- package/dist/core/check-workflow-drift.d.ts.map +1 -0
- package/dist/core/check-workflow-drift.js +226 -0
- package/dist/core/check-workflow-drift.js.map +1 -0
- package/dist/core/compute-checksums.d.ts +7 -0
- package/dist/core/compute-checksums.d.ts.map +1 -1
- package/dist/core/compute-checksums.js +12 -3
- package/dist/core/compute-checksums.js.map +1 -1
- package/dist/core/context-budget.d.ts +9 -0
- package/dist/core/context-budget.d.ts.map +1 -0
- package/dist/core/context-budget.js +46 -0
- package/dist/core/context-budget.js.map +1 -0
- package/dist/core/event-log.d.ts +44 -0
- package/dist/core/event-log.d.ts.map +1 -0
- package/dist/core/event-log.js +169 -0
- package/dist/core/event-log.js.map +1 -0
- package/dist/core/evolution/event-clusters.d.ts +4 -0
- package/dist/core/evolution/event-clusters.d.ts.map +1 -0
- package/dist/core/evolution/event-clusters.js +82 -0
- package/dist/core/evolution/event-clusters.js.map +1 -0
- package/dist/core/evolution/recommendation-renderer.d.ts +3 -0
- package/dist/core/evolution/recommendation-renderer.d.ts.map +1 -0
- package/dist/core/evolution/recommendation-renderer.js +24 -0
- package/dist/core/evolution/recommendation-renderer.js.map +1 -0
- package/dist/core/evolution/review-failure-clusters.d.ts +10 -0
- package/dist/core/evolution/review-failure-clusters.d.ts.map +1 -0
- package/dist/core/evolution/review-failure-clusters.js +30 -0
- package/dist/core/evolution/review-failure-clusters.js.map +1 -0
- package/dist/core/evolution/suggestions.d.ts +24 -0
- package/dist/core/evolution/suggestions.d.ts.map +1 -0
- package/dist/core/evolution/suggestions.js +11 -0
- package/dist/core/evolution/suggestions.js.map +1 -0
- package/dist/core/file-lock.d.ts +3 -0
- package/dist/core/file-lock.d.ts.map +1 -0
- package/dist/core/file-lock.js +84 -0
- package/dist/core/file-lock.js.map +1 -0
- package/dist/core/gate-policy.d.ts +20 -0
- package/dist/core/gate-policy.d.ts.map +1 -0
- package/dist/core/gate-policy.js +64 -0
- package/dist/core/gate-policy.js.map +1 -0
- package/dist/core/harness-scaffold.d.ts +29 -0
- package/dist/core/harness-scaffold.d.ts.map +1 -0
- package/dist/core/harness-scaffold.js +53 -0
- package/dist/core/harness-scaffold.js.map +1 -0
- package/dist/core/hook-runner.d.ts +69 -0
- package/dist/core/hook-runner.d.ts.map +1 -0
- package/dist/core/hook-runner.js +95 -0
- package/dist/core/hook-runner.js.map +1 -0
- package/dist/core/index.d.ts +6 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +6 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/install-metadata-backref.d.ts +14 -0
- package/dist/core/install-metadata-backref.d.ts.map +1 -0
- package/dist/core/install-metadata-backref.js +39 -0
- package/dist/core/install-metadata-backref.js.map +1 -0
- package/dist/core/install-metadata-writer.d.ts +4 -0
- package/dist/core/install-metadata-writer.d.ts.map +1 -0
- package/dist/core/install-metadata-writer.js +31 -0
- package/dist/core/install-metadata-writer.js.map +1 -0
- package/dist/core/install-metadata.d.ts +173 -0
- package/dist/core/install-metadata.d.ts.map +1 -0
- package/dist/core/install-metadata.js +191 -0
- package/dist/core/install-metadata.js.map +1 -0
- package/dist/core/is-hook-script.d.ts +2 -0
- package/dist/core/is-hook-script.d.ts.map +1 -0
- package/dist/core/is-hook-script.js +45 -0
- package/dist/core/is-hook-script.js.map +1 -0
- package/dist/core/pack-manifest.d.ts +48 -0
- package/dist/core/pack-manifest.d.ts.map +1 -0
- package/dist/core/pack-manifest.js +126 -0
- package/dist/core/pack-manifest.js.map +1 -0
- package/dist/core/pack-resolver.d.ts +18 -0
- package/dist/core/pack-resolver.d.ts.map +1 -0
- package/dist/core/pack-resolver.js +144 -0
- package/dist/core/pack-resolver.js.map +1 -0
- package/dist/core/portability-matrix.d.ts +17 -0
- package/dist/core/portability-matrix.d.ts.map +1 -0
- package/dist/core/portability-matrix.js +31 -0
- package/dist/core/portability-matrix.js.map +1 -0
- package/dist/core/release-metadata.d.ts +80 -0
- package/dist/core/release-metadata.d.ts.map +1 -0
- package/dist/core/release-metadata.js +70 -0
- package/dist/core/release-metadata.js.map +1 -0
- package/dist/core/simulation-runner.d.ts +93 -0
- package/dist/core/simulation-runner.d.ts.map +1 -0
- package/dist/core/simulation-runner.js +161 -0
- package/dist/core/simulation-runner.js.map +1 -0
- package/dist/core/smart-update.d.ts +32 -0
- package/dist/core/smart-update.d.ts.map +1 -1
- package/dist/core/smart-update.js +239 -47
- package/dist/core/smart-update.js.map +1 -1
- package/dist/core/usage/usage-analyzer.d.ts +18 -0
- package/dist/core/usage/usage-analyzer.d.ts.map +1 -0
- package/dist/core/usage/usage-analyzer.js +41 -0
- package/dist/core/usage/usage-analyzer.js.map +1 -0
- package/dist/core/validate-install.d.ts.map +1 -1
- package/dist/core/validate-install.js +3 -1
- package/dist/core/validate-install.js.map +1 -1
- package/dist/index.js +175 -4
- package/dist/index.js.map +1 -1
- package/dist/memory/archive.d.ts +9 -0
- package/dist/memory/archive.d.ts.map +1 -0
- package/dist/memory/archive.js +42 -0
- package/dist/memory/archive.js.map +1 -0
- package/dist/memory/compact.d.ts +9 -0
- package/dist/memory/compact.d.ts.map +1 -0
- package/dist/memory/compact.js +33 -0
- package/dist/memory/compact.js.map +1 -0
- package/dist/memory/conflicts.d.ts +8 -0
- package/dist/memory/conflicts.d.ts.map +1 -0
- package/dist/memory/conflicts.js +28 -0
- package/dist/memory/conflicts.js.map +1 -0
- package/dist/memory/promote.d.ts +8 -0
- package/dist/memory/promote.d.ts.map +1 -0
- package/dist/memory/promote.js +10 -0
- package/dist/memory/promote.js.map +1 -0
- package/dist/memory/store-utils.d.ts +14 -0
- package/dist/memory/store-utils.d.ts.map +1 -0
- package/dist/memory/store-utils.js +44 -0
- package/dist/memory/store-utils.js.map +1 -0
- package/dist/migrate/migrate-orchestrator.d.ts.map +1 -1
- package/dist/migrate/migrate-orchestrator.js +6 -2
- package/dist/migrate/migrate-orchestrator.js.map +1 -1
- package/dist/migrate/portable-installer.d.ts +3 -0
- package/dist/migrate/portable-installer.d.ts.map +1 -1
- package/dist/migrate/portable-installer.js +3 -0
- package/dist/migrate/portable-installer.js.map +1 -1
- package/dist/migrate/reconcile/portable-registry-lock.d.ts.map +1 -1
- package/dist/migrate/reconcile/portable-registry-lock.js +6 -78
- package/dist/migrate/reconcile/portable-registry-lock.js.map +1 -1
- package/dist/migrate/reconcile/portable-registry.d.ts +24 -6
- package/dist/migrate/reconcile/portable-registry.d.ts.map +1 -1
- package/dist/migrate/reconcile/portable-registry.js +7 -1
- package/dist/migrate/reconcile/portable-registry.js.map +1 -1
- package/dist/migrate/skill-directory-installer.d.ts +2 -0
- package/dist/migrate/skill-directory-installer.d.ts.map +1 -1
- package/dist/migrate/skill-directory-installer.js +3 -0
- package/dist/migrate/skill-directory-installer.js.map +1 -1
- package/dist/migrate/types.d.ts +4 -4
- package/package.json +1 -1
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import pc from "picocolors";
|
|
4
|
+
import { buildInventory } from "../core/build-inventory.js";
|
|
5
|
+
import { checkStaleIndex, emitCounts } from "../core/check-stale-index.js";
|
|
6
|
+
import { readEvents } from "../core/event-log.js";
|
|
7
|
+
import { analyzeArtifactUsage, filterUnused } from "../core/usage/usage-analyzer.js";
|
|
8
|
+
function findClaudeDir() {
|
|
9
|
+
const candidate = path.join(process.cwd(), ".claude");
|
|
10
|
+
return fs.existsSync(candidate) && fs.statSync(candidate).isDirectory() ? candidate : null;
|
|
11
|
+
}
|
|
12
|
+
function applyFilter(entries, opts) {
|
|
13
|
+
let out = entries;
|
|
14
|
+
if (opts.stale)
|
|
15
|
+
out = out.filter((e) => e.status === "deprecated" || e.status === "experimental");
|
|
16
|
+
if (opts.critical)
|
|
17
|
+
out = out.filter((e) => e.criticality === "critical");
|
|
18
|
+
if (opts.portableMissing)
|
|
19
|
+
out = out.filter((e) => e.runtime !== "portable");
|
|
20
|
+
return out;
|
|
21
|
+
}
|
|
22
|
+
function pad(s, n) {
|
|
23
|
+
return s.length >= n ? s : s + " ".repeat(n - s.length);
|
|
24
|
+
}
|
|
25
|
+
function renderTable(entries) {
|
|
26
|
+
console.log(pc.bold(` ${pad("TYPE", 8)} ${pad("ID", 26)} ${pad("OWNER", 13)} ${pad("CRIT", 9)} ${pad("STATUS", 12)} RUNTIME`));
|
|
27
|
+
for (const e of entries) {
|
|
28
|
+
const crit = e.criticality === "critical"
|
|
29
|
+
? pc.red(pad(e.criticality, 9))
|
|
30
|
+
: e.criticality === "high"
|
|
31
|
+
? pc.yellow(pad(e.criticality, 9))
|
|
32
|
+
: pad(e.criticality, 9);
|
|
33
|
+
console.log(` ${pad(e.type, 8)} ${pad(e.id, 26)} ${pad(e.owner, 13)} ${crit} ${pad(e.status, 12)} ${e.runtime}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function renderUsage(entries, opts, claudeDir) {
|
|
37
|
+
const { events } = readEvents(claudeDir, { since: opts.since });
|
|
38
|
+
const report = analyzeArtifactUsage(entries, events);
|
|
39
|
+
if (opts.json) {
|
|
40
|
+
const threshold = opts.rarelyUsed ? (opts.threshold ?? 1) : 1;
|
|
41
|
+
console.log(JSON.stringify({ ...report, artifacts: filterUnused(report, threshold) }, null, 2));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
console.log(pc.bold(pc.cyan(opts.rarelyUsed ? "Rarely used artifacts" : "Unused artifacts")));
|
|
45
|
+
if (report.status === "na") {
|
|
46
|
+
console.log(pc.yellow(report.reason ?? "Usage tracking unavailable."));
|
|
47
|
+
console.log(pc.dim("Emit skill.invoked/agent.invoked events before pruning from usage."));
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const rows = filterUnused(report, opts.rarelyUsed ? (opts.threshold ?? 1) : 1);
|
|
51
|
+
if (rows.length === 0) {
|
|
52
|
+
console.log(pc.green("No artifacts matched the usage filter."));
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
for (const row of rows) {
|
|
56
|
+
console.log(` ${pc.cyan(String(row.count).padStart(4))} ${row.type}:${row.id}${row.lastSeen ? pc.dim(` last ${row.lastSeen}`) : ""}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export async function inventory(opts = {}) {
|
|
60
|
+
const claudeDir = findClaudeDir();
|
|
61
|
+
if (!claudeDir) {
|
|
62
|
+
console.error(pc.red("Could not find .claude/ directory in the current directory."));
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
const repoRoot = path.dirname(claudeDir);
|
|
66
|
+
if (opts.emitCounts) {
|
|
67
|
+
const changed = emitCounts(repoRoot);
|
|
68
|
+
if (changed.length === 0)
|
|
69
|
+
console.log(pc.dim("Counts already match the inventory — nothing to rewrite."));
|
|
70
|
+
else
|
|
71
|
+
console.log(`${pc.green("Updated count tokens in:")} ${changed.join(", ")}`);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (opts.check) {
|
|
75
|
+
const results = checkStaleIndex(repoRoot);
|
|
76
|
+
const fails = results.filter((r) => r.status === "fail");
|
|
77
|
+
console.log(pc.bold(pc.cyan("Stale-index check (README + indexes vs inventory)")));
|
|
78
|
+
for (const r of results) {
|
|
79
|
+
const icon = r.status === "fail" ? pc.red("FAIL") : pc.green("PASS");
|
|
80
|
+
console.log(` [${icon}] ${r.name}`);
|
|
81
|
+
if (r.status === "fail")
|
|
82
|
+
console.log(` ${pc.dim(r.detail)}`);
|
|
83
|
+
}
|
|
84
|
+
console.log();
|
|
85
|
+
if (fails.length > 0) {
|
|
86
|
+
console.log(pc.red(`${fails.length} drift/incompleteness issue(s). Run \`mewkit inventory --emit-counts\` for numbers; add missing rows by hand.`));
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
console.log(pc.green("Docs match the inventory."));
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const { entries, issues } = buildInventory(claudeDir);
|
|
93
|
+
if (opts.unused || opts.rarelyUsed) {
|
|
94
|
+
renderUsage(entries, opts, claudeDir);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const filtered = applyFilter(entries, opts);
|
|
98
|
+
if (opts.json) {
|
|
99
|
+
console.log(JSON.stringify(filtered, null, 2));
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const byType = (t) => entries.filter((e) => e.type === t).length;
|
|
103
|
+
console.log(pc.bold(pc.cyan("MeowKit harness inventory")));
|
|
104
|
+
console.log(pc.dim(`${entries.length} artifacts — ${byType("skill")} skills, ${byType("agent")} agents, ${byType("rule")} rules, ${byType("command")} commands, ${byType("hook")} hooks`));
|
|
105
|
+
console.log();
|
|
106
|
+
renderTable(filtered);
|
|
107
|
+
console.log();
|
|
108
|
+
console.log(pc.dim(`${filtered.length} shown`));
|
|
109
|
+
if (issues.length > 0) {
|
|
110
|
+
console.log();
|
|
111
|
+
console.log(pc.yellow(`${issues.length} metadata issue(s) — run \`mewkit validate --ownership\` for details.`));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=inventory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../src/commands/inventory.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,9 @@ interface MemoryArgs {
|
|
|
4
4
|
stats?: boolean;
|
|
5
5
|
strict?: boolean;
|
|
6
6
|
check?: boolean;
|
|
7
|
+
dryRun?: boolean;
|
|
8
|
+
yes?: boolean;
|
|
9
|
+
olderThan?: number;
|
|
7
10
|
}
|
|
8
11
|
export declare function findMemoryDir(startDir?: string): string | null;
|
|
9
12
|
export declare function memory(args: MemoryArgs): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"AAYA,UAAU,UAAU;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAWD,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkB9D;AAiUD,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC5D"}
|
package/dist/commands/memory.js
CHANGED
|
@@ -5,6 +5,10 @@ import pc from "picocolors";
|
|
|
5
5
|
import { validateMemory } from "../memory/validate.js";
|
|
6
6
|
import { seedFromMd } from "../memory/seed-from-md.js";
|
|
7
7
|
import { renderViews } from "../memory/render-views.js";
|
|
8
|
+
import { compactMemory } from "../memory/compact.js";
|
|
9
|
+
import { archiveMemory } from "../memory/archive.js";
|
|
10
|
+
import { findMemoryConflicts } from "../memory/conflicts.js";
|
|
11
|
+
import { memoryPromotionCandidates } from "../memory/promote.js";
|
|
8
12
|
// Walks up at most 5 levels, stopping at a project root sentinel (CLAUDE.md or
|
|
9
13
|
// .claude/settings.json) so `mewkit memory --clear` can't reach a parent
|
|
10
14
|
// project's memory. Accepts optional startDir for testability; defaults to
|
|
@@ -263,6 +267,57 @@ function renderViewsCmd(memoryDir, check, strict) {
|
|
|
263
267
|
process.exit(1);
|
|
264
268
|
}
|
|
265
269
|
}
|
|
270
|
+
async function confirmMemoryWrite(action, dryRun, yes) {
|
|
271
|
+
if (dryRun || yes)
|
|
272
|
+
return true;
|
|
273
|
+
return promptConfirmation(pc.yellow(`${action} will modify canonical memory JSON. Continue? (y/N) `));
|
|
274
|
+
}
|
|
275
|
+
async function compactCmd(memoryDir, dryRun, yes) {
|
|
276
|
+
if (!(await confirmMemoryWrite("Memory compaction", dryRun, yes))) {
|
|
277
|
+
console.log(pc.dim("Aborted."));
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
const results = compactMemory(memoryDir, { dryRun });
|
|
281
|
+
for (const r of results) {
|
|
282
|
+
console.log(` ${pc.dim(`${r.file}:`.padEnd(28))} ${r.removed > 0 ? pc.yellow(`${r.removed} duplicate(s)`) : pc.green("no duplicates")}${r.wrote ? pc.dim(" wrote") : ""}`);
|
|
283
|
+
}
|
|
284
|
+
console.log(pc.dim(dryRun ? "Dry run — no files changed." : "Compaction complete."));
|
|
285
|
+
}
|
|
286
|
+
function conflictsCmd(memoryDir) {
|
|
287
|
+
const conflicts = findMemoryConflicts(memoryDir);
|
|
288
|
+
if (conflicts.length === 0) {
|
|
289
|
+
console.log(pc.green("No memory conflicts detected."));
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
for (const c of conflicts) {
|
|
293
|
+
console.log(` ${pc.yellow(c.store)} ${c.key}`);
|
|
294
|
+
console.log(` ${c.reason}: ${c.ids.join(", ")}`);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
async function archiveCmd(memoryDir, olderThan, dryRun, yes) {
|
|
298
|
+
if (!(await confirmMemoryWrite("Memory archive", dryRun, yes))) {
|
|
299
|
+
console.log(pc.dim("Aborted."));
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
const results = archiveMemory(memoryDir, olderThan, { dryRun });
|
|
303
|
+
for (const r of results) {
|
|
304
|
+
console.log(` ${pc.dim(`${r.file}:`.padEnd(28))} ${r.archived > 0 ? pc.yellow(`${r.archived} old entr${r.archived === 1 ? "y" : "ies"}`) : pc.green("none")}${r.wrote ? pc.dim(" wrote") : ""}`);
|
|
305
|
+
}
|
|
306
|
+
console.log(pc.dim(dryRun ? "Dry run — no files changed." : "Archive complete."));
|
|
307
|
+
}
|
|
308
|
+
function promoteCmd(memoryDir) {
|
|
309
|
+
const candidates = memoryPromotionCandidates(memoryDir);
|
|
310
|
+
if (candidates.length === 0) {
|
|
311
|
+
console.log(pc.green("No promotion candidates found."));
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
for (const c of candidates) {
|
|
315
|
+
console.log(`${pc.bold(c.title)} ${pc.dim(c.source)}`);
|
|
316
|
+
console.log(` ${c.reason}`);
|
|
317
|
+
console.log(` proposed: ${c.proposedAction}`);
|
|
318
|
+
}
|
|
319
|
+
console.log(pc.dim("Candidate report only — no rules or skills were changed."));
|
|
320
|
+
}
|
|
266
321
|
export async function memory(args) {
|
|
267
322
|
console.log(pc.bold(pc.cyan("Agent Memory")));
|
|
268
323
|
console.log();
|
|
@@ -282,6 +337,18 @@ export async function memory(args) {
|
|
|
282
337
|
else if (args.subcommand === "render-views") {
|
|
283
338
|
renderViewsCmd(memoryDir, args.check ?? false, args.strict ?? false);
|
|
284
339
|
}
|
|
340
|
+
else if (args.subcommand === "compact") {
|
|
341
|
+
await compactCmd(memoryDir, args.dryRun !== false, args.yes);
|
|
342
|
+
}
|
|
343
|
+
else if (args.subcommand === "conflicts") {
|
|
344
|
+
conflictsCmd(memoryDir);
|
|
345
|
+
}
|
|
346
|
+
else if (args.subcommand === "archive") {
|
|
347
|
+
await archiveCmd(memoryDir, args.olderThan ?? 90, args.dryRun !== false, args.yes);
|
|
348
|
+
}
|
|
349
|
+
else if (args.subcommand === "promote") {
|
|
350
|
+
promoteCmd(memoryDir);
|
|
351
|
+
}
|
|
285
352
|
else if (args.clear) {
|
|
286
353
|
await clearMemory(memoryDir);
|
|
287
354
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { CorruptInstallMetadataError, type InstallFileEntry, type InstallMetadata, type PackManifest, type ReleaseInfo } from "../core/index.js";
|
|
2
|
+
export interface InstalledState {
|
|
3
|
+
meta: InstallMetadata | null;
|
|
4
|
+
/** Installed pack names (incl. base). `undefined` packs ⇒ full ⇒ every pack. */
|
|
5
|
+
installedPacks: string[];
|
|
6
|
+
/** Whether this is a full/legacy install (packs sentinel undefined). */
|
|
7
|
+
isFull: boolean;
|
|
8
|
+
}
|
|
9
|
+
/** Read installed packs; a corrupt metadata.json surfaces as a thrown error to the caller. */
|
|
10
|
+
export declare function readInstalledState(claudeDir: string, manifest: PackManifest): InstalledState;
|
|
11
|
+
/** Extract every `.claude/`-relative path referenced inside settings.json command strings. */
|
|
12
|
+
export declare function settingsReferencedPaths(claudeDir: string): Set<string>;
|
|
13
|
+
/** Pick the release matching the installed version, falling back to latest stable. */
|
|
14
|
+
export declare function pickInstallRelease(version: string | undefined): Promise<ReleaseInfo | null>;
|
|
15
|
+
/**
|
|
16
|
+
* Rebuild canonical metadata by scanning the current `.claude/` and recording the
|
|
17
|
+
* next pack list. Full rebuild (not a surgical `files` patch) so stale entries
|
|
18
|
+
* can't corrupt a future upgrade hash-compare. `priorEntriesByPath` preserves the
|
|
19
|
+
* as-shipped `baseChecksum` for surviving files.
|
|
20
|
+
*/
|
|
21
|
+
export declare function rebuildMetadata(claudeDir: string, prior: InstallMetadata | null, nextPacks: string[] | undefined): Promise<void>;
|
|
22
|
+
export interface RemovalPlan {
|
|
23
|
+
/** Pristine, pack-exclusive, kit-owned paths safe to delete. */
|
|
24
|
+
deletable: string[];
|
|
25
|
+
/** Paths kept because shared/base/settings-referenced or user-modified. */
|
|
26
|
+
preserved: string[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Decide which files a `pack remove` may delete. A file is deletable only when it
|
|
30
|
+
* is in a target pack's members AND NOT in base, AND NOT in any surviving installed
|
|
31
|
+
* pack, AND NOT referenced by settings.json, AND it is kit-owned + pristine on disk.
|
|
32
|
+
* Membership is resolved from the on-disk inventory, so dual-homed artifacts and
|
|
33
|
+
* base-covered hooks survive automatically.
|
|
34
|
+
*/
|
|
35
|
+
export declare function computeRemovablePaths(claudeDir: string, manifest: PackManifest, installedNonBase: string[], requested: string[], metaFiles: InstallFileEntry[]): RemovalPlan;
|
|
36
|
+
export { CorruptInstallMetadataError };
|
|
37
|
+
//# sourceMappingURL=pack-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack-helpers.d.ts","sourceRoot":"","sources":["../../src/commands/pack-helpers.ts"],"names":[],"mappings":"AAKA,OAAO,EAIN,2BAA2B,EAM3B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7B,gFAAgF;IAChF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,wEAAwE;IACxE,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,cAAc,CAQ5F;AAED,8FAA8F;AAC9F,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CActE;AAED,sFAAsF;AACtF,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAOjG;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACpC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,eAAe,GAAG,IAAI,EAC7B,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,GAC7B,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,MAAM,WAAW,WAAW;IAC3B,gEAAgE;IAChE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,gBAAgB,EAAE,GAC3B,WAAW,CA8Bb;AAED,OAAO,EAAE,2BAA2B,EAAE,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// Shared helpers for the `pack` command: installed-state reads, settings.json
|
|
2
|
+
// hook-reference extraction (so remove never breaks an append-only invocation),
|
|
3
|
+
// release selection, and crash-safe metadata rebuild.
|
|
4
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
5
|
+
import { join } from "node:path";
|
|
6
|
+
import { availablePacks, BASE_PACK, buildInstallMetadata, CorruptInstallMetadataError, fetchReleases, hashFile, indexByPath, readInstallMetadata, resolvePacksDetailed, } from "../core/index.js";
|
|
7
|
+
import { writeInstallMetadata } from "../core/install-metadata-writer.js";
|
|
8
|
+
/** Read installed packs; a corrupt metadata.json surfaces as a thrown error to the caller. */
|
|
9
|
+
export function readInstalledState(claudeDir, manifest) {
|
|
10
|
+
const { meta } = readInstallMetadata(claudeDir);
|
|
11
|
+
const declared = meta?.packs;
|
|
12
|
+
const isFull = !declared;
|
|
13
|
+
const installedPacks = declared
|
|
14
|
+
? [...new Set([BASE_PACK, ...declared])]
|
|
15
|
+
: [BASE_PACK, ...availablePacks(manifest)];
|
|
16
|
+
return { meta, installedPacks, isFull };
|
|
17
|
+
}
|
|
18
|
+
/** Extract every `.claude/`-relative path referenced inside settings.json command strings. */
|
|
19
|
+
export function settingsReferencedPaths(claudeDir) {
|
|
20
|
+
const out = new Set();
|
|
21
|
+
const sp = join(claudeDir, "settings.json");
|
|
22
|
+
if (!existsSync(sp))
|
|
23
|
+
return out;
|
|
24
|
+
let txt;
|
|
25
|
+
try {
|
|
26
|
+
txt = readFileSync(sp, "utf-8");
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return out;
|
|
30
|
+
}
|
|
31
|
+
const re = /\.claude\/([A-Za-z0-9_./-]+)/g;
|
|
32
|
+
let m;
|
|
33
|
+
while ((m = re.exec(txt)) !== null)
|
|
34
|
+
out.add(m[1]);
|
|
35
|
+
return out;
|
|
36
|
+
}
|
|
37
|
+
/** Pick the release matching the installed version, falling back to latest stable. */
|
|
38
|
+
export async function pickInstallRelease(version) {
|
|
39
|
+
const releases = await fetchReleases();
|
|
40
|
+
if (version) {
|
|
41
|
+
const exact = releases.find((r) => r.version === version);
|
|
42
|
+
if (exact)
|
|
43
|
+
return exact;
|
|
44
|
+
}
|
|
45
|
+
return releases.find((r) => !r.isBeta) ?? releases[0] ?? null;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Rebuild canonical metadata by scanning the current `.claude/` and recording the
|
|
49
|
+
* next pack list. Full rebuild (not a surgical `files` patch) so stale entries
|
|
50
|
+
* can't corrupt a future upgrade hash-compare. `priorEntriesByPath` preserves the
|
|
51
|
+
* as-shipped `baseChecksum` for surviving files.
|
|
52
|
+
*/
|
|
53
|
+
export async function rebuildMetadata(claudeDir, prior, nextPacks) {
|
|
54
|
+
const meta = buildInstallMetadata(claudeDir, {
|
|
55
|
+
version: prior?.version ?? "unknown",
|
|
56
|
+
priorEntriesByPath: indexByPath(prior?.files ?? []),
|
|
57
|
+
scope: prior?.scope ?? "local",
|
|
58
|
+
mergedSettings: prior?.settings?.merged,
|
|
59
|
+
profile: prior?.profile,
|
|
60
|
+
packs: nextPacks,
|
|
61
|
+
});
|
|
62
|
+
await writeInstallMetadata(claudeDir, meta);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Decide which files a `pack remove` may delete. A file is deletable only when it
|
|
66
|
+
* is in a target pack's members AND NOT in base, AND NOT in any surviving installed
|
|
67
|
+
* pack, AND NOT referenced by settings.json, AND it is kit-owned + pristine on disk.
|
|
68
|
+
* Membership is resolved from the on-disk inventory, so dual-homed artifacts and
|
|
69
|
+
* base-covered hooks survive automatically.
|
|
70
|
+
*/
|
|
71
|
+
export function computeRemovablePaths(claudeDir, manifest, installedNonBase, requested, metaFiles) {
|
|
72
|
+
const detailed = resolvePacksDetailed(claudeDir, manifest, installedNonBase);
|
|
73
|
+
const removeSet = new Set(requested);
|
|
74
|
+
const surviving = installedNonBase.filter((n) => !removeSet.has(n));
|
|
75
|
+
const keep = new Set(detailed.packMembership.get(BASE_PACK) ?? []);
|
|
76
|
+
for (const sp of surviving)
|
|
77
|
+
for (const pth of detailed.packMembership.get(sp) ?? [])
|
|
78
|
+
keep.add(pth);
|
|
79
|
+
for (const ref of settingsReferencedPaths(claudeDir))
|
|
80
|
+
keep.add(ref);
|
|
81
|
+
const byPath = indexByPath(metaFiles);
|
|
82
|
+
const deletable = [];
|
|
83
|
+
const preserved = [];
|
|
84
|
+
for (const target of requested) {
|
|
85
|
+
for (const pth of detailed.packMembership.get(target) ?? []) {
|
|
86
|
+
if (keep.has(pth)) {
|
|
87
|
+
// shared with base/another installed pack, or settings.json-referenced
|
|
88
|
+
preserved.push(pth);
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
const dest = join(claudeDir, pth);
|
|
92
|
+
if (!existsSync(dest))
|
|
93
|
+
continue;
|
|
94
|
+
const entry = byPath[pth];
|
|
95
|
+
if (!entry || entry.owner !== "meowkit" || hashFile(dest) !== entry.checksum) {
|
|
96
|
+
preserved.push(pth);
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
deletable.push(pth);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return { deletable, preserved };
|
|
103
|
+
}
|
|
104
|
+
export { CorruptInstallMetadataError };
|
|
105
|
+
//# sourceMappingURL=pack-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack-helpers.js","sourceRoot":"","sources":["../../src/commands/pack-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface PackArgs {
|
|
2
|
+
subcommand?: string;
|
|
3
|
+
packs: string[];
|
|
4
|
+
json?: boolean;
|
|
5
|
+
yes?: boolean;
|
|
6
|
+
beta?: boolean;
|
|
7
|
+
since?: string;
|
|
8
|
+
threshold?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function pack(args: PackArgs): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=pack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,QAAQ;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD,wBAAsB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCxD"}
|