mneme-ai 2.80.0 → 2.82.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.
@@ -0,0 +1,26 @@
1
+ /**
2
+ * v2.81.0 — `mneme creditscore <action>` (alias `trustscore`) · portable AI honesty credit score.
3
+ *
4
+ * Distinct from `mneme honesty` (which mints static HMAC SVG badge certs from the
5
+ * pulse ledger). This is the PORTABLE, Ed25519-signed, cross-agent honesty CREDIT
6
+ * SCORE an agent checks before delegating to another agent (💎5, on the NOTARY spine).
7
+ *
8
+ * mneme creditscore score --agent A --true N --false M [--partial P] [--sign] [--ttl-days D]
9
+ * mneme creditscore verify <file|-> [--min GOLD] [--issuer FP]
10
+ */
11
+ export interface CreditScoreOpts {
12
+ cwd: string;
13
+ action: string;
14
+ agent?: string;
15
+ trueCount?: number;
16
+ falseCount?: number;
17
+ partialCount?: number;
18
+ sign?: boolean;
19
+ ttlDays?: number;
20
+ file?: string;
21
+ min?: string;
22
+ issuer?: string;
23
+ json?: boolean;
24
+ }
25
+ export declare function creditScoreCommand(o: CreditScoreOpts): Promise<number>;
26
+ //# sourceMappingURL=creditscore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creditscore.d.ts","sourceRoot":"","sources":["../../src/commands/creditscore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAsC5E"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * v2.81.0 — `mneme creditscore <action>` (alias `trustscore`) · portable AI honesty credit score.
3
+ *
4
+ * Distinct from `mneme honesty` (which mints static HMAC SVG badge certs from the
5
+ * pulse ledger). This is the PORTABLE, Ed25519-signed, cross-agent honesty CREDIT
6
+ * SCORE an agent checks before delegating to another agent (💎5, on the NOTARY spine).
7
+ *
8
+ * mneme creditscore score --agent A --true N --false M [--partial P] [--sign] [--ttl-days D]
9
+ * mneme creditscore verify <file|-> [--min GOLD] [--issuer FP]
10
+ */
11
+ import { writeSync, readFileSync } from "node:fs";
12
+ import * as core from "@mneme-ai/core";
13
+ function out(s) {
14
+ try {
15
+ writeSync(1, s);
16
+ }
17
+ catch {
18
+ process.stdout.write(s);
19
+ }
20
+ }
21
+ const BANDS = new Set(["PLATINUM", "GOLD", "SILVER", "BRONZE", "UNTRUSTED", "UNMEASURED"]);
22
+ export async function creditScoreCommand(o) {
23
+ const h = core.honestyScore;
24
+ if (o.action === "score") {
25
+ if (!o.agent) {
26
+ out("✗ score requires --agent\n");
27
+ return 2;
28
+ }
29
+ const score = h.computeHonestyScore({
30
+ agent: o.agent,
31
+ trueCount: o.trueCount ?? 0,
32
+ falseCount: o.falseCount ?? 0,
33
+ partialCount: o.partialCount ?? 0,
34
+ });
35
+ if (o.sign) {
36
+ out(JSON.stringify(h.issueHonestyReceipt(o.cwd, score, { ttlDays: o.ttlDays }), null, 2) + "\n");
37
+ return 0;
38
+ }
39
+ if (o.json) {
40
+ out(JSON.stringify(score, null, 2) + "\n");
41
+ return 0;
42
+ }
43
+ out(`📊 HONESTY CREDIT SCORE — ${score.agent}\n score: ${score.score}/100 · band: ${score.band}\n verified: ${score.trueCount} true / ${score.falseCount} false${score.partialCount ? ` / ${score.partialCount} partial` : ""} (decisive ${score.decisive})\n Wilson-LB: ${(score.wilsonLB * 100).toFixed(1)}% (pessimistic — small samples score low by design)\n Add --sign to emit a portable, offline-verifiable receipt.\n`);
44
+ return 0;
45
+ }
46
+ if (o.action === "verify") {
47
+ let raw;
48
+ try {
49
+ raw = o.file && o.file !== "-" ? readFileSync(o.file, "utf8") : readFileSync(0, "utf8");
50
+ }
51
+ catch (e) {
52
+ out(`✗ cannot read receipt: ${e.message}\n`);
53
+ return 2;
54
+ }
55
+ let receipt;
56
+ try {
57
+ receipt = JSON.parse(raw);
58
+ }
59
+ catch {
60
+ out("✗ receipt is not valid JSON\n");
61
+ return 2;
62
+ }
63
+ const minBand = o.min && BANDS.has(o.min) ? o.min : "SILVER";
64
+ const v = h.verifyHonestyReceipt(receipt);
65
+ const trust = h.shouldTrust(receipt, minBand, { expectedIssuerFingerprint: o.issuer });
66
+ if (o.json) {
67
+ out(JSON.stringify({ verify: v, trust }, null, 2) + "\n");
68
+ return v.valid && trust.trust ? 0 : 1;
69
+ }
70
+ if (!v.valid) {
71
+ out(`🔴 INVALID — ${v.reason}\n`);
72
+ return 1;
73
+ }
74
+ const mark = trust.trust ? "🟢" : "🟡";
75
+ out(`${mark} ${v.score.agent}: score ${v.score.score}/100 (${v.score.band})${v.expired ? " ⏰ EXPIRED" : ""}\n issuer: ${v.issuerFingerprint}\n trust ≥ ${minBand}? ${trust.trust ? "YES" : "NO"} — ${trust.reason}\n`);
76
+ return trust.trust ? 0 : 1;
77
+ }
78
+ out(`✗ Unknown creditscore action "${o.action}". Try: score | verify\n`);
79
+ return 2;
80
+ }
81
+ //# sourceMappingURL=creditscore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creditscore.js","sourceRoot":"","sources":["../../src/commands/creditscore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAEvC,SAAS,GAAG,CAAC,CAAS;IACpB,IAAI,CAAC;QAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AAC7D,CAAC;AAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAiB3F,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,CAAkB;IACzD,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;IAE5B,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,CAAC,CAAC,mBAAmB,CAAC;YAClC,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC;YAC3B,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC;YAC7B,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACX,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACjG,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QACrE,GAAG,CAAC,6BAA6B,KAAK,CAAC,KAAK,cAAc,KAAK,CAAC,KAAK,kBAAkB,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,SAAS,WAAW,KAAK,CAAC,UAAU,SAAS,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,KAAK,CAAC,QAAQ,mBAAmB,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,qHAAqH,CAAC,CAAC;QACza,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC;QAChG,OAAO,CAAC,EAAE,CAAC;YAAC,GAAG,CAAC,0BAA2B,CAAW,CAAC,OAAO,IAAI,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAChF,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAC5F,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAoC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9F,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QACjH,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,KAAM,CAAC,KAAK,WAAW,CAAC,CAAC,KAAM,CAAC,KAAK,SAAS,CAAC,CAAC,KAAM,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,iBAAiB,eAAe,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QAC5N,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,iCAAiC,CAAC,CAAC,MAAM,0BAA0B,CAAC,CAAC;IACzE,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * v2.82.0 — TRUST FABRIC CLI dispatcher for the 7-diamond batch
3
+ * (💎6 stake · 💎7 mesh · 💎1 route · 💎2 brain · 💎8 factwatch · 💎9 edge · 💎10 compound).
4
+ * Complex structured inputs (hops / capsules / receipts / claims) are passed as JSON.
5
+ */
6
+ export interface TrustFabricOpts {
7
+ cwd: string;
8
+ family: string;
9
+ action: string;
10
+ staker?: string;
11
+ claim?: string;
12
+ amountMicros?: number;
13
+ deadlineMs?: number;
14
+ text?: string;
15
+ requestId?: string;
16
+ owner?: string;
17
+ vendor?: string;
18
+ fact?: string;
19
+ newValue?: string;
20
+ knownValue?: string;
21
+ observedBy?: string;
22
+ peer?: string;
23
+ lanUrl?: string;
24
+ threshold?: number;
25
+ refuted?: boolean;
26
+ at?: number;
27
+ jsonInput?: string;
28
+ file?: string;
29
+ json?: boolean;
30
+ }
31
+ export declare function trustFabricCommand(o: TrustFabricOpts): Promise<number>;
32
+ //# sourceMappingURL=trustfabric.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trustfabric.d.ts","sourceRoot":"","sources":["../../src/commands/trustfabric.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACnD;AAED,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAyC5E"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * v2.82.0 — TRUST FABRIC CLI dispatcher for the 7-diamond batch
3
+ * (💎6 stake · 💎7 mesh · 💎1 route · 💎2 brain · 💎8 factwatch · 💎9 edge · 💎10 compound).
4
+ * Complex structured inputs (hops / capsules / receipts / claims) are passed as JSON.
5
+ */
6
+ import { writeSync, readFileSync } from "node:fs";
7
+ import * as core from "@mneme-ai/core";
8
+ import { parseJsonArg } from "../util/json_arg.js";
9
+ function out(s) { try {
10
+ writeSync(1, s);
11
+ }
12
+ catch {
13
+ process.stdout.write(s);
14
+ } }
15
+ function emit(o) { out(JSON.stringify(o, null, 2) + "\n"); return 0; }
16
+ function readJson(raw, file) {
17
+ if (file)
18
+ return JSON.parse(readFileSync(file === "-" ? 0 : file, "utf8"));
19
+ if (raw)
20
+ return parseJsonArg(raw);
21
+ throw new Error("missing JSON input");
22
+ }
23
+ export async function trustFabricCommand(o) {
24
+ const J = () => readJson(o.jsonInput, o.file);
25
+ try {
26
+ switch (o.family) {
27
+ case "stake": {
28
+ if (o.action === "create")
29
+ return emit(core.truthStake.createStake(o.cwd, { staker: o.staker ?? "agent", claim: o.claim ?? "", amountMicros: o.amountMicros ?? 0, deadlineMs: o.deadlineMs ?? 0 }));
30
+ if (o.action === "resolve")
31
+ return emit(core.truthStake.resolveStake(o.cwd, J(), { refuted: !!o.refuted, at: o.at }));
32
+ break;
33
+ }
34
+ case "mesh": {
35
+ if (o.action === "scan") {
36
+ const s = core.meshImmune.scanMessage(o.text ?? "");
37
+ return emit({ disposition: core.meshImmune.quarantineDecision(s), ...s });
38
+ }
39
+ if (o.action === "trace")
40
+ return emit(core.meshImmune.traceContagion(J()));
41
+ break;
42
+ }
43
+ case "bgp": {
44
+ if (o.action === "notarize") {
45
+ const r = core.bgpRouter.routeRequest(o.cwd, { requestId: o.requestId ?? "req", hops: J() });
46
+ return emit({ routeId: r.routeId, path: core.bgpRouter.renderRoute(r.receipts), receipts: r.receipts });
47
+ }
48
+ if (o.action === "verify")
49
+ return emit(core.bgpRouter.verifyRoute(J()));
50
+ break;
51
+ }
52
+ case "brain": {
53
+ if (o.action === "pack") {
54
+ const cap = core.byob.makeCapsule({ owner: o.owner ?? "user", vendor: o.vendor, items: J() });
55
+ return emit({ capsule: cap, receipt: core.byob.packCapsule(o.cwd, cap) });
56
+ }
57
+ if (o.action === "merge") {
58
+ const both = J();
59
+ return emit(core.byob.mergeCapsules(both.a, both.b));
60
+ }
61
+ break;
62
+ }
63
+ case "factwatch": {
64
+ if (o.action === "observe")
65
+ return emit(core.truthCdn.observe(o.cwd, { fact: o.fact ?? "", newValue: o.newValue ?? "", observedBy: o.observedBy ?? "agent" }, o.knownValue ?? ""));
66
+ if (o.action === "apply") {
67
+ const x = J();
68
+ return emit(core.truthCdn.applyInvalidation(x.sub, x.receipt));
69
+ }
70
+ break;
71
+ }
72
+ case "edge": {
73
+ if (o.action === "card")
74
+ return emit(core.edgeMesh.buildPeerCard(o.cwd, { peer: o.peer ?? "node", lanUrl: o.lanUrl ?? "" }));
75
+ if (o.action === "merge")
76
+ return emit(core.edgeMesh.mergeMesh(J()));
77
+ break;
78
+ }
79
+ case "compound": {
80
+ if (o.action === "consolidate")
81
+ return emit(core.idleCompound.consolidate(J(), o.threshold));
82
+ break;
83
+ }
84
+ }
85
+ }
86
+ catch (e) {
87
+ out(`✗ ${e.message}\n`);
88
+ return 2;
89
+ }
90
+ out(`✗ unknown ${o.family} action "${o.action}"\n`);
91
+ return 2;
92
+ }
93
+ //# sourceMappingURL=trustfabric.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trustfabric.js","sourceRoot":"","sources":["../../src/commands/trustfabric.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuIA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAm3MvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuIA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA67MvD"}
package/dist/index.js CHANGED
@@ -4238,6 +4238,78 @@ export async function run(argv) {
4238
4238
  json: !!o.json,
4239
4239
  }));
4240
4240
  });
4241
+ // v2.81.0 — HONESTY CREDIT SCORE (💎5). Portable, signed honesty score an agent
4242
+ // checks before delegating to another agent (the truth axis ERC-8004 misses).
4243
+ // Distinct from `mneme honesty` (static HMAC SVG badge certs).
4244
+ program
4245
+ .command("creditscore <action>")
4246
+ .aliases(["trustscore"])
4247
+ .description("📊 HONESTY CREDIT SCORE — portable, Ed25519-signed honesty score (Wilson-LB on verified true-rate) an agent verifies OFFLINE before delegating to another. actions: score | verify <file|->. Built on NOTARY; a vendor can't self-promote.")
4248
+ .option("--agent <a>", "agent id (score)")
4249
+ .option("--true <n>", "count of claims verified TRUE (score)", (v) => Number(v))
4250
+ .option("--false <n>", "count of claims verified FALSE (score)", (v) => Number(v))
4251
+ .option("--partial <n>", "count of partially-true claims (score)", (v) => Number(v))
4252
+ .option("--sign", "emit a portable signed receipt instead of plain output (score)", false)
4253
+ .option("--ttl-days <d>", "validity window for a signed score (default 90)", (v) => Number(v))
4254
+ .option("--file <path>", "receipt file to verify (use '-' for stdin)")
4255
+ .option("--min <band>", "min band to trust: PLATINUM|GOLD|SILVER|BRONZE (verify)", "SILVER")
4256
+ .option("--issuer <fp>", "assert the issuer fingerprint you trust (verify)")
4257
+ .option("--json", "machine-readable output", false)
4258
+ .action(async (action, o) => {
4259
+ const { creditScoreCommand } = await import("./commands/creditscore.js");
4260
+ process.exit(await creditScoreCommand({
4261
+ cwd: process.cwd(),
4262
+ action,
4263
+ agent: o.agent,
4264
+ trueCount: o.true,
4265
+ falseCount: o.false,
4266
+ partialCount: o.partial,
4267
+ sign: !!o.sign,
4268
+ ttlDays: o.ttlDays,
4269
+ file: o.file,
4270
+ min: o.min,
4271
+ issuer: o.issuer,
4272
+ json: !!o.json,
4273
+ }));
4274
+ });
4275
+ // v2.82.0 — TRUST FABRIC batch (💎6 💎7 💎1 💎2 💎8 💎9 💎10). 7 families, all on
4276
+ // the NOTARY spine. Complex inputs (hops/capsules/receipts/claims) via --in JSON or --file.
4277
+ {
4278
+ const tf = [
4279
+ { name: "stake", desc: "💰 TRUTH-STAKING (💎6) — money backs the words. actions: create | resolve." },
4280
+ { name: "mesh", desc: "🛡 MESH IMMUNE (💎7) — cross-agent injection/collusion firewall. actions: scan | trace." },
4281
+ { name: "bgp", desc: "🌉 BGP ROUTER (💎1) — notarize every cross-protocol hop (MCP↔A2A↔x402↔ERC-8004). actions: notarize | verify." },
4282
+ { name: "brain", desc: "🧠 BYOB (💎2) — portable signed memory capsule. actions: pack | merge." },
4283
+ { name: "factwatch", desc: "📡 LIVE TRUTH CDN (💎8) — signed federated fact invalidation. actions: observe | apply." },
4284
+ { name: "edge", desc: "📡 SOVEREIGN EDGE MESH (💎9) — cloud-free signed peer mesh. actions: card | merge." },
4285
+ { name: "compound", desc: "🌙 IDLE-COMPOUND (💎10) — consolidate verified claims into axioms. actions: consolidate." },
4286
+ ];
4287
+ for (const { name, desc } of tf) {
4288
+ program
4289
+ .command(`${name} <action>`)
4290
+ .description(desc)
4291
+ .option("--staker <s>").option("--claim <c>").option("--amount-micros <n>", "", (v) => Number(v)).option("--deadline-ms <n>", "", (v) => Number(v))
4292
+ .option("--refuted").option("--at <n>", "", (v) => Number(v))
4293
+ .option("--text <t>").option("--request-id <id>").option("--owner <o>").option("--vendor <v>")
4294
+ .option("--fact <f>").option("--new-value <v>").option("--known-value <v>").option("--observed-by <a>")
4295
+ .option("--peer <p>").option("--lan-url <u>").option("--threshold <n>", "", (v) => Number(v))
4296
+ .option("--in <json>", "structured JSON input (hops / capsules / receipts / claims)")
4297
+ .option("--file <path>", "read structured JSON input from file ('-' = stdin)")
4298
+ .option("--json", "machine-readable output", false)
4299
+ .action(async (action, opt) => {
4300
+ const { trustFabricCommand } = await import("./commands/trustfabric.js");
4301
+ process.exit(await trustFabricCommand({
4302
+ cwd: process.cwd(), family: name, action,
4303
+ staker: opt["staker"], claim: opt["claim"], amountMicros: opt["amountMicros"], deadlineMs: opt["deadlineMs"],
4304
+ refuted: !!opt["refuted"], at: opt["at"],
4305
+ text: opt["text"], requestId: opt["requestId"], owner: opt["owner"], vendor: opt["vendor"],
4306
+ fact: opt["fact"], newValue: opt["newValue"], knownValue: opt["knownValue"], observedBy: opt["observedBy"],
4307
+ peer: opt["peer"], lanUrl: opt["lanUrl"], threshold: opt["threshold"],
4308
+ jsonInput: opt["in"], file: opt["file"], json: !!opt["json"],
4309
+ }));
4310
+ });
4311
+ }
4312
+ }
4241
4313
  program
4242
4314
  .command("atlas")
4243
4315
  .description("🗺 ATLAS HELP — six-layer discovery (TASTE · BLOOM · HOT · TAGS · INTENT · FULL). AI agents read 200 bytes here instead of 14 KB from --help.")