turbollm 1.7.6 → 1.8.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.
Files changed (129) hide show
  1. package/README.md +37 -0
  2. package/dist/{chunk-TPYU5ZAX.js → chunk-U4OPDHSX.js} +8 -1
  3. package/dist/cli.js +2854 -479
  4. package/dist/{distiller-UROKYEBN.js → distiller-MRW6VEYO.js} +1 -1
  5. package/dist/webdist/assets/{AgentEditPage-Biq01vi2.js → AgentEditPage-D88hpQjX.js} +1 -1
  6. package/dist/webdist/assets/ChatScreen-DuFszp3m.js +65 -0
  7. package/dist/webdist/assets/CodeComposer-y9wKcBjz.js +1 -0
  8. package/dist/webdist/assets/CodeHomeScreen-CtAhXuz1.js +1 -0
  9. package/dist/webdist/assets/CodeSessionScreen-QWTJn0xc.js +4 -0
  10. package/dist/webdist/assets/CustomizeScreen-CLgcLY96.js +4 -0
  11. package/dist/webdist/assets/DeveloperScreen-CDRUPDNH.js +1 -0
  12. package/dist/webdist/assets/EnginesScreen-Cgn0suwB.js +7 -0
  13. package/dist/webdist/assets/FsBrowser-jN8FOadG.js +1 -0
  14. package/dist/webdist/assets/ModelLoadMenu-L976cVK2.js +2 -0
  15. package/dist/webdist/assets/{ModelsScreen-DuUqlRGS.js → ModelsScreen-C6F8L2lP.js} +2 -2
  16. package/dist/webdist/assets/SettingsScreen-Bbxo0o6Z.js +1 -0
  17. package/dist/webdist/assets/{SkillEditPage-D6OKcHNG.js → SkillEditPage-Dlwmzyj5.js} +1 -1
  18. package/dist/webdist/assets/{TokensScreen-DblmY7_u.js → TokensScreen-CBevGp-z.js} +1 -1
  19. package/dist/webdist/assets/{MessageBubble-BxDHn4od.js → ToolApprovalBar-DnXllBoo.js} +16 -15
  20. package/dist/webdist/assets/WorkspaceScreen-DW8fhHyQ.js +1 -0
  21. package/dist/webdist/assets/{agent-api-DZqYdw7O.js → agent-api-O8wWVGcr.js} +1 -1
  22. package/dist/webdist/assets/arc-CQVQV0bp.js +1 -0
  23. package/dist/webdist/assets/architectureDiagram-3BPJPVTR-H-Mb9chI.js +36 -0
  24. package/dist/webdist/assets/{arrow-left-CGv_OXEs.js → arrow-left-DueDI4Uy.js} +1 -1
  25. package/dist/webdist/assets/badge-9Ks3OTiY.js +1 -0
  26. package/dist/webdist/assets/{blockDiagram-GPEHLZMM-DxjGvSV7.js → blockDiagram-GPEHLZMM-BuB5_KcP.js} +1 -1
  27. package/dist/webdist/assets/{bot-CD_BRtw9.js → bot-C1XfUPJ6.js} +1 -1
  28. package/dist/webdist/assets/{c4Diagram-AAUBKEIU-C9AuWiX4.js → c4Diagram-AAUBKEIU-D6j10p1Y.js} +1 -1
  29. package/dist/webdist/assets/channel-DL1wlWc3.js +1 -0
  30. package/dist/webdist/assets/{chat-api-B6AobDYd.js → chat-api-BUhr1L49.js} +3 -3
  31. package/dist/webdist/assets/chat-queries-C3B2yhFj.js +1 -0
  32. package/dist/webdist/assets/check-DpwlZ09-.js +1 -0
  33. package/dist/webdist/assets/{chevron-left-B-1Bh1dK.js → chevron-left-DCWiYX-E.js} +1 -1
  34. package/dist/webdist/assets/{chevron-right-By1T2-Hr.js → chevron-right-pdRyf_Eq.js} +1 -1
  35. package/dist/webdist/assets/{chunk-2J33WTMH-jxkAgaR9.js → chunk-2J33WTMH-CWiMU4wH.js} +1 -1
  36. package/dist/webdist/assets/{chunk-4BX2VUAB-BNFzh5g5.js → chunk-4BX2VUAB-C-oMxSW6.js} +1 -1
  37. package/dist/webdist/assets/{chunk-55IACEB6-DX5wR3Qq.js → chunk-55IACEB6-BCRoeq5k.js} +1 -1
  38. package/dist/webdist/assets/{chunk-727SXJPM-CbrKMz1R.js → chunk-727SXJPM-BbHqxFbG.js} +1 -1
  39. package/dist/webdist/assets/{chunk-AQP2D5EJ-CNb3wWkL.js → chunk-AQP2D5EJ-ButGmr8P.js} +1 -1
  40. package/dist/webdist/assets/{chunk-FMBD7UC4-DEhDwjoQ.js → chunk-FMBD7UC4-DKI8m0TV.js} +1 -1
  41. package/dist/webdist/assets/{chunk-ND2GUHAM-BHmlzliw.js → chunk-ND2GUHAM-Bs3XC7R7.js} +1 -1
  42. package/dist/webdist/assets/{chunk-QZHKN3VN-uI16s_C7.js → chunk-QZHKN3VN-BNfpdzfY.js} +1 -1
  43. package/dist/webdist/assets/circle-check-Bkj-plFS.js +1 -0
  44. package/dist/webdist/assets/{circle-x-yVtiCsS-.js → circle-x-C8OFx7JZ.js} +1 -1
  45. package/dist/webdist/assets/classDiagram-4FO5ZUOK-BqB0gU2U.js +1 -0
  46. package/dist/webdist/assets/classDiagram-v2-Q7XG4LA2-BqB0gU2U.js +1 -0
  47. package/dist/webdist/assets/collapsible-BP6hWVJl.js +1 -0
  48. package/dist/webdist/assets/{common-D_CzNUTa.js → common-BZRA66BA.js} +1 -1
  49. package/dist/webdist/assets/copy-button-BveaGT4h.js +1 -0
  50. package/dist/webdist/assets/{cose-bilkent-S5V4N54A-B1nfQjrr.js → cose-bilkent-S5V4N54A-DhZrfcwd.js} +1 -1
  51. package/dist/webdist/assets/{dagre-BM42HDAG-B6nBvZED.js → dagre-BM42HDAG-w59rkdsA.js} +1 -1
  52. package/dist/webdist/assets/{diagram-2AECGRRQ-4HWbpgy8.js → diagram-2AECGRRQ-BdTCCJ0W.js} +1 -1
  53. package/dist/webdist/assets/{diagram-5GNKFQAL-DYfcLJfD.js → diagram-5GNKFQAL-ZZDkePvS.js} +1 -1
  54. package/dist/webdist/assets/{diagram-KO2AKTUF-BIqc86GH.js → diagram-KO2AKTUF-CFG-oPSH.js} +1 -1
  55. package/dist/webdist/assets/{diagram-LMA3HP47-CfsmrpTV.js → diagram-LMA3HP47-D1xIF2PG.js} +1 -1
  56. package/dist/webdist/assets/{diagram-OG6HWLK6-DdZxRjl2.js → diagram-OG6HWLK6-33OyN5UI.js} +1 -1
  57. package/dist/webdist/assets/dialog-lSZ58YOX.js +1 -0
  58. package/dist/webdist/assets/{erDiagram-TEJ5UH35-BINxvowu.js → erDiagram-TEJ5UH35-CmVhoR3c.js} +1 -1
  59. package/dist/webdist/assets/external-link-BMN-irzE.js +1 -0
  60. package/dist/webdist/assets/{flowDiagram-I6XJVG4X-BphwX6XS.js → flowDiagram-I6XJVG4X-WMlzGSnn.js} +1 -1
  61. package/dist/webdist/assets/{ganttDiagram-6RSMTGT7-C63SidXF.js → ganttDiagram-6RSMTGT7-BJLo3ueL.js} +1 -1
  62. package/dist/webdist/assets/git-branch-B4Zerf_C.js +1 -0
  63. package/dist/webdist/assets/{gitGraphDiagram-PVQCEYII-D9FpCno0.js → gitGraphDiagram-PVQCEYII-BMDKDbc6.js} +1 -1
  64. package/dist/webdist/assets/{index-g6XC4RLK.js → index-18g2acqe.js} +17 -17
  65. package/dist/webdist/assets/index-BT3X9hod.js +10 -0
  66. package/dist/webdist/assets/index-DLgbKhrx.css +1 -0
  67. package/dist/webdist/assets/{infoDiagram-5YYISTIA-BTrZQ4Wc.js → infoDiagram-5YYISTIA-DsBmPCqk.js} +1 -1
  68. package/dist/webdist/assets/{ishikawaDiagram-YF4QCWOH-CtpkiMI3.js → ishikawaDiagram-YF4QCWOH-DIRruXw4.js} +1 -1
  69. package/dist/webdist/assets/{journeyDiagram-JHISSGLW-Cs5Ssisp.js → journeyDiagram-JHISSGLW-CbEMG5w1.js} +1 -1
  70. package/dist/webdist/assets/{kanban-definition-UN3LZRKU-Bd2W5L9B.js → kanban-definition-UN3LZRKU-BUQ978A5.js} +5 -5
  71. package/dist/webdist/assets/layers-DDa_JhQb.js +1 -0
  72. package/dist/webdist/assets/{linear-GlXwNR5R.js → linear-C1OpvMyX.js} +1 -1
  73. package/dist/webdist/assets/{mermaid.core-BmvPXnHB.js → mermaid.core-C5mzu5db.js} +5 -5
  74. package/dist/webdist/assets/{mindmap-definition-RKZ34NQL-CuO5FwWr.js → mindmap-definition-RKZ34NQL-C8VgTDps.js} +2 -2
  75. package/dist/webdist/assets/pencil-DLZvuPKt.js +1 -0
  76. package/dist/webdist/assets/{personas-C_VMMyvv.js → personas-mlw8yQfu.js} +17 -7
  77. package/dist/webdist/assets/{pieDiagram-4H26LBE5-CLty44d5.js → pieDiagram-4H26LBE5-CtIMFL5O.js} +1 -1
  78. package/dist/webdist/assets/plus-HphyEDmN.js +1 -0
  79. package/dist/webdist/assets/{quadrantDiagram-W4KKPZXB-BK9u_S8e.js → quadrantDiagram-W4KKPZXB-DIqeifSf.js} +1 -1
  80. package/dist/webdist/assets/{radix-krE_SGZJ.js → radix-B85O-RTd.js} +1 -1
  81. package/dist/webdist/assets/refresh-cw-y2Z1FMEB.js +1 -0
  82. package/dist/webdist/assets/{requirementDiagram-4Y6WPE33-DaldyJn3.js → requirementDiagram-4Y6WPE33-BPdTK6aB.js} +1 -1
  83. package/dist/webdist/assets/{rotate-ccw-xceH34T7.js → rotate-ccw-CwgndVE1.js} +1 -1
  84. package/dist/webdist/assets/{sankeyDiagram-5OEKKPKP-ECm1YkbT.js → sankeyDiagram-5OEKKPKP-B1Gi97qT.js} +1 -1
  85. package/dist/webdist/assets/{sequenceDiagram-3UESZ5HK-D_WQr7Ox.js → sequenceDiagram-3UESZ5HK-SYx7VZVE.js} +1 -1
  86. package/dist/webdist/assets/skeleton-BsVUTiYp.js +1 -0
  87. package/dist/webdist/assets/sliders-horizontal-5GgMjS2o.js +1 -0
  88. package/dist/webdist/assets/{star-uW87WNRR.js → star-CS1ent0J.js} +1 -1
  89. package/dist/webdist/assets/{stateDiagram-AJRCARHV-Dc4nVZrV.js → stateDiagram-AJRCARHV-B9cLtTOo.js} +1 -1
  90. package/dist/webdist/assets/stateDiagram-v2-BHNVJYJU-B74HcsOd.js +1 -0
  91. package/dist/webdist/assets/{switch-4XvTVvk1.js → switch-6Yli7CDA.js} +1 -1
  92. package/dist/webdist/assets/terminal-ClfB9HZ7.js +1 -0
  93. package/dist/webdist/assets/{timeline-definition-PNZ67QCA-BLAoVxaR.js → timeline-definition-PNZ67QCA-B1F891lb.js} +3 -3
  94. package/dist/webdist/assets/tool-explain-B8rnv8bW.js +1 -0
  95. package/dist/webdist/assets/{trash-2-BazpB6Tv.js → trash-2-BT9psXif.js} +1 -1
  96. package/dist/webdist/assets/useIsDesktop-Cfo6Oh8W.js +1 -0
  97. package/dist/webdist/assets/{vendor-BE0HADM8.js → vendor-BFom-Mq6.js} +1 -1
  98. package/dist/webdist/assets/{vennDiagram-CIIHVFJN-Dxiec1ZZ.js → vennDiagram-CIIHVFJN-BDuJrthf.js} +5 -5
  99. package/dist/webdist/assets/{wardley-L42UT6IY-B6eLCEJg.js → wardley-L42UT6IY-CZKN4Z4o.js} +1 -1
  100. package/dist/webdist/assets/{wardleyDiagram-YWT4CUSO-CZda0vR7.js → wardleyDiagram-YWT4CUSO-DxNYqbgl.js} +1 -1
  101. package/dist/webdist/assets/wrench-B3syOd6q.js +1 -0
  102. package/dist/webdist/assets/{xychartDiagram-2RQKCTM6-B8xutv1Z.js → xychartDiagram-2RQKCTM6-D3MXmGWF.js} +1 -1
  103. package/dist/webdist/index.html +4 -4
  104. package/package.json +8 -2
  105. package/dist/webdist/assets/ChatScreen-Dmt_qvDr.js +0 -65
  106. package/dist/webdist/assets/CustomizeScreen-Dy4Cn3bT.js +0 -4
  107. package/dist/webdist/assets/DeveloperScreen-DFs3rx7C.js +0 -1
  108. package/dist/webdist/assets/EnginesScreen-RkTfEghZ.js +0 -7
  109. package/dist/webdist/assets/FsBrowser-Dz4gWOWq.js +0 -1
  110. package/dist/webdist/assets/SettingsScreen-BfP75nuS.js +0 -1
  111. package/dist/webdist/assets/WorkspaceScreen-DLfMYwYA.js +0 -1
  112. package/dist/webdist/assets/arc-DV0DkONk.js +0 -1
  113. package/dist/webdist/assets/architectureDiagram-3BPJPVTR-CCklxbKw.js +0 -36
  114. package/dist/webdist/assets/badge-K_-MWGgP.js +0 -1
  115. package/dist/webdist/assets/channel-D8wWQ4tZ.js +0 -1
  116. package/dist/webdist/assets/check-Dwz6EU4N.js +0 -1
  117. package/dist/webdist/assets/classDiagram-4FO5ZUOK-BCecvXTJ.js +0 -1
  118. package/dist/webdist/assets/classDiagram-v2-Q7XG4LA2-BCecvXTJ.js +0 -1
  119. package/dist/webdist/assets/collapsible-D0c6B4Ip.js +0 -1
  120. package/dist/webdist/assets/dialog-C5rebm8b.js +0 -1
  121. package/dist/webdist/assets/folder-input-DsjMa7S5.js +0 -1
  122. package/dist/webdist/assets/index-BAK-ZQCj.css +0 -1
  123. package/dist/webdist/assets/index-Cl88q0Ki.js +0 -10
  124. package/dist/webdist/assets/pencil-C4EXnT_a.js +0 -1
  125. package/dist/webdist/assets/refresh-cw-ChBdLwHh.js +0 -1
  126. package/dist/webdist/assets/skeleton-DK4wQNYn.js +0 -1
  127. package/dist/webdist/assets/stateDiagram-v2-BHNVJYJU-b4uEiOn_.js +0 -1
  128. package/dist/webdist/assets/useIsDesktop-BRKlTjOF.js +0 -1
  129. package/dist/webdist/assets/wrench-DffxK2pt.js +0 -1
package/README.md CHANGED
@@ -170,6 +170,10 @@ the detail:
170
170
  (`-ngl`), **MoE CPU-offload (`--n-cpu-moe`)**, parallel slots, **KV-cache quant type** (incl.
171
171
  low-bit on supporting forks), CPU threads, flash attention, and **speculative decoding (NextN /
172
172
  MTP / draft, with a configurable draft min/max window)**.
173
+ - **Auto-fit GPU layers / MoE offload** — an optional toggle (off by default) that hands the
174
+ GPU/CPU split decision to llama.cpp's own memory-fitting logic at load time instead of a fixed
175
+ number, honored by Auto-tune too. Useful when a large context or model doesn't fit your usual
176
+ fixed setting.
173
177
  - **Fast by default:** flash attention on, NextN self-speculative decoding on for models that
174
178
  carry a draft head, threads auto — safely gated to what your engine actually accepts.
175
179
  - **Multi-GPU, per model** — split a model across cards (layer/row split + main-GPU pick on
@@ -232,6 +236,35 @@ the detail:
232
236
  in chat (name, preferences, hardware) using your own loaded model, and carries them into future
233
237
  new conversations. Nothing leaves your device; the full fact list is reviewable and deletable
234
238
  from Settings → Memory, and turning the toggle off stops new chats from seeing it immediately.
239
+ - **Thinking-budget control** — a graduated slider, not just on/off: cap reasoning to a specific
240
+ token count, disable it entirely, or leave it unlimited. Works in Chat and Code alike.
241
+
242
+ </details>
243
+
244
+ <details>
245
+ <summary><strong>🧑‍💻 Code — a local coding agent, in a real project directory</strong></summary>
246
+ <em>(experimental, off by default — Settings → Experimental)</em>
247
+
248
+ <br/>
249
+
250
+ Workspace → Code hands a task to an agent running on the same model you already have loaded —
251
+ point it at a repo folder, describe what you want, and it reads, edits, and runs commands to get
252
+ there. Entirely local; nothing leaves your machine.
253
+
254
+ - **Real repo access** — plans and edits end-to-end (or asks before mutating, or plan-only,
255
+ depending on mode), with an optional isolated git worktree so your actual checkout stays
256
+ untouched, and a real diff summary of what changed.
257
+ - **Persistent sessions** — archive/filter past runs, revert to any earlier message (with
258
+ optional real file-edit reversal), attach files as context, and a "Coding activity" dashboard
259
+ (sessions, tasks shipped, files touched, diff shipped, streaks) built from real history, not
260
+ mock data.
261
+ - **Real LSP integration** for TypeScript/JavaScript and Python — detects the language, installs
262
+ the language server if needed, and uses it for edits.
263
+ - **The same tools Chat gets from Customize** — any connected MCP server, plus the sandboxed
264
+ `run_code` tool — are available to Code too, alongside honest skill invocation and
265
+ `AGENTS.md`/`agents.md` support.
266
+ - **Independent access control** — gated behind its own API key on non-host devices, separate
267
+ from Chat's gate, and hidden entirely until you opt in from Settings → Experimental.
235
268
 
236
269
  </details>
237
270
 
@@ -363,6 +396,10 @@ CUDA / a compiler — MSVC on Windows, gcc/clang on Linux), hands you the exact
363
396
  (or a 1-click **"Build it for me"** on Windows and Linux), then drops you into the folder scan
364
397
  above.
365
398
 
399
+ **Or skip the manual clone entirely** — Engines screen → **Add via git repo**: paste any
400
+ llama.cpp-compatible fork's git URL (+ optional branch, defaults to the repo's own default) and
401
+ build it in-app with the same 1-click flow, no separate "point at a folder" step needed.
402
+
366
403
  **Auto-provisioned default.** Don't want to fetch anything? On first run TurboLLM downloads
367
404
  the right upstream prebuilt for your GPU automatically — and a **backend picker** lets you
368
405
  switch between CUDA / ROCm / Metal / SYCL / Vulkan / CPU at any time (it downloads the variant
@@ -7,11 +7,17 @@ import { join } from "path";
7
7
  // src/engines/compat.ts
8
8
  function engineAcceptsFormat(engineKind, format) {
9
9
  if (engineKind === "mlx") return format === "mlx";
10
+ if (engineKind === "rapid-mlx") return format === "mlx";
10
11
  if (engineKind === "vllm") return format === "mlx";
11
12
  return format === "gguf";
12
13
  }
14
+ function engineRejectsAudioModel(engineKind) {
15
+ return engineKind === "rapid-mlx";
16
+ }
13
17
  var ENGINE_MODEL_ALIAS = "default_model";
18
+ var RAPID_MLX_MODEL_ALIAS = "default";
14
19
  function engineModelAlias(engineKind) {
20
+ if (engineKind === "rapid-mlx") return RAPID_MLX_MODEL_ALIAS;
15
21
  return engineKind === "mlx" || engineKind === "vllm" || engineKind === "sglang" ? ENGINE_MODEL_ALIAS : null;
16
22
  }
17
23
  var VENDOR_DISPLAY = {
@@ -86,7 +92,7 @@ Write ONE reusable skill as raw JSON \u2014 no markdown fences.` }
86
92
  ],
87
93
  temperature: 0.3,
88
94
  max_tokens: 800,
89
- reasoning_budget: 0,
95
+ thinking_budget_tokens: 0,
90
96
  chat_template_kwargs: { enable_thinking: false },
91
97
  response_format: { type: "json_object" },
92
98
  stream: false
@@ -168,6 +174,7 @@ ${f.content}`);
168
174
 
169
175
  export {
170
176
  engineAcceptsFormat,
177
+ engineRejectsAudioModel,
171
178
  engineModelAlias,
172
179
  evaluateVariant,
173
180
  distillFromConversation,