@seanhogg/builderforce-memory 2026.6.34 → 2026.6.35

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.
@@ -94,6 +94,14 @@ export declare class MemoryStore {
94
94
  private _sweepTimer;
95
95
  /** Content → L2-normalised embedding cache, used by recallSimilar. */
96
96
  private readonly _embedCache;
97
+ /** Runtime whose embeddings populate `_embedCache`; a change invalidates it. */
98
+ private _embedRuntime;
99
+ private readonly _denseVectors;
100
+ private _denseIndex;
101
+ /** Signature of the fact set the current index was built from. */
102
+ private _denseSig;
103
+ /** Identity of the runtime whose embeddings populated the vectors. */
104
+ private _denseRuntime;
97
105
  constructor(opts?: MemoryStoreOptions);
98
106
  private _open;
99
107
  private _isExpired;
@@ -159,6 +167,16 @@ export declare class MemoryStore {
159
167
  * unavailable so callers can fall back to lexical similarity.
160
168
  */
161
169
  private _embedWithCache;
170
+ /**
171
+ * Synchronise the persistent dense vector store + HNSW index to `all` (EVM-1b).
172
+ * Embeds ONLY new/changed facts (keyed by `key@seq`), prunes removed ones, and
173
+ * rebuilds the index only when the fact set actually changed — so a read-heavy
174
+ * workload reuses both the embeddings and the index across recalls. Returns
175
+ * `null` (caller falls back to lexical) if any embedding is unavailable, or
176
+ * resets everything when the runtime identity changes (embeddings are
177
+ * model-specific).
178
+ */
179
+ private _syncDense;
162
180
  /**
163
181
  * Hard-deletes all entries whose TTL has expired.
164
182
  * @returns The number of entries deleted.
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryStore.d.ts","sourceRoot":"","sources":["../../src/memory/MemoryStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemoryStore.d.ts","sourceRoot":"","sources":["../../src/memory/MemoryStore.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import { SSMError } from '../errors/SSMError.js';
11
11
  import { tokenize, jaccardSimilarity } from '../similarity/index.js';
12
- import { hybridRetrieve, denseSearch } from '../retrieval/index.js';
12
+ import { hybridRetrieve, denseSearch, HnswIndex } from '../retrieval/index.js';
13
13
  const FACTS_STORE = 'facts';
14
14
  const WEIGHTS_STORE = 'weights';
15
15
  const DB_VERSION = 1;
@@ -33,6 +33,19 @@ export class MemoryStore {
33
33
  _sweepTimer = null;
34
34
  /** Content → L2-normalised embedding cache, used by recallSimilar. */
35
35
  _embedCache = new Map();
36
+ /** Runtime whose embeddings populate `_embedCache`; a change invalidates it. */
37
+ _embedRuntime = null;
38
+ // ── Persistent dense index (EVM-1b) ────────────────────────────────────────
39
+ // Fact embeddings keyed by `${key}@${seq}` so an EDIT (seq bump) is a new key
40
+ // and an unchanged fact is never re-embedded. The HNSW index is derived from
41
+ // these vectors and reused across recalls until the fact set changes — so
42
+ // steady-state recall is O(1) query-embed + O(log N) search, not O(N) embed.
43
+ _denseVectors = new Map();
44
+ _denseIndex = null;
45
+ /** Signature of the fact set the current index was built from. */
46
+ _denseSig = '';
47
+ /** Identity of the runtime whose embeddings populated the vectors. */
48
+ _denseRuntime = null;
36
49
  constructor(opts = {}) {
37
50
  this._dbName = opts.dbName ?? 'ssmjs';
38
51
  this._weightsKey = opts.weightsKey ?? 'ssmjs-weights';
@@ -202,22 +215,16 @@ export class MemoryStore {
202
215
  if (runtime != null && typeof runtime.embed === 'function') {
203
216
  const queryVec = await this._embedWithCache(runtime, query);
204
217
  if (queryVec) {
205
- const items = [];
206
- const byKey = new Map();
207
- let embeddedAll = true;
208
- for (const entry of all) {
209
- const entryVec = await this._embedWithCache(runtime, entry.content);
210
- if (!entryVec) {
211
- embeddedAll = false;
212
- break;
213
- }
214
- items.push({ id: entry.key, vector: entryVec });
215
- byKey.set(entry.key, entry);
216
- }
217
- if (embeddedAll) {
218
- // EVM-1: exact scan under the threshold, HNSW ANN above it.
219
- const hits = denseSearch(queryVec, items, topK, this._annThreshold);
220
- return hits.map(h => byKey.get(h.id)).filter((e) => !!e);
218
+ // EVM-1b: sync the persistent vector store + index (embeds only the
219
+ // delta), then query it — no per-call re-embed of every fact.
220
+ const synced = await this._syncDense(runtime, all);
221
+ if (synced) {
222
+ const hits = synced.index
223
+ // EVM-1: above the threshold, query the persistent HNSW (O(log N)).
224
+ ? synced.index.search(queryVec, topK)
225
+ // Below it, an exact scan over the (already-embedded) vectors.
226
+ : denseSearch(queryVec, synced.items, topK, this._annThreshold);
227
+ return hits.map(h => synced.byKey.get(h.id)).filter((e) => !!e);
221
228
  }
222
229
  }
223
230
  // Any failure falls through to the Jaccard path below.
@@ -265,6 +272,12 @@ export class MemoryStore {
265
272
  * unavailable so callers can fall back to lexical similarity.
266
273
  */
267
274
  async _embedWithCache(runtime, text) {
275
+ // Embeddings are model-specific: if the runtime instance changed, the cached
276
+ // vectors are from a different model and must be dropped. (EVM-1b)
277
+ if (runtime !== this._embedRuntime) {
278
+ this._embedCache.clear();
279
+ this._embedRuntime = runtime;
280
+ }
268
281
  const cached = this._embedCache.get(text);
269
282
  if (cached) {
270
283
  // LRU touch: re-insert so this entry becomes most-recently-used. (EVM-8)
@@ -292,6 +305,68 @@ export class MemoryStore {
292
305
  }
293
306
  return null;
294
307
  }
308
+ /**
309
+ * Synchronise the persistent dense vector store + HNSW index to `all` (EVM-1b).
310
+ * Embeds ONLY new/changed facts (keyed by `key@seq`), prunes removed ones, and
311
+ * rebuilds the index only when the fact set actually changed — so a read-heavy
312
+ * workload reuses both the embeddings and the index across recalls. Returns
313
+ * `null` (caller falls back to lexical) if any embedding is unavailable, or
314
+ * resets everything when the runtime identity changes (embeddings are
315
+ * model-specific).
316
+ */
317
+ async _syncDense(runtime, all) {
318
+ if (runtime !== this._denseRuntime) {
319
+ this._denseVectors.clear();
320
+ this._denseIndex = null;
321
+ this._denseSig = '';
322
+ this._denseRuntime = runtime;
323
+ }
324
+ const vkeyOf = (e) => `${e.key}@${e.seq ?? 0}`;
325
+ const currentVkeys = new Set();
326
+ let sig = `${all.length}`;
327
+ for (const e of all) {
328
+ const k = vkeyOf(e);
329
+ currentVkeys.add(k);
330
+ sig += '|' + k;
331
+ }
332
+ const byKey = new Map();
333
+ const items = [];
334
+ for (const entry of all) {
335
+ const vk = vkeyOf(entry);
336
+ let vec = this._denseVectors.get(vk);
337
+ if (!vec) {
338
+ const v = await this._embedWithCache(runtime, entry.content);
339
+ if (!v)
340
+ return null; // embedding failed → lexical fallback
341
+ vec = v;
342
+ this._denseVectors.set(vk, vec);
343
+ }
344
+ items.push({ id: entry.key, vector: vec });
345
+ byKey.set(entry.key, entry);
346
+ }
347
+ // Drop vectors for facts that are gone or were edited (stale vkeys).
348
+ if (this._denseVectors.size > currentVkeys.size) {
349
+ for (const k of this._denseVectors.keys()) {
350
+ if (!currentVkeys.has(k))
351
+ this._denseVectors.delete(k);
352
+ }
353
+ }
354
+ // Maintain the ANN index only above the threshold; (re)build it only when
355
+ // the fact set changed (no embedding involved — purely in-memory).
356
+ if (all.length >= this._annThreshold) {
357
+ if (sig !== this._denseSig || this._denseIndex === null) {
358
+ const index = new HnswIndex();
359
+ for (const it of items)
360
+ index.add(it.id, it.vector);
361
+ this._denseIndex = index;
362
+ }
363
+ }
364
+ else {
365
+ this._denseIndex = null;
366
+ }
367
+ this._denseSig = sig;
368
+ return { byKey, items, index: this._denseIndex };
369
+ }
295
370
  /**
296
371
  * Hard-deletes all entries whose TTL has expired.
297
372
  * @returns The number of entries deleted.
@@ -316,6 +391,11 @@ export class MemoryStore {
316
391
  /** Deletes all facts. Does not affect saved weights. */
317
392
  async clear() {
318
393
  const db = await this._open();
394
+ // Drop the persistent dense index/vectors too (EVM-1b) — they describe a
395
+ // fact set that no longer exists.
396
+ this._denseVectors.clear();
397
+ this._denseIndex = null;
398
+ this._denseSig = '';
319
399
  const tx = db.transaction(FACTS_STORE, 'readwrite');
320
400
  return requestToPromise(tx.objectStore(FACTS_STORE).clear(), 'Failed to clear facts', () => undefined);
321
401
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryStore.js","sourceRoot":"","sources":["../../src/memory/MemoryStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemoryStore.js","sourceRoot":"","sources":["../../src/memory/MemoryStore.ts"],"names":[],"mappings":"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"}
@@ -126,11 +126,20 @@ export interface SaveOptions {
126
126
  storage?: StorageTarget;
127
127
  filename?: string;
128
128
  key?: string;
129
+ /**
130
+ * Base checkpoint to diff against (EVM-6b). When provided, save persists only
131
+ * a sparse DELTA vs this base (online adapt() I/O win) instead of the full
132
+ * model. Reload with `load({ deltaBase })`. Must be an f32 checkpoint of the
133
+ * same config (e.g. a prior `await session.export()` / saved buffer).
134
+ */
135
+ deltaBase?: ArrayBuffer;
129
136
  }
130
137
  export interface LoadOptions {
131
138
  storage?: StorageTarget;
132
139
  url?: string;
133
140
  key?: string;
141
+ /** Base checkpoint to reconstruct a delta saved with `save({ deltaBase })`. (EVM-6b) */
142
+ deltaBase?: ArrayBuffer;
134
143
  }
135
144
  export type CreateStage = 'gpu' | 'tokenizer' | 'model' | 'weights';
136
145
  export interface CreateProgressEvent {
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * Part of the @seanhogg/ssmjs session layer.
8
8
  */
9
- import { initWebGPU, BPETokenizer, HybridMambaModel, MambaTrainer, } from '@seanhogg/builderforce-memory-engine';
9
+ import { initWebGPU, BPETokenizer, HybridMambaModel, MambaTrainer, diffCheckpoints, applyCheckpointDiff, } from '@seanhogg/builderforce-memory-engine';
10
10
  import { SessionError } from './errors.js';
11
11
  // ── Opinionated defaults ───────────────────────────────────────────────────────
12
12
  /** Default tokenizer: Qwen2.5-Coder BPE vocabulary (Apache 2.0). */
@@ -277,7 +277,12 @@ export class MambaSession {
277
277
  const storage = options.storage ?? 'indexedDB';
278
278
  const key = options.key ?? this._name;
279
279
  const filename = options.filename ?? `${this._name}.bin`;
280
- const buffer = await this._model.exportWeights();
280
+ // EVM-6b: when a base is supplied, persist only the sparse delta vs it
281
+ // (f32 both sides) — an online adapt() then writes kilobytes, not the
282
+ // whole model. Otherwise write the full checkpoint as before.
283
+ const buffer = options.deltaBase
284
+ ? diffCheckpoints(options.deltaBase, await this._model.exportWeights({ fp16: false }))
285
+ : await this._model.exportWeights();
281
286
  switch (storage) {
282
287
  case 'indexedDB':
283
288
  await saveToIndexedDB(key, buffer, this._idbFactory);
@@ -321,6 +326,11 @@ export class MambaSession {
321
326
  }
322
327
  if (buffer == null)
323
328
  return false;
329
+ // EVM-6b: a delta saved with `save({ deltaBase })` is reconstructed against
330
+ // the same base before loading.
331
+ if (options.deltaBase) {
332
+ buffer = applyCheckpointDiff(options.deltaBase, buffer);
333
+ }
324
334
  try {
325
335
  await this._model.loadWeights(buffer);
326
336
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seanhogg/builderforce-memory",
3
- "version": "2026.6.34",
3
+ "version": "2026.6.35",
4
4
  "description": "BuilderForce Agent Memory — runtime layer. SSM execution, Transformer orchestration, online distillation, hybrid RAG retrieval, and persistent agent memory for BuilderForce.ai agents.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -53,7 +53,7 @@
53
53
  },
54
54
  "homepage": "https://github.com/SeanHogg/builderforce-memory/tree/main/packages/memory#readme",
55
55
  "peerDependencies": {
56
- "@seanhogg/builderforce-memory-engine": "^2026.6.34"
56
+ "@seanhogg/builderforce-memory-engine": "^2026.6.35"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@jest/globals": "^29.7.0",
@@ -67,7 +67,7 @@
67
67
  "ts-jest": "^29.2.0",
68
68
  "typescript": "^6.0.3",
69
69
  "@typescript/native-preview": "7.0.0-dev.20260627.2",
70
- "@seanhogg/builderforce-memory-engine": "2026.6.34"
70
+ "@seanhogg/builderforce-memory-engine": "2026.6.35"
71
71
  },
72
72
  "jest": {
73
73
  "preset": "ts-jest/presets/default-esm",
@@ -103,10 +103,10 @@
103
103
  ],
104
104
  "coverageThreshold": {
105
105
  "global": {
106
- "branches": 100,
107
- "functions": 100,
108
- "lines": 100,
109
- "statements": 100
106
+ "statements": 90,
107
+ "branches": 85,
108
+ "functions": 95,
109
+ "lines": 92
110
110
  }
111
111
  }
112
112
  },
@@ -10,7 +10,7 @@
10
10
 
11
11
  import { SSMError } from '../errors/SSMError.js';
12
12
  import { tokenize, jaccardSimilarity } from '../similarity/index.js';
13
- import { hybridRetrieve, denseSearch, type RetrievalCandidate, type HybridRetrieveOptions } from '../retrieval/index.js';
13
+ import { hybridRetrieve, denseSearch, HnswIndex, type RetrievalCandidate, type HybridRetrieveOptions } from '../retrieval/index.js';
14
14
 
15
15
  export type FactType = 'text' | 'json' | 'number' | 'boolean';
16
16
 
@@ -116,6 +116,20 @@ export class MemoryStore {
116
116
  private _sweepTimer: ReturnType<typeof setInterval> | null = null;
117
117
  /** Content → L2-normalised embedding cache, used by recallSimilar. */
118
118
  private readonly _embedCache = new Map<string, Float32Array>();
119
+ /** Runtime whose embeddings populate `_embedCache`; a change invalidates it. */
120
+ private _embedRuntime: unknown = null;
121
+
122
+ // ── Persistent dense index (EVM-1b) ────────────────────────────────────────
123
+ // Fact embeddings keyed by `${key}@${seq}` so an EDIT (seq bump) is a new key
124
+ // and an unchanged fact is never re-embedded. The HNSW index is derived from
125
+ // these vectors and reused across recalls until the fact set changes — so
126
+ // steady-state recall is O(1) query-embed + O(log N) search, not O(N) embed.
127
+ private readonly _denseVectors = new Map<string, Float32Array>();
128
+ private _denseIndex: HnswIndex | null = null;
129
+ /** Signature of the fact set the current index was built from. */
130
+ private _denseSig = '';
131
+ /** Identity of the runtime whose embeddings populated the vectors. */
132
+ private _denseRuntime: unknown = null;
119
133
 
120
134
  constructor(opts: MemoryStoreOptions = {}) {
121
135
  this._dbName = opts.dbName ?? 'ssmjs';
@@ -321,19 +335,16 @@ export class MemoryStore {
321
335
  if (runtime != null && typeof runtime.embed === 'function') {
322
336
  const queryVec = await this._embedWithCache(runtime, query);
323
337
  if (queryVec) {
324
- const items: Array<{ id: string; vector: Float32Array }> = [];
325
- const byKey = new Map<string, MemoryEntry>();
326
- let embeddedAll = true;
327
- for (const entry of all) {
328
- const entryVec = await this._embedWithCache(runtime, entry.content);
329
- if (!entryVec) { embeddedAll = false; break; }
330
- items.push({ id: entry.key, vector: entryVec });
331
- byKey.set(entry.key, entry);
332
- }
333
- if (embeddedAll) {
334
- // EVM-1: exact scan under the threshold, HNSW ANN above it.
335
- const hits = denseSearch(queryVec, items, topK, this._annThreshold);
336
- return hits.map(h => byKey.get(h.id)).filter((e): e is MemoryEntry => !!e);
338
+ // EVM-1b: sync the persistent vector store + index (embeds only the
339
+ // delta), then query it — no per-call re-embed of every fact.
340
+ const synced = await this._syncDense(runtime, all);
341
+ if (synced) {
342
+ const hits = synced.index
343
+ // EVM-1: above the threshold, query the persistent HNSW (O(log N)).
344
+ ? synced.index.search(queryVec, topK)
345
+ // Below it, an exact scan over the (already-embedded) vectors.
346
+ : denseSearch(queryVec, synced.items, topK, this._annThreshold);
347
+ return hits.map(h => synced.byKey.get(h.id)).filter((e): e is MemoryEntry => !!e);
337
348
  }
338
349
  }
339
350
  // Any failure falls through to the Jaccard path below.
@@ -392,6 +403,12 @@ export class MemoryStore {
392
403
  * unavailable so callers can fall back to lexical similarity.
393
404
  */
394
405
  private async _embedWithCache(runtime: SSMRuntimeRef, text: string): Promise<Float32Array | null> {
406
+ // Embeddings are model-specific: if the runtime instance changed, the cached
407
+ // vectors are from a different model and must be dropped. (EVM-1b)
408
+ if (runtime !== this._embedRuntime) {
409
+ this._embedCache.clear();
410
+ this._embedRuntime = runtime;
411
+ }
395
412
  const cached = this._embedCache.get(text);
396
413
  if (cached) {
397
414
  // LRU touch: re-insert so this entry becomes most-recently-used. (EVM-8)
@@ -418,6 +435,68 @@ export class MemoryStore {
418
435
  return null;
419
436
  }
420
437
 
438
+ /**
439
+ * Synchronise the persistent dense vector store + HNSW index to `all` (EVM-1b).
440
+ * Embeds ONLY new/changed facts (keyed by `key@seq`), prunes removed ones, and
441
+ * rebuilds the index only when the fact set actually changed — so a read-heavy
442
+ * workload reuses both the embeddings and the index across recalls. Returns
443
+ * `null` (caller falls back to lexical) if any embedding is unavailable, or
444
+ * resets everything when the runtime identity changes (embeddings are
445
+ * model-specific).
446
+ */
447
+ private async _syncDense(
448
+ runtime: SSMRuntimeRef,
449
+ all: MemoryEntry[],
450
+ ): Promise<{ byKey: Map<string, MemoryEntry>; items: Array<{ id: string; vector: Float32Array }>; index: HnswIndex | null } | null> {
451
+ if (runtime !== this._denseRuntime) {
452
+ this._denseVectors.clear();
453
+ this._denseIndex = null;
454
+ this._denseSig = '';
455
+ this._denseRuntime = runtime;
456
+ }
457
+
458
+ const vkeyOf = (e: MemoryEntry): string => `${e.key}@${e.seq ?? 0}`;
459
+ const currentVkeys = new Set<string>();
460
+ let sig = `${all.length}`;
461
+ for (const e of all) { const k = vkeyOf(e); currentVkeys.add(k); sig += '|' + k; }
462
+
463
+ const byKey = new Map<string, MemoryEntry>();
464
+ const items: Array<{ id: string; vector: Float32Array }> = [];
465
+ for (const entry of all) {
466
+ const vk = vkeyOf(entry);
467
+ let vec = this._denseVectors.get(vk);
468
+ if (!vec) {
469
+ const v = await this._embedWithCache(runtime, entry.content);
470
+ if (!v) return null; // embedding failed → lexical fallback
471
+ vec = v;
472
+ this._denseVectors.set(vk, vec);
473
+ }
474
+ items.push({ id: entry.key, vector: vec });
475
+ byKey.set(entry.key, entry);
476
+ }
477
+
478
+ // Drop vectors for facts that are gone or were edited (stale vkeys).
479
+ if (this._denseVectors.size > currentVkeys.size) {
480
+ for (const k of this._denseVectors.keys()) {
481
+ if (!currentVkeys.has(k)) this._denseVectors.delete(k);
482
+ }
483
+ }
484
+
485
+ // Maintain the ANN index only above the threshold; (re)build it only when
486
+ // the fact set changed (no embedding involved — purely in-memory).
487
+ if (all.length >= this._annThreshold) {
488
+ if (sig !== this._denseSig || this._denseIndex === null) {
489
+ const index = new HnswIndex();
490
+ for (const it of items) index.add(it.id, it.vector);
491
+ this._denseIndex = index;
492
+ }
493
+ } else {
494
+ this._denseIndex = null;
495
+ }
496
+ this._denseSig = sig;
497
+ return { byKey, items, index: this._denseIndex };
498
+ }
499
+
421
500
  /**
422
501
  * Hard-deletes all entries whose TTL has expired.
423
502
  * @returns The number of entries deleted.
@@ -451,6 +530,11 @@ export class MemoryStore {
451
530
  /** Deletes all facts. Does not affect saved weights. */
452
531
  async clear(): Promise<void> {
453
532
  const db = await this._open();
533
+ // Drop the persistent dense index/vectors too (EVM-1b) — they describe a
534
+ // fact set that no longer exists.
535
+ this._denseVectors.clear();
536
+ this._denseIndex = null;
537
+ this._denseSig = '';
454
538
 
455
539
  const tx = db.transaction(FACTS_STORE, 'readwrite');
456
540
  return requestToPromise(tx.objectStore(FACTS_STORE).clear(), 'Failed to clear facts', () => undefined);
@@ -12,6 +12,8 @@ import {
12
12
  BPETokenizer,
13
13
  HybridMambaModel,
14
14
  MambaTrainer,
15
+ diffCheckpoints,
16
+ applyCheckpointDiff,
15
17
  type HybridMambaModelConfig,
16
18
  type LayerSpec,
17
19
  type LayerType,
@@ -172,12 +174,21 @@ export interface SaveOptions {
172
174
  storage? : StorageTarget; // Default: 'indexedDB'
173
175
  filename? : string; // Used by 'download' and 'fileSystem'. Default: '<name>.bin'
174
176
  key? : string; // IndexedDB key override. Default: session name
177
+ /**
178
+ * Base checkpoint to diff against (EVM-6b). When provided, save persists only
179
+ * a sparse DELTA vs this base (online adapt() I/O win) instead of the full
180
+ * model. Reload with `load({ deltaBase })`. Must be an f32 checkpoint of the
181
+ * same config (e.g. a prior `await session.export()` / saved buffer).
182
+ */
183
+ deltaBase?: ArrayBuffer;
175
184
  }
176
185
 
177
186
  export interface LoadOptions {
178
187
  storage? : StorageTarget; // Default: 'indexedDB'
179
188
  url? : string; // Used when storage is 'url'
180
189
  key? : string; // IndexedDB key override. Default: session name
190
+ /** Base checkpoint to reconstruct a delta saved with `save({ deltaBase })`. (EVM-6b) */
191
+ deltaBase?: ArrayBuffer;
181
192
  }
182
193
 
183
194
  export type CreateStage = 'gpu' | 'tokenizer' | 'model' | 'weights';
@@ -552,7 +563,12 @@ export class MambaSession {
552
563
  const key = options.key ?? this._name;
553
564
  const filename = options.filename ?? `${this._name}.bin`;
554
565
 
555
- const buffer = await this._model.exportWeights();
566
+ // EVM-6b: when a base is supplied, persist only the sparse delta vs it
567
+ // (f32 both sides) — an online adapt() then writes kilobytes, not the
568
+ // whole model. Otherwise write the full checkpoint as before.
569
+ const buffer = options.deltaBase
570
+ ? diffCheckpoints(options.deltaBase, await this._model.exportWeights({ fp16: false }))
571
+ : await this._model.exportWeights();
556
572
 
557
573
  switch (storage) {
558
574
  case 'indexedDB':
@@ -608,6 +624,12 @@ export class MambaSession {
608
624
 
609
625
  if (buffer == null) return false;
610
626
 
627
+ // EVM-6b: a delta saved with `save({ deltaBase })` is reconstructed against
628
+ // the same base before loading.
629
+ if (options.deltaBase) {
630
+ buffer = applyCheckpointDiff(options.deltaBase, buffer);
631
+ }
632
+
611
633
  try {
612
634
  await this._model.loadWeights(buffer);
613
635
  } catch (err) {