turbollm 1.10.7 → 1.11.0
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/README.md +11 -2
- package/dist/{chunk-5MCP2ZAJ.js → chunk-H67DVIQT.js} +5 -3
- package/dist/cli.js +1038 -613
- package/dist/{distiller-6E6IOZ5G.js → distiller-76UGFCA4.js} +1 -1
- package/dist/webdist/assets/{AgentEditPage-D5ML1yEJ.js → AgentEditPage-Crb8pCTs.js} +1 -1
- package/dist/webdist/assets/{ChatScreen-B0S4VSQu.js → ChatScreen-DWR0twnC.js} +1 -1
- package/dist/webdist/assets/{CodeComposer-CFGTywll.js → CodeComposer-DTUjWlAE.js} +1 -1
- package/dist/webdist/assets/{CodeHomeScreen-tUO_t4Zc.js → CodeHomeScreen-CXfPIHBq.js} +1 -1
- package/dist/webdist/assets/{CodeSessionScreen-DBlJgHxT.js → CodeSessionScreen-CwBa11Jt.js} +1 -1
- package/dist/webdist/assets/{CustomizeScreen-VNNd10Il.js → CustomizeScreen-CD-WTBXb.js} +3 -3
- package/dist/webdist/assets/{DeveloperScreen-fUBfXY5H.js → DeveloperScreen-CESuUPIA.js} +1 -1
- package/dist/webdist/assets/EnginesScreen-BhdKIPyX.js +7 -0
- package/dist/webdist/assets/ModelDetailDialog-D5TNFKk6.js +1 -0
- package/dist/webdist/assets/{ModelLoadMenu-1celvYES.js → ModelLoadMenu-BbBx7ruU.js} +1 -1
- package/dist/webdist/assets/{ModelsScreen-Ct2oMCBG.js → ModelsScreen-m-cbkQfg.js} +2 -2
- package/dist/webdist/assets/{OnboardingScreen-Bgo7iNG4.js → OnboardingScreen-CloBv6v8.js} +1 -1
- package/dist/webdist/assets/{RoutineEditPage-X-tfkF8p.js → RoutineEditPage-CIFrprR0.js} +1 -1
- package/dist/webdist/assets/{RoutinesPanel-BsNC2P-e.js → RoutinesPanel-DuCSvkpH.js} +1 -1
- package/dist/webdist/assets/SettingsScreen-CSHExY0c.js +2 -0
- package/dist/webdist/assets/{SidebarResizeHandle-CMoeO4IS.js → SidebarResizeHandle-DPHLGOYS.js} +1 -1
- package/dist/webdist/assets/{SkillEditPage-BBU6US7R.js → SkillEditPage-BPMWlPxr.js} +1 -1
- package/dist/webdist/assets/TokensScreen-C78YBwfC.js +1 -0
- package/dist/webdist/assets/{ToolApprovalBar-C-5egxQM.js → ToolApprovalBar-D6Usabbc.js} +3 -3
- package/dist/webdist/assets/WorkspaceScreen-D4VRoaRA.js +1 -0
- package/dist/webdist/assets/{abnfDiagram-N423BO3Z-ClQ4l7BJ.js → abnfDiagram-N423BO3Z-EMmaHj8K.js} +1 -1
- package/dist/webdist/assets/{agent-api-Cy116Wna.js → agent-api-Vpc7M2SN.js} +1 -1
- package/dist/webdist/assets/{alert-dialog-DsacooCM.js → alert-dialog-RuoeJJC-.js} +1 -1
- package/dist/webdist/assets/{arc-Ccsz0c1U.js → arc-BHeddvY-.js} +1 -1
- package/dist/webdist/assets/{architectureDiagram-T3A2C74G-DXCEy8yk.js → architectureDiagram-T3A2C74G-B9vPWlm9.js} +1 -1
- package/dist/webdist/assets/{arrow-left-btKkEUQC.js → arrow-left-QxWpxvpD.js} +1 -1
- package/dist/webdist/assets/{badge-ETMmfV6d.js → badge-WQ1wLWtz.js} +1 -1
- package/dist/webdist/assets/{blockDiagram-VBNYF7ZC-DcXBCWEB.js → blockDiagram-VBNYF7ZC-DF9hv8Mn.js} +1 -1
- package/dist/webdist/assets/{bot-DLPjPjfX.js → bot-BkUld4bs.js} +1 -1
- package/dist/webdist/assets/{c4Diagram-5PPSVZJV-Belyrez_.js → c4Diagram-5PPSVZJV-DiyHHtjq.js} +1 -1
- package/dist/webdist/assets/channel-Dp-qf202.js +1 -0
- package/dist/webdist/assets/{chat-api-CYP5FfaK.js → chat-api-DgmaYhDI.js} +1 -1
- package/dist/webdist/assets/{chat-queries-DFiNjPVk.js → chat-queries-RLSOlOWo.js} +1 -1
- package/dist/webdist/assets/{chevron-left-CqVcixGZ.js → chevron-left-CP9IFIJY.js} +1 -1
- package/dist/webdist/assets/{chevron-right-ClhtZaIW.js → chevron-right-DrIMoQSz.js} +1 -1
- package/dist/webdist/assets/{chunk-2GRJ4B5K-Bl4Egdxq.js → chunk-2GRJ4B5K-CCSTGpfU.js} +1 -1
- package/dist/webdist/assets/{chunk-2Q5K7J3B-wttmslhN.js → chunk-2Q5K7J3B-DhLcfa9a.js} +1 -1
- package/dist/webdist/assets/{chunk-5RXB4S5H-2aeLxRgO.js → chunk-5RXB4S5H-DS_Jjker.js} +1 -1
- package/dist/webdist/assets/{chunk-5VM5RSS4-DPt4WRD0.js → chunk-5VM5RSS4-DR8jriPd.js} +1 -1
- package/dist/webdist/assets/{chunk-6Q2QTUOP-BHuRPIZo.js → chunk-6Q2QTUOP-CvvshdRt.js} +1 -1
- package/dist/webdist/assets/{chunk-GF5L2VYU-Cp5_eYO0.js → chunk-GF5L2VYU-Bn_W4FqO.js} +1 -1
- package/dist/webdist/assets/{chunk-JWPE2WC7-Bad4lXjT.js → chunk-JWPE2WC7-BbyR5jPI.js} +1 -1
- package/dist/webdist/assets/{chunk-KBJHAD2P-bRIJ5aJE.js → chunk-KBJHAD2P-CapiPaai.js} +1 -1
- package/dist/webdist/assets/{chunk-RYQCIY6F-DaIRDjrJ.js → chunk-RYQCIY6F-o0Eobs4I.js} +1 -1
- package/dist/webdist/assets/{chunk-XXDRQBXY-DUjNRvyi.js → chunk-XXDRQBXY-DnfM_6_z.js} +1 -1
- package/dist/webdist/assets/{circle-check-lm7UlohA.js → circle-check-Dfy4urT3.js} +1 -1
- package/dist/webdist/assets/{circle-x-DXjeMK7_.js → circle-x-CTrNBFyk.js} +1 -1
- package/dist/webdist/assets/classDiagram-JCYQIIEL-7lq6N49Q.js +1 -0
- package/dist/webdist/assets/classDiagram-v2-OCEON4UE-7lq6N49Q.js +1 -0
- package/dist/webdist/assets/{common-BWsQPS4w.js → common-D3KIhI5Z.js} +1 -1
- package/dist/webdist/assets/{cose-bilkent-JH36ORCC-DJ6dqH5u.js → cose-bilkent-JH36ORCC-CVGwTg6K.js} +1 -1
- package/dist/webdist/assets/{cynefin-VYW2F7L2-j7CNR5al.js → cynefin-VYW2F7L2-B_cdEt0j.js} +1 -1
- package/dist/webdist/assets/{cynefinDiagram-MW4NZA55-Csyy_ycJ.js → cynefinDiagram-MW4NZA55-D6Bq1Hb9.js} +1 -1
- package/dist/webdist/assets/{dagre-VZM6K2ZE-C8_8FZ_1.js → dagre-VZM6K2ZE-BZBXLl5P.js} +1 -1
- package/dist/webdist/assets/{diagram-7IWD3JNH-lHY837vu.js → diagram-7IWD3JNH-CfaI5HQ5.js} +1 -1
- package/dist/webdist/assets/{diagram-B4RE2ZJO-DHJiN71Y.js → diagram-B4RE2ZJO-CHTmK73T.js} +1 -1
- package/dist/webdist/assets/{diagram-LBJQPF4R-K7za9ap-.js → diagram-LBJQPF4R-Cv1djbM6.js} +1 -1
- package/dist/webdist/assets/{diagram-Q27KOJAE-DZF4r8J1.js → diagram-Q27KOJAE-wH1umxXP.js} +1 -1
- package/dist/webdist/assets/{diagram-UB23O5K3-BV93evGE.js → diagram-UB23O5K3-DjVjVgky.js} +1 -1
- package/dist/webdist/assets/{dropdown-menu-CJn5km77.js → dropdown-menu-DtzQnzDC.js} +1 -1
- package/dist/webdist/assets/{ebnfDiagram-BXEA7PRR-Bn43QxLJ.js → ebnfDiagram-BXEA7PRR-CnP6v0OA.js} +1 -1
- package/dist/webdist/assets/{erDiagram-JOGREHBK-DA76FXpj.js → erDiagram-JOGREHBK-Bxvus2yH.js} +1 -1
- package/dist/webdist/assets/{external-link-CDofq-uS.js → external-link-BYxejPiV.js} +1 -1
- package/dist/webdist/assets/{file-text-CLawuNe-.js → file-text-BFFqF1Q-.js} +1 -1
- package/dist/webdist/assets/{flowDiagram-UKHOOZJN-BFmHTmd4.js → flowDiagram-UKHOOZJN-Cs1rV3tb.js} +1 -1
- package/dist/webdist/assets/{folder-input-CD3vW63B.js → folder-input-BtJHHiyW.js} +1 -1
- package/dist/webdist/assets/{folder-plus-CHFH6CGi.js → folder-plus-Ch-KIy_j.js} +1 -1
- package/dist/webdist/assets/{ganttDiagram-PKOTCBZU-qq6n7Npl.js → ganttDiagram-PKOTCBZU-DbKmBS-m.js} +1 -1
- package/dist/webdist/assets/{git-branch-BNf3nBf4.js → git-branch-C0tnpEBn.js} +1 -1
- package/dist/webdist/assets/{gitGraphDiagram-DS77QQ5N-O844aE6e.js → gitGraphDiagram-DS77QQ5N-XiTtBrMy.js} +1 -1
- package/dist/webdist/assets/{index-CVUvHlLK.js → index-DgjAtL-b.js} +8 -8
- package/dist/webdist/assets/index-yZ-DNSjl.css +1 -0
- package/dist/webdist/assets/{infoDiagram-6WML65LV-DPLidi-w.js → infoDiagram-6WML65LV-VAFHBPFv.js} +1 -1
- package/dist/webdist/assets/{ishikawaDiagram-WSZJBQD7-C_D80PuR.js → ishikawaDiagram-WSZJBQD7-CltvpCC_.js} +1 -1
- package/dist/webdist/assets/{journeyDiagram-NVQOT4AX-DT8vAmfq.js → journeyDiagram-NVQOT4AX-B8O_4rAi.js} +1 -1
- package/dist/webdist/assets/{kanban-definition-27J2QSJJ-Cjrhy90p.js → kanban-definition-27J2QSJJ-PuuqAhDK.js} +1 -1
- package/dist/webdist/assets/{linear-BNKcDfRp.js → linear-BzcDsYCl.js} +1 -1
- package/dist/webdist/assets/{lock-DCkuUFTx.js → lock-NjhtB3l7.js} +1 -1
- package/dist/webdist/assets/{mermaid.core-_aD3MaM1.js → mermaid.core--ItM_Tuo.js} +4 -4
- package/dist/webdist/assets/{mindmap-definition-FAOFIHXS-BqM2v6KK.js → mindmap-definition-FAOFIHXS-DA4CwvE8.js} +1 -1
- package/dist/webdist/assets/{pegDiagram-VL7TDLO6-D69Ob2pm.js → pegDiagram-VL7TDLO6-pcbWVCJ3.js} +1 -1
- package/dist/webdist/assets/{pencil-DF9RK47z.js → pencil-C7Mm5Xtr.js} +1 -1
- package/dist/webdist/assets/{personas-B0hCMTUH.js → personas-DUC47oth.js} +6 -2
- package/dist/webdist/assets/{pieDiagram-7S7Q4E2Y-Acz4Vhi9.js → pieDiagram-7S7Q4E2Y-BY35jaW3.js} +1 -1
- package/dist/webdist/assets/{plus-od9Z8JBI.js → plus-DvEO8E95.js} +1 -1
- package/dist/webdist/assets/{quadrantDiagram-CIZ2JOQS-BQuxPHrg.js → quadrantDiagram-CIZ2JOQS-C5mpyBRe.js} +1 -1
- package/dist/webdist/assets/{railroadDiagram-AXF67PYL-BCNHLYi6.js → railroadDiagram-AXF67PYL-DWTf-dRS.js} +1 -1
- package/dist/webdist/assets/{refresh-cw-wVChCbgC.js → refresh-cw-BATeQPJY.js} +1 -1
- package/dist/webdist/assets/{requirementDiagram-LRYGKXZP-Cflwzc5J.js → requirementDiagram-LRYGKXZP-DBow0Bqr.js} +1 -1
- package/dist/webdist/assets/{rocket-AHtoJDN5.js → rocket-90T43z1Z.js} +1 -1
- package/dist/webdist/assets/{rotate-ccw-D6mHSwlE.js → rotate-ccw-C7pm2Mke.js} +1 -1
- package/dist/webdist/assets/{sankeyDiagram-W5VNT64P-DjGLWVxt.js → sankeyDiagram-W5VNT64P-Y3Ppkoun.js} +1 -1
- package/dist/webdist/assets/{sequenceDiagram-SI44F4Z6-BxNynfm_.js → sequenceDiagram-SI44F4Z6-CHYIu9uX.js} +1 -1
- package/dist/webdist/assets/{sizeCapture-X5ZJPWSS-CIxcUn-W.js → sizeCapture-X5ZJPWSS-B2aHWrTS.js} +1 -1
- package/dist/webdist/assets/{skeleton-DB9wzixM.js → skeleton-BvAwq7sP.js} +1 -1
- package/dist/webdist/assets/{sliders-horizontal-B4k3SOq8.js → sliders-horizontal-DfmwaGs9.js} +1 -1
- package/dist/webdist/assets/{sparkles-CGw2zOBl.js → sparkles-CLTAYDRV.js} +1 -1
- package/dist/webdist/assets/{star-kFA-8ui3.js → star-CGSbYOmP.js} +1 -1
- package/dist/webdist/assets/{stateDiagram-OKZ733FA-CE6r0DpO.js → stateDiagram-OKZ733FA-COcaEWBl.js} +1 -1
- package/dist/webdist/assets/stateDiagram-v2-UEYNNEHI-DuyS45WN.js +1 -0
- package/dist/webdist/assets/{swimlanes-SLNWSIFB-BY5mBHmX.js → swimlanes-SLNWSIFB-B5uq0ZSN.js} +2 -2
- package/dist/webdist/assets/swimlanesDiagram-ULZ7WXOC-C4aR5PY8.js +8 -0
- package/dist/webdist/assets/{switch--fCLTBfJ.js → switch-CndaFrl5.js} +1 -1
- package/dist/webdist/assets/{terminal-BHrEfmJx.js → terminal-C6Twoyfk.js} +1 -1
- package/dist/webdist/assets/{timeline-definition-Z64GVDOM-DIpbpxSt.js → timeline-definition-Z64GVDOM-CfEDs9k-.js} +1 -1
- package/dist/webdist/assets/{trash-2-BIxN_cUh.js → trash-2-CtpXI0P6.js} +1 -1
- package/dist/webdist/assets/{triangle-alert-BJvRO2m9.js → triangle-alert-wgQzTmmK.js} +1 -1
- package/dist/webdist/assets/{useIsDesktop-C6bR75xO.js → useIsDesktop-C28eAfaZ.js} +1 -1
- package/dist/webdist/assets/{vennDiagram-T6HMQDX7-BXwq853f.js → vennDiagram-T6HMQDX7-CjjfGXNg.js} +1 -1
- package/dist/webdist/assets/{vram-CnWbHiEa.js → vram-Bz1RMnmc.js} +1 -1
- package/dist/webdist/assets/{wardleyDiagram-T6FBY63Y-Brk79llj.js → wardleyDiagram-T6FBY63Y--seBEPmq.js} +1 -1
- package/dist/webdist/assets/{wrench-CqFqaLhR.js → wrench-CLtGGoX0.js} +1 -1
- package/dist/webdist/assets/{xychartDiagram-ELKLHX3M-BhBgiszK.js → xychartDiagram-ELKLHX3M-CbkgQrTE.js} +1 -1
- package/dist/webdist/index.html +2 -2
- package/package.json +1 -1
- package/dist/webdist/assets/EnginesScreen-DpmBvOIv.js +0 -7
- package/dist/webdist/assets/ModelDetailDialog-DGLgdKeK.js +0 -1
- package/dist/webdist/assets/SettingsScreen-B4Durx8x.js +0 -2
- package/dist/webdist/assets/TokensScreen-CMc6iZO-.js +0 -1
- package/dist/webdist/assets/WorkspaceScreen-zOfnugwb.js +0 -1
- package/dist/webdist/assets/channel-Bft2MKTV.js +0 -1
- package/dist/webdist/assets/classDiagram-JCYQIIEL-CSuzSYfp.js +0 -1
- package/dist/webdist/assets/classDiagram-v2-OCEON4UE-CSuzSYfp.js +0 -1
- package/dist/webdist/assets/index-BTitHmTT.css +0 -1
- package/dist/webdist/assets/stateDiagram-v2-UEYNNEHI-B5To02A1.js +0 -1
- package/dist/webdist/assets/swimlanesDiagram-ULZ7WXOC-Yjo90md-.js +0 -8
package/README.md
CHANGED
|
@@ -222,6 +222,15 @@ the detail:
|
|
|
222
222
|
- **Saved per-model profiles, per engine** — tune once per (model, engine) pair, so
|
|
223
223
|
switching engines (or between two installs of the same engine, e.g. a fork) never
|
|
224
224
|
overwrites another engine's tuning for the same model.
|
|
225
|
+
- **Named load presets, many per model** — keep "max speed 32k" *and* "200k long context"
|
|
226
|
+
side by side instead of the second tune overwriting the first. Pick one from the Model
|
|
227
|
+
Detail panel to fill the load parameters (it's remembered and auto-applied on the next
|
|
228
|
+
load), **Save as…** captures the current settings, and rename/delete live in the ⋯ menu.
|
|
229
|
+
**Auto-tune mints a preset every time you save one** — named `Auto-tune <date>` and badged
|
|
230
|
+
with its measured tok/s — so every tune becomes browsable, restorable history rather than
|
|
231
|
+
a one-slot overwrite. The ten newest auto-tune presets are kept; your own saves are never
|
|
232
|
+
pruned. Existing profiles carry over as presets automatically, and a model with no presets
|
|
233
|
+
behaves exactly as before.
|
|
225
234
|
- **Configurable VRAM headroom** (Settings → Models & loading → Advanced, 300 MB–2 GB, default
|
|
226
235
|
1 GB) — tell auto-tune how much VRAM to keep free for other GPU workloads instead of a fixed margin.
|
|
227
236
|
Drag it to 0 to opt into an experimental **MoE "VRAM-spill" search** — auto-tune keeps pushing more
|
|
@@ -468,8 +477,8 @@ switch between CUDA / ROCm / Metal / SYCL / Vulkan / CPU at any time (it downloa
|
|
|
468
477
|
you choose, LM Studio-style).
|
|
469
478
|
|
|
470
479
|
**Engine types.** **llama.cpp / GGUF**, **KoboldCpp** and **llamafile** (GGUF, every OS),
|
|
471
|
-
**MLX** (macOS), and **vLLM** (Linux + NVIDIA) are all first-class engine kinds —
|
|
472
|
-
the curated catalog, pick the right one per model, and switch from a single dropdown.
|
|
480
|
+
**MLX** and **MLX-VLM** (macOS), and **vLLM** (Linux + NVIDIA) are all first-class engine kinds —
|
|
481
|
+
install from the curated catalog, pick the right one per model, and switch from a single dropdown.
|
|
473
482
|
|
|
474
483
|
**Fully supervised.** Every engine runs under a real state machine: health-gated readiness,
|
|
475
484
|
graceful stop, an **idle auto-stop** watchdog, and **live logs + clear error surfacing** in
|
|
@@ -8,16 +8,18 @@ import { join } from "path";
|
|
|
8
8
|
function engineAcceptsFormat(engineKind, format) {
|
|
9
9
|
if (engineKind === "mlx") return format === "mlx";
|
|
10
10
|
if (engineKind === "rapid-mlx") return format === "mlx";
|
|
11
|
+
if (engineKind === "mlx-vlm") return format === "mlx";
|
|
11
12
|
if (engineKind === "vllm") return format === "mlx";
|
|
12
13
|
return format === "gguf";
|
|
13
14
|
}
|
|
14
15
|
function engineRejectsAudioModel(engineKind) {
|
|
15
|
-
return engineKind === "rapid-mlx";
|
|
16
|
+
return engineKind === "rapid-mlx" || engineKind === "mlx-vlm";
|
|
16
17
|
}
|
|
17
18
|
var ENGINE_MODEL_ALIAS = "default_model";
|
|
18
19
|
var RAPID_MLX_MODEL_ALIAS = "default";
|
|
19
|
-
function engineModelAlias(engineKind) {
|
|
20
|
+
function engineModelAlias(engineKind, modelPath) {
|
|
20
21
|
if (engineKind === "rapid-mlx") return RAPID_MLX_MODEL_ALIAS;
|
|
22
|
+
if (engineKind === "mlx-vlm") return modelPath ?? null;
|
|
21
23
|
return engineKind === "mlx" || engineKind === "vllm" || engineKind === "sglang" ? ENGINE_MODEL_ALIAS : null;
|
|
22
24
|
}
|
|
23
25
|
var VENDOR_DISPLAY = {
|
|
@@ -77,7 +79,7 @@ async function distill(d, material) {
|
|
|
77
79
|
const ms = d.manager.status();
|
|
78
80
|
const target = d.manager.target();
|
|
79
81
|
if (ms.state !== "running" || !ms.model || !target) return { name: null, description: null, procedure: null };
|
|
80
|
-
const model = engineModelAlias(d.registry.active()?.kind ?? "") ?? ms.model.key;
|
|
82
|
+
const model = engineModelAlias(d.registry.active()?.kind ?? "", d.manager.currentOpts()?.modelPath) ?? ms.model.key;
|
|
81
83
|
try {
|
|
82
84
|
const res = await fetch(`${target}/v1/chat/completions`, {
|
|
83
85
|
method: "POST",
|