mneme-ai 2.198.0 → 2.200.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/dist/commands/heartbeat.d.ts +1 -0
- package/dist/commands/heartbeat.d.ts.map +1 -1
- package/dist/commands/heartbeat.js +46 -2
- package/dist/commands/heartbeat.js.map +1 -1
- package/dist/commands/reckon.d.ts +10 -0
- package/dist/commands/reckon.d.ts.map +1 -0
- package/dist/commands/reckon.js +76 -0
- package/dist/commands/reckon.js.map +1 -0
- package/dist/commands/succession.d.ts +10 -0
- package/dist/commands/succession.d.ts.map +1 -0
- package/dist/commands/succession.js +48 -0
- package/dist/commands/succession.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/commands/heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IACrF,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IACzE,aAAa,EAAE,MAAM,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/commands/heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IACrF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IACzE,aAAa,EAAE,MAAM,CAAC;CACvB;AA2BD,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,eAAe,CAiC3E;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAahE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
import { geo, commitAttest, awarm, notary } from "@mneme-ai/core";
|
|
3
|
+
import { geo, commitAttest, awarm, notary, cortex } from "@mneme-ai/core";
|
|
4
4
|
function out(s) { process.stdout.write(s + "\n"); }
|
|
5
5
|
const readJsonl = (p) => existsSync(p) ? readFileSync(p, "utf8").trim().split("\n").filter(Boolean).map((l) => { try {
|
|
6
6
|
return JSON.parse(l);
|
|
@@ -14,8 +14,51 @@ const readJson = (p, fallback) => { try {
|
|
|
14
14
|
catch {
|
|
15
15
|
return fallback;
|
|
16
16
|
} };
|
|
17
|
+
/** Ingest the REAL shared memory (cortex active facts) into geo so it metamorphoses with
|
|
18
|
+
* age — old cortex memory dissolves to signed abstract→axiom + purges its raw. Deduped. */
|
|
19
|
+
function feedGeoFromCortex(cwd) {
|
|
20
|
+
const cp = join(cwd, ".mneme", "cortex", "store.json");
|
|
21
|
+
if (!existsSync(cp))
|
|
22
|
+
return 0;
|
|
23
|
+
let store;
|
|
24
|
+
try {
|
|
25
|
+
store = JSON.parse(readFileSync(cp, "utf8"));
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return 0;
|
|
29
|
+
}
|
|
30
|
+
if (!store || !Array.isArray(store.entries))
|
|
31
|
+
return 0;
|
|
32
|
+
const gp = join(cwd, ".mneme", "geo", "state.json");
|
|
33
|
+
let g = readJson(gp, geo.emptyGeo());
|
|
34
|
+
const have = new Set(g.cells.map((c) => c.id));
|
|
35
|
+
let added = 0;
|
|
36
|
+
try {
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
38
|
+
const active = cortex.activeView(store);
|
|
39
|
+
for (const e of active.values()) {
|
|
40
|
+
const id = `cortex:${e.key}`;
|
|
41
|
+
if (have.has(id) || !e.value)
|
|
42
|
+
continue;
|
|
43
|
+
g = geo.seedRaw(g, { id, raw: String(e.value), ts: Number(e.at) || Date.now() });
|
|
44
|
+
have.add(id);
|
|
45
|
+
added++;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch { /* */ }
|
|
49
|
+
if (added) {
|
|
50
|
+
try {
|
|
51
|
+
mkdirSync(join(cwd, ".mneme", "geo"), { recursive: true });
|
|
52
|
+
writeFileSync(gp, JSON.stringify(g), "utf8");
|
|
53
|
+
}
|
|
54
|
+
catch { /* */ }
|
|
55
|
+
}
|
|
56
|
+
return added;
|
|
57
|
+
}
|
|
17
58
|
/** Run ONE self-maintenance beat. Total + idempotent + safe (no rule rewrite, no kill). */
|
|
18
59
|
export function runHeartbeat(cwd, now = Date.now()) {
|
|
60
|
+
// 0) FEED geo from the REAL shared memory (cortex) so it recycles actual memory
|
|
61
|
+
const cortexFed = feedGeoFromCortex(cwd);
|
|
19
62
|
// 1) METAMORPHOSE memory (geo)
|
|
20
63
|
const gp = join(cwd, ".mneme", "geo", "state.json");
|
|
21
64
|
const gBefore = geo.geoStats(readJson(gp, geo.emptyGeo()));
|
|
@@ -37,6 +80,7 @@ export function runHeartbeat(cwd, now = Date.now()) {
|
|
|
37
80
|
const report = {
|
|
38
81
|
ranAt: now,
|
|
39
82
|
geo: { rawBefore: gBefore.raw, rawAfter: gStats.raw, axioms: gStats.axiom, reclaimedBytes: gStats.rawBytesReclaimed },
|
|
83
|
+
cortexFed,
|
|
40
84
|
verify: { attest: attestOk, warm: warmOk, geo: geoOk, allOk },
|
|
41
85
|
};
|
|
42
86
|
let evolutionHash = "";
|
|
@@ -53,7 +97,7 @@ export function registerHeartbeatCommands(program) {
|
|
|
53
97
|
const h = program.command("upkeep").description("💓 SELF-MAINTAINING PULSE — one safe, signed maintenance beat: metamorphose memory + re-verify every ledger + sign an evolution snapshot. The daemon runs this on idle. (It self-maintains, NOT self-rewrites-its-rules.)");
|
|
54
98
|
h.command("run", { isDefault: true }).description("Run one beat now.").action(() => {
|
|
55
99
|
const r = runHeartbeat(process.cwd());
|
|
56
|
-
out(`💓 beat · geo raw ${r.geo.rawBefore}→${r.geo.rawAfter} · ${r.geo.axioms} axiom(s) · ${r.geo.reclaimedBytes}b reclaimed`);
|
|
100
|
+
out(`💓 beat · ${r.cortexFed} cortex memories ingested · geo raw ${r.geo.rawBefore}→${r.geo.rawAfter} · ${r.geo.axioms} axiom(s) · ${r.geo.reclaimedBytes}b reclaimed`);
|
|
57
101
|
out(` ledgers verified: attest ${r.verify.attest ? "✓" : "✗"} · warm ${r.verify.warm ? "✓" : "✗"} · geo ${r.verify.geo ? "✓" : "✗"}${r.verify.allOk ? "" : " ⚠ TAMPER/DRIFT — investigate"}`);
|
|
58
102
|
out(` signed evolution snapshot: ${r.evolutionHash.slice(0, 16) || "(unsigned)"}`);
|
|
59
103
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/commands/heartbeat.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/commands/heartbeat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mneme reckon <commit>` (v2.199.0) — the signed accountability dossier.
|
|
3
|
+
* Assembles the signed evidence (attestation · secret-screen · engagement policy ·
|
|
4
|
+
* survival) for a commit into a verdict — EXONERATED / ACCOUNTABLE / INSUFFICIENT —
|
|
5
|
+
* signed (NOTARY) so a court/auditor/insurer verifies it offline. The permanent record
|
|
6
|
+
* as a shield, not a threat.
|
|
7
|
+
*/
|
|
8
|
+
import type { Command } from "commander";
|
|
9
|
+
export declare function registerReckonCommands(program: Command): void;
|
|
10
|
+
//# sourceMappingURL=reckon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reckon.d.ts","sourceRoot":"","sources":["../../src/commands/reckon.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiCzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiB7D"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { execSync } from "node:child_process";
|
|
2
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { reckoning, commitAttest, engagement, notary } from "@mneme-ai/core";
|
|
5
|
+
function out(s) { process.stdout.write(s + "\n"); }
|
|
6
|
+
function git(args, cwd) { try {
|
|
7
|
+
return execSync(`git ${args.join(" ")}`, { cwd, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] }).trim();
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return "";
|
|
11
|
+
} }
|
|
12
|
+
function gatherEvidence(cwd, ref) {
|
|
13
|
+
const sha = git(["rev-parse", ref], cwd) || ref;
|
|
14
|
+
// attestation
|
|
15
|
+
let attested = false, attestVerified = false, secretsClean = true;
|
|
16
|
+
const ap = join(cwd, ".mneme", "attest", "chain.jsonl");
|
|
17
|
+
if (existsSync(ap)) {
|
|
18
|
+
try {
|
|
19
|
+
for (const l of readFileSync(ap, "utf8").trim().split("\n").filter(Boolean)) {
|
|
20
|
+
const e = JSON.parse(l);
|
|
21
|
+
if (e.record?.subject === `commit:${sha}`) {
|
|
22
|
+
attested = true;
|
|
23
|
+
attestVerified = commitAttest.verifyAttest(e).valid;
|
|
24
|
+
secretsClean = Number(e.facts?.addedSecrets ?? 0) === 0;
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
catch { /* */ }
|
|
30
|
+
}
|
|
31
|
+
// engagement: evaluate the commit's files against the repo policy
|
|
32
|
+
let policy = engagement.defaultPolicy();
|
|
33
|
+
const pp = join(cwd, ".mneme", "engagement.json");
|
|
34
|
+
if (existsSync(pp)) {
|
|
35
|
+
try {
|
|
36
|
+
policy = { ...policy, ...JSON.parse(readFileSync(pp, "utf8")) };
|
|
37
|
+
}
|
|
38
|
+
catch { /* */ }
|
|
39
|
+
}
|
|
40
|
+
const files = git(["show", "--name-only", "--format=", sha], cwd).split("\n").map((s) => s.trim()).filter(Boolean);
|
|
41
|
+
const eng = engagement.evaluateEngagement(policy, { kind: "write", paths: files, fileCount: files.length });
|
|
42
|
+
// survival: was it explicitly reverted later? (the reliable signed-message signal)
|
|
43
|
+
const reverted = !!git(["log", "--all", `--grep=This reverts commit ${sha}`, "--oneline"], cwd);
|
|
44
|
+
return { subject: sha, attested, attestVerified, secretsClean, engagement: eng.decision, cosigned: false, customsClean: true, reverted };
|
|
45
|
+
}
|
|
46
|
+
export function registerReckonCommands(program) {
|
|
47
|
+
program.command("reckon [commit]").description("⚖️ ACCOUNTABILITY DOSSIER — assemble the signed evidence for a commit into a verdict (EXONERATED / ACCOUNTABLE / INSUFFICIENT), signed + offline-verifiable. The permanent record as a shield.")
|
|
48
|
+
.option("--json", "the full signed dossier")
|
|
49
|
+
.action((commit, opts) => {
|
|
50
|
+
const cwd = process.cwd();
|
|
51
|
+
if (!existsSync(join(cwd, ".git"))) {
|
|
52
|
+
out("not a git repo");
|
|
53
|
+
process.exitCode = 2;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const ev = gatherEvidence(cwd, commit ?? "HEAD");
|
|
57
|
+
const r = reckoning.buildReckoning(ev);
|
|
58
|
+
let receipt = null;
|
|
59
|
+
try {
|
|
60
|
+
receipt = notary.issueReceipt(cwd, { kind: "claim-verdict", subject: `reckon:${ev.subject.slice(0, 12)}`, payload: r, includePayload: true });
|
|
61
|
+
}
|
|
62
|
+
catch { /* */ }
|
|
63
|
+
if (opts.json) {
|
|
64
|
+
out(JSON.stringify({ evidence: ev, reckoning: r, receipt }, null, 2));
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const icon = r.verdict === "EXONERATED" ? "🟢" : r.verdict === "ACCOUNTABLE" ? "🔴" : "⚪";
|
|
68
|
+
out(`⚖️ Reckoning · ${ev.subject.slice(0, 10)} → ${icon} ${r.verdict}`);
|
|
69
|
+
for (const f of r.findings)
|
|
70
|
+
out(` ${f.severity === "violation" ? "✗" : f.severity === "clear" ? "✓" : "·"} ${f.text}`);
|
|
71
|
+
out(` ${receipt ? "signed — anyone can verify this verdict offline (mneme notary verify)" : "(unsigned)"}`);
|
|
72
|
+
if (r.verdict === "ACCOUNTABLE")
|
|
73
|
+
process.exitCode = 2;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=reckon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reckon.js","sourceRoot":"","sources":["../../src/commands/reckon.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mneme succession <agent>` (v2.200.0) — the no-brain-drain halt capsule.
|
|
3
|
+
* When an agent must be stopped (a loop thrash, a policy breach), distil its PROVEN
|
|
4
|
+
* wisdom (geo axioms + its reliability record) into a SIGNED capsule a successor inherits,
|
|
5
|
+
* referencing the signed proofs the toxic raw was purged. Mneme RECOMMENDS the halt + packages
|
|
6
|
+
* the moment; the host orchestrator enforces the actual stop.
|
|
7
|
+
*/
|
|
8
|
+
import type { Command } from "commander";
|
|
9
|
+
export declare function registerSuccessionCommands(program: Command): void;
|
|
10
|
+
//# sourceMappingURL=succession.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"succession.d.ts","sourceRoot":"","sources":["../../src/commands/succession.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4BjE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { succession, geo, awarm, notary } from "@mneme-ai/core";
|
|
4
|
+
function out(s) { process.stdout.write(s + "\n"); }
|
|
5
|
+
const readJson = (p, fb) => { try {
|
|
6
|
+
return existsSync(p) ? JSON.parse(readFileSync(p, "utf8")) : fb;
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
return fb;
|
|
10
|
+
} };
|
|
11
|
+
export function registerSuccessionCommands(program) {
|
|
12
|
+
program.command("succession <agent>")
|
|
13
|
+
.description("⚱️ SUCCESSION CAPSULE — on halt, distil an agent's proven wisdom (geo axioms + reliability) into a signed capsule a successor inherits, with proof the toxic raw was purged. No brain-drain. Mneme recommends; the host enforces.")
|
|
14
|
+
.option("--reason <text>", "why the halt", "manual halt")
|
|
15
|
+
.option("--trigger <t>", "loopguard|overshoot|govern|reckon|manual", "manual")
|
|
16
|
+
.option("--json", "the full signed capsule")
|
|
17
|
+
.action((agent, opts) => {
|
|
18
|
+
const cwd = process.cwd();
|
|
19
|
+
// proven wisdom: geo axioms + the purge proofs that the raw is gone
|
|
20
|
+
const g = readJson(join(cwd, ".mneme", "geo", "state.json"), geo.emptyGeo());
|
|
21
|
+
const axioms = g.cells.filter((c) => c.tier === "axiom" && c.abstract).map((c) => c.abstract);
|
|
22
|
+
const purgeProofRefs = g.cells.filter((c) => c.purgeProof && c.rawHash).map((c) => `geo-purge:${c.rawHash.slice(0, 12)}`);
|
|
23
|
+
// reliability: the always-warm survival for this agent
|
|
24
|
+
const warm = readJson(join(cwd, ".mneme", "awarm", "state.json"), awarm.emptyState());
|
|
25
|
+
const wa = awarm.queryWarm(warm).agents.find((a) => a.agent === agent);
|
|
26
|
+
const reliability = wa ? { survivalPct: Math.round(wa.survivalRate * 100), band: wa.survivalRate >= 0.9 ? "solid" : wa.survivalRate >= 0.7 ? "watch" : "risky" } : null;
|
|
27
|
+
const capsule = succession.buildSuccessionCapsule({ agent, reason: opts.reason ?? "manual halt", trigger: opts.trigger ?? "manual", axioms, reliability, purgeProofRefs, ts: Date.now() });
|
|
28
|
+
let receipt = null;
|
|
29
|
+
try {
|
|
30
|
+
receipt = notary.issueReceipt(cwd, { kind: "memory-capsule", subject: `succession:${agent}`, payload: capsule, includePayload: true });
|
|
31
|
+
}
|
|
32
|
+
catch { /* */ }
|
|
33
|
+
try {
|
|
34
|
+
mkdirSync(join(cwd, ".mneme", "succession"), { recursive: true });
|
|
35
|
+
writeFileSync(join(cwd, ".mneme", "succession", `${agent.replace(/[^\w.-]/g, "_")}.json`), JSON.stringify({ capsule, receipt }, null, 2), "utf8");
|
|
36
|
+
}
|
|
37
|
+
catch { /* */ }
|
|
38
|
+
if (opts.json) {
|
|
39
|
+
out(JSON.stringify({ capsule, receipt }, null, 2));
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
out(`⚱️ Succession capsule · ${agent} → 🛑 ${capsule.haltVerdict} (enforced by ${capsule.enforcedBy} — Mneme recommends, does not kill)`);
|
|
43
|
+
out(` inherited wisdom: ${capsule.wisdom.length} axiom(s)${reliability ? ` · predecessor reliability ${reliability.survivalPct}% (${reliability.band})` : ""}`);
|
|
44
|
+
out(` raw purged: ${purgeProofRefs.length} signed proof(s) — the toxic state is provably gone, the learning survives`);
|
|
45
|
+
out(` ${receipt ? "capsule signed — a successor inherits it; verify offline (mneme notary verify)" : "(unsigned)"}`);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=succession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"succession.js","sourceRoot":"","sources":["../../src/commands/succession.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAyLA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAylNvD"}
|
package/dist/index.js
CHANGED
|
@@ -101,6 +101,8 @@ import { registerAccountabilityCommands } from "./commands/accountability.js";
|
|
|
101
101
|
import { registerWarmCommands } from "./commands/warm.js";
|
|
102
102
|
import { registerGeoCommands } from "./commands/geo.js";
|
|
103
103
|
import { registerHeartbeatCommands } from "./commands/heartbeat.js";
|
|
104
|
+
import { registerReckonCommands } from "./commands/reckon.js";
|
|
105
|
+
import { registerSuccessionCommands } from "./commands/succession.js";
|
|
104
106
|
import { registerAdamasCommands } from "./commands/adamas.js";
|
|
105
107
|
import { registerPrismCommands } from "./commands/prism.js";
|
|
106
108
|
import { registerGoldilocksCommands } from "./commands/goldilocks.js";
|
|
@@ -4769,6 +4771,8 @@ export async function run(argv) {
|
|
|
4769
4771
|
registerWarmCommands(program);
|
|
4770
4772
|
registerGeoCommands(program);
|
|
4771
4773
|
registerHeartbeatCommands(program);
|
|
4774
|
+
registerReckonCommands(program);
|
|
4775
|
+
registerSuccessionCommands(program);
|
|
4772
4776
|
registerAdamasCommands(program);
|
|
4773
4777
|
registerPrismCommands(program);
|
|
4774
4778
|
registerGoldilocksCommands(program);
|