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
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import pc from "picocolors";
|
|
|
7
7
|
import { init } from "./commands/init.js";
|
|
8
8
|
import { upgrade } from "./commands/upgrade.js";
|
|
9
9
|
import { validate } from "./commands/validate.js";
|
|
10
|
-
import { budget } from "./commands/budget.js";
|
|
10
|
+
import { budget, contextBudget } from "./commands/budget.js";
|
|
11
11
|
import { memory } from "./commands/memory.js";
|
|
12
12
|
import { verdictGate } from "./commands/verdict-gate.js";
|
|
13
13
|
import { doctor } from "./commands/doctor.js";
|
|
@@ -15,6 +15,14 @@ import { migrate } from "./commands/migrate.js";
|
|
|
15
15
|
import { setup } from "./commands/setup.js";
|
|
16
16
|
import { task } from "./commands/task.js";
|
|
17
17
|
import { orchviz } from "./commands/orchviz.js";
|
|
18
|
+
import { inventory } from "./commands/inventory.js";
|
|
19
|
+
import { pack } from "./commands/pack.js";
|
|
20
|
+
import { reflect } from "./commands/reflect.js";
|
|
21
|
+
import { health } from "./commands/health.js";
|
|
22
|
+
import { simulate } from "./commands/simulate.js";
|
|
23
|
+
import { evolve } from "./commands/evolve.js";
|
|
24
|
+
import { portability } from "./commands/portability.js";
|
|
25
|
+
import { policy } from "./commands/policy.js";
|
|
18
26
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
19
27
|
const pkgJson = JSON.parse(fs.readFileSync(join(__dirname, "..", "package.json"), "utf-8"));
|
|
20
28
|
const VERSION = pkgJson.version;
|
|
@@ -29,7 +37,7 @@ ${pc.bold("Commands:")}
|
|
|
29
37
|
${pc.green("init")} Scaffold or update MeowKit in the current project
|
|
30
38
|
${pc.green("upgrade")} Upgrade MeowKit to the latest version
|
|
31
39
|
${pc.green("validate")} Validate .claude/ project structure
|
|
32
|
-
${pc.green("budget")} View token usage and cost log
|
|
40
|
+
${pc.green("budget")} View token usage and cost log ('budget context' for per-profile size)
|
|
33
41
|
${pc.green("memory")} Manage agent memory (lessons & patterns)
|
|
34
42
|
${pc.green("setup")} Guided post-scaffold configuration
|
|
35
43
|
${pc.green("doctor")} Diagnose common environment issues
|
|
@@ -37,6 +45,14 @@ ${pc.bold("Commands:")}
|
|
|
37
45
|
${pc.green("task")} Create and list task files (new, list)
|
|
38
46
|
${pc.green("migrate")} Export MeowKit to external coding-agent tools (cursor, codex, ...)
|
|
39
47
|
${pc.green("orchviz")} Live web visualizer for the active Claude Code session
|
|
48
|
+
${pc.green("inventory")} List harness artifacts with governance metadata
|
|
49
|
+
${pc.green("pack")} Manage install packs (list, add, remove)
|
|
50
|
+
${pc.green("reflect")} Retrospective over the event log (gate blocks, hook failures, reviews)
|
|
51
|
+
${pc.green("health")} Harness control panel: gates, budget, memory, portability, failures
|
|
52
|
+
${pc.green("simulate")} Run declarative given→when→expect gate scenarios against a temp harness
|
|
53
|
+
${pc.green("evolve")} Proposal-only harness evolution suggestions from event evidence
|
|
54
|
+
${pc.green("portability")} Provider capability matrix and coverage
|
|
55
|
+
${pc.green("policy")} Explain or set gate policy profiles
|
|
40
56
|
|
|
41
57
|
${pc.bold("Options:")}
|
|
42
58
|
--help, -h Show help
|
|
@@ -45,7 +61,36 @@ ${pc.bold("Options:")}
|
|
|
45
61
|
--day [date] Budget: filter to today or a specific YYYY-MM-DD
|
|
46
62
|
--providers Doctor/migrate: include provider contract diagnostics
|
|
47
63
|
--state Doctor: include state taxonomy diagnostics
|
|
64
|
+
--hard-gates Doctor: live-probe the hard gates (plan/privacy/injection block)
|
|
48
65
|
--portable Validate: include portable provider contract checks
|
|
66
|
+
--strict Validate: treat WARN as failure (exit 1); off by default
|
|
67
|
+
--workflow Validate: run only the workflow.yaml drift-check (CI scope)
|
|
68
|
+
--ownership Validate: run only the artifact ownership-completeness check
|
|
69
|
+
--packs Validate: run only the pack-manifest coherence + safety check
|
|
70
|
+
--fail-over <N> Budget context: exit non-zero when a profile exceeds N tokens
|
|
71
|
+
--json Inventory: emit the inventory as JSON
|
|
72
|
+
--stale Inventory: show only deprecated/experimental artifacts
|
|
73
|
+
--critical Inventory: show only criticality=critical artifacts
|
|
74
|
+
--portable-missing Inventory: show artifacts whose runtime is not portable
|
|
75
|
+
--check Inventory: fail if README/index counts drift from reality
|
|
76
|
+
--emit-counts Inventory: rewrite README/index count numbers to match reality
|
|
77
|
+
--unused Inventory: show artifacts with no usage evidence (N/A until emitters exist)
|
|
78
|
+
--rarely-used Inventory: show artifacts below --threshold
|
|
79
|
+
--threshold <N> Inventory: rarely-used count threshold (default 1)
|
|
80
|
+
--since <Nd|Nh> Inventory/pack: usage lookback window
|
|
81
|
+
--last <Nd|Nh> Reflect/health: limit to the last N days/hours of events
|
|
82
|
+
--kind <name> Evolve: filter suggestions by kind
|
|
83
|
+
--min-confidence <N> Evolve: minimum confidence 0..1
|
|
84
|
+
--out <path> Evolve report: write markdown/json report to path
|
|
85
|
+
--task <id> Reflect: filter to events whose data.task matches (workflow events
|
|
86
|
+
only — gate/privacy/hook events are not task-tagged today)
|
|
87
|
+
--scenario <n> Simulate: run a single named scenario
|
|
88
|
+
--all Simulate: run every scenario in .claude/simulations/
|
|
89
|
+
--allow-skip Simulate: treat SKIP as non-failing (default: SKIP fails --all)
|
|
90
|
+
|
|
91
|
+
${pc.bold("Init flags:")}
|
|
92
|
+
--profile <name> Install a subset: core|developer|product|atlassian|security|research|full
|
|
93
|
+
(default full). In update mode, trims an install down to the profile.
|
|
49
94
|
|
|
50
95
|
${pc.bold("Init flags for post-init migration:")}
|
|
51
96
|
--migrate After unpack, prompt for providers to export to (interactive)
|
|
@@ -94,6 +139,7 @@ async function main() {
|
|
|
94
139
|
"report",
|
|
95
140
|
"providers",
|
|
96
141
|
"state",
|
|
142
|
+
"hard-gates",
|
|
97
143
|
"portable",
|
|
98
144
|
"all",
|
|
99
145
|
"dry-run",
|
|
@@ -115,6 +161,17 @@ async function main() {
|
|
|
115
161
|
"no-open",
|
|
116
162
|
"no-color",
|
|
117
163
|
"verbose",
|
|
164
|
+
"workflow",
|
|
165
|
+
"ownership",
|
|
166
|
+
"json",
|
|
167
|
+
"stale",
|
|
168
|
+
"critical",
|
|
169
|
+
"portable-missing",
|
|
170
|
+
"emit-counts",
|
|
171
|
+
"packs",
|
|
172
|
+
"allow-skip",
|
|
173
|
+
"unused",
|
|
174
|
+
"rarely-used",
|
|
118
175
|
],
|
|
119
176
|
string: [
|
|
120
177
|
"only",
|
|
@@ -129,6 +186,17 @@ async function main() {
|
|
|
129
186
|
"day",
|
|
130
187
|
"workspace",
|
|
131
188
|
"log",
|
|
189
|
+
"profile",
|
|
190
|
+
"fail-over",
|
|
191
|
+
"last",
|
|
192
|
+
"task",
|
|
193
|
+
"scenario",
|
|
194
|
+
"since",
|
|
195
|
+
"threshold",
|
|
196
|
+
"kind",
|
|
197
|
+
"min-confidence",
|
|
198
|
+
"out",
|
|
199
|
+
"older-than",
|
|
132
200
|
],
|
|
133
201
|
alias: { h: "help", v: "version", y: "yes" },
|
|
134
202
|
});
|
|
@@ -150,6 +218,7 @@ async function main() {
|
|
|
150
218
|
migrate: args.migrate,
|
|
151
219
|
migrateTo: args["migrate-to"],
|
|
152
220
|
migrateGlobal: args["migrate-global"],
|
|
221
|
+
profile: args.profile,
|
|
153
222
|
});
|
|
154
223
|
break;
|
|
155
224
|
case "upgrade":
|
|
@@ -162,15 +231,66 @@ async function main() {
|
|
|
162
231
|
});
|
|
163
232
|
break;
|
|
164
233
|
case "validate":
|
|
165
|
-
await validate({
|
|
234
|
+
await validate({
|
|
235
|
+
portable: args.portable,
|
|
236
|
+
strict: args.strict,
|
|
237
|
+
workflow: args.workflow,
|
|
238
|
+
ownership: args.ownership,
|
|
239
|
+
packs: args.packs,
|
|
240
|
+
});
|
|
241
|
+
break;
|
|
242
|
+
case "pack":
|
|
243
|
+
await pack({
|
|
244
|
+
subcommand: args._[1],
|
|
245
|
+
packs: args._.slice(2).map(String),
|
|
246
|
+
json: args.json,
|
|
247
|
+
yes: args.yes,
|
|
248
|
+
beta: args.beta,
|
|
249
|
+
since: args.since,
|
|
250
|
+
threshold: args.threshold ? Number(args.threshold) : undefined,
|
|
251
|
+
});
|
|
166
252
|
break;
|
|
167
|
-
case "
|
|
253
|
+
case "inventory":
|
|
254
|
+
await inventory({
|
|
255
|
+
json: args.json,
|
|
256
|
+
stale: args.stale,
|
|
257
|
+
critical: args.critical,
|
|
258
|
+
portableMissing: args["portable-missing"],
|
|
259
|
+
check: args.check,
|
|
260
|
+
emitCounts: args["emit-counts"],
|
|
261
|
+
unused: args.unused,
|
|
262
|
+
rarelyUsed: args["rarely-used"],
|
|
263
|
+
since: args.since,
|
|
264
|
+
threshold: args.threshold ? Number(args.threshold) : undefined,
|
|
265
|
+
});
|
|
266
|
+
break;
|
|
267
|
+
case "budget": {
|
|
268
|
+
// `budget context` routes to the per-profile context estimator (positional,
|
|
269
|
+
// not a flag — minimist parses it as args._[1]).
|
|
270
|
+
if (args._[1] === "context") {
|
|
271
|
+
const failOverRaw = args["fail-over"];
|
|
272
|
+
let failOver;
|
|
273
|
+
if (failOverRaw !== undefined) {
|
|
274
|
+
failOver = Number(failOverRaw);
|
|
275
|
+
if (!Number.isFinite(failOver)) {
|
|
276
|
+
console.error(pc.red(`Invalid --fail-over value: ${String(failOverRaw)} (expected a number)`));
|
|
277
|
+
process.exit(2);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
contextBudget({
|
|
281
|
+
profile: args.profile,
|
|
282
|
+
failOver,
|
|
283
|
+
json: args.json,
|
|
284
|
+
});
|
|
285
|
+
break;
|
|
286
|
+
}
|
|
168
287
|
await budget({
|
|
169
288
|
monthly: args.monthly,
|
|
170
289
|
session: args.session,
|
|
171
290
|
day: args.day,
|
|
172
291
|
});
|
|
173
292
|
break;
|
|
293
|
+
}
|
|
174
294
|
case "memory":
|
|
175
295
|
await memory({
|
|
176
296
|
subcommand: args._[1],
|
|
@@ -178,6 +298,9 @@ async function main() {
|
|
|
178
298
|
stats: args.stats,
|
|
179
299
|
strict: args.strict,
|
|
180
300
|
check: args.check,
|
|
301
|
+
dryRun: args["dry-run"] === true ? true : args.yes ? false : true,
|
|
302
|
+
yes: args.yes,
|
|
303
|
+
olderThan: args["older-than"] ? Number(args["older-than"]) : undefined,
|
|
181
304
|
});
|
|
182
305
|
break;
|
|
183
306
|
case "verdict-gate":
|
|
@@ -191,6 +314,54 @@ async function main() {
|
|
|
191
314
|
report: args.report,
|
|
192
315
|
providers: args.providers,
|
|
193
316
|
state: args.state,
|
|
317
|
+
hardGates: args["hard-gates"],
|
|
318
|
+
});
|
|
319
|
+
break;
|
|
320
|
+
case "reflect":
|
|
321
|
+
reflect({
|
|
322
|
+
last: args.last,
|
|
323
|
+
task: args.task,
|
|
324
|
+
json: args.json,
|
|
325
|
+
});
|
|
326
|
+
break;
|
|
327
|
+
case "health":
|
|
328
|
+
await health({
|
|
329
|
+
last: args.last,
|
|
330
|
+
json: args.json,
|
|
331
|
+
});
|
|
332
|
+
break;
|
|
333
|
+
case "simulate":
|
|
334
|
+
await simulate({
|
|
335
|
+
scenario: args.scenario,
|
|
336
|
+
all: args.all,
|
|
337
|
+
json: args.json,
|
|
338
|
+
allowSkip: args["allow-skip"],
|
|
339
|
+
});
|
|
340
|
+
break;
|
|
341
|
+
case "evolve":
|
|
342
|
+
evolve({
|
|
343
|
+
subcommand: args._[1],
|
|
344
|
+
json: args.json,
|
|
345
|
+
last: args.last,
|
|
346
|
+
task: args.task,
|
|
347
|
+
kind: args.kind,
|
|
348
|
+
minConfidence: args["min-confidence"] ? Number(args["min-confidence"]) : undefined,
|
|
349
|
+
out: args.out,
|
|
350
|
+
});
|
|
351
|
+
break;
|
|
352
|
+
case "portability":
|
|
353
|
+
portability({
|
|
354
|
+
subcommand: args._[1],
|
|
355
|
+
provider: args._[2],
|
|
356
|
+
json: args.json,
|
|
357
|
+
});
|
|
358
|
+
break;
|
|
359
|
+
case "policy":
|
|
360
|
+
await policy({
|
|
361
|
+
subcommand: args._[1],
|
|
362
|
+
profile: args._[2],
|
|
363
|
+
json: args.json,
|
|
364
|
+
yes: args.yes,
|
|
194
365
|
});
|
|
195
366
|
break;
|
|
196
367
|
case "status":
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface ArchiveResult {
|
|
2
|
+
file: string;
|
|
3
|
+
archived: number;
|
|
4
|
+
wrote: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function archiveMemory(memoryDir: string, olderThanDays: number, opts?: {
|
|
7
|
+
dryRun?: boolean;
|
|
8
|
+
}): ArchiveResult[];
|
|
9
|
+
//# sourceMappingURL=archive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/memory/archive.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CACf;AAYD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,aAAa,EAAE,CAyBxH"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { renderViews } from "./render-views.js";
|
|
4
|
+
import { entryDate, loadStores } from "./store-utils.js";
|
|
5
|
+
function cutoffMs(days) {
|
|
6
|
+
return Date.now() - days * 86_400_000;
|
|
7
|
+
}
|
|
8
|
+
function atomicWrite(file, data) {
|
|
9
|
+
const tmp = `${file}.tmp`;
|
|
10
|
+
fs.writeFileSync(tmp, data, "utf-8");
|
|
11
|
+
fs.renameSync(tmp, file);
|
|
12
|
+
}
|
|
13
|
+
export function archiveMemory(memoryDir, olderThanDays, opts = {}) {
|
|
14
|
+
const cutoff = cutoffMs(olderThanDays);
|
|
15
|
+
const archiveDir = path.join(memoryDir, "archive");
|
|
16
|
+
const results = [];
|
|
17
|
+
for (const store of loadStores(memoryDir)) {
|
|
18
|
+
const keep = [];
|
|
19
|
+
const archive = [];
|
|
20
|
+
for (const item of store.items) {
|
|
21
|
+
const date = entryDate(item);
|
|
22
|
+
if (date && Date.parse(date) < cutoff)
|
|
23
|
+
archive.push({ ...item, archivedAt: new Date().toISOString() });
|
|
24
|
+
else
|
|
25
|
+
keep.push(item);
|
|
26
|
+
}
|
|
27
|
+
if (archive.length > 0 && !opts.dryRun) {
|
|
28
|
+
fs.mkdirSync(archiveDir, { recursive: true });
|
|
29
|
+
store.data[store.itemsKey] = keep;
|
|
30
|
+
atomicWrite(path.join(memoryDir, store.file), `${JSON.stringify(store.data, null, 2)}\n`);
|
|
31
|
+
const archivePath = path.join(archiveDir, store.file);
|
|
32
|
+
const prior = fs.existsSync(archivePath) ? JSON.parse(fs.readFileSync(archivePath, "utf-8")) : { archived: [] };
|
|
33
|
+
const archived = Array.isArray(prior.archived) ? prior.archived : [];
|
|
34
|
+
atomicWrite(archivePath, `${JSON.stringify({ ...prior, archived: [...archived, ...archive] }, null, 2)}\n`);
|
|
35
|
+
}
|
|
36
|
+
results.push({ file: store.file, archived: archive.length, wrote: archive.length > 0 && !opts.dryRun });
|
|
37
|
+
}
|
|
38
|
+
if (!opts.dryRun)
|
|
39
|
+
renderViews(memoryDir, { check: false });
|
|
40
|
+
return results;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=archive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/memory/archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../src/memory/compact.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CACf;AAQD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,aAAa,EAAE,CAoBjG"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { renderViews } from "./render-views.js";
|
|
4
|
+
import { loadStores } from "./store-utils.js";
|
|
5
|
+
function atomicWrite(file, data) {
|
|
6
|
+
const tmp = `${file}.tmp`;
|
|
7
|
+
fs.writeFileSync(tmp, data, "utf-8");
|
|
8
|
+
fs.renameSync(tmp, file);
|
|
9
|
+
}
|
|
10
|
+
export function compactMemory(memoryDir, opts = {}) {
|
|
11
|
+
const results = [];
|
|
12
|
+
for (const store of loadStores(memoryDir)) {
|
|
13
|
+
const seen = new Set();
|
|
14
|
+
const compacted = [];
|
|
15
|
+
for (const item of store.items) {
|
|
16
|
+
const key = JSON.stringify(item);
|
|
17
|
+
if (seen.has(key))
|
|
18
|
+
continue;
|
|
19
|
+
seen.add(key);
|
|
20
|
+
compacted.push(item);
|
|
21
|
+
}
|
|
22
|
+
const removed = store.items.length - compacted.length;
|
|
23
|
+
if (removed > 0 && !opts.dryRun) {
|
|
24
|
+
store.data[store.itemsKey] = compacted;
|
|
25
|
+
atomicWrite(path.join(memoryDir, store.file), `${JSON.stringify(store.data, null, 2)}\n`);
|
|
26
|
+
}
|
|
27
|
+
results.push({ file: store.file, removed, wrote: removed > 0 && !opts.dryRun });
|
|
28
|
+
}
|
|
29
|
+
if (!opts.dryRun)
|
|
30
|
+
renderViews(memoryDir, { check: false });
|
|
31
|
+
return results;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=compact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/memory/compact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQ9C,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY;IAC9C,MAAM,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC;IAC1B,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,OAA6B,EAAE;IAC/E,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,SAAS,GAAmC,EAAE,CAAC;QACrD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QACtD,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;YACvC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,WAAW,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflicts.d.ts","sourceRoot":"","sources":["../../src/memory/conflicts.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAwBvE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { entryId, entryTitle, loadStores } from "./store-utils.js";
|
|
2
|
+
export function findMemoryConflicts(memoryDir) {
|
|
3
|
+
const conflicts = [];
|
|
4
|
+
for (const store of loadStores(memoryDir)) {
|
|
5
|
+
const byTitle = new Map();
|
|
6
|
+
store.items.forEach((entry, i) => {
|
|
7
|
+
const title = entryTitle(entry).toLowerCase();
|
|
8
|
+
const bucket = byTitle.get(title) ?? [];
|
|
9
|
+
bucket.push({ ...entry, __fallback: `${store.file}:${i}` });
|
|
10
|
+
byTitle.set(title, bucket);
|
|
11
|
+
});
|
|
12
|
+
for (const [key, entries] of byTitle) {
|
|
13
|
+
if (entries.length < 2)
|
|
14
|
+
continue;
|
|
15
|
+
const rendered = new Set(entries.map((e) => JSON.stringify(e)));
|
|
16
|
+
if (rendered.size > 1) {
|
|
17
|
+
conflicts.push({
|
|
18
|
+
store: store.file,
|
|
19
|
+
key,
|
|
20
|
+
ids: entries.map((e, i) => entryId(e, `${store.file}:${i}`)),
|
|
21
|
+
reason: "same title/context appears with different entry bodies",
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return conflicts;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=conflicts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../src/memory/conflicts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnE,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACpD,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0C,CAAC;QAClE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACvB,SAAS,CAAC,IAAI,CAAC;oBACd,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,GAAG;oBACH,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC5D,MAAM,EAAE,wDAAwD;iBAChE,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../src/memory/promote.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAOjF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { findMemoryConflicts } from "./conflicts.js";
|
|
2
|
+
export function memoryPromotionCandidates(memoryDir) {
|
|
3
|
+
return findMemoryConflicts(memoryDir).map((conflict) => ({
|
|
4
|
+
title: `Resolve repeated memory conflict: ${conflict.key}`,
|
|
5
|
+
source: conflict.store,
|
|
6
|
+
reason: `${conflict.ids.length} entries disagree: ${conflict.ids.join(", ")}`,
|
|
7
|
+
proposedAction: "Review entries and promote the resolved wording into a rule/checklist candidate.",
|
|
8
|
+
}));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=promote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promote.js","sourceRoot":"","sources":["../../src/memory/promote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AASrD,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IAC1D,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxD,KAAK,EAAE,qCAAqC,QAAQ,CAAC,GAAG,EAAE;QAC1D,MAAM,EAAE,QAAQ,CAAC,KAAK;QACtB,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,sBAAsB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC7E,cAAc,EAAE,kFAAkF;KAClG,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Pattern } from "./schemas.js";
|
|
2
|
+
export interface LoadedStore {
|
|
3
|
+
file: string;
|
|
4
|
+
scope: string;
|
|
5
|
+
itemsKey: "patterns" | "findings";
|
|
6
|
+
data: Record<string, unknown>;
|
|
7
|
+
items: Array<Record<string, unknown>>;
|
|
8
|
+
}
|
|
9
|
+
export declare function loadStores(memoryDir: string): LoadedStore[];
|
|
10
|
+
export declare function entryId(entry: Record<string, unknown>, fallback: string): string;
|
|
11
|
+
export declare function entryTitle(entry: Record<string, unknown>): string;
|
|
12
|
+
export declare function entryDate(entry: Record<string, unknown>): string | null;
|
|
13
|
+
export declare function clonePattern(entry: Pattern): Pattern;
|
|
14
|
+
//# sourceMappingURL=store-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-utils.d.ts","sourceRoot":"","sources":["../../src/memory/store-utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtC;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAgB3D;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAMjE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAMvE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { CURATED_STORES } from "./schemas.js";
|
|
4
|
+
export function loadStores(memoryDir) {
|
|
5
|
+
const stores = [];
|
|
6
|
+
for (const spec of CURATED_STORES) {
|
|
7
|
+
const p = path.join(memoryDir, spec.file);
|
|
8
|
+
if (!fs.existsSync(p))
|
|
9
|
+
continue;
|
|
10
|
+
const data = JSON.parse(fs.readFileSync(p, "utf-8"));
|
|
11
|
+
const raw = data[spec.itemsKey];
|
|
12
|
+
stores.push({
|
|
13
|
+
file: spec.file,
|
|
14
|
+
scope: spec.scope,
|
|
15
|
+
itemsKey: spec.itemsKey,
|
|
16
|
+
data,
|
|
17
|
+
items: Array.isArray(raw) ? raw : [],
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return stores;
|
|
21
|
+
}
|
|
22
|
+
export function entryId(entry, fallback) {
|
|
23
|
+
return typeof entry.id === "string" && entry.id.length > 0 ? entry.id : fallback;
|
|
24
|
+
}
|
|
25
|
+
export function entryTitle(entry) {
|
|
26
|
+
for (const key of ["pattern", "finding", "context", "applicable_when", "category", "type"]) {
|
|
27
|
+
const value = entry[key];
|
|
28
|
+
if (typeof value === "string" && value.trim())
|
|
29
|
+
return value.trim().slice(0, 120);
|
|
30
|
+
}
|
|
31
|
+
return JSON.stringify(entry).slice(0, 120);
|
|
32
|
+
}
|
|
33
|
+
export function entryDate(entry) {
|
|
34
|
+
for (const key of ["lastSeen", "timestamp", "created", "archivedAt"]) {
|
|
35
|
+
const value = entry[key];
|
|
36
|
+
if (typeof value === "string" && !Number.isNaN(Date.parse(value)))
|
|
37
|
+
return value;
|
|
38
|
+
}
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
export function clonePattern(entry) {
|
|
42
|
+
return JSON.parse(JSON.stringify(entry));
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=store-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-utils.js","sourceRoot":"","sources":["../../src/memory/store-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAgB,MAAM,cAAc,CAAC;AAU5D,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC3C,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,SAAS;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAA4B,CAAC;QAChF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI;YACJ,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAsC,CAAC,CAAC,CAAC,EAAE;SACxE,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAA8B,EAAE,QAAgB;IACvE,OAAO,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAA8B;IACxD,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;QAC5F,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAA8B;IACvD,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACjF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAY,CAAC;AACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-orchestrator.d.ts","sourceRoot":"","sources":["../../src/migrate/migrate-orchestrator.ts"],"names":[],"mappings":"AAUA,OAAO,EACN,kBAAkB,EAKlB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"migrate-orchestrator.d.ts","sourceRoot":"","sources":["../../src/migrate/migrate-orchestrator.ts"],"names":[],"mappings":"AAUA,OAAO,EACN,kBAAkB,EAKlB,MAAM,4BAA4B,CAAC;AAmCpC,OAAO,KAAK,EAAE,cAAc,EAAuD,MAAM,YAAY,CAAC;AAEtG,MAAM,WAAW,iBAAiB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;CACf;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BjG;AAgSD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -15,6 +15,7 @@ import { convertItem } from "./converters/index.js";
|
|
|
15
15
|
import { codexBulkActionShim, providerKey, skillActionShim } from "./migrate-action-shims.js";
|
|
16
16
|
import { executeDeleteAction, executeInstallAction } from "./portable-installer.js";
|
|
17
17
|
import { installSkillDirectory } from "./skill-directory-installer.js";
|
|
18
|
+
import { buildInstalledBackRef } from "../core/install-metadata-backref.js";
|
|
18
19
|
import { installCodexAgents, mergeHooksSettings } from "./hooks/index.js";
|
|
19
20
|
import { loadModelRoutingConfig } from "./model-routing-config.js";
|
|
20
21
|
import { printActionDetails, printFinalSummary, printPreflight } from "./migrate-ui-summary.js";
|
|
@@ -131,7 +132,10 @@ async function runMigrateUnderLock(options, ctx, scope, targets, isGlobal, model
|
|
|
131
132
|
portabilityFiltered.plan.summary.delete));
|
|
132
133
|
if (!confirmed)
|
|
133
134
|
return 130;
|
|
134
|
-
|
|
135
|
+
// One-way bridge: link exported assets back to the installed metadata they
|
|
136
|
+
// came from. Absent installed metadata yields null and the bridge is omitted.
|
|
137
|
+
const installedBackRef = buildInstalledBackRef(discovered.source.root);
|
|
138
|
+
const results = await executePlan(portabilityFiltered.plan.actions, { allItems: itemsByT, installedBackRef }, portableSkills.skillsByProvider, targets, isGlobal, scope.skills, join(discovered.source.root, "settings.json"));
|
|
135
139
|
printFinalSummary(results);
|
|
136
140
|
const hasFailures = results.some((r) => !r.success);
|
|
137
141
|
if (!hasFailures && manifest) {
|
|
@@ -239,7 +243,7 @@ async function executePlan(actions, ctx, skillsByProvider, targets, isGlobal, sk
|
|
|
239
243
|
continue;
|
|
240
244
|
const skills = skillsByProvider.get(target) ?? [];
|
|
241
245
|
for (const skill of skills) {
|
|
242
|
-
const r = await installSkillDirectory(skill, target, { global: isGlobal });
|
|
246
|
+
const r = await installSkillDirectory(skill, target, { global: isGlobal, installedBackRef: ctx.installedBackRef });
|
|
243
247
|
results.push({
|
|
244
248
|
action: skillActionShim(skill, target, isGlobal, r.path ?? ""),
|
|
245
249
|
success: r.success,
|