@atomic-chat/core 0.18.3 → 0.18.4

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 (48) hide show
  1. package/dist/app-daemon.js +4 -6
  2. package/dist/app-daemon.js.map +1 -1
  3. package/dist/backend/advisor/advisor.d.ts +6 -1
  4. package/dist/backend/advisor/advisor.js +69 -7
  5. package/dist/backend/advisor/advisor.js.map +1 -1
  6. package/dist/backend/catalog/prism-manifest.d.ts +2 -0
  7. package/dist/backend/catalog/prism-manifest.js +3 -2
  8. package/dist/backend/catalog/prism-manifest.js.map +1 -1
  9. package/dist/cli/main.d.ts +1 -1
  10. package/dist/cli/main.js +2 -2
  11. package/dist/cli/main.js.map +1 -1
  12. package/dist/contracts/backend-advisor.d.ts +12 -0
  13. package/dist/contracts/errors.d.ts +6 -1
  14. package/dist/contracts/errors.js.map +1 -1
  15. package/dist/core/atomic-core.d.ts +1 -1
  16. package/dist/host/recipes/executor-io-windows.d.ts +11 -0
  17. package/dist/host/recipes/executor-io-windows.js +23 -5
  18. package/dist/host/recipes/executor-io-windows.js.map +1 -1
  19. package/dist/runtime/foundry-local/foundry-host.d.ts +18 -0
  20. package/dist/runtime/foundry-local/foundry-host.js +23 -0
  21. package/dist/runtime/foundry-local/foundry-host.js.map +1 -0
  22. package/dist/runtime/foundry-local/host/run.js +1 -1
  23. package/dist/runtime/foundry-local/host/run.js.map +1 -1
  24. package/dist/runtime/foundry-local/host-process.d.ts +3 -0
  25. package/dist/runtime/foundry-local/host-process.js +3 -0
  26. package/dist/runtime/foundry-local/host-process.js.map +1 -1
  27. package/dist/runtime/foundry-local/index.d.ts +0 -1
  28. package/dist/runtime/foundry-local/index.js +0 -1
  29. package/dist/runtime/foundry-local/index.js.map +1 -1
  30. package/dist/server/control/routes/models.js +3 -2
  31. package/dist/server/control/routes/models.js.map +1 -1
  32. package/dist/server/http.js +43 -7
  33. package/dist/server/http.js.map +1 -1
  34. package/dist/settings/public.d.ts +7 -0
  35. package/dist/settings/public.js +8 -0
  36. package/dist/settings/public.js.map +1 -0
  37. package/dist/version.d.ts +1 -1
  38. package/dist/version.js +1 -1
  39. package/package.json +10 -3
  40. package/src/settings/schema/atomic-prism.json +0 -433
  41. package/src/settings/schema/foundation-models.json +0 -1
  42. package/src/settings/schema/foundry-local.json +0 -14
  43. package/src/settings/schema/llamacpp-upstream.json +0 -498
  44. package/src/settings/schema/llamacpp.json +0 -475
  45. package/src/settings/schema/mlx.json +0 -136
  46. package/src/settings/schema/sglang.json +0 -251
  47. package/src/settings/schema/tensorrt-llm.json +0 -253
  48. package/src/settings/schema/vllm.json +0 -273
@@ -1,475 +0,0 @@
1
- [
2
- {
3
- "key": "version_backend",
4
- "title": "Version & Backend",
5
- "description": "Version and Backend for llama.cpp",
6
- "controllerType": "dropdown",
7
- "controllerProps": {
8
- "value": "none",
9
- "options": [],
10
- "recommended": ""
11
- }
12
- },
13
- {
14
- "key": "concurrent_mode",
15
- "title": "Concurrent Mode",
16
- "description": "Run the model as a multi-slot server: serves multiple chat requests in parallel on one loaded model. Overrides Parallel Sequences and Continuous Batching and exposes Prometheus /metrics.",
17
- "controllerType": "checkbox",
18
- "controllerProps": {
19
- "value": false
20
- }
21
- },
22
- {
23
- "key": "concurrent_slots",
24
- "title": "Concurrent Slots",
25
- "description": "Number of parallel slots when Concurrent Mode is enabled. Per-slot context = ctx_size / slots. Higher values serve more concurrent requests but give each less context.",
26
- "controllerType": "input",
27
- "controllerProps": {
28
- "value": 8,
29
- "placeholder": "8",
30
- "type": "number",
31
- "textAlign": "right",
32
- "min": 2,
33
- "max": 16
34
- }
35
- },
36
- {
37
- "key": "expose_metrics",
38
- "title": "Expose Prometheus /metrics",
39
- "description": "Start llama-server with --metrics so the local API server can proxy /v1/metrics?model=<id>. Automatically enabled by Concurrent Mode.",
40
- "controllerType": "checkbox",
41
- "controllerProps": {
42
- "value": false
43
- }
44
- },
45
- {
46
- "key": "parallel",
47
- "title": "Parallel Sequences",
48
- "description": "Number of parallel sequences to decode (0 = llama.cpp default of 1). Set to 1 to also enable -kvu for optimized single-request serving. Ignored when Concurrent Mode is on.",
49
- "controllerType": "input",
50
- "controllerProps": {
51
- "value": 1,
52
- "placeholder": "1",
53
- "type": "number",
54
- "textAlign": "right",
55
- "min": 0
56
- }
57
- },
58
- {
59
- "key": "cont_batching",
60
- "title": "Continuous Batching",
61
- "description": "Enable continuous batching (a.k.a dynamic batching) for concurrent requests.",
62
- "controllerType": "checkbox",
63
- "controllerProps": {
64
- "value": false
65
- }
66
- },
67
- {
68
- "key": "llamacpp_env",
69
- "title": "Environmental variables",
70
- "description": "Environmental variables for llama.cpp(KEY=VALUE), separated by ';'",
71
- "controllerType": "input",
72
- "controllerProps": {
73
- "value": "",
74
- "placeholder": "Eg. GGML_VK_VISIBLE_DEVICES=0,1",
75
- "type": "text",
76
- "textAlign": "right"
77
- }
78
- },
79
- {
80
- "key": "reasoning_preserve",
81
- "title": "Preserve Reasoning",
82
- "description": "Preserve supported reasoning traces across conversation turns. Requires a compatible chat template and a TurboQuant build based on llama.cpp b9837 or newer.",
83
- "controllerType": "checkbox",
84
- "controllerProps": {
85
- "value": false
86
- }
87
- },
88
- {
89
- "key": "extra_args",
90
- "title": "Additional llama-server Arguments",
91
- "description": "Advanced: append arbitrary llama-server arguments. Separate arguments with spaces and quote values containing spaces. Arguments are passed directly without shell expansion.",
92
- "controllerType": "input",
93
- "controllerProps": {
94
- "value": "",
95
- "placeholder": "--reasoning-format deepseek --reasoning-budget 4096",
96
- "type": "text",
97
- "textAlign": "right"
98
- }
99
- },
100
- {
101
- "key": "timeout",
102
- "title": "Timeout for llamacpp",
103
- "description": "Llamacpp connection and load timeout in seconds. Model loading and chat streaming both use at least 1800s regardless of a lower value here.",
104
- "controllerType": "input",
105
- "controllerProps": {
106
- "value": "1800",
107
- "placeholder": "e.g 1800",
108
- "type": "number",
109
- "textAlign": "right"
110
- }
111
- },
112
- {
113
- "key": "fit",
114
- "title": "Fit context to device memory",
115
- "description": "Let llama.cpp pick the largest context window that fits this device's memory (--fit). While on, the context-size slider is set by the engine; turn off to set it by hand. (env: LLAMA_ARG_FIT)",
116
- "controllerType": "checkbox",
117
- "controllerProps": {
118
- "value": true
119
- }
120
- },
121
- {
122
- "key": "fit_target",
123
- "title": "Fit Target per Device (MiB)",
124
- "description": "Target margin per device for fit, comma-separated list of MiB values. Single value is broadcast across all devices. (env: LLAMA_ARG_FIT_TARGET)",
125
- "controllerType": "input",
126
- "controllerProps": {
127
- "value": "1024",
128
- "placeholder": "1024 or MiB0,MiB1,...",
129
- "type": "text",
130
- "textAlign": "right"
131
- }
132
- },
133
- {
134
- "key": "fit_ctx",
135
- "title": "Fit Minimum Context Size",
136
- "description": "Minimum context size (tokens) that can be set by --fit option. (env: LLAMA_ARG_FIT_CTX)",
137
- "controllerType": "input",
138
- "controllerProps": {
139
- "value": 4096,
140
- "placeholder": "4096",
141
- "type": "number",
142
- "textAlign": "right"
143
- }
144
- },
145
- {
146
- "key": "threads",
147
- "title": "Threads",
148
- "description": "Number of threads to use during generation (-1 for logical cores).",
149
- "controllerType": "input",
150
- "controllerProps": {
151
- "value": -1,
152
- "placeholder": "-1",
153
- "type": "number",
154
- "textAlign": "right"
155
- }
156
- },
157
- {
158
- "key": "threads_batch",
159
- "title": "Threads (Batch)",
160
- "description": "Number of threads for batch and prompt processing (default: same as Threads).",
161
- "controllerType": "input",
162
- "controllerProps": {
163
- "value": -1,
164
- "placeholder": "-1 (same as Threads)",
165
- "type": "number",
166
- "textAlign": "right"
167
- }
168
- },
169
- {
170
- "key": "ctx_shift",
171
- "title": "Context Shift",
172
- "description": "Allow model to cut text in the beginning to accommodate new text in its memory",
173
- "controllerType": "checkbox",
174
- "controllerProps": {
175
- "value": false
176
- }
177
- },
178
- {
179
- "key": "n_predict",
180
- "title": "Max Tokens to Predict",
181
- "description": "Maximum number of tokens to generate (-1 = infinity).",
182
- "controllerType": "input",
183
- "controllerProps": {
184
- "value": -1,
185
- "placeholder": "-1",
186
- "type": "number",
187
- "textAlign": "right"
188
- }
189
- },
190
- {
191
- "key": "ubatch_size",
192
- "title": "uBatch Size",
193
- "description": "Physical maximum batch size for processing prompts.",
194
- "controllerType": "input",
195
- "controllerProps": {
196
- "value": 512,
197
- "placeholder": "512",
198
- "type": "number",
199
- "textAlign": "right"
200
- }
201
- },
202
- {
203
- "key": "device",
204
- "title": "Devices for Offload",
205
- "description": "Comma-separated list of devices to use for offloading (e.g., 'CUDA0', 'CUDA0,CUDA1'). Leave empty to use default/CPU only.",
206
- "controllerType": "input",
207
- "controllerProps": {
208
- "value": "",
209
- "placeholder": "CUDA0",
210
- "type": "text"
211
- }
212
- },
213
- {
214
- "key": "split_mode",
215
- "title": "GPU Split Mode",
216
- "description": "How to split the model across multiple GPUs.",
217
- "controllerType": "dropdown",
218
- "controllerProps": {
219
- "value": "layer",
220
- "options": [
221
- {
222
- "value": "none",
223
- "name": "None"
224
- },
225
- {
226
- "value": "layer",
227
- "name": "Layer"
228
- },
229
- {
230
- "value": "row",
231
- "name": "Row"
232
- }
233
- ]
234
- }
235
- },
236
- {
237
- "key": "main_gpu",
238
- "title": "Main GPU Index",
239
- "description": "The GPU to use for the model (split-mode=none) or intermediate results (split-mode=row).",
240
- "controllerType": "input",
241
- "controllerProps": {
242
- "value": 0,
243
- "placeholder": "0",
244
- "type": "number",
245
- "textAlign": "right"
246
- }
247
- },
248
- {
249
- "key": "flash_attn",
250
- "title": "Flash Attention",
251
- "description": "Enable Flash Attention for optimized performance.",
252
- "controllerType": "dropdown",
253
- "controllerProps": {
254
- "value": "auto",
255
- "options": [
256
- {
257
- "value": "auto",
258
- "name": "Auto"
259
- },
260
- {
261
- "value": "on",
262
- "name": "On"
263
- },
264
- {
265
- "value": "off",
266
- "name": "Off"
267
- }
268
- ]
269
- }
270
- },
271
- {
272
- "key": "no_mmap",
273
- "title": "Disable mmap",
274
- "description": "Do not memory-map model (slower load but may reduce pageouts if not using mlock).",
275
- "controllerType": "checkbox",
276
- "controllerProps": {
277
- "value": false
278
- }
279
- },
280
- {
281
- "key": "mlock",
282
- "title": "MLock",
283
- "description": "Force system to keep model in RAM, preventing swapping/compression.",
284
- "controllerType": "checkbox",
285
- "controllerProps": {
286
- "value": false
287
- }
288
- },
289
- {
290
- "key": "cache_type_k",
291
- "title": "KV Cache K Type",
292
- "description": "KV cache data type for Keys (default: turbo3).",
293
- "controllerType": "dropdown",
294
- "controllerProps": {
295
- "value": "turbo3",
296
- "options": [
297
- {
298
- "value": "turbo3",
299
- "name": "turbo3"
300
- },
301
- {
302
- "value": "turbo4",
303
- "name": "turbo4"
304
- },
305
- {
306
- "value": "f32",
307
- "name": "f32"
308
- },
309
- {
310
- "value": "f16",
311
- "name": "f16"
312
- },
313
- {
314
- "value": "bf16",
315
- "name": "bf16"
316
- },
317
- {
318
- "value": "q8_0",
319
- "name": "q8_0"
320
- },
321
- {
322
- "value": "q4_0",
323
- "name": "q4_0"
324
- },
325
- {
326
- "value": "q4_1",
327
- "name": "q4_1"
328
- },
329
- {
330
- "value": "iq4_nl",
331
- "name": "iq4_nl"
332
- },
333
- {
334
- "value": "q5_0",
335
- "name": "q5_0"
336
- },
337
- {
338
- "value": "q5_1",
339
- "name": "q5_1"
340
- }
341
- ]
342
- }
343
- },
344
- {
345
- "key": "cache_type_v",
346
- "title": "KV Cache V Type",
347
- "description": "KV cache data type for Values (default: turbo3).",
348
- "controllerType": "dropdown",
349
- "controllerProps": {
350
- "value": "turbo3",
351
- "options": [
352
- {
353
- "value": "turbo3",
354
- "name": "turbo3"
355
- },
356
- {
357
- "value": "turbo4",
358
- "name": "turbo4"
359
- },
360
- {
361
- "value": "f32",
362
- "name": "f32"
363
- },
364
- {
365
- "value": "f16",
366
- "name": "f16"
367
- },
368
- {
369
- "value": "bf16",
370
- "name": "bf16"
371
- },
372
- {
373
- "value": "q8_0",
374
- "name": "q8_0"
375
- },
376
- {
377
- "value": "q4_0",
378
- "name": "q4_0"
379
- },
380
- {
381
- "value": "q4_1",
382
- "name": "q4_1"
383
- },
384
- {
385
- "value": "iq4_nl",
386
- "name": "iq4_nl"
387
- },
388
- {
389
- "value": "q5_0",
390
- "name": "q5_0"
391
- },
392
- {
393
- "value": "q5_1",
394
- "name": "q5_1"
395
- }
396
- ]
397
- }
398
- },
399
- {
400
- "key": "defrag_thold",
401
- "title": "KV Cache Defragmentation Threshold",
402
- "description": "Threshold for KV cache defragmentation (< 0 to disable).",
403
- "controllerType": "input",
404
- "controllerProps": {
405
- "value": 0.1,
406
- "placeholder": "0.1",
407
- "type": "number",
408
- "textAlign": "right",
409
- "step": 0.01
410
- }
411
- },
412
- {
413
- "key": "rope_scaling",
414
- "title": "RoPE Scaling Method",
415
- "description": "RoPE frequency scaling method.",
416
- "controllerType": "dropdown",
417
- "controllerProps": {
418
- "value": "none",
419
- "options": [
420
- {
421
- "value": "none",
422
- "name": "None"
423
- },
424
- {
425
- "value": "linear",
426
- "name": "Linear"
427
- },
428
- {
429
- "value": "yarn",
430
- "name": "YaRN"
431
- }
432
- ]
433
- }
434
- },
435
- {
436
- "key": "rope_scale",
437
- "title": "RoPE Scale Factor",
438
- "description": "RoPE context scaling factor.",
439
- "controllerType": "input",
440
- "controllerProps": {
441
- "value": 1.0,
442
- "placeholder": "1.0",
443
- "type": "number",
444
- "textAlign": "right",
445
- "min": 0,
446
- "step": 0.01
447
- }
448
- },
449
- {
450
- "key": "rope_freq_base",
451
- "title": "RoPE Frequency Base",
452
- "description": "RoPE base frequency (0 = loaded from model).",
453
- "controllerType": "input",
454
- "controllerProps": {
455
- "value": 0,
456
- "placeholder": "0 (model default)",
457
- "type": "number",
458
- "textAlign": "right"
459
- }
460
- },
461
- {
462
- "key": "rope_freq_scale",
463
- "title": "RoPE Frequency Scale Factor",
464
- "description": "RoPE frequency scaling factor.",
465
- "controllerType": "input",
466
- "controllerProps": {
467
- "value": 1.0,
468
- "placeholder": "1.0",
469
- "type": "number",
470
- "textAlign": "right",
471
- "min": 0,
472
- "step": 0.01
473
- }
474
- }
475
- ]
@@ -1,136 +0,0 @@
1
- [
2
- {
3
- "key": "version_backend",
4
- "title": "Version & Backend",
5
- "description": "Current DFlash MLX server version. Updated with each app release.",
6
- "controllerType": "input",
7
- "controllerProps": {
8
- "value": "detecting...",
9
- "placeholder": "",
10
- "readonly": true
11
- }
12
- },
13
- {
14
- "key": "dflash_enabled",
15
- "title": "DFlash Draft",
16
- "description": "Enable DFlash speculative decoding. The matching draft model from the [z-lab/dflash](https://huggingface.co/collections/z-lab/dflash) collection is auto-downloaded for the currently running MLX model.",
17
- "controllerType": "checkbox",
18
- "controllerProps": {
19
- "value": false
20
- }
21
- },
22
- {
23
- "key": "block_size",
24
- "title": "DFlash Block Size",
25
- "description": "Block size for DFlash speculative decoding. Default 16; raise for larger drafts at the cost of latency.",
26
- "controllerType": "input",
27
- "controllerProps": {
28
- "placeholder": "16",
29
- "value": 16,
30
- "type": "number",
31
- "min": 0,
32
- "max": 64
33
- }
34
- },
35
- {
36
- "key": "mtp_enabled",
37
- "title": "MTP Speculative Decoding (Gemma 4 · Qwen · DeepSeek V4)",
38
- "description": "Enable Multi-Token Prediction speculative decoding. Covers three drafter families, with the matching head auto-downloaded for the currently running MLX model: Gemma 4 (`mlx-community/gemma-4-*-it-assistant-bf16`), Qwen 3.5/3.6 (`mlx-community/Qwen3.*-MTP-bf16`) and DeepSeek V4 Flash (`mlx-community/DeepSeek-V4-Flash-MTP-bf16`). Mutually exclusive with DFlash and EAGLE-3.",
39
- "controllerType": "checkbox",
40
- "controllerProps": {
41
- "value": false
42
- }
43
- },
44
- {
45
- "key": "mtp_block_size",
46
- "title": "MTP Block Size",
47
- "description": "Number of speculatively drafted tokens per round for the MTP drafter (Gemma 4, Qwen 3.5/3.6 or DeepSeek V4). Default 4 (matches the Gemma 4 README perf table); raise for larger drafts at the cost of latency.",
48
- "controllerType": "input",
49
- "controllerProps": {
50
- "placeholder": "4",
51
- "value": 4,
52
- "type": "number",
53
- "min": 1,
54
- "max": 16
55
- }
56
- },
57
- {
58
- "key": "eagle3_enabled",
59
- "title": "EAGLE-3 Speculative Decoding (Gemma 4)",
60
- "description": "Enable EAGLE-3 speculative decoding for Gemma 4 targets. The matching `RedHatAI/*-speculator.eagle3` drafter is auto-downloaded for the currently running MLX model. Mutually exclusive with DFlash and MTP.",
61
- "controllerType": "checkbox",
62
- "controllerProps": {
63
- "value": false
64
- }
65
- },
66
- {
67
- "key": "eagle3_block_size",
68
- "title": "EAGLE-3 Block Size",
69
- "description": "Override the number of speculatively drafted tokens per round for the EAGLE-3 speculator. 0 (default) uses the speculator's own configured depth; raise for larger drafts at the cost of latency.",
70
- "controllerType": "input",
71
- "controllerProps": {
72
- "placeholder": "0",
73
- "value": 0,
74
- "type": "number",
75
- "min": 0,
76
- "max": 16
77
- }
78
- },
79
- {
80
- "key": "kv_quant_scheme",
81
- "title": "KV Cache Quantization",
82
- "description": "Quantize the KV cache to shrink memory and fit longer contexts. `Off` keeps the full-precision cache. `TurboQuant` (WHT-rotated low-bit, pair with ~3.5 bits) gives the best quality-per-byte; `Uniform` is plain group quantization (pair with 4 or 8 bits). Applies on the next model load.",
83
- "controllerType": "dropdown",
84
- "controllerProps": {
85
- "value": "off",
86
- "options": [
87
- {
88
- "value": "off",
89
- "name": "Off"
90
- },
91
- {
92
- "value": "turboquant",
93
- "name": "TurboQuant"
94
- },
95
- {
96
- "value": "uniform",
97
- "name": "Uniform"
98
- }
99
- ]
100
- }
101
- },
102
- {
103
- "key": "kv_bits",
104
- "title": "KV Cache Bits",
105
- "description": "Bit-width for KV cache quantization when a scheme is selected above. 3.5 is the recommended TurboQuant default; 4 or 8 suit Uniform. Ignored when KV Cache Quantization is Off.",
106
- "controllerType": "input",
107
- "controllerProps": {
108
- "placeholder": "3.5",
109
- "value": 3.5,
110
- "type": "number",
111
- "min": 0,
112
- "max": 8
113
- }
114
- },
115
- {
116
- "key": "timeout",
117
- "title": "Timeout for MLX",
118
- "description": "MLX connection and load timeout in seconds.",
119
- "controllerType": "input",
120
- "controllerProps": {
121
- "value": 600,
122
- "placeholder": "e.g 600",
123
- "type": "number",
124
- "textAlign": "right"
125
- }
126
- },
127
- {
128
- "key": "auto_unload",
129
- "title": "Auto-unload old models",
130
- "description": "Unload the previous model when a new one is loaded, so only one MLX model holds memory at a time.",
131
- "controllerType": "checkbox",
132
- "controllerProps": {
133
- "value": true
134
- }
135
- }
136
- ]