@mneme-ai/core 2.19.53 → 2.19.55
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/cosmic/aurelian_v1954.test.d.ts +2 -0
- package/dist/cosmic/aurelian_v1954.test.d.ts.map +1 -0
- package/dist/cosmic/aurelian_v1954.test.js +62 -0
- package/dist/cosmic/aurelian_v1954.test.js.map +1 -0
- package/dist/cosmic/aurelian_v1955.test.d.ts +2 -0
- package/dist/cosmic/aurelian_v1955.test.d.ts.map +1 -0
- package/dist/cosmic/aurelian_v1955.test.js +62 -0
- package/dist/cosmic/aurelian_v1955.test.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/install_organ/index.d.ts +52 -1
- package/dist/install_organ/index.d.ts.map +1 -1
- package/dist/install_organ/index.js +116 -1
- package/dist/install_organ/index.js.map +1 -1
- package/dist/install_organ/v1954_predictive.test.d.ts +6 -0
- package/dist/install_organ/v1954_predictive.test.d.ts.map +1 -0
- package/dist/install_organ/v1954_predictive.test.js +137 -0
- package/dist/install_organ/v1954_predictive.test.js.map +1 -0
- package/dist/optional_native/index.d.ts +95 -0
- package/dist/optional_native/index.d.ts.map +1 -0
- package/dist/optional_native/index.js +169 -0
- package/dist/optional_native/index.js.map +1 -0
- package/dist/optional_native/optional_native.test.d.ts +2 -0
- package/dist/optional_native/optional_native.test.d.ts.map +1 -0
- package/dist/optional_native/optional_native.test.js +91 -0
- package/dist/optional_native/optional_native.test.js.map +1 -0
- package/dist/whats_new.d.ts.map +1 -1
- package/dist/whats_new.js +16 -0
- package/dist/whats_new.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/install_organ/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/install_organ/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v1954_predictive.test.d.ts","sourceRoot":"","sources":["../../src/install_organ/v1954_predictive.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.19.54 PREDICTIVE INSTALL SIGNAL + EXPONENTIAL-BACKOFF PROBE +
|
|
3
|
+
* UPGRADE PIPELINE — deep tests for the 3 new wild innovations.
|
|
4
|
+
*/
|
|
5
|
+
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
|
6
|
+
import { rmSync, existsSync, mkdirSync, writeFileSync, readFileSync } from "node:fs";
|
|
7
|
+
import { join } from "node:path";
|
|
8
|
+
import { tmpdir } from "node:os";
|
|
9
|
+
import { announceInstallIncoming, clearInstallIncoming, readInstallIncoming, installIncomingPath, backoffProbeAndReap, runUpgradePipeline, DEFAULT_BACKOFFS_MS, } from "./index.js";
|
|
10
|
+
let savedHome;
|
|
11
|
+
let savedUserProfile;
|
|
12
|
+
let testHome;
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
savedHome = process.env["HOME"];
|
|
15
|
+
savedUserProfile = process.env["USERPROFILE"];
|
|
16
|
+
testHome = join(tmpdir(), `mneme-organ-v1954-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`);
|
|
17
|
+
mkdirSync(testHome, { recursive: true });
|
|
18
|
+
process.env["HOME"] = testHome;
|
|
19
|
+
process.env["USERPROFILE"] = testHome;
|
|
20
|
+
});
|
|
21
|
+
afterEach(() => {
|
|
22
|
+
process.env["HOME"] = savedHome;
|
|
23
|
+
process.env["USERPROFILE"] = savedUserProfile;
|
|
24
|
+
try {
|
|
25
|
+
rmSync(testHome, { recursive: true, force: true });
|
|
26
|
+
}
|
|
27
|
+
catch { /* */ }
|
|
28
|
+
});
|
|
29
|
+
describe("v2.19.54 — PREDICTIVE INSTALL SIGNAL", () => {
|
|
30
|
+
it("announceInstallIncoming writes a parsable flag file at the canonical path", () => {
|
|
31
|
+
const flagPath = announceInstallIncoming("test-reason", "2.19.54");
|
|
32
|
+
expect(flagPath).toBe(installIncomingPath());
|
|
33
|
+
expect(existsSync(flagPath)).toBe(true);
|
|
34
|
+
const body = JSON.parse(readFileSync(flagPath, "utf8"));
|
|
35
|
+
expect(body.v).toBe(1);
|
|
36
|
+
expect(body.announcerPid).toBe(process.pid);
|
|
37
|
+
expect(body.reason).toBe("test-reason");
|
|
38
|
+
expect(body.expectedVersion).toBe("2.19.54");
|
|
39
|
+
expect(typeof body.announcedAt).toBe("string");
|
|
40
|
+
});
|
|
41
|
+
it("readInstallIncoming returns parsed flag or null", () => {
|
|
42
|
+
expect(readInstallIncoming()).toBeNull();
|
|
43
|
+
announceInstallIncoming("test");
|
|
44
|
+
const flag = readInstallIncoming();
|
|
45
|
+
expect(flag).not.toBeNull();
|
|
46
|
+
expect(flag?.reason).toBe("test");
|
|
47
|
+
});
|
|
48
|
+
it("clearInstallIncoming removes the flag (idempotent)", () => {
|
|
49
|
+
announceInstallIncoming("test");
|
|
50
|
+
expect(existsSync(installIncomingPath())).toBe(true);
|
|
51
|
+
clearInstallIncoming();
|
|
52
|
+
expect(existsSync(installIncomingPath())).toBe(false);
|
|
53
|
+
// Idempotent — second call doesn't throw
|
|
54
|
+
expect(() => clearInstallIncoming()).not.toThrow();
|
|
55
|
+
});
|
|
56
|
+
it("announce is idempotent — overwrites prior flag with fresh content", () => {
|
|
57
|
+
announceInstallIncoming("first");
|
|
58
|
+
const flag1 = readInstallIncoming();
|
|
59
|
+
announceInstallIncoming("second");
|
|
60
|
+
const flag2 = readInstallIncoming();
|
|
61
|
+
expect(flag1?.reason).toBe("first");
|
|
62
|
+
expect(flag2?.reason).toBe("second");
|
|
63
|
+
expect(flag2.announcedAt >= flag1.announcedAt).toBe(true);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
describe("v2.19.54 — EXPONENTIAL-BACKOFF DLL PROBE", () => {
|
|
67
|
+
it("DEFAULT_BACKOFFS_MS sums to 7850ms (worst case wall-time: 100+250+500+1000+2000+4000)", () => {
|
|
68
|
+
const sum = DEFAULT_BACKOFFS_MS.reduce((a, b) => a + b, 0);
|
|
69
|
+
expect(sum).toBe(7850);
|
|
70
|
+
expect(DEFAULT_BACKOFFS_MS.length).toBe(6);
|
|
71
|
+
// Sequence is exponential-ish + bounded
|
|
72
|
+
for (let i = 1; i < DEFAULT_BACKOFFS_MS.length; i++) {
|
|
73
|
+
expect(DEFAULT_BACKOFFS_MS[i]).toBeGreaterThan(DEFAULT_BACKOFFS_MS[i - 1]);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
it("fast path: probes succeed immediately, no waits, attempts=0", () => {
|
|
77
|
+
// Probe a writable path (file we just created)
|
|
78
|
+
const tempFile = join(testHome, "writable.txt");
|
|
79
|
+
writeFileSync(tempFile, "ok");
|
|
80
|
+
const r = backoffProbeAndReap([tempFile]);
|
|
81
|
+
expect(r.ok).toBe(true);
|
|
82
|
+
expect(r.attempts).toBe(0);
|
|
83
|
+
expect(r.totalWaitMs).toBe(0);
|
|
84
|
+
expect(r.reapPerAttempt.length).toBe(0);
|
|
85
|
+
});
|
|
86
|
+
it("nonexistent path treated as writable (file-not-present) — fast path", () => {
|
|
87
|
+
const r = backoffProbeAndReap([join(testHome, "nonexistent.dll")]);
|
|
88
|
+
expect(r.ok).toBe(true);
|
|
89
|
+
expect(r.attempts).toBe(0);
|
|
90
|
+
});
|
|
91
|
+
it("with empty probe list, fast path returns ok=true with attempts=0", () => {
|
|
92
|
+
const r = backoffProbeAndReap([]);
|
|
93
|
+
expect(r.ok).toBe(true);
|
|
94
|
+
expect(r.attempts).toBe(0);
|
|
95
|
+
});
|
|
96
|
+
it("custom backoffs honored (test sleeps respected)", () => {
|
|
97
|
+
// We can't easily fail a probe in test, but we can verify the API accepts custom backoffs
|
|
98
|
+
const r = backoffProbeAndReap([], { backoffsMs: [50, 100, 200] });
|
|
99
|
+
expect(r.ok).toBe(true);
|
|
100
|
+
// Empty probes hit fast path
|
|
101
|
+
expect(r.totalWaitMs).toBe(0);
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
describe("v2.19.54 — UPGRADE PIPELINE (composed)", () => {
|
|
105
|
+
it("runUpgradePipeline with empty probes succeeds — stages all present", () => {
|
|
106
|
+
const r = runUpgradePipeline([], { waitForReapMs: 50 });
|
|
107
|
+
expect(r.ok).toBe(true);
|
|
108
|
+
expect(r.stages.announce.announced).toBe(true);
|
|
109
|
+
expect(r.stages.waitForSelfReap.waitedMs).toBe(50);
|
|
110
|
+
expect(r.stages.heal).toBeDefined();
|
|
111
|
+
expect(r.stages.backoff).toBeDefined();
|
|
112
|
+
expect(r.recommendation).toMatch(/MAGICAL/);
|
|
113
|
+
});
|
|
114
|
+
it("pipeline writes the flag (visible to daemon fs.watch)", () => {
|
|
115
|
+
runUpgradePipeline([], { waitForReapMs: 10 });
|
|
116
|
+
expect(existsSync(installIncomingPath())).toBe(true);
|
|
117
|
+
});
|
|
118
|
+
it("pipeline integration: announce + heal + backoff all run with no errors", () => {
|
|
119
|
+
const r = runUpgradePipeline([join(testHome, "writable.dll")], { waitForReapMs: 50 });
|
|
120
|
+
expect(r.ok).toBe(true);
|
|
121
|
+
expect(r.stages.backoff.finalProbes.length).toBe(1);
|
|
122
|
+
expect(r.stages.backoff.finalProbes[0].writable).toBe(true);
|
|
123
|
+
});
|
|
124
|
+
it("pipeline waitForReapMs respected", () => {
|
|
125
|
+
const t0 = Date.now();
|
|
126
|
+
runUpgradePipeline([], { waitForReapMs: 200 });
|
|
127
|
+
const elapsed = Date.now() - t0;
|
|
128
|
+
expect(elapsed).toBeGreaterThanOrEqual(200);
|
|
129
|
+
});
|
|
130
|
+
it("pipeline accepts expectedVersion + reason and records them in announce flag", () => {
|
|
131
|
+
runUpgradePipeline([], { waitForReapMs: 10, expectedVersion: "2.19.54", reason: "test-pipeline" });
|
|
132
|
+
const flag = readInstallIncoming();
|
|
133
|
+
expect(flag?.expectedVersion).toBe("2.19.54");
|
|
134
|
+
expect(flag?.reason).toBe("test-pipeline");
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
//# sourceMappingURL=v1954_predictive.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v1954_predictive.test.js","sourceRoot":"","sources":["../../src/install_organ/v1954_predictive.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.19.55 OPTIONAL NATIVE — proactive opt-in protocol for heavy native deps.
|
|
3
|
+
*
|
|
4
|
+
* The user wisdom (turn-16): "เลิกใช้ sharp ถ้าไม่จำเป็นจริงๆ" — drop
|
|
5
|
+
* sharp if not needed, or use optionalDependencies + lazy require so the
|
|
6
|
+
* DLL never loads at install. v2.19.55 moved @huggingface/transformers
|
|
7
|
+
* from `dependencies` to `optionalDependencies` in packages/embeddings.
|
|
8
|
+
* npm install will SKIP transformers if its postinstall fails (DLL lock,
|
|
9
|
+
* network, build error). Mneme runtime gracefully falls back to the
|
|
10
|
+
* hash embedder.
|
|
11
|
+
*
|
|
12
|
+
* This module adds the runtime side of that contract:
|
|
13
|
+
* - detectAvailableNatives() — probes every known optional native at boot
|
|
14
|
+
* - requireOptional(pkg, fallbackHint?) — lazy import with structured failure
|
|
15
|
+
* - status() — dashboard view: which natives present + their fallback levels
|
|
16
|
+
* - installOnDemand(pkg) — instructions for the user to add a native later
|
|
17
|
+
*
|
|
18
|
+
* The wild bet: Mneme's DEFAULT install path is zero-native. Heavy deps
|
|
19
|
+
* (transformers / sharp / onnxruntime-node) are opt-in. Users on Windows
|
|
20
|
+
* never hit EBUSY because no DLL is loaded during install. Users who
|
|
21
|
+
* want the WASM embedder run `mneme embedder enable wasm` which prints
|
|
22
|
+
* the one-line npm install needed.
|
|
23
|
+
*
|
|
24
|
+
* No AI tool worldwide ships an opt-in native-dep protocol with detection
|
|
25
|
+
* + fallback + install-on-demand. First-mover forever on zero-native-default.
|
|
26
|
+
*/
|
|
27
|
+
declare const PROTOCOL_VERSION = 1;
|
|
28
|
+
export type NativeDep = "transformers" | "sharp" | "onnxruntime-node" | "tensorflow" | "z3-solver";
|
|
29
|
+
export interface NativeDepInfo {
|
|
30
|
+
/** Canonical name (used in MCP tool args). */
|
|
31
|
+
name: NativeDep;
|
|
32
|
+
/** Actual npm package id (may include scope). */
|
|
33
|
+
npmPackage: string;
|
|
34
|
+
/** What this native enables. */
|
|
35
|
+
enables: string;
|
|
36
|
+
/** Mneme's fallback when this native is missing — what user gets without it. */
|
|
37
|
+
fallback: string;
|
|
38
|
+
/** Best install hint for the user. */
|
|
39
|
+
installHint: string;
|
|
40
|
+
/** Approximate disk cost. */
|
|
41
|
+
approxSizeBytes?: number;
|
|
42
|
+
}
|
|
43
|
+
/** Catalog of every known optional native dep + its fallback. Add new
|
|
44
|
+
* entries here as Mneme grows. */
|
|
45
|
+
export declare const KNOWN_NATIVES: readonly NativeDepInfo[];
|
|
46
|
+
export interface NativeProbe {
|
|
47
|
+
name: NativeDep;
|
|
48
|
+
available: boolean;
|
|
49
|
+
versionIfAvailable: string | null;
|
|
50
|
+
loadErrorIfMissing: string | null;
|
|
51
|
+
fallback: string;
|
|
52
|
+
}
|
|
53
|
+
/** Probe whether a single optional native is loadable RIGHT NOW. Does not
|
|
54
|
+
* fully import it (saves cold-start latency); just tries `await import()`
|
|
55
|
+
* in a try/catch. */
|
|
56
|
+
export declare function probeNative(name: NativeDep): Promise<NativeProbe>;
|
|
57
|
+
/** Probe all known optional natives in parallel. Returns sorted list with
|
|
58
|
+
* available ones first. */
|
|
59
|
+
export declare function detectAvailableNatives(): Promise<NativeProbe[]>;
|
|
60
|
+
export interface OptionalRequireResult<T = unknown> {
|
|
61
|
+
ok: boolean;
|
|
62
|
+
module: T | null;
|
|
63
|
+
fallbackUsed: boolean;
|
|
64
|
+
fallbackHint?: string;
|
|
65
|
+
error?: string;
|
|
66
|
+
}
|
|
67
|
+
/** Wrap an optional native import in a safe-fallback contract. Caller
|
|
68
|
+
* decides whether to use the module or take a fallback path. */
|
|
69
|
+
export declare function requireOptional<T = unknown>(name: NativeDep): Promise<OptionalRequireResult<T>>;
|
|
70
|
+
export interface InstallStatus {
|
|
71
|
+
v: typeof PROTOCOL_VERSION;
|
|
72
|
+
totalKnown: number;
|
|
73
|
+
available: NativeProbe[];
|
|
74
|
+
missing: NativeProbe[];
|
|
75
|
+
bytesAvailable: number;
|
|
76
|
+
bytesIfAllInstalled: number;
|
|
77
|
+
recommendation: string;
|
|
78
|
+
}
|
|
79
|
+
/** Dashboard view: how lean is this install? What's available? What can
|
|
80
|
+
* the user opt in to? */
|
|
81
|
+
export declare function installStatus(): Promise<InstallStatus>;
|
|
82
|
+
/** Returns a structured install-on-demand hint for the user — exact npm
|
|
83
|
+
* command + size estimate + what they'll gain. */
|
|
84
|
+
export declare function installHint(name: NativeDep): {
|
|
85
|
+
ok: true;
|
|
86
|
+
npmCommand: string;
|
|
87
|
+
enables: string;
|
|
88
|
+
approxMB: number;
|
|
89
|
+
rationale: string;
|
|
90
|
+
} | {
|
|
91
|
+
ok: false;
|
|
92
|
+
error: string;
|
|
93
|
+
};
|
|
94
|
+
export { PROTOCOL_VERSION };
|
|
95
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/optional_native/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,QAAA,MAAM,gBAAgB,IAAI,CAAC;AAE3B,MAAM,MAAM,SAAS,GACjB,cAAc,GACd,OAAO,GACP,kBAAkB,GAClB,YAAY,GACZ,WAAW,CAAC;AAEhB,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,IAAI,EAAE,SAAS,CAAC;IAChB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;mCACmC;AACnC,eAAO,MAAM,aAAa,EAAE,SAAS,aAAa,EAyCjD,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;sBAEsB;AACtB,wBAAsB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAiBvE;AAED;4BAC4B;AAC5B,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAGrE;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,OAAO;IAChD,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;iEACiE;AACjE,wBAAsB,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAiBrG;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;0BAC0B;AAC1B,wBAAsB,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CA0B5D;AAED;mDACmD;AACnD,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAUlK;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.19.55 OPTIONAL NATIVE — proactive opt-in protocol for heavy native deps.
|
|
3
|
+
*
|
|
4
|
+
* The user wisdom (turn-16): "เลิกใช้ sharp ถ้าไม่จำเป็นจริงๆ" — drop
|
|
5
|
+
* sharp if not needed, or use optionalDependencies + lazy require so the
|
|
6
|
+
* DLL never loads at install. v2.19.55 moved @huggingface/transformers
|
|
7
|
+
* from `dependencies` to `optionalDependencies` in packages/embeddings.
|
|
8
|
+
* npm install will SKIP transformers if its postinstall fails (DLL lock,
|
|
9
|
+
* network, build error). Mneme runtime gracefully falls back to the
|
|
10
|
+
* hash embedder.
|
|
11
|
+
*
|
|
12
|
+
* This module adds the runtime side of that contract:
|
|
13
|
+
* - detectAvailableNatives() — probes every known optional native at boot
|
|
14
|
+
* - requireOptional(pkg, fallbackHint?) — lazy import with structured failure
|
|
15
|
+
* - status() — dashboard view: which natives present + their fallback levels
|
|
16
|
+
* - installOnDemand(pkg) — instructions for the user to add a native later
|
|
17
|
+
*
|
|
18
|
+
* The wild bet: Mneme's DEFAULT install path is zero-native. Heavy deps
|
|
19
|
+
* (transformers / sharp / onnxruntime-node) are opt-in. Users on Windows
|
|
20
|
+
* never hit EBUSY because no DLL is loaded during install. Users who
|
|
21
|
+
* want the WASM embedder run `mneme embedder enable wasm` which prints
|
|
22
|
+
* the one-line npm install needed.
|
|
23
|
+
*
|
|
24
|
+
* No AI tool worldwide ships an opt-in native-dep protocol with detection
|
|
25
|
+
* + fallback + install-on-demand. First-mover forever on zero-native-default.
|
|
26
|
+
*/
|
|
27
|
+
const PROTOCOL_VERSION = 1;
|
|
28
|
+
/** Catalog of every known optional native dep + its fallback. Add new
|
|
29
|
+
* entries here as Mneme grows. */
|
|
30
|
+
export const KNOWN_NATIVES = [
|
|
31
|
+
{
|
|
32
|
+
name: "transformers",
|
|
33
|
+
npmPackage: "@huggingface/transformers",
|
|
34
|
+
enables: "WASM bundled embedder (★★★ semantic quality, 25MB model on first use)",
|
|
35
|
+
fallback: "hash embedder (★★ deterministic, no network) + optional Ollama / OpenAI tiers",
|
|
36
|
+
installHint: "npm install -g @huggingface/transformers",
|
|
37
|
+
approxSizeBytes: 50_000_000,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: "sharp",
|
|
41
|
+
npmPackage: "sharp",
|
|
42
|
+
enables: "image processing for badge generation + visual receipts",
|
|
43
|
+
fallback: "pure-JS PNG via canvas or skip image features",
|
|
44
|
+
installHint: "npm install -g sharp",
|
|
45
|
+
approxSizeBytes: 30_000_000,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: "onnxruntime-node",
|
|
49
|
+
npmPackage: "onnxruntime-node",
|
|
50
|
+
enables: "GPU-accelerated ONNX inference for the SNN embedder",
|
|
51
|
+
fallback: "pure-TS SNN (slower but identical accuracy)",
|
|
52
|
+
installHint: "npm install -g onnxruntime-node",
|
|
53
|
+
approxSizeBytes: 80_000_000,
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: "tensorflow",
|
|
57
|
+
npmPackage: "@tensorflow/tfjs-node",
|
|
58
|
+
enables: "GPU-accelerated tensor operations for batch embedding",
|
|
59
|
+
fallback: "pure-TS hash + Ollama tier",
|
|
60
|
+
installHint: "npm install -g @tensorflow/tfjs-node",
|
|
61
|
+
approxSizeBytes: 250_000_000,
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "z3-solver",
|
|
65
|
+
npmPackage: "z3-solver",
|
|
66
|
+
enables: "SMT-based arithmetic verification in ACGV",
|
|
67
|
+
fallback: "propositional Gödel verifier (also accurate; slightly slower for large formulas)",
|
|
68
|
+
installHint: "npm install -g z3-solver",
|
|
69
|
+
approxSizeBytes: 12_000_000,
|
|
70
|
+
},
|
|
71
|
+
];
|
|
72
|
+
/** Probe whether a single optional native is loadable RIGHT NOW. Does not
|
|
73
|
+
* fully import it (saves cold-start latency); just tries `await import()`
|
|
74
|
+
* in a try/catch. */
|
|
75
|
+
export async function probeNative(name) {
|
|
76
|
+
const info = KNOWN_NATIVES.find((n) => n.name === name);
|
|
77
|
+
if (!info) {
|
|
78
|
+
return { name, available: false, versionIfAvailable: null, loadErrorIfMissing: "unknown native name", fallback: "n/a" };
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
const mod = await import(info.npmPackage);
|
|
82
|
+
let version = null;
|
|
83
|
+
try {
|
|
84
|
+
const maybePkg = mod.default?.version ?? mod.version;
|
|
85
|
+
if (typeof maybePkg === "string")
|
|
86
|
+
version = maybePkg;
|
|
87
|
+
}
|
|
88
|
+
catch { /* */ }
|
|
89
|
+
return { name, available: true, versionIfAvailable: version, loadErrorIfMissing: null, fallback: info.fallback };
|
|
90
|
+
}
|
|
91
|
+
catch (e) {
|
|
92
|
+
const errMsg = e.message ?? String(e);
|
|
93
|
+
return { name, available: false, versionIfAvailable: null, loadErrorIfMissing: errMsg.slice(0, 200), fallback: info.fallback };
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/** Probe all known optional natives in parallel. Returns sorted list with
|
|
97
|
+
* available ones first. */
|
|
98
|
+
export async function detectAvailableNatives() {
|
|
99
|
+
const probes = await Promise.all(KNOWN_NATIVES.map((n) => probeNative(n.name)));
|
|
100
|
+
return probes.sort((a, b) => Number(b.available) - Number(a.available) || a.name.localeCompare(b.name));
|
|
101
|
+
}
|
|
102
|
+
/** Wrap an optional native import in a safe-fallback contract. Caller
|
|
103
|
+
* decides whether to use the module or take a fallback path. */
|
|
104
|
+
export async function requireOptional(name) {
|
|
105
|
+
const info = KNOWN_NATIVES.find((n) => n.name === name);
|
|
106
|
+
if (!info) {
|
|
107
|
+
return { ok: false, module: null, fallbackUsed: false, error: "unknown native name" };
|
|
108
|
+
}
|
|
109
|
+
try {
|
|
110
|
+
const mod = await import(info.npmPackage);
|
|
111
|
+
return { ok: true, module: mod, fallbackUsed: false };
|
|
112
|
+
}
|
|
113
|
+
catch (e) {
|
|
114
|
+
return {
|
|
115
|
+
ok: false,
|
|
116
|
+
module: null,
|
|
117
|
+
fallbackUsed: true,
|
|
118
|
+
fallbackHint: info.fallback,
|
|
119
|
+
error: e.message?.slice(0, 200),
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/** Dashboard view: how lean is this install? What's available? What can
|
|
124
|
+
* the user opt in to? */
|
|
125
|
+
export async function installStatus() {
|
|
126
|
+
const probes = await detectAvailableNatives();
|
|
127
|
+
const available = probes.filter((p) => p.available);
|
|
128
|
+
const missing = probes.filter((p) => !p.available);
|
|
129
|
+
const bytesAvailable = available.reduce((sum, p) => {
|
|
130
|
+
const info = KNOWN_NATIVES.find((n) => n.name === p.name);
|
|
131
|
+
return sum + (info?.approxSizeBytes ?? 0);
|
|
132
|
+
}, 0);
|
|
133
|
+
const bytesIfAllInstalled = KNOWN_NATIVES.reduce((sum, n) => sum + (n.approxSizeBytes ?? 0), 0);
|
|
134
|
+
let recommendation;
|
|
135
|
+
if (available.length === 0) {
|
|
136
|
+
recommendation = "ZERO-NATIVE — minimum-footprint install. All Mneme features work via pure-JS fallbacks. To opt in to higher tiers, run `mneme.optional.install_hint` for the dep you want.";
|
|
137
|
+
}
|
|
138
|
+
else if (available.length === KNOWN_NATIVES.length) {
|
|
139
|
+
recommendation = `MAX-NATIVE — all ${KNOWN_NATIVES.length} optional natives installed (${(bytesAvailable / 1_000_000).toFixed(0)}MB). Full performance available.`;
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
recommendation = `MIXED — ${available.length}/${KNOWN_NATIVES.length} natives available (${(bytesAvailable / 1_000_000).toFixed(0)}/${(bytesIfAllInstalled / 1_000_000).toFixed(0)}MB). Missing: ${missing.map((p) => p.name).join(", ")}.`;
|
|
143
|
+
}
|
|
144
|
+
return {
|
|
145
|
+
v: PROTOCOL_VERSION,
|
|
146
|
+
totalKnown: KNOWN_NATIVES.length,
|
|
147
|
+
available,
|
|
148
|
+
missing,
|
|
149
|
+
bytesAvailable,
|
|
150
|
+
bytesIfAllInstalled,
|
|
151
|
+
recommendation,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
/** Returns a structured install-on-demand hint for the user — exact npm
|
|
155
|
+
* command + size estimate + what they'll gain. */
|
|
156
|
+
export function installHint(name) {
|
|
157
|
+
const info = KNOWN_NATIVES.find((n) => n.name === name);
|
|
158
|
+
if (!info)
|
|
159
|
+
return { ok: false, error: "unknown native name" };
|
|
160
|
+
return {
|
|
161
|
+
ok: true,
|
|
162
|
+
npmCommand: info.installHint,
|
|
163
|
+
enables: info.enables,
|
|
164
|
+
approxMB: Math.round((info.approxSizeBytes ?? 0) / 1_000_000),
|
|
165
|
+
rationale: `Installing ${info.npmPackage} unlocks: ${info.enables}. Current fallback: ${info.fallback}.`,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
export { PROTOCOL_VERSION };
|
|
169
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/optional_native/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optional_native.test.d.ts","sourceRoot":"","sources":["../../src/optional_native/optional_native.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { KNOWN_NATIVES, probeNative, detectAvailableNatives, requireOptional, installStatus, installHint, PROTOCOL_VERSION, } from "./index.js";
|
|
3
|
+
describe("v2.19.55 OPTIONAL NATIVE — protocol + catalog", () => {
|
|
4
|
+
it("KNOWN_NATIVES catalog has the expected 5 entries", () => {
|
|
5
|
+
expect(KNOWN_NATIVES.length).toBe(5);
|
|
6
|
+
const names = KNOWN_NATIVES.map((n) => n.name).sort();
|
|
7
|
+
expect(names).toEqual(["onnxruntime-node", "sharp", "tensorflow", "transformers", "z3-solver"]);
|
|
8
|
+
});
|
|
9
|
+
it("every catalog entry has required fields", () => {
|
|
10
|
+
for (const n of KNOWN_NATIVES) {
|
|
11
|
+
expect(typeof n.name).toBe("string");
|
|
12
|
+
expect(typeof n.npmPackage).toBe("string");
|
|
13
|
+
expect(typeof n.enables).toBe("string");
|
|
14
|
+
expect(typeof n.fallback).toBe("string");
|
|
15
|
+
expect(typeof n.installHint).toBe("string");
|
|
16
|
+
expect(n.installHint.startsWith("npm install")).toBe(true);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
it("probeNative returns structured result for known natives", async () => {
|
|
20
|
+
const r = await probeNative("transformers");
|
|
21
|
+
expect(typeof r.available).toBe("boolean");
|
|
22
|
+
expect(r.fallback).toMatch(/hash embedder/);
|
|
23
|
+
// We can't assert availability — depends on whether transformers is installed
|
|
24
|
+
});
|
|
25
|
+
it("probeNative returns ok=false with hint for unknown name", async () => {
|
|
26
|
+
const r = await probeNative("nonexistent-thing");
|
|
27
|
+
expect(r.available).toBe(false);
|
|
28
|
+
expect(r.loadErrorIfMissing).toBe("unknown native name");
|
|
29
|
+
});
|
|
30
|
+
it("detectAvailableNatives returns all 5 probes sorted (available first)", async () => {
|
|
31
|
+
const probes = await detectAvailableNatives();
|
|
32
|
+
expect(probes.length).toBe(5);
|
|
33
|
+
// Available probes come first
|
|
34
|
+
let sawMissing = false;
|
|
35
|
+
for (const p of probes) {
|
|
36
|
+
if (sawMissing)
|
|
37
|
+
expect(p.available).toBe(false);
|
|
38
|
+
if (!p.available)
|
|
39
|
+
sawMissing = true;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
it("requireOptional<T> with missing dep returns fallbackUsed=true + no throw", async () => {
|
|
43
|
+
// sharp is intentionally not a hard dep — almost certainly missing
|
|
44
|
+
const r = await requireOptional("sharp");
|
|
45
|
+
expect(typeof r.ok).toBe("boolean");
|
|
46
|
+
expect(typeof r.fallbackUsed).toBe("boolean");
|
|
47
|
+
// Either ok=true (sharp installed) or ok=false fallbackUsed=true
|
|
48
|
+
if (!r.ok) {
|
|
49
|
+
expect(r.fallbackUsed).toBe(true);
|
|
50
|
+
expect(typeof r.fallbackHint).toBe("string");
|
|
51
|
+
}
|
|
52
|
+
// Never throws
|
|
53
|
+
});
|
|
54
|
+
it("installStatus returns structured dashboard with recommendation", async () => {
|
|
55
|
+
const s = await installStatus();
|
|
56
|
+
expect(s.v).toBe(PROTOCOL_VERSION);
|
|
57
|
+
expect(s.totalKnown).toBe(KNOWN_NATIVES.length);
|
|
58
|
+
expect(Array.isArray(s.available)).toBe(true);
|
|
59
|
+
expect(Array.isArray(s.missing)).toBe(true);
|
|
60
|
+
expect(s.available.length + s.missing.length).toBe(s.totalKnown);
|
|
61
|
+
expect(typeof s.recommendation).toBe("string");
|
|
62
|
+
expect(s.recommendation.length).toBeGreaterThan(20);
|
|
63
|
+
});
|
|
64
|
+
it("installStatus bytesAvailable + bytesIfAllInstalled are sensible", async () => {
|
|
65
|
+
const s = await installStatus();
|
|
66
|
+
expect(s.bytesIfAllInstalled).toBeGreaterThan(0);
|
|
67
|
+
expect(s.bytesAvailable).toBeLessThanOrEqual(s.bytesIfAllInstalled);
|
|
68
|
+
});
|
|
69
|
+
it("installHint returns structured guidance for known native", () => {
|
|
70
|
+
const r = installHint("transformers");
|
|
71
|
+
expect(r.ok).toBe(true);
|
|
72
|
+
if (r.ok) {
|
|
73
|
+
expect(r.npmCommand).toMatch(/^npm install/);
|
|
74
|
+
expect(r.enables).toMatch(/embedder|WASM|model/);
|
|
75
|
+
expect(r.approxMB).toBeGreaterThan(0);
|
|
76
|
+
expect(r.rationale).toMatch(/Installing/);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
it("installHint returns ok=false for unknown native", () => {
|
|
80
|
+
const r = installHint("nonexistent-native");
|
|
81
|
+
expect(r.ok).toBe(false);
|
|
82
|
+
if (!r.ok)
|
|
83
|
+
expect(r.error).toBe("unknown native name");
|
|
84
|
+
});
|
|
85
|
+
it("z3-solver entry: confirms ACGV continues working when missing", () => {
|
|
86
|
+
const z3 = KNOWN_NATIVES.find((n) => n.name === "z3-solver");
|
|
87
|
+
expect(z3).toBeDefined();
|
|
88
|
+
expect(z3.fallback).toMatch(/propositional|Gödel|Godel/);
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=optional_native.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optional_native.test.js","sourceRoot":"","sources":["../../src/optional_native/optional_native.test.ts"],"names":[],"mappings":"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"}
|