@mneme-ai/core 2.9.0 → 2.9.2

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.
@@ -80,6 +80,7 @@ export declare function buildAuraDropDataUri(input: HandoffInput): {
80
80
  bytes: number;
81
81
  } | null;
82
82
  /** Compose the full handoff bundle. */
83
+ export * from "./live_state.js";
83
84
  export declare function handoffUniversal(input: HandoffInput): HandoffBundle;
84
85
  /** Format a one-liner pulse summary. */
85
86
  export declare function formatHandoffPulseLine(b: HandoffBundle): string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handoff/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAIH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;qEACiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;+DAE2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,YAAY,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,GAAG,UAAU,CAAC;CAClE;AAED,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;CACtB;AA+CD,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS/F;AAYD,uCAAuC;AACvC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CA6DnE;AAED,wCAAwC;AACxC,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAG/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handoff/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAIH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;qEACiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;+DAE2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,YAAY,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,GAAG,UAAU,CAAC;CAClE;AAED,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;CACtB;AA+CD,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS/F;AAYD,uCAAuC;AAIvC,cAAc,iBAAiB,CAAC;AAEhC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CA6DnE;AAED,wCAAwC;AACxC,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAG/D"}
@@ -103,6 +103,10 @@ function genNexusCode(seed) {
103
103
  return code;
104
104
  }
105
105
  /** Compose the full handoff bundle. */
106
+ // v2.9.1 -- LIVE STATE injector (auto-prepends current Mneme version /
107
+ // recent commits / HMAC-signed signature to every soul prompt going
108
+ // through clone.to so stale capsules don't mislead the receiving AI).
109
+ export * from "./live_state.js";
106
110
  export function handoffUniversal(input) {
107
111
  const paths = [];
108
112
  const nexusCode = input.nexusCode ?? genNexusCode(input.payload);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handoff/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handoff/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA8CrD,+DAA+D;AAC/D,+DAA+D;AAC/D,kEAAkE;AAClE,kEAAkE;AAClE,oEAAoE;AACpE,8BAA8B;AAC9B,+DAA+D;AAE/D,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,OAAe,EAAE,MAAc,EAAE,UAAkB,EAAU,EAAE,CAAC;;;;SAI7F,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;MAUpB,UAAU,CAAC,KAAK,CAAC;;;8KAGuJ,UAAU,CAAC,MAAM,CAAC;;6BAEnK,UAAU,CAAC,MAAM,CAAC,kCAAkC,UAAU,CAAC,UAAU,CAAC;cACzF,UAAU,CAAC,OAAO,CAAC;eAClB,CAAC;AAEhB,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtG,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC/B,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,8CAA8C,CAAC;IAChF,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,gDAAgD,CAAC;IAChI,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,sDAAsD,CAAC;IAChH,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,mDAAmD,CAAC;IACtF,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,iDAAiD,CAAC;IACvF,OAAO,0DAA0D,CAAC;AACpE,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAAC,KAAmB;IACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC;IAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,sBAAsB,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAClH,wCAAwC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,yBAAyB,GAAG,EAAE,CAAC;IAC3C,IAAI,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,0BAA0B;IACtE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,yEAAyE;IACzE,qDAAqD;IACrD,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,iCAAiC,CAAC,CAAC,0BAA0B;IAC9E,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAAE,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxG,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uCAAuC;AACvC,uEAAuE;AACvE,oEAAoE;AACpE,sEAAsE;AACtE,cAAc,iBAAiB,CAAC;AAEhC,MAAM,UAAU,gBAAgB,CAAC,KAAmB;IAClD,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC;IAE9C,sEAAsE;IACtE,sEAAsE;IACtE,oCAAoC;IACpC,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,iCAAiC,MAAM,kBAAkB;QAChE,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW,EAAE,aAAa;KAC3B,CAAC,CAAC;IAEH,uEAAuE;IACvE,mEAAmE;IACnE,yCAAyC;IACzC,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,mDAAmD;YAC1D,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,KAAK;YACnB,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,oEAAoE;IACpE,iEAAiE;IACjE,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,mBAAmB,SAAS,2BAA2B;QAC9D,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,MAAM;KACpB,CAAC,CAAC;IAEH,kEAAkE;IAClE,yEAAyE;IACzE,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,4BAA4B,MAAM,uBAAuB;QAChE,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW,EAAE,UAAU;KACxB,CAAC,CAAC;IAEH,uEAAuE;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,uIAAuI,SAAS,GAAG,CAAC;IACzK,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AACtD,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,sBAAsB,CAAC,CAAgB;IACrD,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,oBAAoB,CAAC;IACvG,OAAO,mBAAmB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACxF,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * v2.9.1 -- LIVE STATE INJECTOR for cross-vendor soul prompts.
3
+ *
4
+ * Bug it fixes: a soul prompt that was generated at v1.95 timepoint
5
+ * still carries v1.95 Context / Decisions / Recent turns. When the
6
+ * user clones the brain to ChatGPT three weeks later (at v2.9.0),
7
+ * ChatGPT reads the v1.95 numbers and answers "version is v1.95" —
8
+ * because that's literally what the soul prompt says.
9
+ *
10
+ * Fix: every soul prompt going through mneme.clone.to is now
11
+ * AUTO-PREPENDED with a LIVE MNEME STATE block that:
12
+ * 1. Lists CURRENT installed version (read from package.json)
13
+ * 2. Lists CURRENT npm latest (read from telepathy cache or env)
14
+ * 3. Lists last 3 commit subjects + SHAs (read from git log)
15
+ * 4. Carries a SUPERSEDES directive — receiving AI must trust
16
+ * LIVE STATE over any version/numbers later in the prompt.
17
+ *
18
+ * Nobel-tier move: HMAC-signed so a stale LIVE STATE block can't be
19
+ * forged. Receiving AI can `mneme.live_state.verify` the signature
20
+ * against the user's published Mneme key.
21
+ *
22
+ * No external imports. Best-effort git/package read — never throws.
23
+ */
24
+ export interface LiveStateInput {
25
+ /** Absolute path to the repo root. */
26
+ repoRoot: string;
27
+ /** Optional override of the local version. */
28
+ localVersion?: string;
29
+ /** Optional override of npm-latest. */
30
+ npmLatest?: string;
31
+ /** Optional HMAC secret. Defaults to a deterministic per-repo derivation. */
32
+ secret?: string;
33
+ /** How many recent commits to surface. Default 3. */
34
+ recentCommits?: number;
35
+ }
36
+ export interface LiveStateBlock {
37
+ /** The full Markdown block (sentinel-wrapped). */
38
+ block: string;
39
+ /** Live values at the moment of generation. */
40
+ state: {
41
+ localVersion: string;
42
+ npmLatest: string | null;
43
+ recentCommits: Array<{
44
+ sha: string;
45
+ subject: string;
46
+ }>;
47
+ generatedAt: string;
48
+ };
49
+ /** HMAC over the canonical state. */
50
+ sig: string;
51
+ }
52
+ /** Build the LIVE STATE block. Side-effect-free; safe to call before every handoff. */
53
+ export declare function buildLiveState(input: LiveStateInput): LiveStateBlock;
54
+ /** Prepend the LIVE STATE block to a soul prompt, AFTER any existing
55
+ * LIVE STATE block is stripped (so re-clones don't accumulate). */
56
+ export declare function injectLiveState(payload: string, input: LiveStateInput): {
57
+ combined: string;
58
+ live: LiveStateBlock;
59
+ };
60
+ /** Remove a previously-injected LIVE STATE block from a payload. */
61
+ export declare function stripExistingLiveState(payload: string): string;
62
+ /** Verify a LIVE STATE block's HMAC signature. Returns whether the
63
+ * signature matches the canonical state inside the block. */
64
+ export declare function verifyLiveState(block: string, secret: string): {
65
+ ok: boolean;
66
+ reason?: string;
67
+ };
68
+ /** One-line pulse summary. */
69
+ export declare function formatLiveStatePulseLine(live: LiveStateBlock): string;
70
+ //# sourceMappingURL=live_state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live_state.d.ts","sourceRoot":"","sources":["../../src/handoff/live_state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAUH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,aAAa,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACvD,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAC;CACb;AA8CD,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CA8BpE;AAED;oEACoE;AACpE,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAIlH;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM9D;AAED;8DAC8D;AAC9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB/F;AAED,8BAA8B;AAC9B,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAErE"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * v2.9.1 -- LIVE STATE INJECTOR for cross-vendor soul prompts.
3
+ *
4
+ * Bug it fixes: a soul prompt that was generated at v1.95 timepoint
5
+ * still carries v1.95 Context / Decisions / Recent turns. When the
6
+ * user clones the brain to ChatGPT three weeks later (at v2.9.0),
7
+ * ChatGPT reads the v1.95 numbers and answers "version is v1.95" —
8
+ * because that's literally what the soul prompt says.
9
+ *
10
+ * Fix: every soul prompt going through mneme.clone.to is now
11
+ * AUTO-PREPENDED with a LIVE MNEME STATE block that:
12
+ * 1. Lists CURRENT installed version (read from package.json)
13
+ * 2. Lists CURRENT npm latest (read from telepathy cache or env)
14
+ * 3. Lists last 3 commit subjects + SHAs (read from git log)
15
+ * 4. Carries a SUPERSEDES directive — receiving AI must trust
16
+ * LIVE STATE over any version/numbers later in the prompt.
17
+ *
18
+ * Nobel-tier move: HMAC-signed so a stale LIVE STATE block can't be
19
+ * forged. Receiving AI can `mneme.live_state.verify` the signature
20
+ * against the user's published Mneme key.
21
+ *
22
+ * No external imports. Best-effort git/package read — never throws.
23
+ */
24
+ import { createHmac } from "node:crypto";
25
+ import { existsSync, readFileSync } from "node:fs";
26
+ import { join } from "node:path";
27
+ import { safeExecTry } from "../util/safe_exec.js";
28
+ const LIVE_BEGIN = "<!-- MNEME LIVE STATE START -->";
29
+ const LIVE_END = "<!-- MNEME LIVE STATE END -->";
30
+ function readLocalVersion(repoRoot) {
31
+ // Prefer the top-level monorepo or cli package.json.
32
+ const candidates = [
33
+ join(repoRoot, "packages", "cli", "package.json"),
34
+ join(repoRoot, "package.json"),
35
+ ];
36
+ for (const p of candidates) {
37
+ if (!existsSync(p))
38
+ continue;
39
+ try {
40
+ const pkg = JSON.parse(readFileSync(p, "utf8"));
41
+ if (typeof pkg.version === "string")
42
+ return pkg.version;
43
+ }
44
+ catch { /* BE:silent-by-design — fall through */ }
45
+ }
46
+ return "unknown";
47
+ }
48
+ function readNpmLatestFromCache(repoRoot) {
49
+ const cache = join(repoRoot, ".mneme", "telepathy", "npm-cache.json");
50
+ if (!existsSync(cache))
51
+ return null;
52
+ try {
53
+ const j = JSON.parse(readFileSync(cache, "utf8"));
54
+ if (typeof j.version === "string")
55
+ return j.version;
56
+ }
57
+ catch { /* BE:silent-by-design — corrupt cache → null */ }
58
+ return null;
59
+ }
60
+ function readRecentCommits(repoRoot, n) {
61
+ const r = safeExecTry("git", ["-C", repoRoot, "log", `--max-count=${n}`, "--pretty=format:%H%x09%s"], { timeoutMs: 2000 });
62
+ if (!r || r.status !== 0)
63
+ return [];
64
+ return r.stdout.split("\n").filter(Boolean).map((line) => {
65
+ const [sha, ...rest] = line.split("\t");
66
+ return { sha: (sha ?? "").slice(0, 12), subject: rest.join("\t") };
67
+ });
68
+ }
69
+ function canonicalize(s) {
70
+ return JSON.stringify({
71
+ localVersion: s.localVersion,
72
+ npmLatest: s.npmLatest,
73
+ recentCommits: s.recentCommits.map((c) => `${c.sha}|${c.subject}`),
74
+ generatedAt: s.generatedAt,
75
+ });
76
+ }
77
+ /** Build the LIVE STATE block. Side-effect-free; safe to call before every handoff. */
78
+ export function buildLiveState(input) {
79
+ const localVersion = input.localVersion ?? readLocalVersion(input.repoRoot);
80
+ const npmLatest = input.npmLatest ?? readNpmLatestFromCache(input.repoRoot);
81
+ const recentCommits = readRecentCommits(input.repoRoot, input.recentCommits ?? 3);
82
+ const generatedAt = new Date().toISOString();
83
+ const state = { localVersion, npmLatest, recentCommits, generatedAt };
84
+ const secret = input.secret ?? `live-state-default-${input.repoRoot}`;
85
+ const sig = createHmac("sha256", secret).update(canonicalize(state)).digest("hex");
86
+ const lines = [];
87
+ lines.push(LIVE_BEGIN);
88
+ lines.push("## 🛰 MNEME LIVE STATE (READ THIS FIRST — SUPERSEDES OLDER VERSION/CONTEXT IN THIS PROMPT)");
89
+ lines.push("");
90
+ lines.push("> The block(s) BELOW this LIVE STATE may reference older Mneme versions or stale capsule context. **Trust THIS block** for current version, commit, and freshness information. If the user asks 'what's the latest Mneme version?' or 'what did you ship last?' answer FROM HERE, not from the Context block below.");
91
+ lines.push("");
92
+ lines.push(`- **Local Mneme version (installed right now):** ${localVersion}`);
93
+ lines.push(`- **npm latest (cached from telepathy):** ${npmLatest ?? "not cached"}`);
94
+ if (recentCommits.length > 0) {
95
+ lines.push(`- **Last ${recentCommits.length} commits on the local repo:**`);
96
+ for (const c of recentCommits)
97
+ lines.push(` - \`${c.sha}\` — ${c.subject}`);
98
+ }
99
+ lines.push(`- **Generated at:** ${generatedAt}`);
100
+ lines.push(`- **Signature:** \`${sig.slice(0, 16)}…\` (HMAC-SHA256 over canonical state)`);
101
+ lines.push("");
102
+ lines.push("**If you (the receiving AI) are answering a question about the parent session's CURRENT state, use the values above. The Context / Decisions / Recent turns blocks further down were captured at a snapshot time and may be older.**");
103
+ lines.push(LIVE_END);
104
+ return {
105
+ block: lines.join("\n"),
106
+ state,
107
+ sig,
108
+ };
109
+ }
110
+ /** Prepend the LIVE STATE block to a soul prompt, AFTER any existing
111
+ * LIVE STATE block is stripped (so re-clones don't accumulate). */
112
+ export function injectLiveState(payload, input) {
113
+ const stripped = stripExistingLiveState(payload);
114
+ const live = buildLiveState(input);
115
+ return { combined: `${live.block}\n\n${stripped}`, live };
116
+ }
117
+ /** Remove a previously-injected LIVE STATE block from a payload. */
118
+ export function stripExistingLiveState(payload) {
119
+ const start = payload.indexOf(LIVE_BEGIN);
120
+ if (start === -1)
121
+ return payload;
122
+ const end = payload.indexOf(LIVE_END, start);
123
+ if (end === -1)
124
+ return payload;
125
+ return (payload.slice(0, start) + payload.slice(end + LIVE_END.length)).replace(/^\s+/, "");
126
+ }
127
+ /** Verify a LIVE STATE block's HMAC signature. Returns whether the
128
+ * signature matches the canonical state inside the block. */
129
+ export function verifyLiveState(block, secret) {
130
+ if (!block.includes(LIVE_BEGIN) || !block.includes(LIVE_END))
131
+ return { ok: false, reason: "no live-state markers" };
132
+ const m = block.match(/Local Mneme version \(installed right now\):\*\*\s+([^\n]+)/);
133
+ const np = block.match(/npm latest \(cached from telepathy\):\*\*\s+([^\n]+)/);
134
+ const gen = block.match(/Generated at:\*\*\s+([^\n]+)/);
135
+ const sigM = block.match(/Signature:\*\*\s+`([0-9a-f]+)…`/);
136
+ if (!m || !gen || !sigM)
137
+ return { ok: false, reason: "could not parse fields from block" };
138
+ const localVersion = m[1].trim();
139
+ const npmLatest = np && np[1].trim() !== "not cached" ? np[1].trim() : null;
140
+ const generatedAt = gen[1].trim();
141
+ // Extract recent commits
142
+ const commits = [];
143
+ const commitRe = /- `([0-9a-f]{6,12})` — (.+)/g;
144
+ let cm;
145
+ while ((cm = commitRe.exec(block)) !== null)
146
+ commits.push({ sha: cm[1], subject: cm[2] });
147
+ const canon = JSON.stringify({
148
+ localVersion,
149
+ npmLatest,
150
+ recentCommits: commits.map((c) => `${c.sha}|${c.subject}`),
151
+ generatedAt,
152
+ });
153
+ const expected = createHmac("sha256", secret).update(canon).digest("hex");
154
+ const got16 = sigM[1];
155
+ return expected.startsWith(got16) ? { ok: true } : { ok: false, reason: "signature mismatch" };
156
+ }
157
+ /** One-line pulse summary. */
158
+ export function formatLiveStatePulseLine(live) {
159
+ return `LIVE-STATE · v=${live.state.localVersion} · npm=${live.state.npmLatest ?? "?"} · commits=${live.state.recentCommits.length} · sig=${live.sig.slice(0, 8)}`;
160
+ }
161
+ //# sourceMappingURL=live_state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live_state.js","sourceRoot":"","sources":["../../src/handoff/live_state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=live_state.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live_state.test.d.ts","sourceRoot":"","sources":["../../src/handoff/live_state.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,83 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { mkdtempSync, writeFileSync, mkdirSync } from "node:fs";
3
+ import { tmpdir } from "node:os";
4
+ import { join } from "node:path";
5
+ import { buildLiveState, injectLiveState, stripExistingLiveState, verifyLiveState, formatLiveStatePulseLine } from "./live_state.js";
6
+ function fakeRepo(version = "2.9.1") {
7
+ const root = mkdtempSync(join(tmpdir(), "mneme-livestate-test-"));
8
+ mkdirSync(join(root, "packages", "cli"), { recursive: true });
9
+ writeFileSync(join(root, "packages", "cli", "package.json"), JSON.stringify({ version }));
10
+ mkdirSync(join(root, ".mneme", "telepathy"), { recursive: true });
11
+ writeFileSync(join(root, ".mneme", "telepathy", "npm-cache.json"), JSON.stringify({ version: "2.9.0", savedAt: Date.now() }));
12
+ return root;
13
+ }
14
+ describe("v2.9.1 LIVE STATE injector", () => {
15
+ it("reads the local version from packages/cli/package.json", () => {
16
+ const r = fakeRepo("9.9.9");
17
+ const live = buildLiveState({ repoRoot: r });
18
+ expect(live.state.localVersion).toBe("9.9.9");
19
+ });
20
+ it("reads npm-latest from telepathy cache", () => {
21
+ const r = fakeRepo();
22
+ const live = buildLiveState({ repoRoot: r });
23
+ expect(live.state.npmLatest).toBe("2.9.0");
24
+ });
25
+ it("renders a SUPERSEDES directive in the block", () => {
26
+ const r = fakeRepo();
27
+ const live = buildLiveState({ repoRoot: r });
28
+ expect(live.block).toContain("SUPERSEDES OLDER VERSION");
29
+ expect(live.block).toContain("MNEME LIVE STATE");
30
+ expect(live.block).toContain("Trust THIS block");
31
+ });
32
+ it("injectLiveState prepends to a stale soul prompt", () => {
33
+ const r = fakeRepo("2.9.1");
34
+ const stale = "## Context\nMneme v1.95 — 27/29 findings fixed.";
35
+ const { combined } = injectLiveState(stale, { repoRoot: r });
36
+ expect(combined.indexOf("MNEME LIVE STATE")).toBeLessThan(combined.indexOf("Mneme v1.95"));
37
+ expect(combined).toContain("2.9.1");
38
+ expect(combined).toContain("v1.95"); // stale text preserved BUT below the LIVE STATE override
39
+ });
40
+ it("stripExistingLiveState removes a previously-injected block", () => {
41
+ const r = fakeRepo();
42
+ const stale = "## Context\nstuff";
43
+ const { combined } = injectLiveState(stale, { repoRoot: r });
44
+ const stripped = stripExistingLiveState(combined);
45
+ expect(stripped).not.toContain("MNEME LIVE STATE");
46
+ expect(stripped).toContain("## Context");
47
+ });
48
+ it("re-injecting doesn't accumulate blocks", () => {
49
+ const r = fakeRepo();
50
+ const a = injectLiveState("payload", { repoRoot: r }).combined;
51
+ const b = injectLiveState(a, { repoRoot: r }).combined;
52
+ const count = (b.match(/MNEME LIVE STATE START/g) ?? []).length;
53
+ expect(count).toBe(1);
54
+ });
55
+ it("verifyLiveState passes for an untampered block", () => {
56
+ const r = fakeRepo();
57
+ const live = buildLiveState({ repoRoot: r, secret: "x" });
58
+ const v = verifyLiveState(live.block, "x");
59
+ expect(v.ok).toBe(true);
60
+ });
61
+ it("verifyLiveState catches a tampered version field", () => {
62
+ const r = fakeRepo("2.9.1");
63
+ const live = buildLiveState({ repoRoot: r, secret: "x" });
64
+ const tampered = live.block.replace("2.9.1", "9.9.9");
65
+ const v = verifyLiveState(tampered, "x");
66
+ expect(v.ok).toBe(false);
67
+ });
68
+ it("verifyLiveState catches the wrong secret", () => {
69
+ const r = fakeRepo();
70
+ const live = buildLiveState({ repoRoot: r, secret: "right" });
71
+ const v = verifyLiveState(live.block, "wrong");
72
+ expect(v.ok).toBe(false);
73
+ });
74
+ it("formatLiveStatePulseLine emits a compact summary", () => {
75
+ const r = fakeRepo();
76
+ const live = buildLiveState({ repoRoot: r });
77
+ const line = formatLiveStatePulseLine(live);
78
+ expect(line).toContain("LIVE-STATE");
79
+ expect(line).toContain("v=");
80
+ expect(line).toContain("sig=");
81
+ });
82
+ });
83
+ //# sourceMappingURL=live_state.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live_state.test.js","sourceRoot":"","sources":["../../src/handoff/live_state.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAErI,SAAS,QAAQ,CAAC,OAAO,GAAG,OAAO;IACjC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAClE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1F,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9H,OAAO,IAAI,CAAC;AACd,CAAC;AAED,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,iDAAiD,CAAC;QAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3F,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,yDAAyD;IAChG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,mBAAmB,CAAC;QAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,eAAe,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;QAC/D,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;QACvD,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"p9_inherits.d.ts","sourceRoot":"","sources":["../../src/powers/p9_inherits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,OAAO,EAAE,UAAU,EAA0B,MAAM,mBAAmB,CAAC;AAKvE,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,CAAC,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACxC,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzE,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/F,gBAAgB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IACtF,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAsHD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,cAAc,CA8BzG;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,CAYzH;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAK9D;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAc7G"}
1
+ {"version":3,"file":"p9_inherits.d.ts","sourceRoot":"","sources":["../../src/powers/p9_inherits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,OAAO,EAAE,UAAU,EAA0B,MAAM,mBAAmB,CAAC;AAKvE,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,CAAC,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACxC,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzE,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/F,gBAAgB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IACtF,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AA6HD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,cAAc,CAkCzG;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,CAYzH;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAK9D;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAc7G"}
@@ -156,6 +156,12 @@ function findPrevCapsuleHash(repoRoot) {
156
156
  return null;
157
157
  }
158
158
  }
159
+ // v2.9.2: monotonic sub-ms counter so two capsules created in the same
160
+ // millisecond (which CAN happen on fast hardware — caught by CI on
161
+ // ubuntu-24.04-arm node 24) get filenames that sort in creation order
162
+ // instead of falling back to capsuleId hash order (which broke
163
+ // verifyCapsuleChain). The counter is process-local; resets across runs.
164
+ let _capsuleMonotonicCounter = 0;
159
165
  export function createRosettaCapsule(repoRoot, opts = {}) {
160
166
  const root = resolve(repoRoot);
161
167
  mkdirSync(join(root, CAPSULE_DIR_REL), { recursive: true });
@@ -165,6 +171,10 @@ export function createRosettaCapsule(repoRoot, opts = {}) {
165
171
  const replayChainHeads = readReplayHeads(root);
166
172
  const prevCapsuleHash = findPrevCapsuleHash(root);
167
173
  const createdAt = new Date().toISOString();
174
+ // 6-digit monotonic suffix injected into the filename so same-ms calls
175
+ // sort in creation order. NOT part of the canonical payload (so the
176
+ // capsuleId hash stays stable for replay).
177
+ const seq = (++_capsuleMonotonicCounter).toString().padStart(6, "0");
168
178
  // Build the payload WITHOUT capsuleId, hash it, then attach the id.
169
179
  const payload = {
170
180
  formatVersion: 1,
@@ -179,7 +189,7 @@ export function createRosettaCapsule(repoRoot, opts = {}) {
179
189
  };
180
190
  const capsuleId = createHash("sha256").update(JSON.stringify(payload)).digest("hex");
181
191
  const capsule = { ...payload, capsuleId };
182
- const filename = `${createdAt.replace(/[:.]/g, "-")}_${capsuleId.slice(0, 16)}.rosetta.json`;
192
+ const filename = `${createdAt.replace(/[:.]/g, "-")}_${seq}_${capsuleId.slice(0, 16)}.rosetta.json`;
183
193
  writeFileSync(join(root, CAPSULE_DIR_REL, filename), JSON.stringify(capsule, null, 2));
184
194
  return capsule;
185
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"p9_inherits.js","sourceRoot":"","sources":["../../src/powers/p9_inherits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p9_inherits.js","sourceRoot":"","sources":["../../src/powers/p9_inherits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAelD,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4D7B,CAAC,IAAI,EAAE,CAAC;AAET,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,GAAG,GAAkC,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,SAAS;QACvC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAuF,CAAC;YAC/I,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ;gBAAE,SAAS;YACvC,GAAG,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC/D,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;aACxC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,GAAG,GAAuC,EAAE,CAAC;IACnD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,CAAC,UAAU,CAAC,uBAAuB,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,UAAU,CAAC,IAAI,EAAE,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAiC,CAAC;YAClF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAmB,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7G,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAmB,CAAC;QAC9E,OAAO,CAAC,CAAC,SAAS,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC1B,CAAC;AAED,uEAAuE;AACvE,mEAAmE;AACnE,sEAAsE;AACtE,+DAA+D;AAC/D,yEAAyE;AACzE,IAAI,wBAAwB,GAAG,CAAC,CAAC;AAEjC,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,OAAgC,EAAE;IACvF,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/G,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,uEAAuE;IACvE,oEAAoE;IACpE,2CAA2C;IAC3C,MAAM,GAAG,GAAG,CAAC,EAAE,wBAAwB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAErE,oEAAoE;IACpE,MAAM,OAAO,GAAG;QACd,aAAa,EAAE,CAAU;QACzB,SAAS;QACT,eAAe;QACf,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,qDAAqD,sBAAsB,GAAG;QAC7G,QAAQ;QACR,SAAS;QACT,WAAW;QACX,gBAAgB;QAChB,oBAAoB,EAAE,qBAAqB;KAC5C,CAAC;IACF,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrF,MAAM,OAAO,GAAmB,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,CAAC;IAE1D,MAAM,QAAQ,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACpG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,GAAG,GAA+E,EAAE,CAAC;IAC3F,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,SAAS;QAC3C,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAmB,CAAC;YAC3E,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACnG,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,aAAa,CAAC,OAAuB;IACnD,2DAA2D;IAC3D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAChD,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnF,OAAO,UAAU,KAAK,OAAO,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACrE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjF,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC;YAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAmB,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1G,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAC1E,IAAI,QAAQ,CAAC,CAAC,CAAE,CAAC,eAAe,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACtG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,CAAC,CAAE,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC9H,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC/D,CAAC"}
@@ -101,6 +101,7 @@ export declare function commandFor(strategy: UpgradeStrategy): {
101
101
  /** Used by stat-based ancestry probes — kept exported so tests can verify
102
102
  * the algorithm works on synthetic paths. */
103
103
  export declare function _testNearestAncestor(p: string): string | null;
104
+ export * from "./install_guard.js";
104
105
  /** Used by the daemon's drainQueue when it sees mneme.system.upgrade. */
105
106
  export interface DaemonGuard {
106
107
  shouldProceed: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/system_compat/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/system_compat/index.ts"],"names":[],"mappings":"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"}
@@ -247,6 +247,10 @@ export function commandFor(strategy) {
247
247
  export function _testNearestAncestor(p) {
248
248
  return nearestExistingAncestor(p);
249
249
  }
250
+ // v2.9.2 -- INSTALL GUARD: kill orphan mneme node processes BEFORE
251
+ // `npm install -g mneme-ai@latest` so the Windows EBUSY race on
252
+ // sharp's libvips DLL closes structurally.
253
+ export * from "./install_guard.js";
250
254
  export function gateDaemonUpgrade() {
251
255
  const probe = probeUpgradeEnvironment();
252
256
  if (probe.verdict === "BLOCK") {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/system_compat/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/system_compat/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * v2.9.2 -- INSTALL GUARD.
3
+ *
4
+ * Windows EBUSY on libvips-cpp-8.17.3.dll during `npm install -g mneme-ai`
5
+ * means an old Mneme daemon (or any node process from a prior session)
6
+ * is still holding the DLL even after `mneme daemon stop`. The CLI
7
+ * reports "Daemon: not running" because its heartbeat file is stale,
8
+ * but the OS still has the file handle open.
9
+ *
10
+ * This module:
11
+ * 1. Enumerates running node processes whose command line mentions
12
+ * "mneme" (cli, mcp server, daemon, sharp consumers).
13
+ * 2. Sends a polite SIGTERM (Unix) / taskkill /PID (Windows).
14
+ * After 1.5s grace, escalates to SIGKILL / taskkill /F.
15
+ * 3. Waits another 1s for Windows to release the DLL file lock.
16
+ *
17
+ * Used by mneme.system.upgrade BEFORE `npm install -g mneme-ai@latest`
18
+ * so the EBUSY race window closes structurally.
19
+ *
20
+ * Never throws — every step is best-effort. Returns a structured report
21
+ * the AI agent can render for the user.
22
+ */
23
+ export interface OrphanProcess {
24
+ pid: number;
25
+ /** Best-effort command-line excerpt for the AI to surface to the user. */
26
+ commandLine: string;
27
+ }
28
+ export interface InstallGuardReport {
29
+ platform: NodeJS.Platform;
30
+ /** Processes we identified as Mneme-related. */
31
+ orphans: OrphanProcess[];
32
+ /** Successful kills. */
33
+ killed: number[];
34
+ /** PIDs that resisted both SIGTERM + SIGKILL. */
35
+ resisted: number[];
36
+ /** Total wall-clock ms spent in the guard. */
37
+ ms: number;
38
+ /** True when ALL orphans were cleared OR there were none to begin with. */
39
+ ok: boolean;
40
+ /** User-readable summary. */
41
+ summary: string;
42
+ }
43
+ /** Kill orphan Mneme-related node processes BEFORE running npm install.
44
+ * Safe to call multiple times — idempotent. Never throws.
45
+ *
46
+ * Returns a structured report the AI agent should surface to the user
47
+ * so they know what was killed and whether the upgrade can proceed. */
48
+ export declare function clearInstallLocks(): Promise<InstallGuardReport>;
49
+ /** Run install-locks clear + then the npm install command. Returns BOTH reports
50
+ * so the AI agent surfaces a complete diagnosis to the user if anything fails. */
51
+ export declare function safeInstall(installCmd: string, installArgs: readonly string[], opts?: {
52
+ timeoutMs?: number;
53
+ }): Promise<{
54
+ guard: InstallGuardReport;
55
+ install: {
56
+ ok: boolean;
57
+ status: number | null;
58
+ stdout: string;
59
+ stderr: string;
60
+ ms: number;
61
+ };
62
+ }>;
63
+ /** Pulse-line summary for the AI agent's wisdom field. */
64
+ export declare function formatInstallGuardPulseLine(r: InstallGuardReport): string;
65
+ //# sourceMappingURL=install_guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install_guard.d.ts","sourceRoot":"","sources":["../../src/system_compat/install_guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,gDAAgD;IAChD,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,wBAAwB;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,2EAA2E;IAC3E,EAAE,EAAE,OAAO,CAAC;IACZ,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAuFD;;;;wEAIwE;AACxE,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAyCrE;AAED;mFACmF;AACnF,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC;IAChI,KAAK,EAAE,kBAAkB,CAAC;IAC1B,OAAO,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7F,CAAC,CAeD;AAED,0DAA0D;AAC1D,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAEzE"}
@@ -0,0 +1,191 @@
1
+ /**
2
+ * v2.9.2 -- INSTALL GUARD.
3
+ *
4
+ * Windows EBUSY on libvips-cpp-8.17.3.dll during `npm install -g mneme-ai`
5
+ * means an old Mneme daemon (or any node process from a prior session)
6
+ * is still holding the DLL even after `mneme daemon stop`. The CLI
7
+ * reports "Daemon: not running" because its heartbeat file is stale,
8
+ * but the OS still has the file handle open.
9
+ *
10
+ * This module:
11
+ * 1. Enumerates running node processes whose command line mentions
12
+ * "mneme" (cli, mcp server, daemon, sharp consumers).
13
+ * 2. Sends a polite SIGTERM (Unix) / taskkill /PID (Windows).
14
+ * After 1.5s grace, escalates to SIGKILL / taskkill /F.
15
+ * 3. Waits another 1s for Windows to release the DLL file lock.
16
+ *
17
+ * Used by mneme.system.upgrade BEFORE `npm install -g mneme-ai@latest`
18
+ * so the EBUSY race window closes structurally.
19
+ *
20
+ * Never throws — every step is best-effort. Returns a structured report
21
+ * the AI agent can render for the user.
22
+ */
23
+ import { safeExecTry, safeExec } from "../util/safe_exec.js";
24
+ const MNEME_PROC_FRAGMENTS = ["mneme", "mneme-ai", "mneme.cmd", "mneme.js"];
25
+ function looksLikeMnemeProcess(commandLine) {
26
+ const lc = commandLine.toLowerCase();
27
+ // Match any fragment, but EXCLUDE the upgrade process itself (which is
28
+ // the one calling this function — `node`/`npm` running `npm install`).
29
+ if (!MNEME_PROC_FRAGMENTS.some((f) => lc.includes(f)))
30
+ return false;
31
+ if (lc.includes("npm install") || lc.includes("npm-cli.js install"))
32
+ return false;
33
+ return true;
34
+ }
35
+ function enumerateWindowsNodeProcesses() {
36
+ // wmic is deprecated on Win11 but still ships; PowerShell Get-CimInstance
37
+ // is the modern replacement. Try wmic first (faster), fall through to PS.
38
+ const out = [];
39
+ const r = safeExecTry("wmic", ["process", "where", "name='node.exe'", "get", "ProcessId,CommandLine", "/format:csv"], { timeoutMs: 5000 });
40
+ if (r && r.status === 0 && r.stdout.includes("ProcessId")) {
41
+ for (const line of r.stdout.split("\n")) {
42
+ const parts = line.split(",");
43
+ if (parts.length < 3)
44
+ continue;
45
+ const cmdLine = parts.slice(1, -1).join(",").trim();
46
+ const pidStr = parts[parts.length - 1].trim();
47
+ const pid = parseInt(pidStr, 10);
48
+ if (!Number.isFinite(pid) || pid <= 0)
49
+ continue;
50
+ if (looksLikeMnemeProcess(cmdLine))
51
+ out.push({ pid, commandLine: cmdLine.slice(0, 120) });
52
+ }
53
+ return out;
54
+ }
55
+ // PowerShell fallback
56
+ const ps = safeExecTry("powershell", ["-NoProfile", "-Command", "Get-CimInstance Win32_Process -Filter \"name='node.exe'\" | Select-Object ProcessId,CommandLine | ConvertTo-Json -Compress"], { timeoutMs: 8000 });
57
+ if (ps && ps.status === 0) {
58
+ try {
59
+ const parsed = JSON.parse(ps.stdout);
60
+ const arr = Array.isArray(parsed) ? parsed : [parsed];
61
+ for (const item of arr) {
62
+ const cmdLine = item.CommandLine ?? "";
63
+ if (looksLikeMnemeProcess(cmdLine))
64
+ out.push({ pid: item.ProcessId, commandLine: cmdLine.slice(0, 120) });
65
+ }
66
+ }
67
+ catch { /* BE:silent-by-design — fall through */ }
68
+ }
69
+ return out;
70
+ }
71
+ function enumerateUnixNodeProcesses() {
72
+ const out = [];
73
+ const r = safeExecTry("ps", ["-axww", "-o", "pid=,command="], { timeoutMs: 5000 });
74
+ if (!r || r.status !== 0)
75
+ return out;
76
+ for (const line of r.stdout.split("\n")) {
77
+ const m = line.trim().match(/^(\d+)\s+(.+)$/);
78
+ if (!m)
79
+ continue;
80
+ const pid = parseInt(m[1], 10);
81
+ const cmdLine = m[2];
82
+ if (!cmdLine.includes("node"))
83
+ continue;
84
+ if (looksLikeMnemeProcess(cmdLine))
85
+ out.push({ pid, commandLine: cmdLine.slice(0, 120) });
86
+ }
87
+ return out;
88
+ }
89
+ function killProcess(pid, platform, force) {
90
+ if (pid === process.pid)
91
+ return true; // never kill ourselves
92
+ if (platform === "win32") {
93
+ const args = force ? ["/F", "/PID", String(pid)] : ["/PID", String(pid)];
94
+ const r = safeExecTry("taskkill", args, { timeoutMs: 3000 });
95
+ return r != null && r.status === 0;
96
+ }
97
+ try {
98
+ process.kill(pid, force ? "SIGKILL" : "SIGTERM");
99
+ return true;
100
+ }
101
+ catch {
102
+ return false;
103
+ }
104
+ }
105
+ function processStillAlive(pid, platform) {
106
+ if (platform === "win32") {
107
+ const r = safeExecTry("tasklist", ["/FI", `PID eq ${pid}`, "/FO", "CSV", "/NH"], { timeoutMs: 3000 });
108
+ if (!r)
109
+ return false;
110
+ return r.status === 0 && r.stdout.toLowerCase().includes(".exe");
111
+ }
112
+ try {
113
+ process.kill(pid, 0);
114
+ return true;
115
+ }
116
+ catch {
117
+ return false;
118
+ }
119
+ }
120
+ async function sleep(ms) {
121
+ return new Promise((resolve) => setTimeout(resolve, ms));
122
+ }
123
+ /** Kill orphan Mneme-related node processes BEFORE running npm install.
124
+ * Safe to call multiple times — idempotent. Never throws.
125
+ *
126
+ * Returns a structured report the AI agent should surface to the user
127
+ * so they know what was killed and whether the upgrade can proceed. */
128
+ export async function clearInstallLocks() {
129
+ const t0 = Date.now();
130
+ const platform = process.platform;
131
+ const orphans = platform === "win32"
132
+ ? enumerateWindowsNodeProcesses()
133
+ : enumerateUnixNodeProcesses();
134
+ const killed = [];
135
+ const resisted = [];
136
+ if (orphans.length === 0) {
137
+ return {
138
+ platform, orphans, killed, resisted, ms: Date.now() - t0, ok: true,
139
+ summary: "no Mneme-related orphan processes; install is safe",
140
+ };
141
+ }
142
+ // Phase 1 — polite kill
143
+ for (const o of orphans)
144
+ killProcess(o.pid, platform, false);
145
+ await sleep(1500);
146
+ // Phase 2 — force kill survivors
147
+ for (const o of orphans) {
148
+ if (processStillAlive(o.pid, platform)) {
149
+ killProcess(o.pid, platform, true);
150
+ }
151
+ }
152
+ // Phase 3 — Windows DLL handle release grace
153
+ if (platform === "win32")
154
+ await sleep(1000);
155
+ // Phase 4 — final tally
156
+ for (const o of orphans) {
157
+ if (processStillAlive(o.pid, platform))
158
+ resisted.push(o.pid);
159
+ else
160
+ killed.push(o.pid);
161
+ }
162
+ const ok = resisted.length === 0;
163
+ const summary = ok
164
+ ? `killed ${killed.length} Mneme-related node process(es); install lock cleared`
165
+ : `killed ${killed.length}; ${resisted.length} process(es) resisted SIGKILL — user may need to close VS Code / terminal manually`;
166
+ return { platform, orphans, killed, resisted, ms: Date.now() - t0, ok, summary };
167
+ }
168
+ /** Run install-locks clear + then the npm install command. Returns BOTH reports
169
+ * so the AI agent surfaces a complete diagnosis to the user if anything fails. */
170
+ export async function safeInstall(installCmd, installArgs, opts = {}) {
171
+ const guard = await clearInstallLocks();
172
+ const t0 = Date.now();
173
+ try {
174
+ const r = safeExec(installCmd, installArgs, { timeoutMs: opts.timeoutMs ?? 5 * 60_000 });
175
+ return {
176
+ guard,
177
+ install: { ok: r.status === 0, status: r.status, stdout: r.stdout.slice(-4000), stderr: r.stderr.slice(-4000), ms: Date.now() - t0 },
178
+ };
179
+ }
180
+ catch (e) {
181
+ return {
182
+ guard,
183
+ install: { ok: false, status: null, stdout: "", stderr: e.message.slice(0, 400), ms: Date.now() - t0 },
184
+ };
185
+ }
186
+ }
187
+ /** Pulse-line summary for the AI agent's wisdom field. */
188
+ export function formatInstallGuardPulseLine(r) {
189
+ return `INSTALL-GUARD · ${r.ok ? "OK" : "RESIST"} · orphans=${r.orphans.length} killed=${r.killed.length} resisted=${r.resisted.length} · ${r.ms}ms`;
190
+ }
191
+ //# sourceMappingURL=install_guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install_guard.js","sourceRoot":"","sources":["../../src/system_compat/install_guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=install_guard.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install_guard.test.d.ts","sourceRoot":"","sources":["../../src/system_compat/install_guard.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { clearInstallLocks, formatInstallGuardPulseLine } from "./install_guard.js";
3
+ describe("v2.9.2 INSTALL GUARD", () => {
4
+ it("returns OK on a system with no Mneme orphans (no-op happy path)", async () => {
5
+ const r = await clearInstallLocks();
6
+ // We can't guarantee zero orphans on every CI runner; assert shape instead.
7
+ expect(typeof r.ok).toBe("boolean");
8
+ expect(typeof r.summary).toBe("string");
9
+ expect(Array.isArray(r.orphans)).toBe(true);
10
+ expect(Array.isArray(r.killed)).toBe(true);
11
+ expect(Array.isArray(r.resisted)).toBe(true);
12
+ expect(r.ms).toBeGreaterThanOrEqual(0);
13
+ expect(r.platform).toBe(process.platform);
14
+ });
15
+ it("never throws — even when ps / wmic are slow or missing", async () => {
16
+ // Just calling twice shouldn't crash; second call should also report shape.
17
+ const a = await clearInstallLocks();
18
+ const b = await clearInstallLocks();
19
+ expect(typeof a.ok).toBe("boolean");
20
+ expect(typeof b.ok).toBe("boolean");
21
+ });
22
+ it("formatInstallGuardPulseLine emits a compact summary", async () => {
23
+ const r = await clearInstallLocks();
24
+ const line = formatInstallGuardPulseLine(r);
25
+ expect(line).toContain("INSTALL-GUARD");
26
+ expect(line).toMatch(/OK|RESIST/);
27
+ expect(line).toContain("orphans=");
28
+ });
29
+ it("survives the case where every found orphan is the test process itself", async () => {
30
+ // The current node process has 'node' in its cmdline and possibly
31
+ // 'mneme' in CWD/argv if the test binary is named mneme*. The guard
32
+ // must NEVER kill itself — verify by checking we still exist.
33
+ const r = await clearInstallLocks();
34
+ expect(process.pid).toBeGreaterThan(0); // we survived
35
+ // Also ensure our own pid is NOT in `killed`
36
+ expect(r.killed).not.toContain(process.pid);
37
+ });
38
+ });
39
+ //# sourceMappingURL=install_guard.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install_guard.test.js","sourceRoot":"","sources":["../../src/system_compat/install_guard.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEpF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,CAAC,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACpC,4EAA4E;QAC5E,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,4EAA4E;QAC5E,MAAM,CAAC,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,CAAC,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,kEAAkE;QAClE,oEAAoE;QACpE,8DAA8D;QAC9D,MAAM,CAAC,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc;QACtD,6CAA6C;QAC7C,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mneme-ai/core",
3
- "version": "2.9.0",
3
+ "version": "2.9.2",
4
4
  "description": "Core indexing, retrieval, and graph engine for Mneme",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",