anyformer 0.4.20 → 0.4.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.21 — 2026-10-31
4
+
5
+ ### Changed
6
+ - diskformer pin cefebc7 → 7962912 (v0.6.20: run-time LoRA in every native MoE engine through `engines/lora.js`).
7
+ The `diskformer` back end now takes `adapter` on Gemma 4 26B and Qwen3.6 35B too. diskformer's gates (plain /
8
+ adapter / plain again, against llama-server --lora on the same file): Gemma 4 26B 9/9, 8/9, 9/9; Qwen3.6 35B 6/9,
9
+ 9/9, 6/9. Adapters on routed experts are refused with an error. MiniCPM-V, Clover, Flint and Ling take no adapter,
10
+ so an `adapter` drops `diskformer` from their plans.
11
+
12
+ ### Not yet verified
13
+ - No browser run of an adapter on Gemma 4 or Qwen3.6 through anyformer: no adapter GGUF for either is in the catalog.
14
+
3
15
  ## 0.4.20 — 2026-10-31
4
16
 
5
17
  ### Added
@@ -24,6 +36,16 @@
24
36
  `alwaysThinks` and `thinkInPrompt`) returns only the answer in `text`, and the reasoning in `reasoning`.
25
37
  - diskformer pin 317d2a0 → cefebc7 (v0.6.19: run-time LoRA in `lfm2_moe_ssd.js`).
26
38
 
39
+ ### Verified (after the npm publish, on the published code)
40
+ - `tools` on LFM2.5 230M (`localmind`, local file): `get_weather` {"city":"Paris"} parsed from the bare call list;
41
+ after the tool result, an answer with 18°C and clear sky.
42
+ - `tools` on `LFM2_5_24B_PI` (`diskformer`, run-time adapter, base GGUF and adapter from local files, 13:31 IST): the
43
+ first turn's text is empty (reasoning in `reasoning`) with `get_weather` {"city":"Paris"} as `toolCalls`; then
44
+ "The current weather in Paris is **clear skies** with a temperature of **18°C**."
45
+ - `chat?entry=chat.LFM2_5_24B_PI&turns=4` on the same engine (by 13:41 IST): PASS, 4/4 turns on topic with no
46
+ reasoning in `text`; load 50 s from OPFS. The page's tok/s (about 2.5) counts only answer tokens after the hidden
47
+ reasoning, so it is not a decode speed.
48
+
27
49
  ## 0.4.19 — 2026-10-31
28
50
 
29
51
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anyformer",
3
- "version": "0.4.20",
3
+ "version": "0.4.21",
4
4
  "description": "One call to run a model in a browser tab: anyformer reads the Hub repo, probes the browser, and picks the back end (transformers.js, LocalMind's WebGPU kernels, diskformer, kohra) that fits the model's format, architecture and your GPU budget.",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -11,11 +11,15 @@ export const DISKFORMER_MODELS = [
11
11
  {
12
12
  repo: 'google/gemma-4-26B-A4B-it-qat-q4_0-gguf', file: 'gemma-4-26B_q4_0-it.gguf', size: 14439363584,
13
13
  engine: 'gemma4_moe_ssd.js', Engine: 'Gemma4MoeSsd', minBudget: 2.5e9,
14
+ // LoRA at run time (v0.6.20+, gated against llama-server --lora on the same adapter file).
15
+ adapters: true,
14
16
  speeds: [[2.5e9, 12.4], [4.3e9, 14.2], [7e9, 17.9]],
15
17
  },
16
18
  {
17
19
  repo: 'unsloth/Qwen3.6-35B-A3B-GGUF', file: 'Qwen3.6-35B-A3B-Q8_0.gguf', size: 36903140320,
18
20
  engine: 'qwen35_moe_ssd.js', Engine: 'Qwen35MoeSsd', minBudget: 4e9,
21
+ // LoRA at run time (v0.6.20+, gated against llama-server --lora on the same adapter file).
22
+ adapters: true,
19
23
  speeds: [[4e9, 9.2]],
20
24
  },
21
25
  // Qwen3.6's language model with a vision encoder (mmproj, ~1.1 GB, loaded on the first image by ensureVision).
package/src/sources.js CHANGED
@@ -9,6 +9,8 @@ export const PINS = {
9
9
  // v0.3.1: seeded block-KV graphs (Nemotron-Labs-Diffusion-3B), chatFormat, split external data; download progress
10
10
  // (progress_callback) and the graph files cached in Cache Storage 'kohra-models'.
11
11
  kohra: 'bf95d44c3e3cfc001201baa03fa121c2bf9c7d73',
12
+ // v0.6.20 (7962912): run-time LoRA in every native MoE engine (engines/lora.js): Gemma 4 26B, Qwen3.6 35B, LFM2.5
13
+ // 24B and Qwen3 (untested); adapters on routed experts are refused. Engines expose addBos from the GGUF.
12
14
  // v0.6.19 (cefebc7): run-time LoRA in lfm2_moe_ssd.js (engine.loadAdapter / setAdapter, no reload to switch).
13
15
  // v0.6.18 (317d2a0): with thinking off, the llama.cpp chat closes a template's always-open <think> (LFM2.5-24B) and
14
16
  // bans the <think> token for the reply.
@@ -31,7 +33,7 @@ export const PINS = {
31
33
  // Gemma 4 E2B/E4B and Ternary Bonsai 2) under engines/, and the llama.cpp path under ggml/, which loads split GGUFs
32
34
  // and drafters, and reads past 2 GiB (Nemotron 3.5 Bolt E4B needs v0.6.8 or later). The hand engines' ingest
33
35
  // streams the GGUF header with progress and resumes a dropped range.
34
- diskformer: 'cefebc7c18bf106f82378925bd5650cae4320193',
36
+ diskformer: '79629125d7a39b13ddcaf74df58262458d8d470e',
35
37
  };
36
38
 
37
39
  const gh = (repo, sha, path) => `https://cdn.jsdelivr.net/gh/NakliTechie/${repo}@${sha}/${path}`;