@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.
- package/dist/handoff/index.d.ts +1 -0
- package/dist/handoff/index.d.ts.map +1 -1
- package/dist/handoff/index.js +4 -0
- package/dist/handoff/index.js.map +1 -1
- package/dist/handoff/live_state.d.ts +70 -0
- package/dist/handoff/live_state.d.ts.map +1 -0
- package/dist/handoff/live_state.js +161 -0
- package/dist/handoff/live_state.js.map +1 -0
- package/dist/handoff/live_state.test.d.ts +2 -0
- package/dist/handoff/live_state.test.d.ts.map +1 -0
- package/dist/handoff/live_state.test.js +83 -0
- package/dist/handoff/live_state.test.js.map +1 -0
- package/dist/powers/p9_inherits.d.ts.map +1 -1
- package/dist/powers/p9_inherits.js +11 -1
- package/dist/powers/p9_inherits.js.map +1 -1
- package/dist/system_compat/index.d.ts +1 -0
- package/dist/system_compat/index.d.ts.map +1 -1
- package/dist/system_compat/index.js +4 -0
- package/dist/system_compat/index.js.map +1 -1
- package/dist/system_compat/install_guard.d.ts +65 -0
- package/dist/system_compat/install_guard.d.ts.map +1 -0
- package/dist/system_compat/install_guard.js +191 -0
- package/dist/system_compat/install_guard.js.map +1 -0
- package/dist/system_compat/install_guard.test.d.ts +2 -0
- package/dist/system_compat/install_guard.test.d.ts.map +1 -0
- package/dist/system_compat/install_guard.test.js +39 -0
- package/dist/system_compat/install_guard.test.js.map +1 -0
- package/package.json +1 -1
package/dist/handoff/index.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/handoff/index.js
CHANGED
|
@@ -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":"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,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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handoff/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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":"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"}
|
|
@@ -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;
|
|
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":"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"}
|
|
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAWH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iCAAiC;IACjC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,qCAAqC;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,gDAAgD;IAChD,cAAc,EAAE,OAAO,CAAC;IACxB,sCAAsC;IACtC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,UAAU,GACV,MAAM,GACN,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,eAAe,EAAE;QACf,GAAG,EAAE,cAAc,CAAC;QACpB,IAAI,EAAE,cAAc,CAAC;QACrB,IAAI,EAAE,cAAc,CAAC;QACrB,IAAI,EAAE,cAAc,CAAC;QACrB,MAAM,EAAE,cAAc,CAAC;KACxB,CAAC;IACF,aAAa,EAAE,iBAAiB,CAAC;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD,wBAAgB,OAAO,IAAI,MAAM,CAkBhC;AAMD,wBAAgB,SAAS,IAAI,QAAQ,CASpC;AAmCD,wBAAgB,oBAAoB,IAAI,iBAAiB,CAAC,iBAAiB,CAAC,CAQ3E;AAMD,wBAAgB,kBAAkB,IAAI,iBAAiB,CA2CtD;AAiBD,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,iBAAiB,GAAG,eAAe,GAAG,IAAI,CAAC,GAAG;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CA0CtL;AAMD,wBAAgB,uBAAuB,IAAI,iBAAiB,CAkB3D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAA;CAAE,GAAG,MAAM,CAGzH;AAED;2EAC2E;AAC3E,wBAAgB,UAAU,CAAC,QAAQ,EAAE,eAAe,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAa5F;AAED;8CAC8C;AAC9C,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE7D;AAKD,cAAc,oBAAoB,CAAC;AAEnC,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC3C;AAED,wBAAgB,iBAAiB,IAAI,WAAW,CAsB/C;AAED,wDAAwD;AACxD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAOxE"}
|
|
@@ -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 @@
|
|
|
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"}
|