@mneme-ai/core 2.19.20 → 2.19.22
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/catalog_parity/catalog_parity.test.d.ts +2 -0
- package/dist/catalog_parity/catalog_parity.test.d.ts.map +1 -0
- package/dist/catalog_parity/catalog_parity.test.js +104 -0
- package/dist/catalog_parity/catalog_parity.test.js.map +1 -0
- package/dist/catalog_parity/index.d.ts +69 -0
- package/dist/catalog_parity/index.d.ts.map +1 -0
- package/dist/catalog_parity/index.js +118 -0
- package/dist/catalog_parity/index.js.map +1 -0
- package/dist/cosmic/aurelian_v1921.test.d.ts +2 -0
- package/dist/cosmic/aurelian_v1921.test.d.ts.map +1 -0
- package/dist/cosmic/aurelian_v1921.test.js +48 -0
- package/dist/cosmic/aurelian_v1921.test.js.map +1 -0
- package/dist/cosmic/aurelian_v1922.test.d.ts +2 -0
- package/dist/cosmic/aurelian_v1922.test.d.ts.map +1 -0
- package/dist/cosmic/aurelian_v1922.test.js +48 -0
- package/dist/cosmic/aurelian_v1922.test.js.map +1 -0
- package/dist/dynamic/pack-schema.d.ts +14 -14
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/periodic/periodic.test.js +1 -1
- package/dist/periodic/periodic.test.js.map +1 -1
- package/dist/reflex/index.d.ts +210 -0
- package/dist/reflex/index.d.ts.map +1 -0
- package/dist/reflex/index.js +298 -0
- package/dist/reflex/index.js.map +1 -0
- package/dist/reflex/reflex.test.d.ts +2 -0
- package/dist/reflex/reflex.test.d.ts.map +1 -0
- package/dist/reflex/reflex.test.js +379 -0
- package/dist/reflex/reflex.test.js.map +1 -0
- package/dist/snn_auto_promote/index.d.ts +82 -0
- package/dist/snn_auto_promote/index.d.ts.map +1 -0
- package/dist/snn_auto_promote/index.js +154 -0
- package/dist/snn_auto_promote/index.js.map +1 -0
- package/dist/snn_auto_promote/snn_auto_promote.test.d.ts +2 -0
- package/dist/snn_auto_promote/snn_auto_promote.test.d.ts.map +1 -0
- package/dist/snn_auto_promote/snn_auto_promote.test.js +164 -0
- package/dist/snn_auto_promote/snn_auto_promote.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/dist/wrapper_genesis/index.d.ts.map +1 -1
- package/dist/wrapper_genesis/index.js +23 -0
- package/dist/wrapper_genesis/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.19.22 — MNEME REFLEX (FLAGSHIP) · Automatic Pre-Execution Layer
|
|
3
|
+
*
|
|
4
|
+
* "Every AI tool today is request → response. Mneme is the FIRST AI
|
|
5
|
+
* layer that pre-executes the tools an AI agent is about to call,
|
|
6
|
+
* based on what the user just did on their machine. By the time the
|
|
7
|
+
* AI agent asks, the answer is already in cache. 200ms cold ladder
|
|
8
|
+
* becomes ~0ms cached. The competitive moat is not the algorithm —
|
|
9
|
+
* it's the daemon + pheromone trail + local-first usage history.
|
|
10
|
+
* No SaaS competitor can ship this because they don't live on the
|
|
11
|
+
* user's machine."
|
|
12
|
+
*
|
|
13
|
+
* Pipeline:
|
|
14
|
+
* user event (file_save / git_commit / terminal_command / user_chat)
|
|
15
|
+
* ↓
|
|
16
|
+
* recordObservation(event, followupToolCall) ← HMAC-chained pheromone store
|
|
17
|
+
* ↓
|
|
18
|
+
* later same event recurs:
|
|
19
|
+
* ↓
|
|
20
|
+
* predictFollowup(event, store) ← top-N tools by frequency
|
|
21
|
+
* ↓
|
|
22
|
+
* prefetch(predictions, invokeFn, budget=200ms) ← concurrent, budget-bound
|
|
23
|
+
* ↓
|
|
24
|
+
* writeCacheEntry per result ← TTL=5min, HMAC-signed
|
|
25
|
+
* ↓
|
|
26
|
+
* AI agent asks: readCache(event, toolName) → INSTANT HIT (0ms)
|
|
27
|
+
*
|
|
28
|
+
* Honest scope:
|
|
29
|
+
* - PROTOCOL + STORE + PREDICTOR + CACHE + PREFETCH EXECUTOR ship now.
|
|
30
|
+
* Event detector lives in caller (daemon / shell hook / git hook).
|
|
31
|
+
* - PREDICTOR is frequency-based (no ML); deliberately deterministic so
|
|
32
|
+
* same store → same predictions. Confidence = matches / total within
|
|
33
|
+
* event signature.
|
|
34
|
+
* - CACHE is content-addressed on event signature + toolName + args.
|
|
35
|
+
* HMAC-signed entries; tampered entries refuse to hit.
|
|
36
|
+
* - PREFETCH uses Promise.race against budget. A slow tool gets killed
|
|
37
|
+
* at budgetMs and reported in `executed[i].ok = false`. Never blocks.
|
|
38
|
+
* - Persistence is CALLER'S job (daemon writes store/cache to disk).
|
|
39
|
+
* Mneme returns updated value; caller persists. Same pattern as
|
|
40
|
+
* v2.19.16 FEDERATED, v2.19.20 RCI, v2.19.21 SNN AUTO-PROMOTE.
|
|
41
|
+
* - Refuses to leak: cache entry only readable for matching event sig
|
|
42
|
+
* + toolName + (optionally) args predicate. No cross-event leakage.
|
|
43
|
+
*/
|
|
44
|
+
import { createHmac, timingSafeEqual } from "node:crypto";
|
|
45
|
+
const PROTOCOL_VERSION = 1;
|
|
46
|
+
const DEFAULT_TTL_MS = 5 * 60 * 1000;
|
|
47
|
+
const DEFAULT_PREFETCH_BUDGET_MS = 200;
|
|
48
|
+
const DEFAULT_TOP_N = 3;
|
|
49
|
+
// ─── canonical helpers ────────────────────────────────────────────────
|
|
50
|
+
function canon(v) {
|
|
51
|
+
if (v === null || typeof v !== "object")
|
|
52
|
+
return JSON.stringify(v);
|
|
53
|
+
if (Array.isArray(v))
|
|
54
|
+
return "[" + v.map(canon).join(",") + "]";
|
|
55
|
+
const keys = Object.keys(v).sort();
|
|
56
|
+
return "{" + keys.map((k) => JSON.stringify(k) + ":" + canon(v[k])).join(",") + "}";
|
|
57
|
+
}
|
|
58
|
+
function defaultSecret() {
|
|
59
|
+
return process.env["MNEME_REFLEX_SECRET"] || `mneme-reflex-v${PROTOCOL_VERSION}`;
|
|
60
|
+
}
|
|
61
|
+
function hmacHex(body, secret) {
|
|
62
|
+
return createHmac("sha256", secret).update(canon(body)).digest("hex");
|
|
63
|
+
}
|
|
64
|
+
function safeEqHex(a, b) {
|
|
65
|
+
try {
|
|
66
|
+
return timingSafeEqual(Buffer.from(a, "hex"), Buffer.from(b, "hex"));
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/** Stable signature over the EVENT (kind + context only — NOT ts). */
|
|
73
|
+
export function eventCacheKey(event) {
|
|
74
|
+
const body = { kind: event.kind, context: event.context };
|
|
75
|
+
return createHmac("sha256", "mneme-reflex-cache-key").update(canon(body)).digest("hex").slice(0, 16);
|
|
76
|
+
}
|
|
77
|
+
// ─── pheromone store ──────────────────────────────────────────────────
|
|
78
|
+
export function emptyStore() {
|
|
79
|
+
return { v: PROTOCOL_VERSION, records: [] };
|
|
80
|
+
}
|
|
81
|
+
export function recordObservation(input) {
|
|
82
|
+
const prev = input.store.records[input.store.records.length - 1];
|
|
83
|
+
const body = {
|
|
84
|
+
v: PROTOCOL_VERSION,
|
|
85
|
+
event: input.event,
|
|
86
|
+
followup: input.followup,
|
|
87
|
+
prevSig: prev ? prev.sig : null,
|
|
88
|
+
};
|
|
89
|
+
const sig = hmacHex(body, input.secret ?? defaultSecret());
|
|
90
|
+
return {
|
|
91
|
+
v: PROTOCOL_VERSION,
|
|
92
|
+
records: [...input.store.records, { ...body, sig }],
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
export function verifyStore(store, secret) {
|
|
96
|
+
const sec = secret ?? defaultSecret();
|
|
97
|
+
let prevSig = null;
|
|
98
|
+
for (let i = 0; i < store.records.length; i++) {
|
|
99
|
+
const r = store.records[i];
|
|
100
|
+
const { sig, ...body } = r;
|
|
101
|
+
if (body.prevSig !== prevSig)
|
|
102
|
+
return { ok: false, brokenAt: i, reason: `prevSig mismatch at step ${i}` };
|
|
103
|
+
if (!safeEqHex(hmacHex(body, sec), sig))
|
|
104
|
+
return { ok: false, brokenAt: i, reason: `HMAC mismatch at step ${i}` };
|
|
105
|
+
prevSig = sig;
|
|
106
|
+
}
|
|
107
|
+
return { ok: true };
|
|
108
|
+
}
|
|
109
|
+
// ─── predictor ────────────────────────────────────────────────────────
|
|
110
|
+
/**
|
|
111
|
+
* Returns top-N likely follow-up tools for the given event, ordered by
|
|
112
|
+
* frequency in the pheromone store. Confidence = matches / total within
|
|
113
|
+
* the event signature group.
|
|
114
|
+
*
|
|
115
|
+
* Deterministic: same store + same event → same predictions.
|
|
116
|
+
*/
|
|
117
|
+
export function predictFollowup(input) {
|
|
118
|
+
const topN = input.topN ?? DEFAULT_TOP_N;
|
|
119
|
+
const eventSig = eventCacheKey(input.event);
|
|
120
|
+
const matching = input.store.records.filter((r) => eventCacheKey(r.event) === eventSig);
|
|
121
|
+
if (matching.length === 0)
|
|
122
|
+
return [];
|
|
123
|
+
const counts = new Map();
|
|
124
|
+
for (const r of matching) {
|
|
125
|
+
const prev = counts.get(r.followup.toolName);
|
|
126
|
+
if (prev) {
|
|
127
|
+
prev.count++;
|
|
128
|
+
prev.argsTemplate = r.followup.args;
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
counts.set(r.followup.toolName, { count: 1, argsTemplate: r.followup.args });
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
const total = matching.length;
|
|
135
|
+
return Array.from(counts.entries())
|
|
136
|
+
.map(([toolName, { count, argsTemplate }]) => ({
|
|
137
|
+
toolName,
|
|
138
|
+
argsTemplate,
|
|
139
|
+
confidence: count / total,
|
|
140
|
+
sampleCount: count,
|
|
141
|
+
}))
|
|
142
|
+
.sort((a, b) => b.confidence - a.confidence || a.toolName.localeCompare(b.toolName))
|
|
143
|
+
.slice(0, topN);
|
|
144
|
+
}
|
|
145
|
+
// ─── cache ────────────────────────────────────────────────────────────
|
|
146
|
+
export function emptyCache() {
|
|
147
|
+
return { v: PROTOCOL_VERSION, entries: {} };
|
|
148
|
+
}
|
|
149
|
+
export function writeCacheEntry(input) {
|
|
150
|
+
const eventKey = eventCacheKey(input.event);
|
|
151
|
+
const ts = input.nowMs ?? Date.now();
|
|
152
|
+
const ttl = input.ttlMs ?? DEFAULT_TTL_MS;
|
|
153
|
+
const body = {
|
|
154
|
+
v: PROTOCOL_VERSION,
|
|
155
|
+
eventKey,
|
|
156
|
+
toolName: input.toolName,
|
|
157
|
+
args: input.args,
|
|
158
|
+
result: input.result,
|
|
159
|
+
ts,
|
|
160
|
+
ttlMs: ttl,
|
|
161
|
+
};
|
|
162
|
+
const sig = hmacHex(body, input.secret ?? defaultSecret());
|
|
163
|
+
const entry = { ...body, sig };
|
|
164
|
+
const existing = input.cache.entries[eventKey] ?? [];
|
|
165
|
+
return {
|
|
166
|
+
v: PROTOCOL_VERSION,
|
|
167
|
+
entries: { ...input.cache.entries, [eventKey]: [...existing, entry] },
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
export function readCache(input) {
|
|
171
|
+
const eventKey = eventCacheKey(input.event);
|
|
172
|
+
const now = input.nowMs ?? Date.now();
|
|
173
|
+
const sec = input.secret ?? defaultSecret();
|
|
174
|
+
const entries = input.cache.entries[eventKey] ?? [];
|
|
175
|
+
for (let i = entries.length - 1; i >= 0; i--) {
|
|
176
|
+
const e = entries[i];
|
|
177
|
+
if (e.toolName !== input.toolName)
|
|
178
|
+
continue;
|
|
179
|
+
if (input.argsMatch && !input.argsMatch(e.args))
|
|
180
|
+
continue;
|
|
181
|
+
if (now > e.ts + e.ttlMs)
|
|
182
|
+
continue;
|
|
183
|
+
const { sig, ...body } = e;
|
|
184
|
+
if (!safeEqHex(hmacHex(body, sec), sig)) {
|
|
185
|
+
return { hit: false, reason: "HMAC mismatch -- cache entry tampered" };
|
|
186
|
+
}
|
|
187
|
+
return { hit: true, entry: e };
|
|
188
|
+
}
|
|
189
|
+
return { hit: false, reason: "no fresh entry" };
|
|
190
|
+
}
|
|
191
|
+
/** Drops expired entries; returns compacted cache. Pure. */
|
|
192
|
+
export function gcCache(input) {
|
|
193
|
+
const now = input.nowMs ?? Date.now();
|
|
194
|
+
const newEntries = {};
|
|
195
|
+
let removed = 0;
|
|
196
|
+
for (const [k, arr] of Object.entries(input.cache.entries)) {
|
|
197
|
+
const kept = arr.filter((e) => now <= e.ts + e.ttlMs);
|
|
198
|
+
removed += arr.length - kept.length;
|
|
199
|
+
if (kept.length > 0)
|
|
200
|
+
newEntries[k] = kept;
|
|
201
|
+
}
|
|
202
|
+
return { cache: { v: PROTOCOL_VERSION, entries: newEntries }, removed };
|
|
203
|
+
}
|
|
204
|
+
// ─── prefetch executor ────────────────────────────────────────────────
|
|
205
|
+
/**
|
|
206
|
+
* Concurrent prefetch of up to N candidate tool calls, each raced against
|
|
207
|
+
* a per-tool budget. Always returns within budgetMs + small dispatch
|
|
208
|
+
* overhead — even if individual tools hang. Failed calls land in
|
|
209
|
+
* `executed[i].ok = false` and are NOT written to cache.
|
|
210
|
+
*/
|
|
211
|
+
export async function prefetch(input) {
|
|
212
|
+
const budget = input.budgetMs ?? DEFAULT_PREFETCH_BUDGET_MS;
|
|
213
|
+
const t0 = Date.now();
|
|
214
|
+
let cache = input.cache;
|
|
215
|
+
const executed = [];
|
|
216
|
+
await Promise.all(input.candidates.map(async (c) => {
|
|
217
|
+
const start = Date.now();
|
|
218
|
+
let timeoutHandle;
|
|
219
|
+
try {
|
|
220
|
+
const result = await Promise.race([
|
|
221
|
+
input.invoke(c.toolName, c.args),
|
|
222
|
+
new Promise((_, reject) => {
|
|
223
|
+
timeoutHandle = setTimeout(() => reject(new Error("prefetch_timeout")), budget);
|
|
224
|
+
}),
|
|
225
|
+
]);
|
|
226
|
+
if (timeoutHandle)
|
|
227
|
+
clearTimeout(timeoutHandle);
|
|
228
|
+
const ms = Date.now() - start;
|
|
229
|
+
cache = writeCacheEntry({
|
|
230
|
+
cache,
|
|
231
|
+
event: input.event,
|
|
232
|
+
toolName: c.toolName,
|
|
233
|
+
args: c.args,
|
|
234
|
+
result,
|
|
235
|
+
ttlMs: input.ttlMs,
|
|
236
|
+
nowMs: input.nowMs,
|
|
237
|
+
secret: input.secret,
|
|
238
|
+
});
|
|
239
|
+
executed.push({ toolName: c.toolName, ms, ok: true });
|
|
240
|
+
}
|
|
241
|
+
catch (e) {
|
|
242
|
+
if (timeoutHandle)
|
|
243
|
+
clearTimeout(timeoutHandle);
|
|
244
|
+
executed.push({ toolName: c.toolName, ms: Date.now() - start, ok: false, error: e.message });
|
|
245
|
+
}
|
|
246
|
+
}));
|
|
247
|
+
const totalMs = Date.now() - t0;
|
|
248
|
+
return { cache, executed, totalMs, budgetMs: budget, withinBudget: totalMs <= budget + 50 };
|
|
249
|
+
}
|
|
250
|
+
export function emptyTelemetry() {
|
|
251
|
+
return { hits: 0, misses: 0 };
|
|
252
|
+
}
|
|
253
|
+
export function recordFetch(input) {
|
|
254
|
+
return {
|
|
255
|
+
hits: input.telemetry.hits + (input.hit ? 1 : 0),
|
|
256
|
+
misses: input.telemetry.misses + (input.hit ? 0 : 1),
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
export function computeStats(input) {
|
|
260
|
+
const now = input.nowMs ?? Date.now();
|
|
261
|
+
const uniqueSigs = new Set(input.store.records.map((r) => eventCacheKey(r.event)));
|
|
262
|
+
const toolCounts = new Map();
|
|
263
|
+
for (const r of input.store.records) {
|
|
264
|
+
toolCounts.set(r.followup.toolName, (toolCounts.get(r.followup.toolName) ?? 0) + 1);
|
|
265
|
+
}
|
|
266
|
+
const topTools = Array.from(toolCounts.entries())
|
|
267
|
+
.map(([toolName, count]) => ({ toolName, count }))
|
|
268
|
+
.sort((a, b) => b.count - a.count || a.toolName.localeCompare(b.toolName))
|
|
269
|
+
.slice(0, 10);
|
|
270
|
+
let totalEntries = 0, expired = 0, fresh = 0;
|
|
271
|
+
for (const eventEntries of Object.values(input.cache.entries)) {
|
|
272
|
+
for (const e of eventEntries) {
|
|
273
|
+
totalEntries++;
|
|
274
|
+
if (now > e.ts + e.ttlMs)
|
|
275
|
+
expired++;
|
|
276
|
+
else
|
|
277
|
+
fresh++;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
const t = input.telemetry ?? emptyTelemetry();
|
|
281
|
+
const total = t.hits + t.misses;
|
|
282
|
+
return {
|
|
283
|
+
totalRecords: input.store.records.length,
|
|
284
|
+
uniqueEventSigs: uniqueSigs.size,
|
|
285
|
+
topToolsByFrequency: topTools,
|
|
286
|
+
totalCacheEntries: totalEntries,
|
|
287
|
+
expiredCacheEntries: expired,
|
|
288
|
+
freshCacheEntries: fresh,
|
|
289
|
+
hitRate: total === 0 ? 0 : t.hits / total,
|
|
290
|
+
totalHits: t.hits,
|
|
291
|
+
totalMisses: t.misses,
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
export function formatStatsLine(s) {
|
|
295
|
+
const hitPct = (s.hitRate * 100).toFixed(1);
|
|
296
|
+
return `🥇 REFLEX · ${s.totalRecords} obs · ${s.uniqueEventSigs} events · ${s.freshCacheEntries}/${s.totalCacheEntries} fresh · hit-rate ${hitPct}% (${s.totalHits}/${s.totalHits + s.totalMisses})`;
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reflex/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reflex.test.d.ts","sourceRoot":"","sources":["../../src/reflex/reflex.test.ts"],"names":[],"mappings":""}
|