@seanhogg/builderforce-memory-engine 2026.7.12 → 2026.9.27

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 (196) hide show
  1. package/README.md +14 -0
  2. package/dist/bench/adaptation.d.ts +57 -0
  3. package/dist/bench/adaptation.d.ts.map +1 -0
  4. package/dist/bench/adaptation.js +167 -0
  5. package/dist/bench/adaptation.js.map +1 -0
  6. package/dist/bench/harness.d.ts +2 -0
  7. package/dist/bench/harness.d.ts.map +1 -1
  8. package/dist/bench/harness.js +1 -1
  9. package/dist/bench/harness.js.map +1 -1
  10. package/dist/bench/index.d.ts +5 -3
  11. package/dist/bench/index.d.ts.map +1 -1
  12. package/dist/bench/index.js +4 -2
  13. package/dist/bench/index.js.map +1 -1
  14. package/dist/bench/types.d.ts +88 -0
  15. package/dist/bench/types.d.ts.map +1 -1
  16. package/dist/evermind/adapt.d.ts +40 -0
  17. package/dist/evermind/adapt.d.ts.map +1 -0
  18. package/dist/evermind/adapt.js +25 -0
  19. package/dist/evermind/adapt.js.map +1 -0
  20. package/dist/evermind/delta_wire.d.ts +43 -0
  21. package/dist/evermind/delta_wire.d.ts.map +1 -0
  22. package/dist/evermind/delta_wire.js +94 -0
  23. package/dist/evermind/delta_wire.js.map +1 -0
  24. package/dist/evermind/eval.d.ts +31 -0
  25. package/dist/evermind/eval.d.ts.map +1 -0
  26. package/dist/evermind/eval.js +36 -0
  27. package/dist/evermind/eval.js.map +1 -0
  28. package/dist/evermind/index.d.ts +16 -0
  29. package/dist/evermind/index.d.ts.map +1 -0
  30. package/dist/evermind/index.js +11 -0
  31. package/dist/evermind/index.js.map +1 -0
  32. package/dist/evermind/merge.d.ts +21 -0
  33. package/dist/evermind/merge.d.ts.map +1 -0
  34. package/dist/evermind/merge.js +79 -0
  35. package/dist/evermind/merge.js.map +1 -0
  36. package/dist/{moe/moe_package.d.ts → evermind/package.d.ts} +55 -5
  37. package/dist/evermind/package.d.ts.map +1 -0
  38. package/dist/{moe/moe_package.js → evermind/package.js} +118 -19
  39. package/dist/evermind/package.js.map +1 -0
  40. package/dist/import/foreign/adapter.d.ts +59 -0
  41. package/dist/import/foreign/adapter.d.ts.map +1 -0
  42. package/dist/import/foreign/adapter.js +76 -0
  43. package/dist/import/foreign/adapter.js.map +1 -0
  44. package/dist/import/foreign/apply.d.ts +23 -0
  45. package/dist/import/foreign/apply.d.ts.map +1 -0
  46. package/dist/import/foreign/apply.js +43 -0
  47. package/dist/import/foreign/apply.js.map +1 -0
  48. package/dist/import/foreign/codestral_mamba.d.ts +57 -0
  49. package/dist/import/foreign/codestral_mamba.d.ts.map +1 -0
  50. package/dist/import/foreign/codestral_mamba.js +174 -0
  51. package/dist/import/foreign/codestral_mamba.js.map +1 -0
  52. package/dist/import/foreign/falcon_mamba.d.ts +51 -0
  53. package/dist/import/foreign/falcon_mamba.d.ts.map +1 -0
  54. package/dist/import/foreign/falcon_mamba.js +131 -0
  55. package/dist/import/foreign/falcon_mamba.js.map +1 -0
  56. package/dist/import/foreign/index.d.ts +21 -0
  57. package/dist/import/foreign/index.d.ts.map +1 -0
  58. package/dist/import/foreign/index.js +18 -0
  59. package/dist/import/foreign/index.js.map +1 -0
  60. package/dist/import/foreign/plan.d.ts +122 -0
  61. package/dist/import/foreign/plan.d.ts.map +1 -0
  62. package/dist/import/foreign/plan.js +171 -0
  63. package/dist/import/foreign/plan.js.map +1 -0
  64. package/dist/import/foreign/registry.d.ts +35 -0
  65. package/dist/import/foreign/registry.d.ts.map +1 -0
  66. package/dist/import/foreign/registry.js +89 -0
  67. package/dist/import/foreign/registry.js.map +1 -0
  68. package/dist/import/index.d.ts +7 -0
  69. package/dist/import/index.d.ts.map +1 -1
  70. package/dist/import/index.js +7 -0
  71. package/dist/import/index.js.map +1 -1
  72. package/dist/index.d.ts +29 -12
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +24 -9
  75. package/dist/index.js.map +1 -1
  76. package/dist/kernels/selective_scan.d.ts.map +1 -1
  77. package/dist/kernels/selective_scan.js +15 -9
  78. package/dist/kernels/selective_scan.js.map +1 -1
  79. package/dist/kernels/slice.d.ts +26 -0
  80. package/dist/kernels/slice.d.ts.map +1 -0
  81. package/dist/kernels/slice.js +52 -0
  82. package/dist/kernels/slice.js.map +1 -0
  83. package/dist/kernels/weight_update.d.ts.map +1 -1
  84. package/dist/kernels/weight_update.js +30 -4
  85. package/dist/kernels/weight_update.js.map +1 -1
  86. package/dist/lm/evermind_lm.d.ts +180 -4
  87. package/dist/lm/evermind_lm.d.ts.map +1 -1
  88. package/dist/lm/evermind_lm.js +433 -116
  89. package/dist/lm/evermind_lm.js.map +1 -1
  90. package/dist/lm/index.d.ts +8 -2
  91. package/dist/lm/index.d.ts.map +1 -1
  92. package/dist/lm/index.js +6 -1
  93. package/dist/lm/index.js.map +1 -1
  94. package/dist/lm/text_embedder.d.ts +55 -0
  95. package/dist/lm/text_embedder.d.ts.map +1 -0
  96. package/dist/lm/text_embedder.js +62 -0
  97. package/dist/lm/text_embedder.js.map +1 -0
  98. package/dist/model/attention_block.d.ts.map +1 -1
  99. package/dist/model/attention_block.js +9 -5
  100. package/dist/model/attention_block.js.map +1 -1
  101. package/dist/model/mamba1_block.d.ts.map +1 -1
  102. package/dist/model/mamba1_block.js +28 -12
  103. package/dist/model/mamba1_block.js.map +1 -1
  104. package/dist/model/mamba2_block.d.ts.map +1 -1
  105. package/dist/model/mamba2_block.js +14 -9
  106. package/dist/model/mamba2_block.js.map +1 -1
  107. package/dist/model/mamba3_block.d.ts.map +1 -1
  108. package/dist/model/mamba3_block.js +14 -9
  109. package/dist/model/mamba3_block.js.map +1 -1
  110. package/dist/moe/index.d.ts +0 -2
  111. package/dist/moe/index.d.ts.map +1 -1
  112. package/dist/moe/index.js +0 -1
  113. package/dist/moe/index.js.map +1 -1
  114. package/dist/optim/adamw.d.ts +58 -1
  115. package/dist/optim/adamw.d.ts.map +1 -1
  116. package/dist/optim/adamw.js +69 -4
  117. package/dist/optim/adamw.js.map +1 -1
  118. package/dist/tokenizer/bpe.d.ts +28 -0
  119. package/dist/tokenizer/bpe.d.ts.map +1 -1
  120. package/dist/tokenizer/bpe.js +47 -0
  121. package/dist/tokenizer/bpe.js.map +1 -1
  122. package/dist/training/cpu_ops.d.ts +44 -0
  123. package/dist/training/cpu_ops.d.ts.map +1 -0
  124. package/dist/training/cpu_ops.js +111 -0
  125. package/dist/training/cpu_ops.js.map +1 -0
  126. package/dist/training/lora.d.ts +153 -0
  127. package/dist/training/lora.d.ts.map +1 -0
  128. package/dist/training/lora.js +324 -0
  129. package/dist/training/lora.js.map +1 -0
  130. package/dist/training/mamba1_cpu.d.ts +109 -0
  131. package/dist/training/mamba1_cpu.d.ts.map +1 -0
  132. package/dist/training/mamba1_cpu.js +316 -0
  133. package/dist/training/mamba1_cpu.js.map +1 -0
  134. package/dist/training/mixed_precision.d.ts +67 -0
  135. package/dist/training/mixed_precision.d.ts.map +1 -0
  136. package/dist/training/mixed_precision.js +101 -0
  137. package/dist/training/mixed_precision.js.map +1 -0
  138. package/dist/training/model_cpu.d.ts +100 -0
  139. package/dist/training/model_cpu.d.ts.map +1 -0
  140. package/dist/training/model_cpu.js +252 -0
  141. package/dist/training/model_cpu.js.map +1 -0
  142. package/dist/training/trainer.d.ts +156 -16
  143. package/dist/training/trainer.d.ts.map +1 -1
  144. package/dist/training/trainer.js +327 -101
  145. package/dist/training/trainer.js.map +1 -1
  146. package/dist/utils/base64.d.ts +12 -0
  147. package/dist/utils/base64.d.ts.map +1 -0
  148. package/dist/utils/base64.js +27 -0
  149. package/dist/utils/base64.js.map +1 -0
  150. package/package.json +3 -1
  151. package/src/bench/adaptation.ts +180 -0
  152. package/src/bench/harness.ts +1 -1
  153. package/src/bench/index.ts +13 -2
  154. package/src/bench/types.ts +93 -0
  155. package/src/evermind/adapt.ts +61 -0
  156. package/src/evermind/delta_wire.ts +114 -0
  157. package/src/evermind/eval.ts +62 -0
  158. package/src/evermind/index.ts +33 -0
  159. package/src/evermind/merge.ts +106 -0
  160. package/src/{moe/moe_package.ts → evermind/package.ts} +148 -17
  161. package/src/import/foreign/adapter.ts +106 -0
  162. package/src/import/foreign/apply.ts +54 -0
  163. package/src/import/foreign/codestral_mamba.ts +224 -0
  164. package/src/import/foreign/falcon_mamba.ts +173 -0
  165. package/src/import/foreign/index.ts +37 -0
  166. package/src/import/foreign/plan.ts +294 -0
  167. package/src/import/foreign/registry.ts +126 -0
  168. package/src/import/index.ts +30 -0
  169. package/src/index.ts +104 -13
  170. package/src/kernels/selective_scan.ts +15 -9
  171. package/src/kernels/slice.ts +64 -0
  172. package/src/kernels/weight_update.ts +30 -4
  173. package/src/lm/evermind_lm.ts +470 -116
  174. package/src/lm/index.ts +12 -2
  175. package/src/lm/text_embedder.ts +84 -0
  176. package/src/model/attention_block.ts +9 -5
  177. package/src/model/mamba1_block.ts +28 -12
  178. package/src/model/mamba2_block.ts +14 -9
  179. package/src/model/mamba3_block.ts +14 -9
  180. package/src/moe/index.ts +0 -9
  181. package/src/optim/adamw.ts +115 -7
  182. package/src/tokenizer/bpe.ts +55 -0
  183. package/src/training/cpu_ops.ts +127 -0
  184. package/src/training/lora.ts +365 -0
  185. package/src/training/mamba1_cpu.ts +421 -0
  186. package/src/training/mixed_precision.ts +119 -0
  187. package/src/training/model_cpu.ts +360 -0
  188. package/src/training/trainer.ts +397 -154
  189. package/src/utils/base64.ts +28 -0
  190. package/dist/model/mamba_block.d.ts +0 -64
  191. package/dist/model/mamba_block.d.ts.map +0 -1
  192. package/dist/model/mamba_block.js +0 -303
  193. package/dist/model/mamba_block.js.map +0 -1
  194. package/dist/moe/moe_package.d.ts.map +0 -1
  195. package/dist/moe/moe_package.js.map +0 -1
  196. package/src/model/mamba_block.ts +0 -401
@@ -0,0 +1,171 @@
1
+ /**
2
+ * import/foreign/plan.ts — the ONE executor for a foreign-checkpoint weight port.
3
+ *
4
+ * A port is expressed declaratively: every target parameter of this engine's
5
+ * {@link HybridMambaModel} gets exactly one {@link PortRule} saying which source
6
+ * tensor feeds it and how the bytes are reshaped. Architecture adapters
7
+ * (`falcon_mamba.ts`, `codestral_mamba.ts`) only *describe* their rules — the
8
+ * matching, validation and transform logic lives here once, so a new
9
+ * architecture never re-implements it.
10
+ *
11
+ * The contract that makes a port trustworthy: NOTHING is silently dropped.
12
+ * • a target with no source in the checkpoint is a `fill` rule and is reported
13
+ * in {@link PortedCheckpoint.synthesisedTargets};
14
+ * • a source tensor no rule consumed is reported in
15
+ * {@link PortedCheckpoint.unmappedSources};
16
+ * • a source tensor only PARTLY consumed (e.g. Mamba-2's gate rows, which this
17
+ * engine's block has no branch for) is declared as a {@link PortDiscard};
18
+ * • a shape that doesn't line up throws, naming the tensor and both shapes.
19
+ */
20
+ // ── Source-name normalisation ────────────────────────────────────────────────
21
+ /**
22
+ * Mistral publishes the same Mamba-2 weights twice: the HF conversion
23
+ * (`backbone.…`) and its native `consolidated.safetensors`, whose names carry a
24
+ * `model.` prefix. Strip it so one rule table serves both. The
25
+ * `embedding`/`embeddings` spelling difference is handled by the rules' `from`
26
+ * alternatives, not here.
27
+ */
28
+ export function normaliseSourceName(name) {
29
+ return name.startsWith("model.") ? name.slice("model.".length) : name;
30
+ }
31
+ // ── Execution ────────────────────────────────────────────────────────────────
32
+ /** Product of a shape's dimensions (`[]` ⇒ 1). */
33
+ function numel(shape) {
34
+ return shape.reduce((n, d) => n * d, 1);
35
+ }
36
+ /** Shape with size-1 axes removed — `[C, 1, K]` and `[C, K]` compare equal. */
37
+ function squeeze(shape) {
38
+ const kept = shape.filter((d) => d !== 1);
39
+ return kept.length > 0 ? kept : [1];
40
+ }
41
+ function sameShape(a, b) {
42
+ return a.length === b.length && a.every((d, i) => d === b[i]);
43
+ }
44
+ /**
45
+ * `softplus⁻¹(y) = log(e^y − 1)`, evaluated so it neither overflows nor loses the
46
+ * small-`y` tail. Above ~30 `log(expm1(y))` and `y` agree to well inside f32
47
+ * precision, and `expm1` would have overflowed; below it, `expm1` keeps the
48
+ * precision `exp(y) - 1` would have thrown away.
49
+ */
50
+ function softplusInverse(y) {
51
+ if (!(y > 0)) {
52
+ throw new Error(`import/foreign: softplus⁻¹ needs a positive input, got ${y}`);
53
+ }
54
+ if (y > 30)
55
+ return y;
56
+ return Math.log(Math.expm1(y));
57
+ }
58
+ /** Run one rule, returning the target buffer. Throws on any shape disagreement. */
59
+ function applyRule(rule, source) {
60
+ const want = numel(rule.shape);
61
+ if (rule.op.kind === "fill") {
62
+ return new Float32Array(want).fill(rule.op.value);
63
+ }
64
+ if (!source) {
65
+ // Unreachable via executePortPlan (which checks first) — kept so a direct
66
+ // caller gets a real message rather than a null dereference.
67
+ throw new Error(`import/foreign: rule for "${rule.target}" has no source tensor`);
68
+ }
69
+ const where = `"${source.name}" → "${rule.target}"`;
70
+ switch (rule.op.kind) {
71
+ case "copy":
72
+ case "negExpToSoftplusInv": {
73
+ if (!sameShape(squeeze(source.shape), squeeze(rule.shape))) {
74
+ throw new Error(`import/foreign: ${where} shape mismatch — checkpoint has [${source.shape.join(", ")}], ` +
75
+ `this model expects [${rule.shape.join(", ")}]`);
76
+ }
77
+ if (source.data.length !== want) {
78
+ throw new Error(`import/foreign: ${where} has ${source.data.length} elements, expected ${want}`);
79
+ }
80
+ if (rule.op.kind === "copy")
81
+ return Float32Array.from(source.data);
82
+ const out = new Float32Array(want);
83
+ for (let i = 0; i < want; i++)
84
+ out[i] = softplusInverse(Math.exp(source.data[i]));
85
+ return out;
86
+ }
87
+ case "convTaps": {
88
+ const [channels, kernel] = squeeze(rule.shape);
89
+ const src = squeeze(source.shape);
90
+ if (!sameShape(src, [channels, kernel])) {
91
+ throw new Error(`import/foreign: ${where} depthwise conv shape mismatch — checkpoint has ` +
92
+ `[${source.shape.join(", ")}], this model expects [${rule.shape.join(", ")}] ` +
93
+ `(a [channels, 1, kernel] PyTorch kernel squeezes to [channels, kernel])`);
94
+ }
95
+ const out = new Float32Array(want);
96
+ for (let c = 0; c < channels; c++) {
97
+ for (let k = 0; k < kernel; k++) {
98
+ // Reverse the tap axis — see PortOp.convTaps.
99
+ out[c * kernel + k] = source.data[c * kernel + (kernel - 1 - k)];
100
+ }
101
+ }
102
+ return out;
103
+ }
104
+ case "rowSlice": {
105
+ if (source.shape.length !== 2) {
106
+ throw new Error(`import/foreign: ${where} rowSlice needs a rank-2 source, got ` +
107
+ `[${source.shape.join(", ")}]`);
108
+ }
109
+ const [rows, cols] = source.shape;
110
+ const { start, count } = rule.op;
111
+ if (start < 0 || start + count > rows) {
112
+ throw new Error(`import/foreign: ${where} rowSlice [${start}, ${start + count}) is outside the ` +
113
+ `checkpoint tensor's ${rows} rows — the source layout is not what this adapter expects`);
114
+ }
115
+ if (!sameShape(squeeze(rule.shape), squeeze([count, cols]))) {
116
+ throw new Error(`import/foreign: ${where} rowSlice yields [${count}, ${cols}] but this model expects ` +
117
+ `[${rule.shape.join(", ")}]`);
118
+ }
119
+ return Float32Array.from(source.data.subarray(start * cols, (start + count) * cols));
120
+ }
121
+ }
122
+ }
123
+ /**
124
+ * Execute a plan against a checkpoint's tensors. Every rule must resolve; the
125
+ * first failure throws naming the offending tensor. Sources no rule touched are
126
+ * returned rather than ignored.
127
+ */
128
+ export function executePortPlan(plan, tensors) {
129
+ const byName = new Map();
130
+ for (const t of tensors) {
131
+ const name = normaliseSourceName(t.name);
132
+ byName.set(name, { ...t, name });
133
+ }
134
+ const weights = new Map();
135
+ const synthesisedTargets = [];
136
+ const consumed = new Set();
137
+ for (const rule of plan.rules) {
138
+ if (weights.has(rule.target)) {
139
+ throw new Error(`import/foreign: plan "${plan.adapter}" defines "${rule.target}" twice`);
140
+ }
141
+ if (rule.from.length === 0) {
142
+ if (rule.op.kind !== "fill") {
143
+ throw new Error(`import/foreign: rule for "${rule.target}" names no source but is not a fill rule`);
144
+ }
145
+ weights.set(rule.target, applyRule(rule, null));
146
+ synthesisedTargets.push({
147
+ target: rule.target,
148
+ value: rule.op.value,
149
+ reason: rule.note ?? "this architecture has no corresponding tensor",
150
+ });
151
+ continue;
152
+ }
153
+ const source = rule.from.map((n) => byName.get(n)).find((t) => t != null);
154
+ if (!source) {
155
+ throw new Error(`import/foreign: checkpoint is missing "${rule.from[0]}" (needed for "${rule.target}", ` +
156
+ `expected shape [${rule.shape.join(", ")}])` +
157
+ (rule.from.length > 1 ? `; also tried ${rule.from.slice(1).map((n) => `"${n}"`).join(", ")}` : ""));
158
+ }
159
+ consumed.add(source.name);
160
+ weights.set(rule.target, applyRule(rule, source));
161
+ }
162
+ const unmappedSources = [...byName.keys()].filter((n) => !consumed.has(n)).sort();
163
+ return {
164
+ adapter: plan.adapter,
165
+ weights,
166
+ unmappedSources,
167
+ synthesisedTargets,
168
+ discardedSources: plan.discards,
169
+ };
170
+ }
171
+ //# sourceMappingURL=plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/import/foreign/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * import/foreign/registry.ts — config-driven adapter selection and the public
3
+ * port entry points.
4
+ *
5
+ * Given a checkpoint's `config.json`, pick the adapter by `model_type` /
6
+ * `architectures` and run its plan. An architecture nobody claims fails loudly
7
+ * with the list of what IS supported — and, for a transformer checkpoint, says
8
+ * why no map could ever exist for it.
9
+ */
10
+ import type { NamedTensor } from "../../export/tensors.js";
11
+ import type { HybridMambaModelConfig } from "../../model/mamba_model.js";
12
+ import { type PortDiscard, type PortedTensors, type SynthesisedTarget } from "./plan.js";
13
+ import type { ForeignConfig, ForeignMambaAdapter } from "./adapter.js";
14
+ /** Every foreign SSM architecture this engine can warm-start from. */
15
+ export declare const FOREIGN_MAMBA_ADAPTERS: readonly ForeignMambaAdapter[];
16
+ /** A completed port: the model to build, its weights, and what didn't line up. */
17
+ export interface PortedCheckpoint extends PortedTensors {
18
+ /** Construct a `HybridMambaModel` with this to receive {@link PortedTensors.weights}. */
19
+ modelConfig: HybridMambaModelConfig;
20
+ }
21
+ export type { PortDiscard, SynthesisedTarget };
22
+ /**
23
+ * The adapter that claims this checkpoint. Throws — never guesses — when no
24
+ * adapter matches, because a wrong map produces a model that loads and then
25
+ * generates noise.
26
+ */
27
+ export declare function foreignMambaAdapterFor(config: ForeignConfig): ForeignMambaAdapter;
28
+ /**
29
+ * Port a foreign checkpoint's tensors onto this engine's parameters. The result
30
+ * is device-free — {@link applyPortedWeights} uploads it into a live model.
31
+ */
32
+ export declare function portForeignMamba(config: ForeignConfig, tensors: NamedTensor[]): PortedCheckpoint;
33
+ /** Convenience: port straight from a `.safetensors` buffer. */
34
+ export declare function portForeignMambaSafetensors(config: ForeignConfig, bytes: Uint8Array): PortedCheckpoint;
35
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/import/foreign/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEzE,OAAO,EAAmB,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG1G,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEvE,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,EAAE,SAAS,mBAAmB,EAGhE,CAAC;AAEF,kFAAkF;AAClF,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,yFAAyF;IACzF,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAkC/C;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,mBAAmB,CAoCjF;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAIhG;AAED,+DAA+D;AAC/D,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,UAAU,GAChB,gBAAgB,CAElB"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * import/foreign/registry.ts — config-driven adapter selection and the public
3
+ * port entry points.
4
+ *
5
+ * Given a checkpoint's `config.json`, pick the adapter by `model_type` /
6
+ * `architectures` and run its plan. An architecture nobody claims fails loudly
7
+ * with the list of what IS supported — and, for a transformer checkpoint, says
8
+ * why no map could ever exist for it.
9
+ */
10
+ import { safetensorsToTensors } from "../safetensors.js";
11
+ import { executePortPlan } from "./plan.js";
12
+ import { falconMambaAdapter } from "./falcon_mamba.js";
13
+ import { codestralMambaAdapter } from "./codestral_mamba.js";
14
+ /** Every foreign SSM architecture this engine can warm-start from. */
15
+ export const FOREIGN_MAMBA_ADAPTERS = [
16
+ falconMambaAdapter,
17
+ codestralMambaAdapter,
18
+ ];
19
+ // ── Detection ────────────────────────────────────────────────────────────────
20
+ function architecturesOf(config) {
21
+ const raw = config["architectures"];
22
+ return Array.isArray(raw) ? raw.filter((a) => typeof a === "string") : [];
23
+ }
24
+ function modelTypeOf(config) {
25
+ const raw = config["model_type"];
26
+ return typeof raw === "string" ? raw : undefined;
27
+ }
28
+ /**
29
+ * A checkpoint is a transformer when any declared architecture carries an
30
+ * attention-stack marker. Recognised only to give a better error: attention
31
+ * weights (Q/K/V/O, positional embeddings, per-token KV cache) have no
32
+ * counterpart in a state-space mixer, so no rename or reshape can port them.
33
+ */
34
+ function looksLikeTransformer(architectures, modelType) {
35
+ const haystack = [...architectures, modelType ?? ""].join(" ").toLowerCase();
36
+ if (haystack.includes("mamba") || haystack.includes("ssm"))
37
+ return false;
38
+ return /llama|mistral|qwen|gpt|phi|gemma|falcon(?!_?mamba)|starcoder|deepseek|olmo|attention|forcausallm/.test(haystack);
39
+ }
40
+ function supportedList() {
41
+ return FOREIGN_MAMBA_ADAPTERS.map((a) => `${a.label} — architectures ${a.architectures.join(" / ")}, model_type ${a.modelTypes.join(" / ")}`).join("; ");
42
+ }
43
+ /**
44
+ * The adapter that claims this checkpoint. Throws — never guesses — when no
45
+ * adapter matches, because a wrong map produces a model that loads and then
46
+ * generates noise.
47
+ */
48
+ export function foreignMambaAdapterFor(config) {
49
+ const architectures = architecturesOf(config);
50
+ const modelType = modelTypeOf(config);
51
+ const byArch = FOREIGN_MAMBA_ADAPTERS.find((a) => architectures.some((name) => a.architectures.includes(name)));
52
+ if (byArch)
53
+ return byArch;
54
+ const byType = modelType
55
+ ? FOREIGN_MAMBA_ADAPTERS.find((a) => a.modelTypes.includes(modelType))
56
+ : undefined;
57
+ if (byType)
58
+ return byType;
59
+ const seen = architectures.length > 0
60
+ ? `architectures [${architectures.join(", ")}]`
61
+ : modelType
62
+ ? `model_type "${modelType}"`
63
+ : "a config declaring neither `architectures` nor `model_type`";
64
+ if (looksLikeTransformer(architectures, modelType)) {
65
+ throw new Error(`import/foreign: ${seen} is a TRANSFORMER checkpoint — its attention weights ` +
66
+ `(q/k/v/o projections, positional embeddings) have no counterpart in a state-space ` +
67
+ `mixer, so no weight port can exist for it at any tensor naming. Transformer coders ` +
68
+ `(IQuest, NousCoder, Maincoder and the like) can only be brought across by ` +
69
+ `DISTILLATION — train this engine's SSM against the transformer's outputs. ` +
70
+ `Weight porting is supported only for: ${supportedList()}.`);
71
+ }
72
+ throw new Error(`import/foreign: unsupported checkpoint — ${seen}. Supported: ${supportedList()}. ` +
73
+ `A transformer checkpoint cannot be weight-ported at all; distillation is the only route.`);
74
+ }
75
+ // ── Porting ──────────────────────────────────────────────────────────────────
76
+ /**
77
+ * Port a foreign checkpoint's tensors onto this engine's parameters. The result
78
+ * is device-free — {@link applyPortedWeights} uploads it into a live model.
79
+ */
80
+ export function portForeignMamba(config, tensors) {
81
+ const adapter = foreignMambaAdapterFor(config);
82
+ const { modelConfig, plan } = adapter.describe(config);
83
+ return { ...executePortPlan(plan, tensors), modelConfig };
84
+ }
85
+ /** Convenience: port straight from a `.safetensors` buffer. */
86
+ export function portForeignMambaSafetensors(config, bytes) {
87
+ return portForeignMamba(config, safetensorsToTensors(bytes));
88
+ }
89
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/import/foreign/registry.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,15 @@
4
4
  * The inverse of {@link ../export}: read a `.safetensors` checkpoint back into a
5
5
  * live {@link ../lm/evermind_lm.EvermindLM}. Round-trips Evermind's own exports,
6
6
  * and warm-starts a foreign SSM checkpoint via a `rename` map.
7
+ *
8
+ * `./foreign` is the same seam for checkpoints that were never ours: published
9
+ * Mamba-1/Mamba-2 models, whose tensor names, layouts and `A_log`/conv
10
+ * conventions are reconciled onto `HybridMambaModel`'s parameters by a
11
+ * config-selected adapter.
7
12
  */
8
13
  export { safetensorsToTensors } from "./safetensors.js";
9
14
  export { importEvermind, importEvermindTensors, inferArchFromTensors } from "./evermind.js";
10
15
  export type { ImportOptions } from "./evermind.js";
16
+ export { FOREIGN_MAMBA_ADAPTERS, foreignMambaAdapterFor, portForeignMamba, portForeignMambaSafetensors, applyPortedWeights, executePortPlan, normaliseSourceName, falconMambaAdapter, codestralMambaAdapter, } from "./foreign/index.js";
17
+ export type { ForeignConfig, ForeignMambaAdapter, PortTarget, PortDiscard, PortOp, PortPlan, PortRule, PortedCheckpoint, PortedTensors, SynthesisedTarget, } from "./foreign/index.js";
11
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/import/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5F,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/import/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5F,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
@@ -4,7 +4,14 @@
4
4
  * The inverse of {@link ../export}: read a `.safetensors` checkpoint back into a
5
5
  * live {@link ../lm/evermind_lm.EvermindLM}. Round-trips Evermind's own exports,
6
6
  * and warm-starts a foreign SSM checkpoint via a `rename` map.
7
+ *
8
+ * `./foreign` is the same seam for checkpoints that were never ours: published
9
+ * Mamba-1/Mamba-2 models, whose tensor names, layouts and `A_log`/conv
10
+ * conventions are reconciled onto `HybridMambaModel`'s parameters by a
11
+ * config-selected adapter.
7
12
  */
8
13
  export { safetensorsToTensors } from "./safetensors.js";
9
14
  export { importEvermind, importEvermindTensors, inferArchFromTensors } from "./evermind.js";
15
+ // ── Foreign checkpoints (Falcon-Mamba / Codestral-Mamba → HybridMambaModel) ────
16
+ export { FOREIGN_MAMBA_ADAPTERS, foreignMambaAdapterFor, portForeignMamba, portForeignMambaSafetensors, applyPortedWeights, executePortPlan, normaliseSourceName, falconMambaAdapter, codestralMambaAdapter, } from "./foreign/index.js";
10
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/import/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/import/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG5F,kFAAkF;AAClF,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * MambaCode.js – Entry Point (v2.0.0)
2
+ * @seanhogg/builderforce-memory-engine – entry point
3
3
  */
4
4
  export { HybridMambaModel, MambaModel } from './model/mamba_model.js';
5
5
  export { Mamba1Block } from './model/mamba1_block.js';
@@ -7,15 +7,30 @@ export { Mamba2Block } from './model/mamba2_block.js';
7
7
  export { Mamba3Block } from './model/mamba3_block.js';
8
8
  export { AttentionBlock } from './model/attention_block.js';
9
9
  export { MambaBlock } from './model/mamba1_block.js';
10
- export { SharedExpertMoE, LoadBalanceAccumulator, DEFAULT_MOE_CONFIG, DEFAULT_MOE_SEED, MoETrainer, EvermindModelPackage, } from './moe/index.js';
11
- export type { MoEConfig, MoEParam, RouteResult, MoESample, MoETrainOptions, MoEEpochResult, EvermindModelManifest, EvermindModelCard, EvermindModelType, EvermindModality, PackageMeta, ValidationResult, } from './moe/index.js';
12
- export { EvermindLM, EvermindLMTrainer, DEFAULT_LM_CONFIG, DEFAULT_LM_SEED } from './lm/index.js';
13
- export type { EvermindLMConfig, LMGenerateOptions, TextCodec } from './lm/index.js';
14
- export { AdamW } from './optim/adamw.js';
15
- export type { AdamWOptions, OptimTarget, OptimParam } from './optim/adamw.js';
16
- export { MambaTrainer } from './training/trainer.js';
10
+ export { SharedExpertMoE, LoadBalanceAccumulator, DEFAULT_MOE_CONFIG, DEFAULT_MOE_SEED, MoETrainer, } from './moe/index.js';
11
+ export type { MoEConfig, MoEParam, RouteResult, MoESample, MoETrainOptions, MoEEpochResult, } from './moe/index.js';
12
+ export { EvermindModelPackage, adaptAndDiff, EVERMIND_ADAPT_MAX_CHARS, EVERMIND_ADAPT_WINDOW_TOKENS, parseDeltaLearnPayload, buildDeltaLearnPayload, decodeDeltaPayload, deltaUnusableReason, MAX_DELTA_B64_CHARS, DELTA_LABEL_MAX_CHARS, mergeCheckpointDiffs, meanEvalLoss, sequenceLoss, EVAL_MAX_TOKENS, } from './evermind/index.js';
13
+ export type { EvermindModelManifest, EvermindModelCard, EvermindModelType, EvermindModality, PackageMeta, ValidationResult, AdaptResult, AdaptOptions, AdaptTokenizer, DeltaLearnPayload, DeltaParseResult, MergeResult, EvalExample, EvalTokenizer, } from './evermind/index.js';
14
+ export { EvermindLM, EvermindLMTrainer, DEFAULT_LM_CONFIG, DEFAULT_LM_SEED, logProbOfToken } from './lm/index.js';
15
+ export { EvermindTextEmbedder } from './lm/index.js';
16
+ export type { EvermindLMConfig, LMGenerateOptions, TextCodec, EvermindLMTrainOptions, EvermindLMDecodeState } from './lm/index.js';
17
+ export type { TextEmbedder, EmbedderCodec } from './lm/index.js';
18
+ export { AdamW, adamwUpdateInPlace } from './optim/adamw.js';
19
+ export type { AdamWOptions, OptimTarget, OptimParam, ShardSpec, AdamWKernelStep } from './optim/adamw.js';
20
+ export { LoRAAdapter, EvermindLMLoRA, quantizeBase } from './training/lora.js';
21
+ export type { LoRAConfig, LoRAFitOptions, BaseQuant } from './training/lora.js';
22
+ export { DynamicLossScaler, roundFp16, fp16View } from './training/mixed_precision.js';
23
+ export type { LossScalerOptions } from './training/mixed_precision.js';
24
+ export { MambaTrainer, cpuDimsFor, buildChunks, buildBatches, WSLA_MAX_DELTA } from './training/trainer.js';
25
+ export type { TrainOptions } from './training/trainer.js';
26
+ export { cpuModelForward, cpuModelLoss, cpuModelBackward, zeroCpuModelGrads, toNamedGrads, namedWeights, cpuWeightsFromNamed, paramMatrixShape, DEFAULT_LORA_TARGETS, CPU_GRADIENT_LAYER_TYPES, } from './training/model_cpu.js';
27
+ export type { CpuModelDims, CpuModelWeights, CpuModelGrads, CpuBackwardResult, CpuBackwardOptions, CpuGradientLayerType, } from './training/model_cpu.js';
28
+ export { mamba1CpuForward, mamba1CpuBackward, zeroMamba1Grads, MAMBA1_PARAM_NAMES, A_LOG_CLAMP_LO, A_LOG_CLAMP_HI, } from './training/mamba1_cpu.js';
29
+ export type { Mamba1CpuWeights, Mamba1CpuDims, Mamba1CpuCache, Mamba1CpuGrads, Mamba1CpuForwardResult, } from './training/mamba1_cpu.js';
30
+ export { linearForward, linearBackward, rmsNormForward, rmsNormBackward, silu, siluGrad, softplus, sigmoid, RMSNORM_EPS, } from './training/cpu_ops.js';
17
31
  export { Tensor, backward, enableGrad, noGrad, clearTape, recordOperation, crossEntropyLoss, crossEntropyGrad, } from './training/autograd.js';
18
32
  export { BPETokenizer } from './tokenizer/bpe.js';
33
+ export type { BPETokenizerSpec } from './tokenizer/bpe.js';
19
34
  export type { BPEEncodeOptions, PadSide, HuggingFaceTokenizerSpec, SpecialTokenOverrides } from './tokenizer/bpe.js';
20
35
  export { MultimodalVocab, VIDEO_BANK_INTRA, VIDEO_BANK_INTER, VideoRVQCodec, ImageRVQCodec, buildVideoSequence, generateVideo, generateImage, } from './codec/index.js';
21
36
  export type { MultimodalVocabConfig, TokenKind, VideoRVQConfig, Frame, Video, } from './codec/index.js';
@@ -23,12 +38,15 @@ export { exportEvermind, EXPORT_FORMATS, exportSafetensors, tensorsToSafetensors
23
38
  export type { ExportFormat, ExportFile, ExportResult, ExportOptions, HfMeta, NamedTensor, EvermindArch, TensorSpec, } from './export/index.js';
24
39
  export { safetensorsToTensors, importEvermind, importEvermindTensors, inferArchFromTensors, } from './import/index.js';
25
40
  export type { ImportOptions } from './import/index.js';
26
- export { benchmarkModel, benchmarkModelAsync, benchmarkText, compareModels, compareReports, corpusToSequences, trainAndBenchmark, argmax as benchArgmax, topKIndices, perplexity, bitsPerToken, LN2, } from './bench/index.js';
27
- export type { LogitsModel, AsyncLogitsModel, BenchmarkOptions, BenchmarkReport, ComparisonReport, TrainAndBenchmarkOptions, TrainAndBenchmarkResult, } from './bench/index.js';
41
+ export { FOREIGN_MAMBA_ADAPTERS, foreignMambaAdapterFor, portForeignMamba, portForeignMambaSafetensors, applyPortedWeights, executePortPlan, normaliseSourceName, falconMambaAdapter, codestralMambaAdapter, } from './import/index.js';
42
+ export type { ForeignConfig, ForeignMambaAdapter, PortTarget, PortDiscard, PortOp, PortPlan, PortRule, PortedCheckpoint, PortedTensors, SynthesisedTarget, } from './import/index.js';
43
+ export { benchmarkModel, benchmarkModelAsync, benchmarkText, compareModels, compareReports, corpusToSequences, trainAndBenchmark, benchmarkAdaptationCost, formatAdaptationCostReport, tokenWindows, adaptationsAfterSkip, argmax as benchArgmax, topKIndices, perplexity, bitsPerToken, LN2, } from './bench/index.js';
44
+ export type { LogitsModel, AsyncLogitsModel, BenchmarkOptions, BenchmarkReport, ComparisonReport, TrainAndBenchmarkOptions, TrainAndBenchmarkResult, AdaptationCostOptions, AdaptationCostPoint, AdaptationCostReport, } from './bench/index.js';
28
45
  export { crc32, appendCrcTrailer, verifyCrcTrailer, CRC_TRAILER_MAGIC } from './utils/crc32.js';
29
46
  export type { CrcCheck } from './utils/crc32.js';
30
47
  export { computeRowDelta, applyRowDelta, serializeRowDelta, deserializeRowDelta, diffCheckpoints, applyCheckpointDiff, } from './utils/delta.js';
31
48
  export type { RowDelta } from './utils/delta.js';
49
+ export { bytesToBase64, base64ToBytes } from './utils/base64.js';
32
50
  export { SeededRng, setInitSeed, randn, gaussianArray } from './utils/rng.js';
33
51
  export type { HybridMambaModelConfig, MambaModelConfig, ModelForwardResult, SamplingOptions, LayerSpec, } from './model/mamba_model.js';
34
52
  export type { SequenceLayer, LayerParam, LayerType, LayerForwardResult } from './model/sequence_layer.js';
@@ -41,6 +59,7 @@ export { quantizeFp16, dequantizeFp16, floatToFp16, fp16ToFloat, quantizeInt8, d
41
59
  export { SELECTIVE_SCAN_FORWARD_WGSL, SELECTIVE_SCAN_BACKWARD_WGSL } from './kernels/selective_scan.js';
42
60
  export { CONV1D_FORWARD_WGSL, CONV1D_BACKWARD_WGSL } from './kernels/conv1d.js';
43
61
  export { LINEAR_FORWARD_WGSL, LINEAR_BACKWARD_WGSL } from './kernels/linear_projection.js';
62
+ export { COL_SLICE_WGSL, COL_SLICE_ENTRY, dispatchColumnSlice } from './kernels/slice.js';
44
63
  export { WEIGHT_UPDATE_WGSL, GRAD_CLIP_WGSL } from './kernels/weight_update.js';
45
64
  export { ACTIVATIONS_WGSL, ACTIVATIONS_BACKWARD_WGSL, SOFTMAX_FORWARD_WGSL, SOFTMAX_BACKWARD_WGSL } from './kernels/activations.js';
46
65
  export { SSD_FORWARD_WGSL, SSD_BACKWARD_WGSL } from './kernels/ssd.js';
@@ -49,6 +68,4 @@ export { ATTENTION_FORWARD_WGSL, ATTENTION_BACKWARD_WGSL, SOFTMAX_WGSL } from '.
49
68
  export { REGION, LIMBIC_DIM, LIMBIC_DIM_NAMES, LIMBIC_STATE_DIM, LIMBIC_BOUNDS, NEUTRAL_STATE, clampDim, clampState, neutralState, stateToRecord, recordToState, personalitySetpoint, LimbicModel, DEFAULT_LIMBIC_CONFIG, DEFAULT_LIMBIC_SEED, LimbicTrainer, } from './limbic/index.js';
50
69
  export type { Region, LimbicDimName, PersonalityTraits, LimbicModelConfig, LimbicForward, LimbicParam, LimbicSample, LimbicTrainOptions, } from './limbic/index.js';
51
70
  export { LIMBIC_AFFECT_WGSL } from './kernels/limbic_affect.js';
52
- export declare const VERSION = "2.0.0";
53
- export declare const DESCRIPTION = "MambaCode.js: WebGPU-accelerated Mamba-1/2/3 and Hybrid SSM for browser code models";
54
71
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * MambaCode.js – Entry Point (v2.0.0)
2
+ * @seanhogg/builderforce-memory-engine – entry point
3
3
  */
4
4
  // ── Model classes ─────────────────────────────────────────────────────────────
5
5
  export { HybridMambaModel, MambaModel } from './model/mamba_model.js';
@@ -11,12 +11,24 @@ export { AttentionBlock } from './model/attention_block.js';
11
11
  // Deprecated alias — kept until 3.0.0
12
12
  export { MambaBlock } from './model/mamba1_block.js';
13
13
  // ── Mixture-of-Experts (shared-expert hybrid sparsity) ─────────────────────────
14
- export { SharedExpertMoE, LoadBalanceAccumulator, DEFAULT_MOE_CONFIG, DEFAULT_MOE_SEED, MoETrainer, EvermindModelPackage, } from './moe/index.js';
14
+ export { SharedExpertMoE, LoadBalanceAccumulator, DEFAULT_MOE_CONFIG, DEFAULT_MOE_SEED, MoETrainer, } from './moe/index.js';
15
+ // ── Evermind (the .evermind artifact + the shared learning pipeline) ───────────
16
+ export { EvermindModelPackage, adaptAndDiff, EVERMIND_ADAPT_MAX_CHARS, EVERMIND_ADAPT_WINDOW_TOKENS, parseDeltaLearnPayload, buildDeltaLearnPayload, decodeDeltaPayload, deltaUnusableReason, MAX_DELTA_B64_CHARS, DELTA_LABEL_MAX_CHARS, mergeCheckpointDiffs, meanEvalLoss, sequenceLoss, EVAL_MAX_TOKENS, } from './evermind/index.js';
15
17
  // ── EvermindLM (the generative model) + AdamW ──────────────────────────────────
16
- export { EvermindLM, EvermindLMTrainer, DEFAULT_LM_CONFIG, DEFAULT_LM_SEED } from './lm/index.js';
17
- export { AdamW } from './optim/adamw.js';
18
+ export { EvermindLM, EvermindLMTrainer, DEFAULT_LM_CONFIG, DEFAULT_LM_SEED, logProbOfToken } from './lm/index.js';
19
+ // CPU text→vector embedder — SSM-embedding recall with no GPU.
20
+ export { EvermindTextEmbedder } from './lm/index.js';
21
+ export { AdamW, adamwUpdateInPlace } from './optim/adamw.js';
22
+ // PEFT / efficient-training toolkit (LoRA, QLoRA, mixed precision, checkpointing).
23
+ export { LoRAAdapter, EvermindLMLoRA, quantizeBase } from './training/lora.js';
24
+ export { DynamicLossScaler, roundFp16, fp16View } from './training/mixed_precision.js';
18
25
  // ── Training ──────────────────────────────────────────────────────────────────
19
- export { MambaTrainer } from './training/trainer.js';
26
+ export { MambaTrainer, cpuDimsFor, buildChunks, buildBatches, WSLA_MAX_DELTA } from './training/trainer.js';
27
+ // The exact CPU forward + backward the trainer differentiates with. Exported so a
28
+ // host can compute gradients (or gradient-check the model) without a GPU.
29
+ export { cpuModelForward, cpuModelLoss, cpuModelBackward, zeroCpuModelGrads, toNamedGrads, namedWeights, cpuWeightsFromNamed, paramMatrixShape, DEFAULT_LORA_TARGETS, CPU_GRADIENT_LAYER_TYPES, } from './training/model_cpu.js';
30
+ export { mamba1CpuForward, mamba1CpuBackward, zeroMamba1Grads, MAMBA1_PARAM_NAMES, A_LOG_CLAMP_LO, A_LOG_CLAMP_HI, } from './training/mamba1_cpu.js';
31
+ export { linearForward, linearBackward, rmsNormForward, rmsNormBackward, silu, siluGrad, softplus, sigmoid, RMSNORM_EPS, } from './training/cpu_ops.js';
20
32
  export { Tensor, backward, enableGrad, noGrad, clearTape, recordOperation, crossEntropyLoss, crossEntropyGrad, } from './training/autograd.js';
21
33
  // ── Tokenizer ─────────────────────────────────────────────────────────────────
22
34
  export { BPETokenizer } from './tokenizer/bpe.js';
@@ -26,11 +38,16 @@ export { MultimodalVocab, VIDEO_BANK_INTRA, VIDEO_BANK_INTER, VideoRVQCodec, Ima
26
38
  export { exportEvermind, EXPORT_FORMATS, exportSafetensors, tensorsToSafetensors, exportOnnx, exportGguf, configJson, generationConfigJson, tokenizerJson, modelCardMarkdown, namedTensors, evermindTensorSpec, archOf, paramCount, } from './export/index.js';
27
39
  // ── Model import (warm-start / weight-port: safetensors → EvermindLM) ────────────
28
40
  export { safetensorsToTensors, importEvermind, importEvermindTensors, inferArchFromTensors, } from './import/index.js';
41
+ // ── Foreign weight port (Falcon-Mamba / Codestral-Mamba → HybridMambaModel) ────
42
+ // Transformer checkpoints are NOT portable — distillation is the only route, and
43
+ // `foreignMambaAdapterFor` rejects them saying so.
44
+ export { FOREIGN_MAMBA_ADAPTERS, foreignMambaAdapterFor, portForeignMamba, portForeignMambaSafetensors, applyPortedWeights, executePortPlan, normaliseSourceName, falconMambaAdapter, codestralMambaAdapter, } from './import/index.js';
29
45
  // ── Benchmarking (held-out perplexity / accuracy / throughput + A/B) ──────────
30
- export { benchmarkModel, benchmarkModelAsync, benchmarkText, compareModels, compareReports, corpusToSequences, trainAndBenchmark, argmax as benchArgmax, topKIndices, perplexity, bitsPerToken, LN2, } from './bench/index.js';
46
+ export { benchmarkModel, benchmarkModelAsync, benchmarkText, compareModels, compareReports, corpusToSequences, trainAndBenchmark, benchmarkAdaptationCost, formatAdaptationCostReport, tokenWindows, adaptationsAfterSkip, argmax as benchArgmax, topKIndices, perplexity, bitsPerToken, LN2, } from './bench/index.js';
31
47
  // ── Checkpoint integrity (CRC-32 + trailer) ───────────────────────────────────
32
48
  export { crc32, appendCrcTrailer, verifyCrcTrailer, CRC_TRAILER_MAGIC } from './utils/crc32.js';
33
49
  export { computeRowDelta, applyRowDelta, serializeRowDelta, deserializeRowDelta, diffCheckpoints, applyCheckpointDiff, } from './utils/delta.js';
50
+ export { bytesToBase64, base64ToBytes } from './utils/base64.js';
34
51
  // ── Seeded RNG (reproducible weight init) ─────────────────────────────────────
35
52
  export { SeededRng, setInitSeed, randn, gaussianArray } from './utils/rng.js';
36
53
  // ── GPU utilities ─────────────────────────────────────────────────────────────
@@ -42,6 +59,7 @@ export { quantizeFp16, dequantizeFp16, floatToFp16, fp16ToFloat, quantizeInt8, d
42
59
  export { SELECTIVE_SCAN_FORWARD_WGSL, SELECTIVE_SCAN_BACKWARD_WGSL } from './kernels/selective_scan.js';
43
60
  export { CONV1D_FORWARD_WGSL, CONV1D_BACKWARD_WGSL } from './kernels/conv1d.js';
44
61
  export { LINEAR_FORWARD_WGSL, LINEAR_BACKWARD_WGSL } from './kernels/linear_projection.js';
62
+ export { COL_SLICE_WGSL, COL_SLICE_ENTRY, dispatchColumnSlice } from './kernels/slice.js';
45
63
  export { WEIGHT_UPDATE_WGSL, GRAD_CLIP_WGSL } from './kernels/weight_update.js';
46
64
  export { ACTIVATIONS_WGSL, ACTIVATIONS_BACKWARD_WGSL, SOFTMAX_FORWARD_WGSL, SOFTMAX_BACKWARD_WGSL } from './kernels/activations.js';
47
65
  // Mamba-2 SSD kernels
@@ -53,7 +71,4 @@ export { ATTENTION_FORWARD_WGSL, ATTENTION_BACKWARD_WGSL, SOFTMAX_WGSL } from '.
53
71
  // ── Limbic system (trainable affective dynamics) ──────────────────────────────
54
72
  export { REGION, LIMBIC_DIM, LIMBIC_DIM_NAMES, LIMBIC_STATE_DIM, LIMBIC_BOUNDS, NEUTRAL_STATE, clampDim, clampState, neutralState, stateToRecord, recordToState, personalitySetpoint, LimbicModel, DEFAULT_LIMBIC_CONFIG, DEFAULT_LIMBIC_SEED, LimbicTrainer, } from './limbic/index.js';
55
73
  export { LIMBIC_AFFECT_WGSL } from './kernels/limbic_affect.js';
56
- // ── Version ───────────────────────────────────────────────────────────────────
57
- export const VERSION = '2.0.0';
58
- export const DESCRIPTION = 'MambaCode.js: WebGPU-accelerated Mamba-1/2/3 and Hybrid SSM for browser code models';
59
74
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"selective_scan.d.ts","sourceRoot":"","sources":["../../src/kernels/selective_scan.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,2BAA2B,EAAE,MA2NzC,CAAC;AAKF,eAAO,MAAM,4BAA4B,EAAE,MA6H1C,CAAC"}
1
+ {"version":3,"file":"selective_scan.d.ts","sourceRoot":"","sources":["../../src/kernels/selective_scan.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,2BAA2B,EAAE,MAiOzC,CAAC;AAKF,eAAO,MAAM,4BAA4B,EAAE,MA6H1C,CAAC"}
@@ -131,21 +131,27 @@ fn forward_scan(
131
131
  // ---- Kogge-Stone inclusive prefix scan within tile ----
132
132
  // Associative operator: (a1, b1) ∘ (a2, b2) = (a1*a2, a1*b2 + b1)
133
133
  // This computes cumulative state recurrence in log2(TILE) steps.
134
+ // NOTE the barrier placement. Both barriers MUST sit in uniform control
135
+ // flow — every invocation in the workgroup has to reach them. The earlier
136
+ // version put the first workgroupBarrier() INSIDE the if (lid >= stride)
137
+ // branch, which is a WGSL uniformity violation: shader creation fails on a
138
+ // conformant implementation. Computing into locals first, then writing
139
+ // back after a uniform barrier, is the correct read-then-write split.
134
140
  var stride: u32 = 1u;
135
141
  loop {
136
142
  if (stride >= TILE) { break; }
143
+ var new_a = wg_a[lid];
144
+ var new_bu = wg_bu[lid];
137
145
  if (lid >= stride) {
138
- let prev_a = wg_a[lid - stride];
139
- let prev_bu = wg_bu[lid - stride];
140
- // Combine: new_state = prev_a * cur_a (product of A_bars)
141
- // new_bu = prev_a * cur_bu + prev_bu
142
- let new_a = prev_a * wg_a[lid];
143
- let new_bu = prev_a * wg_bu[lid] + prev_bu;
144
- workgroupBarrier();
145
- wg_a[lid] = new_a;
146
- wg_bu[lid] = new_bu;
146
+ // Combine: new_a = prev_a * cur_a (product of A_bars)
147
+ // new_bu = prev_a * cur_bu + prev_bu
148
+ new_a = wg_a[lid - stride] * new_a;
149
+ new_bu = wg_a[lid - stride] * new_bu + wg_bu[lid - stride];
147
150
  }
148
151
  workgroupBarrier();
152
+ wg_a[lid] = new_a;
153
+ wg_bu[lid] = new_bu;
154
+ workgroupBarrier();
149
155
  stride = stride << 1u;
150
156
  }
151
157