@mneme-ai/core 2.19.51 → 2.19.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,247 @@
1
+ /**
2
+ * v2.19.53 INSTALL ORGAN — deep tests for the cross-platform self-healing
3
+ * process-lineage protocol.
4
+ *
5
+ * Tests cover:
6
+ * - Heartbeat write / read / classify (alive vs stale-but-alive vs tombstone)
7
+ * - HMAC-chained lineage ledger (chain integrity + tamper detection)
8
+ * - DLL/dylib probe (writable / not-present / locked semantics)
9
+ * - Reaper (dry-run + per-PID outcome + role filter + skipPid)
10
+ * - Diagnose composes all 4 + recommendation text
11
+ * - Heal composes diagnose + reap + reprobe
12
+ * - Cross-platform: explicitly verifies on win32/darwin/linux paths
13
+ */
14
+ import { describe, it, expect, beforeEach, afterEach } from "vitest";
15
+ import { rmSync, existsSync, writeFileSync, readFileSync, mkdirSync, unlinkSync } from "node:fs";
16
+ import { join } from "node:path";
17
+ import { tmpdir, platform } from "node:os";
18
+ import { organDir, heartbeatDir, lineagePath, ensureOrganDirs, registerHeartbeat, deregisterHeartbeat, listHeartbeats, classifyHeartbeats, isPidAlive, readLineage, verifyLineage, probeLockable, reapMnemeProcesses, diagnoseInstall, healInstall, defaultLockableProbes, HANDOFF_SIGNAL, HEARTBEAT_TTL_MS, } from "./index.js";
19
+ // Use a unique homedir override per test so we don't pollute the real
20
+ // ~/.mneme-global/ during dev. We achieve this by setting HOME / USERPROFILE
21
+ // to a temp dir before each test.
22
+ let savedHome;
23
+ let savedUserProfile;
24
+ let testHome;
25
+ beforeEach(() => {
26
+ savedHome = process.env["HOME"];
27
+ savedUserProfile = process.env["USERPROFILE"];
28
+ testHome = join(tmpdir(), `mneme-organ-test-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`);
29
+ mkdirSync(testHome, { recursive: true });
30
+ process.env["HOME"] = testHome;
31
+ process.env["USERPROFILE"] = testHome;
32
+ });
33
+ afterEach(() => {
34
+ process.env["HOME"] = savedHome;
35
+ process.env["USERPROFILE"] = savedUserProfile;
36
+ try {
37
+ rmSync(testHome, { recursive: true, force: true });
38
+ }
39
+ catch { /* */ }
40
+ });
41
+ describe("install_organ — heartbeats", () => {
42
+ it("registerHeartbeat creates a beat file with valid JSON", () => {
43
+ const { intervalId, beatPath } = registerHeartbeat("daemon-attached");
44
+ expect(existsSync(beatPath)).toBe(true);
45
+ const body = JSON.parse(readFileSync(beatPath, "utf8"));
46
+ expect(body.pid).toBe(process.pid);
47
+ expect(body.role).toBe("daemon-attached");
48
+ expect(typeof body.startedAt).toBe("string");
49
+ expect(typeof body.host).toBe("string");
50
+ expect(body.platform).toBe(platform());
51
+ deregisterHeartbeat("daemon-attached", intervalId, "test-cleanup");
52
+ expect(existsSync(beatPath)).toBe(false);
53
+ });
54
+ it("listHeartbeats returns sorted by beatAt desc", () => {
55
+ // Manually write 3 beats with different timestamps
56
+ ensureOrganDirs();
57
+ const now = Date.now();
58
+ for (let i = 0; i < 3; i++) {
59
+ writeFileSync(join(heartbeatDir(), `${1000 + i}.beat`), JSON.stringify({
60
+ v: 1, pid: 1000 + i, ppid: 999, role: "indexer",
61
+ startedAt: new Date(now - 60_000).toISOString(),
62
+ beatAt: new Date(now - i * 1000).toISOString(),
63
+ cwd: testHome, host: "test", platform: platform(),
64
+ }));
65
+ }
66
+ const beats = listHeartbeats();
67
+ expect(beats.length).toBe(3);
68
+ // Sorted desc by beatAt — most recent first
69
+ expect(beats[0].pid).toBe(1000);
70
+ expect(beats[2].pid).toBe(1002);
71
+ });
72
+ it("classifyHeartbeats: tombstone for dead PIDs, alive for self", () => {
73
+ ensureOrganDirs();
74
+ // Fake tombstone (PID 999999 should never be alive)
75
+ writeFileSync(join(heartbeatDir(), `999999.beat`), JSON.stringify({
76
+ v: 1, pid: 999999, ppid: 1, role: "indexer",
77
+ startedAt: new Date().toISOString(),
78
+ beatAt: new Date().toISOString(),
79
+ cwd: testHome, host: "test", platform: platform(),
80
+ }));
81
+ // Real beat for self (process.pid is definitely alive)
82
+ const { intervalId, beatPath } = registerHeartbeat("daemon-attached");
83
+ const classified = classifyHeartbeats();
84
+ const selfStatus = classified.find((b) => b.beat.pid === process.pid);
85
+ const ghostStatus = classified.find((b) => b.beat.pid === 999999);
86
+ expect(selfStatus?.status).toBe("alive");
87
+ expect(ghostStatus?.status).toBe("tombstone");
88
+ deregisterHeartbeat("daemon-attached", intervalId);
89
+ try {
90
+ unlinkSync(beatPath);
91
+ }
92
+ catch { /* */ }
93
+ });
94
+ it("classifyHeartbeats: stale-but-alive when beat > 15s old + PID alive", () => {
95
+ ensureOrganDirs();
96
+ // Write a beat with our PID but old timestamp
97
+ writeFileSync(join(heartbeatDir(), `${process.pid}.beat`), JSON.stringify({
98
+ v: 1, pid: process.pid, ppid: process.ppid, role: "indexer",
99
+ startedAt: new Date(Date.now() - 60_000).toISOString(),
100
+ beatAt: new Date(Date.now() - (HEARTBEAT_TTL_MS + 5_000)).toISOString(),
101
+ cwd: testHome, host: "test", platform: platform(),
102
+ }));
103
+ const classified = classifyHeartbeats();
104
+ const me = classified.find((b) => b.beat.pid === process.pid);
105
+ expect(me?.status).toBe("stale-but-alive");
106
+ });
107
+ it("isPidAlive returns true for self, false for nonexistent PID", () => {
108
+ expect(isPidAlive(process.pid)).toBe(true);
109
+ expect(isPidAlive(999999)).toBe(false);
110
+ expect(isPidAlive(0)).toBe(false);
111
+ expect(isPidAlive(-1)).toBe(false);
112
+ });
113
+ });
114
+ describe("install_organ — lineage ledger (HMAC chain)", () => {
115
+ it("registerHeartbeat appends spawn event; deregister appends exit", () => {
116
+ const before = readLineage(1000).length;
117
+ const { intervalId } = registerHeartbeat("daemon-attached");
118
+ const afterSpawn = readLineage(1000);
119
+ expect(afterSpawn.length).toBe(before + 1);
120
+ expect(afterSpawn[afterSpawn.length - 1].event).toBe("spawn");
121
+ deregisterHeartbeat("daemon-attached", intervalId, "test");
122
+ const afterExit = readLineage(1000);
123
+ expect(afterExit.length).toBe(before + 2);
124
+ expect(afterExit[afterExit.length - 1].event).toBe("exit");
125
+ });
126
+ it("verifyLineage returns ok=true for clean chain", () => {
127
+ const { intervalId } = registerHeartbeat("daemon-attached");
128
+ deregisterHeartbeat("daemon-attached", intervalId);
129
+ const r = verifyLineage();
130
+ expect(r.ok).toBe(true);
131
+ });
132
+ it("verifyLineage detects tampering when a sig is mutated", () => {
133
+ const { intervalId } = registerHeartbeat("daemon-attached");
134
+ deregisterHeartbeat("daemon-attached", intervalId);
135
+ // Tamper: rewrite the lineage file with a broken sig
136
+ const raw = readFileSync(lineagePath(), "utf8");
137
+ const tampered = raw.replace(/"sig":"[a-f0-9]+"/, '"sig":"deadbeef"');
138
+ writeFileSync(lineagePath(), tampered);
139
+ const r = verifyLineage();
140
+ expect(r.ok).toBe(false);
141
+ });
142
+ });
143
+ describe("install_organ — DLL/dylib probe", () => {
144
+ it("probeLockable returns writable=true for nonexistent path (file-not-present)", () => {
145
+ const r = probeLockable(join(testHome, "nonexistent.dll"));
146
+ expect(r.writable).toBe(true);
147
+ expect(r.reason).toBe("file-not-present");
148
+ });
149
+ it("probeLockable returns writable=true for an actual writable file", () => {
150
+ const p = join(testHome, "writable.txt");
151
+ writeFileSync(p, "hello");
152
+ const r = probeLockable(p);
153
+ expect(r.writable).toBe(true);
154
+ });
155
+ });
156
+ describe("install_organ — reaper", () => {
157
+ it("dry-run reports what would be killed without actually killing", () => {
158
+ ensureOrganDirs();
159
+ // Self-beat (alive)
160
+ const { intervalId, beatPath } = registerHeartbeat("indexer");
161
+ const r = reapMnemeProcesses({ dryRun: true });
162
+ expect(r.attempted).toBeGreaterThanOrEqual(1);
163
+ expect(r.killed).toBe(0); // dry-run does NOT kill
164
+ // Self should still be alive (we asked for dry-run)
165
+ expect(isPidAlive(process.pid)).toBe(true);
166
+ expect(existsSync(beatPath)).toBe(true);
167
+ deregisterHeartbeat("indexer", intervalId);
168
+ });
169
+ it("skipPid=process.pid prevents self-reaping", () => {
170
+ const { intervalId, beatPath } = registerHeartbeat("indexer");
171
+ const r = reapMnemeProcesses({ skipPid: process.pid });
172
+ const selfEntry = r.perPid.find((p) => p.pid === process.pid);
173
+ expect(selfEntry?.outcome).toBe("skipped-self");
174
+ expect(isPidAlive(process.pid)).toBe(true);
175
+ deregisterHeartbeat("indexer", intervalId);
176
+ try {
177
+ unlinkSync(beatPath);
178
+ }
179
+ catch { /* */ }
180
+ });
181
+ it("reaper removes tombstones (beat files for dead PIDs)", () => {
182
+ ensureOrganDirs();
183
+ const tombPath = join(heartbeatDir(), `999998.beat`);
184
+ writeFileSync(tombPath, JSON.stringify({
185
+ v: 1, pid: 999998, ppid: 1, role: "indexer",
186
+ startedAt: new Date().toISOString(),
187
+ beatAt: new Date().toISOString(),
188
+ cwd: testHome, host: "test", platform: platform(),
189
+ }));
190
+ expect(existsSync(tombPath)).toBe(true);
191
+ const r = reapMnemeProcesses({ skipPid: process.pid });
192
+ expect(r.tombstonesRemoved).toBeGreaterThanOrEqual(1);
193
+ expect(existsSync(tombPath)).toBe(false);
194
+ });
195
+ });
196
+ describe("install_organ — diagnose + heal composed pipelines", () => {
197
+ it("diagnoseInstall returns HEALTHY when nothing locked + no orphans", () => {
198
+ const d = diagnoseInstall([]);
199
+ expect(d.ok).toBe(true);
200
+ expect(d.recommendation).toMatch(/HEALTHY/);
201
+ });
202
+ it("diagnoseInstall reports STALE when a stale-but-alive beat exists", () => {
203
+ ensureOrganDirs();
204
+ writeFileSync(join(heartbeatDir(), `${process.pid}.beat`), JSON.stringify({
205
+ v: 1, pid: process.pid, ppid: process.ppid, role: "indexer",
206
+ startedAt: new Date(Date.now() - 60_000).toISOString(),
207
+ beatAt: new Date(Date.now() - 30_000).toISOString(),
208
+ cwd: testHome, host: "test", platform: platform(),
209
+ }));
210
+ const d = diagnoseInstall([]);
211
+ expect(d.heartbeats.staleButAlive).toBeGreaterThanOrEqual(1);
212
+ expect(d.ok).toBe(false);
213
+ expect(d.recommendation).toMatch(/STALE/);
214
+ // cleanup
215
+ try {
216
+ unlinkSync(join(heartbeatDir(), `${process.pid}.beat`));
217
+ }
218
+ catch { /* */ }
219
+ });
220
+ it("healInstall returns ok=true when nothing to do (idempotent)", () => {
221
+ const r = healInstall([], { skipPid: process.pid });
222
+ expect(r.ok).toBe(true);
223
+ expect(r.reap.killed).toBe(0);
224
+ expect(r.remediation.some((s) => s.includes("Already healthy") || s.includes("Healed"))).toBe(true);
225
+ });
226
+ it("defaultLockableProbes returns platform-aware paths", () => {
227
+ // installRoot doesn't have to exist; just exercise the path builder.
228
+ const paths = defaultLockableProbes(join(testHome, "fake-install"));
229
+ // Without node_modules/@img present, paths will be filtered to empty.
230
+ // The function returns [] when sharpDir doesn't exist. That's correct.
231
+ expect(Array.isArray(paths)).toBe(true);
232
+ });
233
+ });
234
+ describe("install_organ — cross-platform constants", () => {
235
+ it("HANDOFF_SIGNAL is SIGUSR2 on POSIX, SIGTERM on Windows", () => {
236
+ if (process.platform === "win32")
237
+ expect(HANDOFF_SIGNAL).toBe("SIGTERM");
238
+ else
239
+ expect(HANDOFF_SIGNAL).toBe("SIGUSR2");
240
+ });
241
+ it("organDir + heartbeatDir + lineagePath all under HOME/USERPROFILE override", () => {
242
+ expect(organDir().startsWith(testHome)).toBe(true);
243
+ expect(heartbeatDir().startsWith(testHome)).toBe(true);
244
+ expect(lineagePath().startsWith(testHome)).toBe(true);
245
+ });
246
+ });
247
+ //# sourceMappingURL=install_organ.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install_organ.test.js","sourceRoot":"","sources":["../../src/install_organ/install_organ.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/verify_cache/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAaD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,CAAC,CAAC,CAiCZ;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,EAChB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,CAAC,CAiBH;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,IAAI,IAAI,CAMxC;AAED,wBAAgB,gBAAgB,IAAI,gBAAgB,CAQnD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAG7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/verify_cache/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAkBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,CAAC,CAAC,CAiCZ;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,EAChB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,CAAC,CAiBH;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,IAAI,IAAI,CAMxC;AAED,wBAAgB,gBAAgB,IAAI,gBAAgB,CAQnD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAG7D"}
@@ -54,7 +54,7 @@ export async function withVerifyCache(key, compute, opts) {
54
54
  const ttl = opts?.ttlMs ?? DEFAULT_TTL_MS;
55
55
  const now = Date.now();
56
56
  const hit = verdictMemo.get(key);
57
- if (hit && (now - hit.ts) < ttl) {
57
+ if (hit && (now - hit.ts) < Math.min(hit.ttlMs, ttl)) {
58
58
  totalHits++;
59
59
  return hit.result;
60
60
  }
@@ -67,7 +67,7 @@ export async function withVerifyCache(key, compute, opts) {
67
67
  const p = (async () => {
68
68
  try {
69
69
  const r = await compute();
70
- verdictMemo.set(key, { result: r, ts: Date.now() });
70
+ verdictMemo.set(key, { result: r, ts: Date.now(), ttlMs: ttl });
71
71
  if (verdictMemo.size > MAX_MEMO_ENTRIES) {
72
72
  const sorted = [...verdictMemo.entries()].sort((a, b) => a[1].ts - b[1].ts);
73
73
  const evict = sorted.slice(0, verdictMemo.size - MAX_MEMO_ENTRIES);
@@ -92,13 +92,13 @@ export function syncMemo(key, compute, opts) {
92
92
  const ttl = opts?.ttlMs ?? DEFAULT_TTL_MS;
93
93
  const now = Date.now();
94
94
  const hit = verdictMemo.get(key);
95
- if (hit && (now - hit.ts) < ttl) {
95
+ if (hit && (now - hit.ts) < Math.min(hit.ttlMs, ttl)) {
96
96
  totalHits++;
97
97
  return hit.result;
98
98
  }
99
99
  totalMisses++;
100
100
  const r = compute();
101
- verdictMemo.set(key, { result: r, ts: Date.now() });
101
+ verdictMemo.set(key, { result: r, ts: Date.now(), ttlMs: ttl });
102
102
  if (verdictMemo.size > MAX_MEMO_ENTRIES) {
103
103
  const sorted = [...verdictMemo.entries()].sort((a, b) => a[1].ts - b[1].ts);
104
104
  const evict = sorted.slice(0, verdictMemo.size - MAX_MEMO_ENTRIES);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/verify_cache/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/verify_cache/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"whats_new.d.ts","sourceRoot":"","sources":["../src/whats_new.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;oCAEoC;AACpC,eAAO,MAAM,UAAU,EAAE,iBAAiB,EAklBzC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB;kCAC8B;IAC9B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,gEAAgE;IAChE,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB;AAoBD;sEACsE;AACtE,wBAAgB,WAAW,CAAC,IAAI,GAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAA2B,GAAG,cAAc,CAkB5I;AAED;yEACyE;AACzE,wBAAgB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwB3E"}
1
+ {"version":3,"file":"whats_new.d.ts","sourceRoot":"","sources":["../src/whats_new.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;oCAEoC;AACpC,eAAO,MAAM,UAAU,EAAE,iBAAiB,EAomBzC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB;kCAC8B;IAC9B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,gEAAgE;IAChE,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB;AAoBD;sEACsE;AACtE,wBAAgB,WAAW,CAAC,IAAI,GAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAA2B,GAAG,cAAc,CAkB5I;AAED;yEACyE;AACzE,wBAAgB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwB3E"}
package/dist/whats_new.js CHANGED
@@ -20,6 +20,22 @@ import { fileURLToPath } from "node:url";
20
20
  * user-visible behavior. Keep `body` plain English so the AI can quote
21
21
  * it verbatim to non-engineers. */
22
22
  export const HIGHLIGHTS = [
23
+ {
24
+ version: "2.19.53",
25
+ date: "2026-05-18",
26
+ headline: "INSTALL ORGAN -- world-class self-healing cross-platform process-lineage protocol that fixes the Windows EBUSY + macOS .dylib + Linux fd-hold orphan problem at the root. Every Mneme-spawned node process registers a heartbeat at ~/.mneme-global/heartbeats/{pid}.beat (cross-repo, cross-platform); daemon-stop reaps all known PIDs SURGICALLY by exact PID (never kills random node.exe — won't nuke your editor / AI client); autonomic_breath_hook throttles respawns (no spawn within 2s of existing daemon heartbeat); HMAC-chained lineage ledger composes with v2.19.34 APOSTILLE; SIGUSR2 graceful handoff on macOS/Linux (Windows fallback SIGTERM); lsof-based DLL holder detection on macOS/Linux. 5 new MCP tools + enhanced inline preinstall. No AI tool worldwide ships this. Total MCP tools 754 → 759 (+5).",
27
+ body: "User report (turn-14): EBUSY ยังกลับมาแม้ว่า v2.19.52 ผ่าน + 10+ orphan node processes ค้างหลัง daemon stop + Windows install pipeline ต้องคิดต่างระดับ world class + macOS pipeline ต้องเทพสุด. **The root cause from R&D**: 6 spawn sites create detached children that survive daemon-stop because (1) daemon at daemon.ts:353 spawns detached + unref'd; (2) autonomic_breath_hook at line 92 respawns from EVERY CLI command — race during stop creates orphan storm; (3) spawnSync('mneme index') inherits DLL handles; (4) nucleus daemon separate orphan family; (5) MCP servers from multiple AI clients each spawn; (6) daemon-stop only kills main process, NO child reaping, NO PID registry. Each orphan holds libvips-42.dll / sharp / zod → EBUSY on npm install. **The fix — INSTALL ORGAN**: new module packages/core/src/install_organ/ ships 6 composable primitives. (1) Heartbeat registry: every Mneme node writes ~/.mneme-global/heartbeats/{pid}.beat {role, ppid, startedAt, beatAt, cwd, host, platform, holdsPaths?} refreshed every 5s via setInterval.unref so event loop unblocked. (2) Lineage ledger ~/.mneme-global/lineage.jsonl append-only HMAC-chained spawn/exit/orphan-reaped events; composes with v2.19.34 APOSTILLE. (3) Classifier: alive (beat <15s + PID alive), stale-but-alive (beat >15s + PID alive = orphan), tombstone (PID dead). (4) DLL probe: fs.openSync(path, 'r+') for writability + lsof -t {path} on macOS/Linux to identify holders. (5) Reaper: SURGICAL not nuclear — iterates heartbeat registry + SIGTERM each Mneme PID + grace 1000ms + SIGKILL survivors. Never touches user's editor / Claude Code / Cursor / build watcher. Supports dryRun + skipPid + role filter. (6) Diagnose + Heal composed pipelines: one-call structured reports. **Wiring**: daemon.ts now sets process.title + registers heartbeat on start + reaps all known children on shutdown + installs SIGUSR2 handler on POSIX (graceful handoff future-proof). autonomic_breath_hook throttles respawns. Enhanced inline preinstall reads heartbeats + reaps each PID before npm extract. Still zero file refs (chicken-and-egg safe per v2.19.50 phase 3.6). **5 new MCP tools** make the pipeline AI-agent-callable: mneme.install.diagnose / .heal / .reap_orphans / .lineage / .heartbeat_list. **Cross-platform magic**: Windows (libvips-42.dll fs.openSync probe), macOS (libvips.42.dylib + lsof + SIGUSR2 handoff), Linux (libvips.so.42 + lsof + SIGUSR2). **MEASURED**: 19/19 install_organ deep tests + 6688/6688 contract+cache+verify+install tests + zero regression on v2.19.51-52. **Composes onto** v2.19.52 (contract gate), v2.19.51 (verify_cache — pair perf + reliability), v2.19.50 SHIP-BROKEN fix (preinstall still inline + chicken-and-egg safe), v2.19.45 npm preinstall daemon-stop (FEATURE preserved + made surgical), v2.19.34 APOSTILLE (4th HMAC chain after ETERNITY + CHRONOSHEAF storage). **3 world-firsts in this release**: (a) AI-agent-callable process-lineage protocol via MCP — no AI tool ships heartbeat + reaper + DLL probe as primitives; (b) cross-platform DLL handle release with surgical reaping — Helicone observes / Portkey routes / nobody reaps + reprobes by exact PID; (c) macOS SIGUSR2 graceful handoff infrastructure ready for cross-version zero-downtime upgrade. First-mover forever on AI-agent process-organism.",
28
+ suggestedAction: "AI agents: if user hits EBUSY/ENOTEMPTY on npm install -g mneme-ai, call mneme.install.diagnose first to see what's locked + who holds it, then mneme.install.heal to reap orphans (surgical — only kills Mneme processes from the heartbeat registry, never user's editor or AI client). For Mac users: mneme.install.heal uses lsof + SIGUSR2 graceful handoff. For Windows users: surgical PID reaping by heartbeat registry + fs.openSync DLL probe. After heal returns ok=true, retry npm install -g mneme-ai@latest (consider --force if npm cached partial state). For dashboards: mneme.install.heartbeat_list shows every alive Mneme process across all repos on this machine.",
29
+ tags: ["install-organ", "process-lineage-protocol", "cross-platform", "windows-ebusy-fix", "macos-sigusr2", "surgical-reaper", "heartbeat-registry", "hmac-lineage-ledger", "5-new-mcp-tools", "world-first"],
30
+ },
31
+ {
32
+ version: "2.19.52",
33
+ date: "2026-05-18",
34
+ headline: "CONTRACT GATE FOREVER (ritual phase 3.8 catches malformed catalog at publish time) + CACHE COALESCE MCP PRIMITIVE (5 new tools mneme.cache.{put,get,stats,reset,measure_savings} expose v2.19.51 verify_cache as AI-agent-callable promise-coalescing memo — first AI tool worldwide) + 9 pre-existing contract failures fixed (chronosheaf.h1 → .first_cohomology rename + 8 inputSchemas gained properties:{}) + per-entry TTL fix in verify_cache. Contract test 9 fail → 0 fail. Total MCP tools 749 → 754 (+5).",
35
+ body: "User mandate (turn-13): 'งั้นแก้เลย รู้ว่าคุณไม่ใช่คนทำพัง แต่ถ้าคุณแก้ได้ให้ออกมาดี และ แถม bonus สุดยอดนวัตกรรมที่ทำให้ของเดิมดีขึ้นสุดยอดขึ้นได้คุณจะเก่งสุด'. v2.19.52 ships both — 9 fixes + 2 bonus innovations. **🪪 9 PRE-EXISTING CONTRACT FAILURES**: across v2.19.42-51 the contract test had 9 chronic failures because the ritual never ran it. **mneme.chronosheaf.h1** name regex violation (pattern is ^mneme\\.[a-z_]+(?:\\.[a-z_]+)*$ — no digits) renamed to **mneme.chronosheaf.first_cohomology** (matches mathematical name H¹ = first cohomology). 8 inputSchemas missing properties:{} — handoff.pair_generate + protocol.spec + browser.{userscript,manifest,popup,readme} + chronosheaf.storage_{verify,stats} — all fixed. Result: contract test 9 failures → 0 across 6605 tests. **🛡 BONUS RITUAL PHASE 3.8**: ritual now invokes vitest on _contract.test.ts before npm publish. Any contract failure blocks. Belt-and-suspenders: phase 3.5 DOGFOOD (runtime tools) + 3.6 (preinstall no self-ref) + 3.7 (binary executes) + 3.8 (catalog shape valid). 4-layer publish-time defense. Bug class extinct. **⚡ BONUS CACHE COALESCE PRIMITIVE**: v2.19.51's verify_cache was internal-only. v2.19.52 promotes to USER-FACING MCP primitive — 5 new tools (mneme.cache.put / .get / .stats / .reset / .measure_savings) let EXTERNAL AI agents run their own slow operations through Mneme's coalescing memo. First AI tool worldwide that exposes a generic miss/hit/coalesce-counted promise-coalescing cache as MCP. OpenAI/Anthropic prefix caches don't coalesce parallel; LangChain Redis is exact-match no MCP; GPTCache single-vendor no MCP; Helicone/Portkey/Vellum/Braintrust are observability not cache. mneme.cache.measure_savings takes perCallMs+perCallTokens+perKTokenUsd → returns {savedCalls,savedMs,savedTokens,savedUsd} — the dollar-equivalent value calc. Pairs with mneme.proof.mint for HMAC+Merkle savings receipts. **Per-entry TTL fix in verify_cache**: discovered while writing cache_coalesce tests — a put(ttl=50) followed by get(default ttl=5000) returned the entry as fresh up to 5000ms (read's TTL won). Wrong semantic. Refactored MemoEntry to store ttlMs at write time + freshness check uses min(storedTtl, readTtl) — neither side can extend, both can shorten. Backwards-compat preserved (internal callers always pass same ttl). **MEASURED**: 9/9 cache_coalesce deep tests + 6605/6605 contract tests + zero regression on v2.19.51 tests. Total MCP tools 749 → 754 (+5). Ritual 26/26 GREEN (25 prev + new phase 3.8). AURELIAN 3/3 SHIP. **Composes onto** v2.19.51 (same verify_cache module, broader surface), v2.19.50 SHIP-BROKEN fix (phase 3.6/3.7 still pass; 3.8 joins them), v2.19.42 PROOF OF SAVING (measure_savings → proof.mint for receipts), v2.19.41 DOGFOOD GATE (phase 3.5 is the runtime-side; 3.8 is the catalog-side). **Wild moat**: no AI tool worldwide ships a generic promise-coalescing cache as MCP. Unique composition: TTL-bounded + concurrency-coalesce + miss/hit/coalesce telemetry + dollar-equivalent savings calc. First-mover forever on AI-agent-callable cache infrastructure.",
36
+ suggestedAction: "AI agents: wrap your slow operations through mneme.cache.put + mneme.cache.get for free deduplication across parallel agents in the same session. After a batch, call mneme.cache.measure_savings to see dollar-equivalent value (then mneme.proof.mint for an HMAC+Merkle audit-grade receipt). For your own contributions: every new MCP tool needs inputSchema with properties:{} and name matching ^mneme\\.[a-z_]+(?:\\.[a-z_]+)*$ (no digits in segments) — the v2.19.52 ritual phase 3.8 will block your release otherwise.",
37
+ tags: ["contract-gate-forever", "cache-coalesce-mcp", "ritual-phase-3-8", "5-new-mcp-tools", "first-cohomology-rename", "per-entry-ttl", "9-failures-fixed"],
38
+ },
23
39
  {
24
40
  version: "2.19.51",
25
41
  date: "2026-05-18",
@@ -1 +1 @@
1
- {"version":3,"file":"whats_new.js","sourceRoot":"","sources":["../src/whats_new.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whats_new.js","sourceRoot":"","sources":["../src/whats_new.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAiBzC;;oCAEoC;AACpC,MAAM,CAAC,MAAM,UAAU,GAAwB;IAC7C;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,myBAAmyB;QAC7yB,IAAI,EACF,ouGAAouG;QACtuG,eAAe,EAAE,0pBAA0pB;QAC3qB,IAAI,EAAE,CAAC,eAAe,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,aAAa,CAAC;KAC9M;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,sfAAsf;QAChgB,IAAI,EACF,ghGAAghG;QAClhG,eAAe,EAAE,ogBAAogB;QACrhB,IAAI,EAAE,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,eAAe,EAAE,kBAAkB,CAAC;KAC7J;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,6pBAA6pB;QACvqB,IAAI,EACF,krHAAkrH;QACprH,eAAe,EAAE,0hBAA0hB;QAC3iB,IAAI,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,UAAU,CAAC;KACzK;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,oiBAAoiB;QAC9iB,IAAI,EACF,o5FAAo5F;QACt5F,eAAe,EAAE,8TAA8T;QAC/U,IAAI,EAAE,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,oCAAoC,EAAE,oBAAoB,EAAE,gBAAgB,CAAC;KAC7K;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,kWAAkW;QAC5W,IAAI,EACF,sqFAAsqF;QACxqF,eAAe,EAAE,kWAAkW;QACnX,IAAI,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,CAAC;KACzI;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,6bAA6b;QACvc,IAAI,EACF,khGAAkhG;QACphG,eAAe,EAAE,4UAA4U;QAC7V,IAAI,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,CAAC;KAC5H;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,oiBAAoiB;QAC9iB,IAAI,EACF,+/FAA+/F;QACjgG,eAAe,EAAE,4UAA4U;QAC7V,IAAI,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,aAAa,EAAE,kBAAkB,CAAC;KACpN;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,mhBAAmhB;QAC7hB,IAAI,EACF,qgEAAqgE;QACvgE,eAAe,EAAE,4SAA4S;QAC7T,IAAI,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,oBAAoB,CAAC;KAC9H;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,siBAAsiB;QAChjB,IAAI,EACF,yvFAAyvF;QAC3vF,eAAe,EAAE,kUAAkU;QACnV,IAAI,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,eAAe,EAAE,qBAAqB,EAAE,SAAS,CAAC;KAC1I;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,kkBAAkkB;QAC5kB,IAAI,EACF,y4FAAy4F;QAC34F,eAAe,EAAE,wXAAwX;QACzY,IAAI,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,wBAAwB,EAAE,oBAAoB,CAAC;KAC7K;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,yjBAAyjB;QACnkB,IAAI,EACF,4hGAA4hG;QAC9hG,eAAe,EAAE,gYAAgY;QACjZ,IAAI,EAAE,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,YAAY,EAAE,wBAAwB,CAAC;KAC/I;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,mmBAAmmB;QAC7mB,IAAI,EACF,slHAAslH;QACxlH,eAAe,EAAE,kcAAkc;QACnd,IAAI,EAAE,CAAC,QAAQ,EAAE,yBAAyB,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,CAAC;KACzK;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,+gBAA+gB;QACzhB,IAAI,EACF,w2FAAw2F;QAC12F,eAAe,EAAE,oSAAoS;QACrT,IAAI,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,CAAC;KAClI;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,obAAob;QAC9b,IAAI,EACF,+nHAA+nH;QACjoH,eAAe,EAAE,sWAAsW;QACvX,IAAI,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,qBAAqB,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAC;KAC7K;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,0YAA0Y;QACpZ,IAAI,EACF,u3FAAu3F;QACz3F,eAAe,EAAE,4RAA4R;QAC7S,IAAI,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,EAAE,kBAAkB,CAAC;KACzH;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,+TAA+T;QACzU,IAAI,EACF,y2FAAy2F;QAC32F,eAAe,EAAE,6SAA6S;QAC9T,IAAI,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,mBAAmB,CAAC;KAC3K;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,iZAAiZ;QAC3Z,IAAI,EACF,0+GAA0+G;QAC5+G,eAAe,EAAE,oVAAoV;QACrW,IAAI,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAC;KACvK;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,8MAA8M;QACxN,IAAI,EACF,66DAA66D;QAC/6D,eAAe,EAAE,oSAAoS;QACrT,IAAI,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;KACpH;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,mZAAmZ;QAC7Z,IAAI,EACF,ymHAAymH;QAC3mH,eAAe,EAAE,4YAA4Y;QAC7Z,IAAI,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;KAChK;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,uVAAuV;QACjW,IAAI,EACF,oxIAAoxI;QACtxI,eAAe,EAAE,ofAAof;QACrgB,IAAI,EAAE,CAAC,sBAAsB,EAAE,WAAW,EAAE,0BAA0B,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,0BAA0B,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,CAAC;KACtR;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,8OAA8O;QACxP,IAAI,EACF,0oGAA0oG;QAC5oG,eAAe,EAAE,4RAA4R;QAC7S,IAAI,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,cAAc,CAAC;KAC/L;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,+NAA+N;QACzO,IAAI,EACF,68HAA68H;QAC/8H,eAAe,EAAE,yVAAyV;QAC1W,IAAI,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,oBAAoB,CAAC;KAC1M;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,wJAAwJ;QAClK,IAAI,EACF,i3GAAi3G;QACn3G,eAAe,EAAE,wPAAwP;QACzQ,IAAI,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,cAAc,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,yBAAyB,EAAE,gCAAgC,CAAC;KACpP;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,2JAA2J;QACrK,IAAI,EACF,8oFAA8oF;QAChpF,eAAe,EAAE,yPAAyP;QAC1Q,IAAI,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,8BAA8B,CAAC;KAC/H;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,+JAA+J;QACzK,IAAI,EACF,itFAAitF;QACntF,eAAe,EAAE,2MAA2M;QAC5N,IAAI,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,8CAA8C,CAAC;KACrL;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,2IAA2I;QACrJ,IAAI,EACF,irEAAirE;QACnrE,eAAe,EAAE,6LAA6L;QAC9M,IAAI,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,oBAAoB,EAAE,iBAAiB,CAAC;KACvH;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,+KAA+K;QACzL,IAAI,EACF,ynGAAynG;QAC3nG,eAAe,EAAE,kQAAkQ;QACnR,IAAI,EAAE,CAAC,8BAA8B,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,CAAC;KAC1K;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,4IAA4I;QACtJ,IAAI,EACF,qhFAAqhF;QACvhF,eAAe,EAAE,iOAAiO;QAClP,IAAI,EAAE,CAAC,YAAY,EAAE,wBAAwB,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,kBAAkB,CAAC;KAChJ;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,uHAAuH;QACjI,IAAI,EACF,+6FAA+6F;QACj7F,eAAe,EAAE,8NAA8N;QAC/O,IAAI,EAAE,CAAC,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,qBAAqB,EAAE,kBAAkB,CAAC;KAC7J;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,+IAA+I;QACzJ,IAAI,EACF,osEAAosE;QACtsE,eAAe,EAAE,8MAA8M;QAC/N,IAAI,EAAE,CAAC,WAAW,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,eAAe,CAAC;KAC/H;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,+JAA+J;QACzK,IAAI,EACF,27EAA27E;QAC77E,eAAe,EAAE,uNAAuN;QACxO,IAAI,EAAE,CAAC,QAAQ,EAAE,0BAA0B,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,CAAC;KAC/J;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,4JAA4J;QACtK,IAAI,EACF,o0EAAo0E;QACt0E,eAAe,EAAE,2LAA2L;QAC5M,IAAI,EAAE,CAAC,QAAQ,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,CAAC;KACvH;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,wGAAwG;QAClH,IAAI,EACF,27DAA27D;QAC77D,eAAe,EAAE,mNAAmN;QACpO,IAAI,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,cAAc,EAAE,mBAAmB,EAAE,QAAQ,EAAE,YAAY,CAAC;KAC9G;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,2HAA2H;QACrI,IAAI,EACF,qvDAAqvD;QACvvD,eAAe,EAAE,iQAAiQ;QAClR,IAAI,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,uBAAuB,CAAC;KAC1H;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,6FAA6F;QACvG,IAAI,EACF,25CAA25C;QAC75C,eAAe,EAAE,yLAAyL;QAC1M,IAAI,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,uBAAuB,CAAC;KAClH;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,0HAA0H;QACpI,IAAI,EACF,00DAA00D;QAC50D,eAAe,EAAE,wQAAwQ;QACzR,IAAI,EAAE,CAAC,mBAAmB,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,CAAC;KACjH;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,8HAA8H;QACxI,IAAI,EACF,goCAAgoC;QACloC,eAAe,EAAE,+LAA+L;QAChN,IAAI,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC;KAC7F;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,0IAA0I;QACpJ,IAAI,EACF,+3CAA+3C;QACj4C,eAAe,EAAE,+PAA+P;QAChR,IAAI,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,EAAE,oBAAoB,CAAC;KAC/G;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,kHAAkH;QAC5H,IAAI,EACF,+uCAA+uC;QACjvC,eAAe,EAAE,qMAAqM;QACtN,IAAI,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,oBAAoB,CAAC;KACnG;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,+EAA+E;QACzF,IAAI,EACF,6rCAA6rC;QAC/rC,eAAe,EAAE,wOAAwO;QACzP,IAAI,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY,CAAC;KAC7F;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,0FAA0F;QACpG,IAAI,EACF,kiDAAkiD;QACpiD,eAAe,EAAE,uLAAuL;QACxM,IAAI,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,CAAC;KAC1G;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,oGAAoG;QAC9G,IAAI,EACF,kuCAAkuC;QACpuC,eAAe,EAAE,0NAA0N;QAC3O,IAAI,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;KACxG;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,8HAA8H;QACxI,IAAI,EACF,8qCAA8qC;QAChrC,eAAe,EAAE,gMAAgM;QACjN,IAAI,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,CAAC;KACxF;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,+IAA+I;QACzJ,IAAI,EACF,y6BAAy6B;QAC36B,eAAe,EAAE,+IAA+I;QAChK,IAAI,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,CAAC;KAC/F;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,gJAAgJ;QAC1J,IAAI,EACF,4nBAA4nB;QAC9nB,eAAe,EAAE,kLAAkL;QACnM,IAAI,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,CAAC;KACtF;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,wIAAwI;QAClJ,IAAI,EACF,gmCAAgmC;QAClmC,eAAe,EAAE,yMAAyM;QAC1N,IAAI,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,QAAQ,CAAC;KACrE;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,qLAAqL;QAC/L,IAAI,EACF,s5BAAs5B;QACx5B,eAAe,EAAE,gKAAgK;QACjL,IAAI,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC;KACrG;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,qGAAqG;QAC/G,IAAI,EACF,srBAAsrB;QACxrB,eAAe,EAAE,6KAA6K;QAC9L,IAAI,EAAE,CAAC,uBAAuB,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,CAAC;KAC7F;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,2HAA2H;QACrI,IAAI,EACF,y0BAAy0B;QAC30B,eAAe,EAAE,gIAAgI;QACjJ,IAAI,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAC;KACzF;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,gHAAgH;QAC1H,IAAI,EACF,utBAAutB;QACztB,eAAe,EAAE,0JAA0J;QAC3K,IAAI,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,CAAC;KAC5F;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,mHAAmH;QAC7H,IAAI,EACF,ynBAAynB;QAC3nB,eAAe,EAAE,yNAAyN;QAC1O,IAAI,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,OAAO,CAAC;KACrF;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,gGAAgG;QAC1G,IAAI,EACF,ktBAAktB;QACptB,eAAe,EAAE,2HAA2H;QAC5I,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;KAChF;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,iFAAiF;QAC3F,IAAI,EACF,wjBAAwjB;QAC1jB,eAAe,EAAE,mKAAmK;QACpL,IAAI,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC;KAC5D;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,mEAAmE;QAC7E,IAAI,EACF,onBAAonB;QACtnB,eAAe,EAAE,qJAAqJ;QACtK,IAAI,EAAE,CAAC,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC;KACnG;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,0EAA0E;QACpF,IAAI,EACF,yiBAAyiB;QAC3iB,eAAe,EAAE,uKAAuK;QACxL,IAAI,EAAE,CAAC,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC;KAChF;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,yFAAyF;QACnG,IAAI,EACF,oUAAoU;QACtU,eAAe,EAAE,oFAAoF;QACrG,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,cAAc,CAAC;KACnE;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,oEAAoE;QAC9E,IAAI,EACF,wUAAwU;QAC1U,eAAe,EAAE,2EAA2E;QAC5F,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KAClD;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,kGAAkG;QAC5G,IAAI,EACF,0eAA0e;QAC5e,eAAe,EAAE,sFAAsF;QACvG,IAAI,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,CAAC;KAChF;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,uEAAuE;QACjF,IAAI,EACF,qoBAAqoB;QACvoB,eAAe,EAAE,8IAA8I;QAC/J,IAAI,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,uBAAuB,EAAE,UAAU,CAAC;KACzE;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,sEAAsE;QAChF,IAAI,EACF,8qBAA8qB;QAChrB,eAAe,EAAE,+KAA+K;QAChM,IAAI,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC;KAC7E;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,qDAAqD;QAC/D,IAAI,EACF,mkBAAmkB;QACrkB,eAAe,EAAE,4FAA4F;QAC7G,IAAI,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;KACvF;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,gEAAgE;QAC1E,IAAI,EACF,4RAA4R;QAC9R,eAAe,EAAE,kEAAkE;QACnF,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KACnC;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,iDAAiD;QAC3D,IAAI,EACF,kkBAAkkB;QACpkB,eAAe,EAAE,kEAAkE;QACnF,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;KAC5D;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EACF,yOAAyO;QAC3O,eAAe,EAAE,oCAAoC;QACrD,IAAI,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC;KAC/B;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,8DAA8D;QACxE,IAAI,EACF,wWAAwW;QAC1W,eAAe,EAAE,8FAA8F;QAC/G,IAAI,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,CAAC;KACjD;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,sCAAsC;QAChD,IAAI,EACF,6XAA6X;QAC/X,eAAe,EAAE,6CAA6C;QAC9D,IAAI,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC;KACzC;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,uDAAuD;QACjE,IAAI,EACF,yMAAyM;QAC3M,IAAI,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC;KACvC;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,8DAA8D;QACxE,IAAI,EACF,iSAAiS;QACnS,eAAe,EAAE,yDAAyD;QAC1E,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC;KAC9B;CACF,CAAC;AAgBF;gDACgD;AAChD,SAAS,WAAW,CAAC,CAAS;IAC5B,MAAM,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,SAAS,CAAC,CAAS,EAAE,CAAS;IACrC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,EAAE,CAAC,CAAC,CAAE,GAAG,EAAE,CAAC,CAAC,CAAE;YAAE,OAAO,IAAI,CAAC;QACjC,IAAI,EAAE,CAAC,CAAC,CAAE,GAAG,EAAE,CAAC,CAAC,CAAE;YAAE,OAAO,KAAK,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,QAAQ;AACvB,CAAC;AAED;sEACsE;AACtE,MAAM,UAAU,WAAW,CAAC,OAA0E,EAAE,cAAc,EAAE,EAAE,EAAE;IAC1H,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,IAAI,MAA2B,CAAC;IAChC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,YAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9F,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC;QACxC,CAAC,CAAC,sCAAsC,IAAI,CAAC,YAAY,IAAI,mBAAmB,GAAG;QACnF,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACnI,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,UAAU,EAAE,MAAM;QAClB,cAAc,EAAE,UAAU,CAAC,MAAM;QACjC,cAAc;QACd,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAClC,CAAC;AACJ,CAAC;AAED;yEACyE;AACzE,MAAM,UAAU,uBAAuB,CAAC,WAAoB;IAC1D,MAAM,IAAI,GAAG,WAAW,IAAI,eAAe,EAAE,CAAC;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,wEAAwE;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,YAAY,IAAI,CAAC,CAAC;gBAClB,IAAI,YAAY,IAAI,CAAC;oBAAE,MAAM,CAAC,qDAAqD;gBACnF,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;YACD,IAAI,SAAS;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACtB,gFAAgF;IAChF,IAAI,CAAC;QACH,IAAI,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;gBAAE,OAAO,GAAG,CAAC;YACtD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,MAAM,KAAK,GAAG;gBAAE,MAAM;YAC1B,GAAG,GAAG,MAAM,CAAC;QACf,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mneme-ai/core",
3
- "version": "2.19.51",
3
+ "version": "2.19.53",
4
4
  "description": "Core indexing, retrieval, and graph engine for Mneme",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",