@seanhogg/builderforce-memory 2026.6.18

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.
Files changed (163) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +582 -0
  3. package/dist/agent/SSMAgent.d.ts +146 -0
  4. package/dist/agent/SSMAgent.d.ts.map +1 -0
  5. package/dist/agent/SSMAgent.js +231 -0
  6. package/dist/agent/SSMAgent.js.map +1 -0
  7. package/dist/agent/index.d.ts +3 -0
  8. package/dist/agent/index.d.ts.map +1 -0
  9. package/dist/agent/index.js +2 -0
  10. package/dist/agent/index.js.map +1 -0
  11. package/dist/bridges/AnthropicBridge.d.ts +47 -0
  12. package/dist/bridges/AnthropicBridge.d.ts.map +1 -0
  13. package/dist/bridges/AnthropicBridge.js +120 -0
  14. package/dist/bridges/AnthropicBridge.js.map +1 -0
  15. package/dist/bridges/CachingBridge.d.ts +44 -0
  16. package/dist/bridges/CachingBridge.d.ts.map +1 -0
  17. package/dist/bridges/CachingBridge.js +62 -0
  18. package/dist/bridges/CachingBridge.js.map +1 -0
  19. package/dist/bridges/FetchBridge.d.ts +30 -0
  20. package/dist/bridges/FetchBridge.d.ts.map +1 -0
  21. package/dist/bridges/FetchBridge.js +24 -0
  22. package/dist/bridges/FetchBridge.js.map +1 -0
  23. package/dist/bridges/OpenAIBridge.d.ts +33 -0
  24. package/dist/bridges/OpenAIBridge.d.ts.map +1 -0
  25. package/dist/bridges/OpenAIBridge.js +110 -0
  26. package/dist/bridges/OpenAIBridge.js.map +1 -0
  27. package/dist/bridges/ResponseCache.d.ts +65 -0
  28. package/dist/bridges/ResponseCache.d.ts.map +1 -0
  29. package/dist/bridges/ResponseCache.js +97 -0
  30. package/dist/bridges/ResponseCache.js.map +1 -0
  31. package/dist/bridges/SemanticCachingBridge.d.ts +31 -0
  32. package/dist/bridges/SemanticCachingBridge.d.ts.map +1 -0
  33. package/dist/bridges/SemanticCachingBridge.js +44 -0
  34. package/dist/bridges/SemanticCachingBridge.js.map +1 -0
  35. package/dist/bridges/TransformerBridge.d.ts +35 -0
  36. package/dist/bridges/TransformerBridge.d.ts.map +1 -0
  37. package/dist/bridges/TransformerBridge.js +10 -0
  38. package/dist/bridges/TransformerBridge.js.map +1 -0
  39. package/dist/bridges/index.d.ts +14 -0
  40. package/dist/bridges/index.d.ts.map +1 -0
  41. package/dist/bridges/index.js +7 -0
  42. package/dist/bridges/index.js.map +1 -0
  43. package/dist/cache/FetchSemanticCacheBackend.d.ts +40 -0
  44. package/dist/cache/FetchSemanticCacheBackend.d.ts.map +1 -0
  45. package/dist/cache/FetchSemanticCacheBackend.js +61 -0
  46. package/dist/cache/FetchSemanticCacheBackend.js.map +1 -0
  47. package/dist/cache/SemanticCache.d.ts +105 -0
  48. package/dist/cache/SemanticCache.d.ts.map +1 -0
  49. package/dist/cache/SemanticCache.js +130 -0
  50. package/dist/cache/SemanticCache.js.map +1 -0
  51. package/dist/cache/index.d.ts +5 -0
  52. package/dist/cache/index.d.ts.map +1 -0
  53. package/dist/cache/index.js +3 -0
  54. package/dist/cache/index.js.map +1 -0
  55. package/dist/distillation/DistillationEngine.d.ts +107 -0
  56. package/dist/distillation/DistillationEngine.d.ts.map +1 -0
  57. package/dist/distillation/DistillationEngine.js +152 -0
  58. package/dist/distillation/DistillationEngine.js.map +1 -0
  59. package/dist/distillation/index.d.ts +3 -0
  60. package/dist/distillation/index.d.ts.map +1 -0
  61. package/dist/distillation/index.js +2 -0
  62. package/dist/distillation/index.js.map +1 -0
  63. package/dist/errors/SSMError.d.ts +14 -0
  64. package/dist/errors/SSMError.d.ts.map +1 -0
  65. package/dist/errors/SSMError.js +18 -0
  66. package/dist/errors/SSMError.js.map +1 -0
  67. package/dist/errors/index.d.ts +3 -0
  68. package/dist/errors/index.d.ts.map +1 -0
  69. package/dist/errors/index.js +2 -0
  70. package/dist/errors/index.js.map +1 -0
  71. package/dist/index.d.ts +65 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +59 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/memory/MemoryStore.d.ts +152 -0
  76. package/dist/memory/MemoryStore.d.ts.map +1 -0
  77. package/dist/memory/MemoryStore.js +290 -0
  78. package/dist/memory/MemoryStore.js.map +1 -0
  79. package/dist/memory/index.d.ts +3 -0
  80. package/dist/memory/index.d.ts.map +1 -0
  81. package/dist/memory/index.js +2 -0
  82. package/dist/memory/index.js.map +1 -0
  83. package/dist/router/InferenceRouter.d.ts +92 -0
  84. package/dist/router/InferenceRouter.d.ts.map +1 -0
  85. package/dist/router/InferenceRouter.js +113 -0
  86. package/dist/router/InferenceRouter.js.map +1 -0
  87. package/dist/router/index.d.ts +3 -0
  88. package/dist/router/index.d.ts.map +1 -0
  89. package/dist/router/index.js +2 -0
  90. package/dist/router/index.js.map +1 -0
  91. package/dist/runtime/SSMRuntime.d.ts +167 -0
  92. package/dist/runtime/SSMRuntime.d.ts.map +1 -0
  93. package/dist/runtime/SSMRuntime.js +199 -0
  94. package/dist/runtime/SSMRuntime.js.map +1 -0
  95. package/dist/runtime/index.d.ts +3 -0
  96. package/dist/runtime/index.d.ts.map +1 -0
  97. package/dist/runtime/index.js +2 -0
  98. package/dist/runtime/index.js.map +1 -0
  99. package/dist/session/errors.d.ts +10 -0
  100. package/dist/session/errors.d.ts.map +1 -0
  101. package/dist/session/errors.js +14 -0
  102. package/dist/session/errors.js.map +1 -0
  103. package/dist/session/index.d.ts +11 -0
  104. package/dist/session/index.d.ts.map +1 -0
  105. package/dist/session/index.js +7 -0
  106. package/dist/session/index.js.map +1 -0
  107. package/dist/session/persistence.d.ts +14 -0
  108. package/dist/session/persistence.d.ts.map +1 -0
  109. package/dist/session/persistence.js +100 -0
  110. package/dist/session/persistence.js.map +1 -0
  111. package/dist/session/presets.d.ts +31 -0
  112. package/dist/session/presets.d.ts.map +1 -0
  113. package/dist/session/presets.js +91 -0
  114. package/dist/session/presets.js.map +1 -0
  115. package/dist/session/session.d.ts +186 -0
  116. package/dist/session/session.d.ts.map +1 -0
  117. package/dist/session/session.js +358 -0
  118. package/dist/session/session.js.map +1 -0
  119. package/dist/session/streaming.d.ts +13 -0
  120. package/dist/session/streaming.d.ts.map +1 -0
  121. package/dist/session/streaming.js +74 -0
  122. package/dist/session/streaming.js.map +1 -0
  123. package/dist/session/tokenizer.d.ts +18 -0
  124. package/dist/session/tokenizer.d.ts.map +1 -0
  125. package/dist/session/tokenizer.js +11 -0
  126. package/dist/session/tokenizer.js.map +1 -0
  127. package/dist/similarity/index.d.ts +19 -0
  128. package/dist/similarity/index.d.ts.map +1 -0
  129. package/dist/similarity/index.js +42 -0
  130. package/dist/similarity/index.js.map +1 -0
  131. package/package.json +120 -0
  132. package/src/agent/SSMAgent.ts +327 -0
  133. package/src/agent/index.ts +2 -0
  134. package/src/bridges/AnthropicBridge.ts +166 -0
  135. package/src/bridges/CachingBridge.ts +79 -0
  136. package/src/bridges/FetchBridge.ts +41 -0
  137. package/src/bridges/OpenAIBridge.ts +143 -0
  138. package/src/bridges/ResponseCache.ts +131 -0
  139. package/src/bridges/SemanticCachingBridge.ts +60 -0
  140. package/src/bridges/TransformerBridge.ts +38 -0
  141. package/src/bridges/index.ts +13 -0
  142. package/src/cache/FetchSemanticCacheBackend.ts +79 -0
  143. package/src/cache/SemanticCache.ts +196 -0
  144. package/src/cache/index.ts +9 -0
  145. package/src/distillation/DistillationEngine.ts +248 -0
  146. package/src/distillation/index.ts +2 -0
  147. package/src/errors/SSMError.ts +26 -0
  148. package/src/errors/index.ts +2 -0
  149. package/src/index.ts +128 -0
  150. package/src/memory/MemoryStore.ts +408 -0
  151. package/src/memory/index.ts +2 -0
  152. package/src/router/InferenceRouter.ts +201 -0
  153. package/src/router/index.ts +2 -0
  154. package/src/runtime/SSMRuntime.ts +309 -0
  155. package/src/runtime/index.ts +2 -0
  156. package/src/session/errors.ts +24 -0
  157. package/src/session/index.ts +25 -0
  158. package/src/session/persistence.ts +142 -0
  159. package/src/session/presets.ts +122 -0
  160. package/src/session/session.ts +657 -0
  161. package/src/session/streaming.ts +97 -0
  162. package/src/session/tokenizer.ts +18 -0
  163. package/src/similarity/index.ts +42 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * streaming.ts – AsyncIterable token streaming adapter for the MambaSession layer.
3
+ *
4
+ * Wraps the step-by-step generation loop from MambaModel so that each
5
+ * token is yielded immediately after sampling, enabling real-time streaming UIs.
6
+ */
7
+ import type { HybridMambaModel, SamplingOptions } from '@seanhogg/builderforce-memory-engine';
8
+ /**
9
+ * Yields one token ID at a time, applying the same sampling logic as
10
+ * `MambaModel.generate()` but yielding each step incrementally.
11
+ */
12
+ export declare function tokenStream(model: HybridMambaModel, promptIds: number[], maxNewTokens: number, samplingOpts?: SamplingOptions): AsyncGenerator<number>;
13
+ //# sourceMappingURL=streaming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/session/streaming.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAK9F;;;GAGG;AACH,wBAAuB,WAAW,CAC9B,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,MAAM,EAAE,EACnB,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,eAAoB,GACnC,cAAc,CAAC,MAAM,CAAC,CA2BxB"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * streaming.ts – AsyncIterable token streaming adapter for the MambaSession layer.
3
+ *
4
+ * Wraps the step-by-step generation loop from MambaModel so that each
5
+ * token is yielded immediately after sampling, enabling real-time streaming UIs.
6
+ */
7
+ /** Minimum effective temperature — avoids division by zero in sampling. */
8
+ const MIN_TEMPERATURE = 1e-7;
9
+ /**
10
+ * Yields one token ID at a time, applying the same sampling logic as
11
+ * `MambaModel.generate()` but yielding each step incrementally.
12
+ */
13
+ export async function* tokenStream(model, promptIds, maxNewTokens, samplingOpts = {}) {
14
+ const { temperature = 1.0, topK = 50, topP = 0.9 } = samplingOpts;
15
+ const { vocabSize, eosId } = model.config;
16
+ // ids is declared const because the variable itself is never reassigned;
17
+ // ids.push() mutates the array contents, which const allows.
18
+ const ids = [...promptIds];
19
+ for (let step = 0; step < maxNewTokens; step++) {
20
+ const { logits } = await model.forward(new Uint32Array(ids), 1, ids.length);
21
+ // Only the last token position's logits are used for next-token prediction
22
+ const lastLogits = logits.slice((ids.length - 1) * vocabSize, ids.length * vocabSize);
23
+ const nextId = sampleToken(lastLogits, { temperature, topK, topP });
24
+ ids.push(nextId);
25
+ yield nextId;
26
+ if (nextId === eosId)
27
+ break;
28
+ }
29
+ }
30
+ // ── Sampling (mirrors the private helper in mamba_model.js) ──────────────────
31
+ function sampleToken(logits, { temperature = 1.0, topK = 50, topP = 0.9 } = {}) {
32
+ const n = logits.length;
33
+ // Temperature scaling
34
+ const scaled = new Float32Array(n);
35
+ for (let i = 0; i < n; i++)
36
+ scaled[i] = logits[i] / Math.max(temperature, MIN_TEMPERATURE);
37
+ // Softmax (numerically stable)
38
+ let maxL = -Infinity;
39
+ for (let i = 0; i < n; i++)
40
+ if (scaled[i] > maxL)
41
+ maxL = scaled[i];
42
+ let sumE = 0;
43
+ const exps = new Float32Array(n);
44
+ for (let i = 0; i < n; i++) {
45
+ exps[i] = Math.exp(scaled[i] - maxL);
46
+ sumE += exps[i];
47
+ }
48
+ // Top-K sort
49
+ const indices = Array.from({ length: n }, (_, i) => i)
50
+ .sort((a, b) => exps[b] - exps[a]);
51
+ const topKIndices = indices.slice(0, topK);
52
+ // Nucleus (Top-P) filtering
53
+ let cumSum = 0;
54
+ const nucleus = [];
55
+ for (const idx of topKIndices) {
56
+ cumSum += exps[idx] / sumE;
57
+ nucleus.push(idx);
58
+ if (cumSum >= topP)
59
+ break;
60
+ }
61
+ // Sample from nucleus
62
+ let nucleusSum = 0;
63
+ for (const idx of nucleus)
64
+ nucleusSum += exps[idx];
65
+ const threshold = Math.random() * nucleusSum;
66
+ let acc = 0;
67
+ for (const idx of nucleus) {
68
+ acc += exps[idx];
69
+ if (acc >= threshold)
70
+ return idx;
71
+ }
72
+ return nucleus[nucleus.length - 1];
73
+ }
74
+ //# sourceMappingURL=streaming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/session/streaming.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Tokenizer – pluggable tokenizer interface for MambaSession.
3
+ *
4
+ * Pass a custom implementation via `MambaSessionOptions.tokenizer` to bypass
5
+ * the default Qwen2.5-Coder BPETokenizer. This is useful for:
6
+ * - Unit-testing with a stub tokenizer (no network required)
7
+ * - Using a pre-built tokenizer from HuggingFace Transformers.js
8
+ * - Domain-specific vocabulary (e.g. code, biomedical, multilingual)
9
+ */
10
+ export interface Tokenizer {
11
+ /** Encodes `text` into a sequence of token IDs. */
12
+ encode(text: string): number[];
13
+ /** Decodes a sequence of token IDs back to a string. */
14
+ decode(tokens: number[]): string;
15
+ /** The total number of tokens in this tokenizer's vocabulary. */
16
+ readonly vocabSize: number;
17
+ }
18
+ //# sourceMappingURL=tokenizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../src/session/tokenizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,SAAS;IACtB,mDAAmD;IACnD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC/B,wDAAwD;IACxD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACjC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Tokenizer – pluggable tokenizer interface for MambaSession.
3
+ *
4
+ * Pass a custom implementation via `MambaSessionOptions.tokenizer` to bypass
5
+ * the default Qwen2.5-Coder BPETokenizer. This is useful for:
6
+ * - Unit-testing with a stub tokenizer (no network required)
7
+ * - Using a pre-built tokenizer from HuggingFace Transformers.js
8
+ * - Domain-specific vocabulary (e.g. code, biomedical, multilingual)
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=tokenizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../src/session/tokenizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Text + vector similarity primitives.
3
+ *
4
+ * Shared by the MemoryStore (semantic recall) and the SemanticCache
5
+ * (embedding-keyed response cache) so the cosine/Jaccard maths live in exactly
6
+ * one place rather than being duplicated per consumer.
7
+ */
8
+ /** Splits text into lowercase word tokens, removing punctuation. */
9
+ export declare function tokenize(text: string): string[];
10
+ /** Jaccard similarity between two token sets: |A ∩ B| / |A ∪ B|. */
11
+ export declare function jaccardSimilarity(a: Set<string>, b: Set<string>): number;
12
+ /**
13
+ * Cosine similarity between two vectors in the range [-1, 1] (0 when either is a
14
+ * zero vector). Compares over the shorter length when lengths differ. Vectors
15
+ * from MambaSession.embed() are already L2-normalised — this reduces to a dot
16
+ * product — but we normalise defensively for vectors from other sources.
17
+ */
18
+ export declare function cosineSimilarity(a: Float32Array, b: Float32Array): number;
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/similarity/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAE/C;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CASxE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAUzE"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Text + vector similarity primitives.
3
+ *
4
+ * Shared by the MemoryStore (semantic recall) and the SemanticCache
5
+ * (embedding-keyed response cache) so the cosine/Jaccard maths live in exactly
6
+ * one place rather than being duplicated per consumer.
7
+ */
8
+ /** Splits text into lowercase word tokens, removing punctuation. */
9
+ export function tokenize(text) {
10
+ return text.toLowerCase().split(/[\s\W]+/).filter(Boolean);
11
+ }
12
+ /** Jaccard similarity between two token sets: |A ∩ B| / |A ∪ B|. */
13
+ export function jaccardSimilarity(a, b) {
14
+ if (a.size === 0 && b.size === 0)
15
+ return 1;
16
+ let intersection = 0;
17
+ for (const token of a) {
18
+ if (b.has(token))
19
+ intersection++;
20
+ }
21
+ // Both-empty is handled above, so `union` is always > 0 here.
22
+ const union = a.size + b.size - intersection;
23
+ return intersection / union;
24
+ }
25
+ /**
26
+ * Cosine similarity between two vectors in the range [-1, 1] (0 when either is a
27
+ * zero vector). Compares over the shorter length when lengths differ. Vectors
28
+ * from MambaSession.embed() are already L2-normalised — this reduces to a dot
29
+ * product — but we normalise defensively for vectors from other sources.
30
+ */
31
+ export function cosineSimilarity(a, b) {
32
+ const n = Math.min(a.length, b.length);
33
+ let dot = 0, na = 0, nb = 0;
34
+ for (let i = 0; i < n; i++) {
35
+ dot += a[i] * b[i];
36
+ na += a[i] * a[i];
37
+ nb += b[i] * b[i];
38
+ }
39
+ const denom = Math.sqrt(na) * Math.sqrt(nb);
40
+ return denom === 0 ? 0 : dot / denom;
41
+ }
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/similarity/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oEAAoE;AACpE,MAAM,UAAU,QAAQ,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,iBAAiB,CAAC,CAAc,EAAE,CAAc;IAC5D,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,YAAY,EAAE,CAAC;IACrC,CAAC;IACD,8DAA8D;IAC9D,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC;IAC7C,OAAO,YAAY,GAAG,KAAK,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAe,EAAE,CAAe;IAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACrB,EAAE,IAAK,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACrB,EAAE,IAAK,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IACzB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;AACzC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,120 @@
1
+ {
2
+ "name": "@seanhogg/builderforce-memory",
3
+ "version": "2026.6.18",
4
+ "description": "BuilderForce Agent Memory — runtime layer. SSM execution, Transformer orchestration, online distillation, and persistent agent memory for BuilderForce.ai agents.",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "type": "module",
15
+ "files": [
16
+ "dist",
17
+ "src",
18
+ "README.md",
19
+ "LICENSE"
20
+ ],
21
+ "keywords": [
22
+ "mamba",
23
+ "ssm",
24
+ "state-space-model",
25
+ "webgpu",
26
+ "ai-runtime",
27
+ "distillation",
28
+ "online-learning",
29
+ "agent",
30
+ "transformer-bridge",
31
+ "browser-ai",
32
+ "agent-memory",
33
+ "builderforce",
34
+ "typescript"
35
+ ],
36
+ "author": {
37
+ "name": "Sean Hogg",
38
+ "email": "seanhogg@gmail.com",
39
+ "url": "https://builderforce.ai"
40
+ },
41
+ "license": "MIT",
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "https://github.com/SeanHogg/builderforce-memory.git",
45
+ "directory": "packages/memory"
46
+ },
47
+ "bugs": {
48
+ "url": "https://github.com/SeanHogg/builderforce-memory/issues"
49
+ },
50
+ "homepage": "https://github.com/SeanHogg/builderforce-memory/tree/main/packages/memory#readme",
51
+ "peerDependencies": {
52
+ "@seanhogg/builderforce-memory-engine": "^2026.6.18"
53
+ },
54
+ "devDependencies": {
55
+ "@jest/globals": "^29.7.0",
56
+ "@types/jest": "^29.5.0",
57
+ "@typescript-eslint/eslint-plugin": "^7.0.0",
58
+ "@typescript-eslint/parser": "^7.0.0",
59
+ "@webgpu/types": "^0.1.49",
60
+ "eslint": "^8.57.0",
61
+ "fake-indexeddb": "^6.0.0",
62
+ "jest": "^29.7.0",
63
+ "ts-jest": "^29.2.0",
64
+ "typescript": "^5.0.0",
65
+ "@seanhogg/builderforce-memory-engine": "2026.6.18"
66
+ },
67
+ "jest": {
68
+ "preset": "ts-jest/presets/default-esm",
69
+ "extensionsToTreatAsEsm": [
70
+ ".ts"
71
+ ],
72
+ "transform": {
73
+ "^.+\\.tsx?$": [
74
+ "ts-jest",
75
+ {
76
+ "useESM": true,
77
+ "tsconfig": {
78
+ "module": "ES2022",
79
+ "moduleResolution": "bundler",
80
+ "strict": false,
81
+ "esModuleInterop": true,
82
+ "skipLibCheck": true,
83
+ "types": [
84
+ "@webgpu/types",
85
+ "jest"
86
+ ]
87
+ }
88
+ }
89
+ ]
90
+ },
91
+ "moduleNameMapper": {
92
+ "^(\\.{1,2}/.*)\\.js$": "$1"
93
+ },
94
+ "collectCoverageFrom": [
95
+ "src/**/*.ts",
96
+ "!src/**/index.ts",
97
+ "!src/session/**"
98
+ ],
99
+ "coverageThreshold": {
100
+ "global": {
101
+ "branches": 100,
102
+ "functions": 100,
103
+ "lines": 100,
104
+ "statements": 100
105
+ }
106
+ }
107
+ },
108
+ "engines": {
109
+ "node": ">=18.0.0"
110
+ },
111
+ "publishConfig": {
112
+ "access": "public"
113
+ },
114
+ "scripts": {
115
+ "build": "tsc",
116
+ "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
117
+ "test:coverage": "node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage",
118
+ "lint": "eslint src/ tests/"
119
+ }
120
+ }