turbollm 1.9.2 → 1.9.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 (112) hide show
  1. package/README.md +25 -6
  2. package/dist/cli.js +863 -223
  3. package/dist/webdist/assets/{AgentEditPage-CyzZ8vDr.js → AgentEditPage-CbJqYCVo.js} +1 -1
  4. package/dist/webdist/assets/{ChatScreen-DWVblPWw.js → ChatScreen-LaTz7fTZ.js} +3 -3
  5. package/dist/webdist/assets/CodeComposer-12z9dbZA.js +1 -0
  6. package/dist/webdist/assets/CodeHomeScreen-8A3Anu2L.js +1 -0
  7. package/dist/webdist/assets/{CodeSessionScreen-BtA5u3li.js → CodeSessionScreen-BoA5rPp7.js} +3 -3
  8. package/dist/webdist/assets/CustomizeScreen-BTBhphFE.js +4 -0
  9. package/dist/webdist/assets/DeveloperScreen-Dfy6Rgw4.js +1 -0
  10. package/dist/webdist/assets/{EnginesScreen-ChGdOOW9.js → EnginesScreen-Dwxe8B5p.js} +6 -6
  11. package/dist/webdist/assets/FsBrowser-DXxO1QdQ.js +1 -0
  12. package/dist/webdist/assets/{ModelLoadMenu-DzaxKmIV.js → ModelLoadMenu-C7wK_COK.js} +2 -2
  13. package/dist/webdist/assets/{ModelsScreen-wuI7h511.js → ModelsScreen-DnpYzOj2.js} +2 -2
  14. package/dist/webdist/assets/SettingsScreen-Tn8PlYcS.js +2 -0
  15. package/dist/webdist/assets/{SkillEditPage-XGTaeQ8o.js → SkillEditPage-Bzr1Mfqi.js} +1 -1
  16. package/dist/webdist/assets/{TokensScreen-B02y3G-H.js → TokensScreen-BrnFne8W.js} +1 -1
  17. package/dist/webdist/assets/{ToolApprovalBar-D4YRUMat.js → ToolApprovalBar-BfIwjh_G.js} +4 -4
  18. package/dist/webdist/assets/WorkspaceScreen-CHg7GC1T.js +1 -0
  19. package/dist/webdist/assets/{agent-api-D86F96i6.js → agent-api-C0qMHAE0.js} +1 -1
  20. package/dist/webdist/assets/{arc-BScxM0vj.js → arc-DGmQFsDA.js} +1 -1
  21. package/dist/webdist/assets/{architectureDiagram-3BPJPVTR-DbIjWGrc.js → architectureDiagram-3BPJPVTR-DSypGjGj.js} +1 -1
  22. package/dist/webdist/assets/{arrow-left-Cz7XgLgo.js → arrow-left-CuK9vFgW.js} +1 -1
  23. package/dist/webdist/assets/{badge-CRVn2top.js → badge-jlftBi-Q.js} +1 -1
  24. package/dist/webdist/assets/{blockDiagram-GPEHLZMM-COy0nYNX.js → blockDiagram-GPEHLZMM-DoYsQhuo.js} +1 -1
  25. package/dist/webdist/assets/{bot-C-sGABri.js → bot-CE50aKt3.js} +1 -1
  26. package/dist/webdist/assets/{c4Diagram-AAUBKEIU-CoiZua-v.js → c4Diagram-AAUBKEIU-DsQ4mGev.js} +1 -1
  27. package/dist/webdist/assets/channel-BBYa3XlX.js +1 -0
  28. package/dist/webdist/assets/{chat-api-CdVOTSst.js → chat-api-BQgsmVCJ.js} +1 -1
  29. package/dist/webdist/assets/{chat-queries-DINfS8uv.js → chat-queries-BuU4cQ0I.js} +1 -1
  30. package/dist/webdist/assets/{chevron-left-CbPqt11D.js → chevron-left-BoIfI017.js} +1 -1
  31. package/dist/webdist/assets/{chevron-right-C8EPnhrg.js → chevron-right-Btn5ue2K.js} +1 -1
  32. package/dist/webdist/assets/{chunk-2J33WTMH-B-ggs358.js → chunk-2J33WTMH-Cpm4yaej.js} +1 -1
  33. package/dist/webdist/assets/{chunk-4BX2VUAB-CBSHARpe.js → chunk-4BX2VUAB-Qkt8VpMd.js} +1 -1
  34. package/dist/webdist/assets/{chunk-55IACEB6-BikCaTgS.js → chunk-55IACEB6-D0lIZ5zv.js} +1 -1
  35. package/dist/webdist/assets/{chunk-727SXJPM-B8Uooh_X.js → chunk-727SXJPM-DmJbKG_f.js} +1 -1
  36. package/dist/webdist/assets/{chunk-AQP2D5EJ-C-wZiAmx.js → chunk-AQP2D5EJ-CP5FXopV.js} +1 -1
  37. package/dist/webdist/assets/{chunk-FMBD7UC4-lkRMU7V5.js → chunk-FMBD7UC4-CEHj-mOu.js} +1 -1
  38. package/dist/webdist/assets/{chunk-ND2GUHAM-CTBUDTXK.js → chunk-ND2GUHAM-DfaWkbDp.js} +1 -1
  39. package/dist/webdist/assets/{chunk-QZHKN3VN-CKOXFQ-c.js → chunk-QZHKN3VN-Cbt4eIAq.js} +1 -1
  40. package/dist/webdist/assets/{circle-check-dbo4u23c.js → circle-check-CyJ0DXgY.js} +1 -1
  41. package/dist/webdist/assets/{circle-x-CuPWHB4Y.js → circle-x-B2ihWKOZ.js} +1 -1
  42. package/dist/webdist/assets/classDiagram-4FO5ZUOK-3anTq5dR.js +1 -0
  43. package/dist/webdist/assets/classDiagram-v2-Q7XG4LA2-3anTq5dR.js +1 -0
  44. package/dist/webdist/assets/{common-RZkQjs09.js → common-CA-hju85.js} +1 -1
  45. package/dist/webdist/assets/{cose-bilkent-S5V4N54A-L3BPlYev.js → cose-bilkent-S5V4N54A-U7v4kFOg.js} +1 -1
  46. package/dist/webdist/assets/{dagre-BM42HDAG-DdFZFhxI.js → dagre-BM42HDAG-BrRqvg5R.js} +1 -1
  47. package/dist/webdist/assets/{diagram-2AECGRRQ-Bx4JyVtd.js → diagram-2AECGRRQ-CSOuZx8C.js} +1 -1
  48. package/dist/webdist/assets/{diagram-5GNKFQAL-DYxtCUYO.js → diagram-5GNKFQAL-Dc9npHHs.js} +1 -1
  49. package/dist/webdist/assets/{diagram-KO2AKTUF-BSV0zTVR.js → diagram-KO2AKTUF-CRMmrYOC.js} +1 -1
  50. package/dist/webdist/assets/{diagram-LMA3HP47-CS-L_g7_.js → diagram-LMA3HP47-DR-qZazu.js} +1 -1
  51. package/dist/webdist/assets/{diagram-OG6HWLK6-D8uK9mOu.js → diagram-OG6HWLK6-BRt3haop.js} +1 -1
  52. package/dist/webdist/assets/{dialog-fsfhY_Ib.js → dialog-OPLOEGn-.js} +1 -1
  53. package/dist/webdist/assets/{dropdown-menu-B6pYEdad.js → dropdown-menu-mOPaoWK5.js} +1 -1
  54. package/dist/webdist/assets/{erDiagram-TEJ5UH35-DX-3blsY.js → erDiagram-TEJ5UH35-D0M-EUsh.js} +1 -1
  55. package/dist/webdist/assets/{flowDiagram-I6XJVG4X-DUTsLqgt.js → flowDiagram-I6XJVG4X-DBufQOmB.js} +1 -1
  56. package/dist/webdist/assets/{ganttDiagram-6RSMTGT7-CwH0oq0S.js → ganttDiagram-6RSMTGT7-B6zSUp2B.js} +1 -1
  57. package/dist/webdist/assets/{git-branch-BiMfcJ1j.js → git-branch-D8GYPzhY.js} +1 -1
  58. package/dist/webdist/assets/{gitGraphDiagram-PVQCEYII-CmLeqvWh.js → gitGraphDiagram-PVQCEYII-CnSmYO2G.js} +1 -1
  59. package/dist/webdist/assets/index-COUI_CR-.js +13 -0
  60. package/dist/webdist/assets/index-DKAl71q8.css +1 -0
  61. package/dist/webdist/assets/{infoDiagram-5YYISTIA-BFTUzkbq.js → infoDiagram-5YYISTIA-F6nF57e3.js} +1 -1
  62. package/dist/webdist/assets/{ishikawaDiagram-YF4QCWOH-BdQIrqQU.js → ishikawaDiagram-YF4QCWOH-DXMvubwx.js} +1 -1
  63. package/dist/webdist/assets/{journeyDiagram-JHISSGLW-D1HmHaNc.js → journeyDiagram-JHISSGLW-BcMZWZZi.js} +1 -1
  64. package/dist/webdist/assets/{kanban-definition-UN3LZRKU-C5USgc8m.js → kanban-definition-UN3LZRKU-BhA3iHrI.js} +1 -1
  65. package/dist/webdist/assets/{linear-BDGxyxLo.js → linear-DCHP6NLs.js} +1 -1
  66. package/dist/webdist/assets/{lock-DCb387O_.js → lock-DEL9SW4n.js} +1 -1
  67. package/dist/webdist/assets/{mermaid.core-DWCJxsCl.js → mermaid.core-Bvxj3QV6.js} +4 -4
  68. package/dist/webdist/assets/{mindmap-definition-RKZ34NQL-BV3H5rWG.js → mindmap-definition-RKZ34NQL-DFW-B7At.js} +1 -1
  69. package/dist/webdist/assets/{pencil-BegDY0Zk.js → pencil-D3YoSpTL.js} +1 -1
  70. package/dist/webdist/assets/{personas-DNCENHUd.js → personas-BL5LWber.js} +2 -2
  71. package/dist/webdist/assets/{pieDiagram-4H26LBE5-DDN9VAOL.js → pieDiagram-4H26LBE5-D22oz4Bh.js} +1 -1
  72. package/dist/webdist/assets/{plus-DrZmKBTt.js → plus-Czof1-k0.js} +1 -1
  73. package/dist/webdist/assets/{quadrantDiagram-W4KKPZXB-Bx16Ru8w.js → quadrantDiagram-W4KKPZXB-rH5_lBaU.js} +1 -1
  74. package/dist/webdist/assets/{refresh-cw-B7Qjdj47.js → refresh-cw-eHr6ZrHD.js} +1 -1
  75. package/dist/webdist/assets/{requirementDiagram-4Y6WPE33-k0upGaul.js → requirementDiagram-4Y6WPE33-2GvaIJsP.js} +1 -1
  76. package/dist/webdist/assets/{rotate-ccw-B7o8hLk6.js → rotate-ccw-DBvaE0Sq.js} +1 -1
  77. package/dist/webdist/assets/{sankeyDiagram-5OEKKPKP-xyOWBpSr.js → sankeyDiagram-5OEKKPKP-VB7s7E26.js} +1 -1
  78. package/dist/webdist/assets/{sequenceDiagram-3UESZ5HK-BhBclCRW.js → sequenceDiagram-3UESZ5HK-DypBxMgR.js} +1 -1
  79. package/dist/webdist/assets/{skeleton-D15eL_7e.js → skeleton-COip0Uxa.js} +1 -1
  80. package/dist/webdist/assets/{sliders-horizontal-C4_t3PES.js → sliders-horizontal-BYbWJESN.js} +1 -1
  81. package/dist/webdist/assets/{sparkles-BT45JGMR.js → sparkles-Bunle1wO.js} +1 -1
  82. package/dist/webdist/assets/{star-SskkfhIb.js → star-CDjPloh2.js} +1 -1
  83. package/dist/webdist/assets/{stateDiagram-AJRCARHV-902Ow1i4.js → stateDiagram-AJRCARHV-De6Tx6UP.js} +1 -1
  84. package/dist/webdist/assets/stateDiagram-v2-BHNVJYJU-BJ8zIW-S.js +1 -0
  85. package/dist/webdist/assets/{switch-C-l-ej5M.js → switch-CrtIhLpg.js} +1 -1
  86. package/dist/webdist/assets/{terminal-55Og1Fyx.js → terminal-C_jrBBqy.js} +1 -1
  87. package/dist/webdist/assets/{timeline-definition-PNZ67QCA-BEyTzrTZ.js → timeline-definition-PNZ67QCA-DzMJnztZ.js} +1 -1
  88. package/dist/webdist/assets/{trash-2-B9nMCHMA.js → trash-2-BA8fBFXw.js} +1 -1
  89. package/dist/webdist/assets/useIsDesktop-Dg2G692v.js +1 -0
  90. package/dist/webdist/assets/{vennDiagram-CIIHVFJN-C77U6Nzk.js → vennDiagram-CIIHVFJN-BNR_zHHW.js} +1 -1
  91. package/dist/webdist/assets/{wardley-L42UT6IY-BZ10FiAs.js → wardley-L42UT6IY-Cm1Sh5Oj.js} +1 -1
  92. package/dist/webdist/assets/{wardleyDiagram-YWT4CUSO-DgrAaqyf.js → wardleyDiagram-YWT4CUSO-Bvni8f-6.js} +1 -1
  93. package/dist/webdist/assets/{wrench-DMY_WSQ9.js → wrench-Uhws4miP.js} +1 -1
  94. package/dist/webdist/assets/{xychartDiagram-2RQKCTM6-BlzVJUn3.js → xychartDiagram-2RQKCTM6-Dyk7o391.js} +1 -1
  95. package/dist/webdist/index.html +2 -2
  96. package/package.json +1 -1
  97. package/dist/webdist/assets/CodeComposer-BvNMY6PI.js +0 -1
  98. package/dist/webdist/assets/CodeHomeScreen-CmzaqOmH.js +0 -1
  99. package/dist/webdist/assets/CustomizeScreen-ACC_4SMn.js +0 -4
  100. package/dist/webdist/assets/DeveloperScreen-CSJZh91v.js +0 -1
  101. package/dist/webdist/assets/FsBrowser-D9RjrjvO.js +0 -1
  102. package/dist/webdist/assets/SettingsScreen-DsKi9vxM.js +0 -1
  103. package/dist/webdist/assets/WorkspaceScreen-DRoUxluw.js +0 -1
  104. package/dist/webdist/assets/channel-8eXCTkKl.js +0 -1
  105. package/dist/webdist/assets/check-Do9IgpFj.js +0 -1
  106. package/dist/webdist/assets/classDiagram-4FO5ZUOK-D5bPDMhb.js +0 -1
  107. package/dist/webdist/assets/classDiagram-v2-Q7XG4LA2-D5bPDMhb.js +0 -1
  108. package/dist/webdist/assets/copy-button-DKUAZ6Ig.js +0 -1
  109. package/dist/webdist/assets/index-CXwfn7-U.css +0 -1
  110. package/dist/webdist/assets/index-DaNuMYPC.js +0 -10
  111. package/dist/webdist/assets/stateDiagram-v2-BHNVJYJU-B5LKF3CJ.js +0 -1
  112. package/dist/webdist/assets/useIsDesktop-D2KX8NOA.js +0 -1
package/README.md CHANGED
@@ -99,7 +99,9 @@ TurboLLM does the opposite:
99
99
  - **🔀 A gateway that loads models for you.** Name any model in your API request and TurboLLM
100
100
  loads it on demand, keeping your favorites hot in a small pool — so an agent that hops between
101
101
  models just works, with nothing to pre-wire.
102
- - **🔒 Offline-first & private.** No account, no backend, no internet, **no telemetry.**
102
+ - **🔒 Offline-first & private.** No account, no backend, no internet required. Telemetry is
103
+ **fully opt-in and off by default** — choose Off and nothing but that one-time choice is ever
104
+ sent, or opt in and see exactly what leaves your machine, verified in [Privacy](#privacy).
103
105
 
104
106
  ---
105
107
 
@@ -400,7 +402,8 @@ connected); **Remove** undoes it.
400
402
  <br/>
401
403
 
402
404
  - A **~7 MB npm package** on Node — no Electron, no bundled Chromium, no Python.
403
- - **Offline-first** — no account, no backend, no internet, no telemetry.
405
+ - **Offline-first** — no account, no backend, no internet required. Telemetry is opt-in and off
406
+ by default; see [Privacy](#privacy).
404
407
  - **Windows · macOS · Linux**, with a CPU fallback when there's no GPU.
405
408
 
406
409
  </details>
@@ -581,8 +584,23 @@ Use `--config <file>` to point at an alternate config (its directory becomes the
581
584
  ## Privacy
582
585
 
583
586
  TurboLLM is **offline-first**: core local use needs no account, no backend, and no internet.
584
- **No analytics or telemetry are collected.** Your prompts, chats, files, and keys never leave
585
- your machine.
587
+
588
+ **Your prompts, chats, files, and keys never leave your machine — regardless of your telemetry
589
+ choice.** That's not a promise you have to take on faith: the client is source-available, so the
590
+ claim is checkable against the actual code that ships.
591
+
592
+ **Telemetry is opt-in, and off by default.** On first run you choose one of three levels, with no
593
+ pre-selected option:
594
+
595
+ - **Off** — sends only that one-time choice, nothing else, ever.
596
+ - **Anonymous usage + benchmarks** — which features you use, your hardware, model names, and
597
+ measured speed. Never prompts, files, paths, or keys.
598
+ - **+ Crash reports** — adds error fingerprints (never your content).
599
+
600
+ You can preview the exact payload before anything is sent, and inspect a running log of every
601
+ event this machine has *actually* transmitted, from **Settings → Privacy & telemetry**. For
602
+ scripted or unattended use, `--no-telemetry` (or `TURBOLLM_TELEMETRY=off`) is a hard, one-way kill
603
+ switch, independent of the saved level.
586
604
 
587
605
  ---
588
606
 
@@ -603,12 +621,13 @@ Marks reflect mid-2026; verify the moving rows against each tool's current docs.
603
621
  | Speculative decoding (draft / MTP) | ✅ | ✅ | ◐ env flag | ❌ |
604
622
  | Web UI from any LAN device | ✅ | ❌ | ❌ | ✅ |
605
623
  | **Lightweight** (no Electron / no Python) | ✅ npm | ❌ Electron | ✅ Go | ❌ Python |
606
- | Offline-first · **no telemetry** | ✅ verifiable (source-available) | ◐ closed app — not verifiable | ✅ | ✅ |
624
+ | Offline-first · **opt-in, verifiable telemetry** | ✅ verifiable (source-available) | ◐ closed app — not verifiable | ✅ | ✅ |
607
625
 
608
626
  LM Studio and Ollama both added Anthropic `/v1/messages` endpoints in 2026, so the API rows are
609
627
  now parity — Claude Code works against any of them. TurboLLM's durable edges are **any engine
610
628
  including community forks**, **benchmark-based auto-tuning with a VRAM-fit verdict + measured t/s
611
- before you commit**, and **zero telemetry**.
629
+ before you commit**, and **telemetry you can actually verify** — opt-in, off by default, and
630
+ checkable against source-available code rather than taken on trust.
612
631
 
613
632
  Prefer Open WebUI's chat breadth? It works great pointed at TurboLLM's OpenAI endpoint.
614
633