turbollm 1.11.2 → 1.11.7

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 (146) hide show
  1. package/README.md +19 -1
  2. package/dist/cli.js +6800 -1543
  3. package/dist/webdist/assets/{AgentEditPage-CkcDeR-E.js → AgentEditPage-BGvwitPD.js} +1 -1
  4. package/dist/webdist/assets/{ChatScreen-OQEeqlIf.js → ChatScreen-DiX11uki.js} +16 -16
  5. package/dist/webdist/assets/CodeComposer-AES4owAQ.js +1 -0
  6. package/dist/webdist/assets/CodeHomeScreen-QfpFwCzB.js +1 -0
  7. package/dist/webdist/assets/{CodeSessionScreen-BE-R_euy.js → CodeSessionScreen-DAlhPGXm.js} +13 -13
  8. package/dist/webdist/assets/CustomizeScreen-CZX_h6dR.js +4 -0
  9. package/dist/webdist/assets/DeveloperScreen-CnkH0DEh.js +1 -0
  10. package/dist/webdist/assets/EnginesScreen-BiMepnbQ.js +7 -0
  11. package/dist/webdist/assets/ModelDetailDialog-D4QR8T4-.js +1 -0
  12. package/dist/webdist/assets/ModelLoadMenu-BkDAFDCi.js +1 -0
  13. package/dist/webdist/assets/ModelsScreen-DD3hbiQV.js +2 -0
  14. package/dist/webdist/assets/OnboardingScreen-B0uzd0eM.js +1 -0
  15. package/dist/webdist/assets/RoutineEditPage-CpIh_EbV.js +1 -0
  16. package/dist/webdist/assets/{RoutinesPanel-BaaXVL91.js → RoutinesPanel-CH_PGsVT.js} +1 -1
  17. package/dist/webdist/assets/SettingsScreen-Bg065mfp.js +2 -0
  18. package/dist/webdist/assets/{SidebarResizeHandle-ByNctyt9.js → SidebarResizeHandle-C6S5ad6l.js} +1 -1
  19. package/dist/webdist/assets/{SkillEditPage-Cn8Wzvy9.js → SkillEditPage-DRPrL9O8.js} +1 -1
  20. package/dist/webdist/assets/TokensScreen--lhCAkGZ.js +1 -0
  21. package/dist/webdist/assets/{ToolApprovalBar-Dxl-XKaT.js → ToolApprovalBar-CM2lIUU_.js} +16 -16
  22. package/dist/webdist/assets/WorkspaceScreen-n1cWfmM_.js +1 -0
  23. package/dist/webdist/assets/{abnfDiagram-N423BO3Z-o1t-I3R8.js → abnfDiagram-N423BO3Z-BYVO4f28.js} +1 -1
  24. package/dist/webdist/assets/{agent-api-DG9hrhmH.js → agent-api-C89aA4D7.js} +1 -1
  25. package/dist/webdist/assets/{alert-dialog-B5OhyyBN.js → alert-dialog-UMvxymh4.js} +1 -1
  26. package/dist/webdist/assets/{arc-CyBlLGMt.js → arc-D7irs2Hk.js} +1 -1
  27. package/dist/webdist/assets/{architectureDiagram-T3A2C74G-B1jWZQya.js → architectureDiagram-T3A2C74G-gAwEl_Xi.js} +1 -1
  28. package/dist/webdist/assets/{arrow-left-BSP6LYfx.js → arrow-left-_wC4KLqk.js} +1 -1
  29. package/dist/webdist/assets/badge-BuAx7koW.js +1 -0
  30. package/dist/webdist/assets/{blockDiagram-VBNYF7ZC-w59gTO6d.js → blockDiagram-VBNYF7ZC-Bblt20tw.js} +1 -1
  31. package/dist/webdist/assets/{bot-BuSMSDks.js → bot-fcj_aHyQ.js} +1 -1
  32. package/dist/webdist/assets/{c4Diagram-5PPSVZJV-D06q8K2r.js → c4Diagram-5PPSVZJV-D7Q3ec48.js} +1 -1
  33. package/dist/webdist/assets/channel-gSV75kzz.js +1 -0
  34. package/dist/webdist/assets/chat-api-BVCm_8Ks.js +3 -0
  35. package/dist/webdist/assets/{chat-queries-DcL9e-Tw.js → chat-queries-BUgnyIUd.js} +1 -1
  36. package/dist/webdist/assets/{chevron-down-DL8l6tyQ.js → chevron-down-BkddYg28.js} +1 -1
  37. package/dist/webdist/assets/{chevron-left-Hd4sHAdz.js → chevron-left-SDuXwrOI.js} +1 -1
  38. package/dist/webdist/assets/{chevron-right-CGuGzfHO.js → chevron-right-DKBPXPzE.js} +1 -1
  39. package/dist/webdist/assets/{chunk-2GRJ4B5K-D5bsguYs.js → chunk-2GRJ4B5K-EtPZMHzO.js} +1 -1
  40. package/dist/webdist/assets/{chunk-2Q5K7J3B-vg6K966W.js → chunk-2Q5K7J3B-Ik0PEYmG.js} +1 -1
  41. package/dist/webdist/assets/{chunk-5RXB4S5H-BXdk8WT5.js → chunk-5RXB4S5H-9KSz7Ttl.js} +1 -1
  42. package/dist/webdist/assets/{chunk-5VM5RSS4-BorSYIM0.js → chunk-5VM5RSS4-BHe_3qZi.js} +1 -1
  43. package/dist/webdist/assets/{chunk-6Q2QTUOP-eBr-HpB-.js → chunk-6Q2QTUOP-XLnKgWIO.js} +1 -1
  44. package/dist/webdist/assets/{chunk-GF5L2VYU-B-F0gZhl.js → chunk-GF5L2VYU-lC5PVZgQ.js} +1 -1
  45. package/dist/webdist/assets/{chunk-JWPE2WC7-ogRtQ0ZK.js → chunk-JWPE2WC7-KW-ZUP6l.js} +1 -1
  46. package/dist/webdist/assets/{chunk-KBJHAD2P-C1yB8MOz.js → chunk-KBJHAD2P-BC9bhV7z.js} +1 -1
  47. package/dist/webdist/assets/{chunk-RYQCIY6F-BLAtzz_0.js → chunk-RYQCIY6F-YBRb11_w.js} +1 -1
  48. package/dist/webdist/assets/{chunk-XXDRQBXY-BGKkHmpM.js → chunk-XXDRQBXY-CXAuPG1B.js} +1 -1
  49. package/dist/webdist/assets/{circle-check-C7yOb0V4.js → circle-check-shiw4etQ.js} +1 -1
  50. package/dist/webdist/assets/{circle-x-Dq6f764q.js → circle-x-C2YPDVGQ.js} +1 -1
  51. package/dist/webdist/assets/classDiagram-JCYQIIEL-D8qDQO4q.js +1 -0
  52. package/dist/webdist/assets/classDiagram-v2-OCEON4UE-D8qDQO4q.js +1 -0
  53. package/dist/webdist/assets/{common-BZlDOvOz.js → common-CjiQLhkZ.js} +1 -1
  54. package/dist/webdist/assets/{cose-bilkent-JH36ORCC-9DQs0FKi.js → cose-bilkent-JH36ORCC-DIz6ZCkR.js} +1 -1
  55. package/dist/webdist/assets/{cynefin-VYW2F7L2-wXh-lGvw.js → cynefin-VYW2F7L2-DYWxEAiP.js} +1 -1
  56. package/dist/webdist/assets/{cynefinDiagram-MW4NZA55-CBc04vUk.js → cynefinDiagram-MW4NZA55-C5Ia81Zp.js} +1 -1
  57. package/dist/webdist/assets/{dagre-VZM6K2ZE-CBpasPN-.js → dagre-VZM6K2ZE-Cq0KzAuY.js} +1 -1
  58. package/dist/webdist/assets/{diagram-7IWD3JNH-BwHyUJlc.js → diagram-7IWD3JNH-CvG1y9p-.js} +1 -1
  59. package/dist/webdist/assets/{diagram-B4RE2ZJO-V5XYfonm.js → diagram-B4RE2ZJO-B-ULHQ0_.js} +1 -1
  60. package/dist/webdist/assets/{diagram-LBJQPF4R-BlVmHLNk.js → diagram-LBJQPF4R-CR3L5Nh8.js} +1 -1
  61. package/dist/webdist/assets/{diagram-Q27KOJAE-Daci0vB7.js → diagram-Q27KOJAE-BQOTyQGi.js} +1 -1
  62. package/dist/webdist/assets/{diagram-UB23O5K3-BYNc_sSy.js → diagram-UB23O5K3-DQ2KgLSn.js} +1 -1
  63. package/dist/webdist/assets/{dropdown-menu-CTnu9jmk.js → dropdown-menu-DOmXZgfx.js} +1 -1
  64. package/dist/webdist/assets/{ebnfDiagram-BXEA7PRR-D7-ZhI2P.js → ebnfDiagram-BXEA7PRR-CFALT3Zl.js} +1 -1
  65. package/dist/webdist/assets/{erDiagram-JOGREHBK-CKepDaa2.js → erDiagram-JOGREHBK-VjNsvocf.js} +1 -1
  66. package/dist/webdist/assets/{external-link-Dmtbuq3v.js → external-link-ByGxbl7O.js} +1 -1
  67. package/dist/webdist/assets/{file-text-qphOEUkg.js → file-text-C6vO4199.js} +1 -1
  68. package/dist/webdist/assets/{flowDiagram-UKHOOZJN-UMjiB-6X.js → flowDiagram-UKHOOZJN-Beyki8d9.js} +1 -1
  69. package/dist/webdist/assets/{folder-input-DwlRHUSQ.js → folder-input-y0fUY1f7.js} +1 -1
  70. package/dist/webdist/assets/{folder-plus-C1pGaM6V.js → folder-plus-DkfhYtyz.js} +1 -1
  71. package/dist/webdist/assets/{ganttDiagram-PKOTCBZU-CBm4z2jK.js → ganttDiagram-PKOTCBZU-B2_peWgr.js} +1 -1
  72. package/dist/webdist/assets/{git-branch-v6VZ1jaf.js → git-branch-DuR9np_b.js} +1 -1
  73. package/dist/webdist/assets/{gitGraphDiagram-DS77QQ5N-CF3Rp0dW.js → gitGraphDiagram-DS77QQ5N-Qa2BuwG1.js} +1 -1
  74. package/dist/webdist/assets/index-CW8WcIQU.js +13 -0
  75. package/dist/webdist/assets/index-re3p5oWG.css +1 -0
  76. package/dist/webdist/assets/{infoDiagram-6WML65LV-CxyBxLFZ.js → infoDiagram-6WML65LV-Dnf7bkp-.js} +1 -1
  77. package/dist/webdist/assets/{ishikawaDiagram-WSZJBQD7-DkQ2XSXk.js → ishikawaDiagram-WSZJBQD7-DbYuKfij.js} +1 -1
  78. package/dist/webdist/assets/{journeyDiagram-NVQOT4AX-CtpfKy0y.js → journeyDiagram-NVQOT4AX-BsgYXqIT.js} +1 -1
  79. package/dist/webdist/assets/{kanban-definition-27J2QSJJ-C2GcKd13.js → kanban-definition-27J2QSJJ-hthkisM6.js} +1 -1
  80. package/dist/webdist/assets/{linear-DBtAWIaa.js → linear-CrK5bkNK.js} +1 -1
  81. package/dist/webdist/assets/link-constants-CbmzSBFF.js +1 -0
  82. package/dist/webdist/assets/link-queries-BsEGbH_i.js +1 -0
  83. package/dist/webdist/assets/{lock-CDIq9hfl.js → lock-CT7BjvBa.js} +1 -1
  84. package/dist/webdist/assets/{mermaid.core-pac6pQn1.js → mermaid.core-B4SxlakL.js} +4 -4
  85. package/dist/webdist/assets/{mindmap-definition-FAOFIHXS-D6VpCBGp.js → mindmap-definition-FAOFIHXS-3V4M8m1v.js} +1 -1
  86. package/dist/webdist/assets/monitor-DxHM879o.js +1 -0
  87. package/dist/webdist/assets/{pegDiagram-VL7TDLO6-DcT8XcHo.js → pegDiagram-VL7TDLO6-CwgscHdz.js} +1 -1
  88. package/dist/webdist/assets/{pencil-DrSqFeYL.js → pencil-Dw_K95nc.js} +1 -1
  89. package/dist/webdist/assets/personas-UFpFvOQV.js +109 -0
  90. package/dist/webdist/assets/{pieDiagram-7S7Q4E2Y-CG5uI_Mx.js → pieDiagram-7S7Q4E2Y-CTqLPafl.js} +1 -1
  91. package/dist/webdist/assets/{plus-DbNuSVP0.js → plus-BJaMtjpS.js} +1 -1
  92. package/dist/webdist/assets/{quadrantDiagram-CIZ2JOQS-DcNlxLZE.js → quadrantDiagram-CIZ2JOQS-LbPp1RsB.js} +1 -1
  93. package/dist/webdist/assets/{railroadDiagram-AXF67PYL-CK5jaAe5.js → railroadDiagram-AXF67PYL-D_lHoKD_.js} +1 -1
  94. package/dist/webdist/assets/{refresh-cw-CZiUayNn.js → refresh-cw-DCeVBFDX.js} +1 -1
  95. package/dist/webdist/assets/remote-failure-MrvEI723.js +1 -0
  96. package/dist/webdist/assets/{requirementDiagram-LRYGKXZP-Bys2ZnaS.js → requirementDiagram-LRYGKXZP-BY8tESBS.js} +1 -1
  97. package/dist/webdist/assets/{rocket-RL3oKf7N.js → rocket--8UI8L0H.js} +1 -1
  98. package/dist/webdist/assets/{rotate-ccw-CHWPWsp-.js → rotate-ccw-DDrREh1t.js} +1 -1
  99. package/dist/webdist/assets/{sankeyDiagram-W5VNT64P-b63IRQMG.js → sankeyDiagram-W5VNT64P-CaqTeTzq.js} +1 -1
  100. package/dist/webdist/assets/{sequenceDiagram-SI44F4Z6-CKBztmq2.js → sequenceDiagram-SI44F4Z6-QcHtlcPm.js} +1 -1
  101. package/dist/webdist/assets/{sizeCapture-X5ZJPWSS-Ck4x6sQB.js → sizeCapture-X5ZJPWSS-yeiugSLg.js} +1 -1
  102. package/dist/webdist/assets/{skeleton-CbpTUMZ0.js → skeleton-CQ7NgTrJ.js} +1 -1
  103. package/dist/webdist/assets/{sliders-horizontal-CnX-v1JF.js → sliders-horizontal-C3TczbRD.js} +1 -1
  104. package/dist/webdist/assets/{sparkles-CfZgwzxG.js → sparkles-DfqpHE7U.js} +1 -1
  105. package/dist/webdist/assets/{star-B8m2wGH0.js → star-C6ne6wrl.js} +1 -1
  106. package/dist/webdist/assets/{stateDiagram-OKZ733FA-BCJD4Ych.js → stateDiagram-OKZ733FA-Blw0P-6b.js} +1 -1
  107. package/dist/webdist/assets/stateDiagram-v2-UEYNNEHI-CQ6A1wj6.js +1 -0
  108. package/dist/webdist/assets/{swimlanes-SLNWSIFB-DNC8NFfr.js → swimlanes-SLNWSIFB-C1R-sQ9k.js} +2 -2
  109. package/dist/webdist/assets/swimlanesDiagram-ULZ7WXOC-DhsOFzrR.js +8 -0
  110. package/dist/webdist/assets/{switch-DX24WrBQ.js → switch-D6oHCJqM.js} +1 -1
  111. package/dist/webdist/assets/{terminal-CqwPPXhh.js → terminal-Dm1JH1oE.js} +1 -1
  112. package/dist/webdist/assets/{timeline-definition-Z64GVDOM-DvV3HRMG.js → timeline-definition-Z64GVDOM-BH0_p5Yt.js} +1 -1
  113. package/dist/webdist/assets/{trash-2-BFhcDthc.js → trash-2-wMkmxUa8.js} +1 -1
  114. package/dist/webdist/assets/{triangle-alert-CWgbCj5i.js → triangle-alert-D_2cm9oo.js} +1 -1
  115. package/dist/webdist/assets/{useIsDesktop-QcUbLYV0.js → useIsDesktop-CO17oT9c.js} +1 -1
  116. package/dist/webdist/assets/{vennDiagram-T6HMQDX7-D4aN00e8.js → vennDiagram-T6HMQDX7-Bo_z3tkW.js} +1 -1
  117. package/dist/webdist/assets/vram-CyjPY3u5.js +1 -0
  118. package/dist/webdist/assets/{wardleyDiagram-T6FBY63Y-B957yrMt.js → wardleyDiagram-T6FBY63Y-CcwefiuP.js} +1 -1
  119. package/dist/webdist/assets/{wrench-Dq0Y0H8u.js → wrench-Bhfk5lOr.js} +1 -1
  120. package/dist/webdist/assets/{xychartDiagram-ELKLHX3M-0ieLzZqk.js → xychartDiagram-ELKLHX3M-DO2mBi4s.js} +1 -1
  121. package/dist/webdist/index.html +2 -2
  122. package/package.json +1 -1
  123. package/dist/webdist/assets/CodeComposer-Cn0ZQiUV.js +0 -1
  124. package/dist/webdist/assets/CodeHomeScreen-CqOHLlur.js +0 -1
  125. package/dist/webdist/assets/CustomizeScreen-CTvUm11Z.js +0 -4
  126. package/dist/webdist/assets/DeveloperScreen-BgBq4QJD.js +0 -1
  127. package/dist/webdist/assets/EnginesScreen-BazpGBS4.js +0 -7
  128. package/dist/webdist/assets/ModelDetailDialog-CYq1IPDT.js +0 -1
  129. package/dist/webdist/assets/ModelLoadMenu-oNmmYM63.js +0 -1
  130. package/dist/webdist/assets/ModelsScreen-CRjM4Ymq.js +0 -2
  131. package/dist/webdist/assets/OnboardingScreen-B9J36Yzf.js +0 -1
  132. package/dist/webdist/assets/RoutineEditPage-CTml1vmE.js +0 -1
  133. package/dist/webdist/assets/SettingsScreen-C-tZyaGy.js +0 -2
  134. package/dist/webdist/assets/TokensScreen-CvmlMjMz.js +0 -1
  135. package/dist/webdist/assets/WorkspaceScreen-Cl9C6WfE.js +0 -1
  136. package/dist/webdist/assets/badge-B9rDUXD5.js +0 -1
  137. package/dist/webdist/assets/channel-B6FNqnbX.js +0 -1
  138. package/dist/webdist/assets/chat-api-olItxgO6.js +0 -3
  139. package/dist/webdist/assets/classDiagram-JCYQIIEL-BTQnWadS.js +0 -1
  140. package/dist/webdist/assets/classDiagram-v2-OCEON4UE-BTQnWadS.js +0 -1
  141. package/dist/webdist/assets/index-BujlAso9.css +0 -1
  142. package/dist/webdist/assets/index-Pc-3_Zna.js +0 -13
  143. package/dist/webdist/assets/personas-CTb9cjIF.js +0 -390
  144. package/dist/webdist/assets/stateDiagram-v2-UEYNNEHI-DtgPoJOl.js +0 -1
  145. package/dist/webdist/assets/swimlanesDiagram-ULZ7WXOC-DZ2Ev4sF.js +0 -8
  146. package/dist/webdist/assets/vram-Cucxs4Et.js +0 -1
package/README.md CHANGED
@@ -291,6 +291,13 @@ the detail:
291
291
  in chat (name, preferences, hardware) using your own loaded model, and carries them into future
292
292
  new conversations. Nothing leaves your device; the full fact list is reviewable and deletable
293
293
  from Settings → Memory, and turning the toggle off stops new chats from seeing it immediately.
294
+ - **Turbo Link** *(experimental, off by default)* — link a second machine running TurboLLM
295
+ with one pasted link string and use its models as if they were local: they appear in the chat
296
+ model picker (grouped by machine), in `/v1/models` and in `launch --model`, and Models,
297
+ Downloads and Engines merge both machines' rows into one list. You grant an explicit capability
298
+ set per link — use models only, run a server, or full control — optionally pinned to specific
299
+ models, and revocable at any time from the host. Not yet verified against a real two-machine
300
+ setup, so it stays behind Settings → Experimental.
294
301
  - **Thinking-budget control** — a graduated slider, not just on/off: cap reasoning to a specific
295
302
  token count, disable it entirely, or leave it unlimited. Works in Chat and Code alike.
296
303
  - **Reasoning-effort control** for models whose own chat template supports it (e.g. Qwen3.8) —
@@ -355,7 +362,7 @@ there. Entirely local; nothing leaves your machine.
355
362
  </details>
356
363
 
357
364
  <details>
358
- <summary><strong>🔌 APIs &amp; integrations — OpenAI + Anthropic, plus a model-loading gateway</strong></summary>
365
+ <summary><strong>🔌 APIs &amp; integrations — OpenAI + Anthropic, a model-loading gateway, and a stateful chat API</strong></summary>
359
366
 
360
367
  <br/>
361
368
 
@@ -375,6 +382,17 @@ curl http://127.0.0.1:6996/v1/chat/completions \
375
382
  Claude Code below. No other local host offers this.
376
383
  - **Structured output** — constrain any response to a **GBNF grammar** (or JSON shape).
377
384
  - **API-key auth** you can require when sharing over a LAN (Settings → Network & sharing).
385
+ - **A stateful External Chat API** (**Experimental — manual setup, no onboarding UI yet**),
386
+ `/api/ext/v1`, for building a real chat product instead of the gateway's stateless
387
+ send-full-history-every-call model — persistence, history, message editing, and resumable
388
+ streaming generation are handled for you. Off by default; using it today needs two manual
389
+ `config.json` edits — a key with an explicit, non-`local` `tenant` field (the local tenant, this
390
+ install's own desktop UI data, is never reachable through this API), and a configured
391
+ `chatStore` adapter (the SQLite default only ever serves the `local` tenant). A generated
392
+ OpenAPI spec, a TypeScript client, and a working Postgres adapter example ship with it. The
393
+ daemon logs a warning at startup while it's enabled — a remote tenant's generations currently
394
+ inherit this install's own tool permissions, not an independent trust boundary of their own.
395
+ [Full guide](https://turbollm.dev/docs/api/external).
378
396
 
379
397
  **The gateway loads models for you.** Most local hosts make you load a model first, then call it.
380
398
  TurboLLM's gateway reads the `model` field of any incoming request, **fuzzy-matches it to your