activeclaw 2026.2.11 → 2026.2.13

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 (531) hide show
  1. package/CHANGELOG.md +106 -0
  2. package/dist/{accounts-DbzMEfKN.js → accounts-DCDeFTra.js} +2 -2
  3. package/dist/{accounts-C2elk6PC.js → accounts-DeqIQjo1.js} +2 -2
  4. package/dist/{acp-cli-CVFTdsQY.js → acp-cli-CeYI4XRd.js} +15 -16
  5. package/dist/{acp-cli-BpJwIyLl.js → acp-cli-rNbGXICg.js} +14 -15
  6. package/dist/{agent-Bz1r5O8q.js → agent-BvNJF5QL.js} +19 -15
  7. package/dist/{agent-22-R4bNS.js → agent-CyMxTyrG.js} +20 -16
  8. package/dist/{agent-scope-D8miw9q_.js → agent-scope-BIEhVP4_.js} +172 -4
  9. package/dist/{agent-scope-CGmuusG9.js → agent-scope-CQCus0rI.js} +3 -3
  10. package/dist/{agent-scope-DQuy3dwI.js → agent-scope-CsRbLH4l.js} +4 -4
  11. package/dist/{agent-scope-BEf5crnU.js → agent-scope-DPIFau3f.js} +5 -1
  12. package/dist/audio-preflight-BU8W7uxc.js +60 -0
  13. package/dist/audio-preflight-CGsumMzb.js +60 -0
  14. package/dist/audio-preflight-SLmkJI6-.js +74 -0
  15. package/dist/audio-preflight-jZc5mFCZ.js +71 -0
  16. package/dist/{audit-C4wLaF0D.js → audit-Dmww_503.js} +71 -19
  17. package/dist/{audit-CY-yopxa.js → audit-wPu26VMb.js} +72 -20
  18. package/dist/{tailscale-DU6DgqVy.js → auth-9x3lqfIY.js} +208 -3
  19. package/dist/{tailscale-Cu-2HNvU.js → auth-CQNl_IaI.js} +190 -3
  20. package/dist/{auth-health-BFKUoCwJ.js → auth-health-C4L4FGBA.js} +1 -1
  21. package/dist/{auth-health-d7BMZlWG.js → auth-health-j6epgQbq.js} +1 -1
  22. package/dist/{auth-profiles-Bv1AEm-Y.js → auth-profiles-ByNs3eEm.js} +87 -31
  23. package/dist/build-info.json +3 -3
  24. package/dist/bundled/boot-md/handler.js +28 -22
  25. package/dist/bundled/session-memory/handler.js +33 -22
  26. package/dist/{call-7yrB6v4I.js → call-DVYCIV8m.js} +5 -5
  27. package/dist/{call-Bek1xlgk.js → call-SolyGS1r.js} +6 -6
  28. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  29. package/dist/{channel-options-3mdYN0C_.js → channel-options-BwC2yQcR.js} +4 -4
  30. package/dist/{channel-options-DJ0b1m7B.js → channel-options-Cq9BVDkP.js} +12 -7
  31. package/dist/{channel-selection-RZimme3j.js → channel-selection-D4D6ImhN.js} +2 -2
  32. package/dist/{channel-selection-B9b7Kuit.js → channel-selection-MZAHm4U8.js} +2 -2
  33. package/dist/{channels-cli-CYbK2Dku.js → channels-cli-9Dsk9Qm7.js} +57 -53
  34. package/dist/{channels-cli-BFznbGOs.js → channels-cli-BJUppQll.js} +59 -55
  35. package/dist/{channels-status-issues-B3KkflfR.js → channels-status-issues-D7GSV1GS.js} +1 -1
  36. package/dist/{channels-status-issues-DQkRaZts.js → channels-status-issues-DDAWeT-6.js} +1 -1
  37. package/dist/{chrome-Db7w64LF.js → chrome-BfB6JdKF.js} +4 -4
  38. package/dist/{chrome-Dm-EgOjJ.js → chrome-Cvr-57lg.js} +6 -5
  39. package/dist/{chrome-CF16STk9.js → chrome-DL0avO8n.js} +2 -1
  40. package/dist/{chrome-yIKmOzCO.js → chrome-foEwx3lN.js} +5 -4
  41. package/dist/{clack-prompter-BCiBkJVr.js → clack-prompter-Bz3Mmcl-.js} +5 -5
  42. package/dist/{clack-prompter-DuBVnTKy.js → clack-prompter-ChCGXfyt.js} +4 -4
  43. package/dist/cli/daemon-cli.js +1 -1
  44. package/dist/{cli-Cl3PdJei.js → cli-ZR9ugUBX.js} +42 -38
  45. package/dist/cli-miPe4Ujz.js +93 -0
  46. package/dist/{client-6xKrRC-1.js → client-BrYfyoDK.js} +54 -5
  47. package/dist/{client-DMloFP_O.js → client-CTwXnRl7.js} +54 -5
  48. package/dist/{command-format-ayFsmwwz.js → command-format-Bxe0mWee.js} +1 -1
  49. package/dist/{command-options-BTAzyqqb.js → command-options-BvgxzPbK.js} +9 -4
  50. package/dist/{commands-CjEGXOZ_.js → commands-BX_OIIVR.js} +4 -4
  51. package/dist/{completion-cli-DrJGfJGl.js → completion-cli-CR77-jyv.js} +3 -3
  52. package/dist/{completion-cli-DOec3E2Z.js → completion-cli-DnjpxAag.js} +30 -30
  53. package/dist/{config-B00lvFac.js → config-Bdhomfei.js} +21 -7
  54. package/dist/{config-XBdA0ciN.js → config-BvMsmctM.js} +83 -9
  55. package/dist/{config-BqGVMf1y.js → config-QYrbd7x7.js} +60 -6
  56. package/dist/{config--NUdpACy.js → config-aFQssWKX.js} +21 -7
  57. package/dist/{config-guard-4kCO_rnQ.js → config-guard-CljaSxJd.js} +160 -51
  58. package/dist/{configure-B69emwZv.js → configure-BXLiucXo.js} +28 -25
  59. package/dist/{configure-sMhpLzFf.js → configure-BYPqXzGZ.js} +28 -25
  60. package/dist/control-auth-8Cf4WXpR.js +54 -0
  61. package/dist/control-auth-DBCu3qyv.js +54 -0
  62. package/dist/{control-service-Db_1V-KY.js → control-service-B5KnPqGP.js} +11 -5
  63. package/dist/{control-service-IRAmbcbN.js → control-service-DKnttEus.js} +10 -4
  64. package/dist/control-ui/assets/{index-CnB9IO4a.js → index-B4LPvte9.js} +369 -369
  65. package/dist/control-ui/assets/index-B4LPvte9.js.map +1 -0
  66. package/dist/control-ui/index.html +1 -1
  67. package/dist/{cron-cli-Cum2324v.js → cron-cli-D7BRjDv2.js} +20 -20
  68. package/dist/{cron-cli-DhUWcYdk.js → cron-cli-z1zk_FXQ.js} +19 -19
  69. package/dist/{daemon-cli-q7nkEF5-.js → daemon-cli-BDkU2ocb.js} +60 -21
  70. package/dist/{daemon-cli-CTC2CHci.js → daemon-cli-cNSF93-v.js} +59 -20
  71. package/dist/{daemon-runtime-c0uXH4Dl.js → daemon-runtime-B0tg_LsX.js} +3 -3
  72. package/dist/{daemon-runtime-UsK-tOty.js → daemon-runtime-Bsjeut6m.js} +3 -3
  73. package/dist/{deliver-hf-WKyWd.js → deliver-CIU9Npgs.js} +373 -281
  74. package/dist/{deliver-CT6KiDqO.js → deliver-DYYCo1G7.js} +369 -278
  75. package/dist/{deliver-T9d44OpZ.js → deliver-LsxKETro.js} +371 -279
  76. package/dist/{deliver-CPy8jYj9.js → deliver-xUU3mGHo.js} +369 -277
  77. package/dist/{deps-Bv1kLtwo.js → deps-QSwGcoNZ.js} +2 -2
  78. package/dist/{deps-DFQdAWQc.js → deps-lAAA2zYI.js} +2 -2
  79. package/dist/{devices-cli-Cm7U1py9.js → devices-cli-BG3-2oqt.js} +14 -14
  80. package/dist/{devices-cli-ZpjlfK-e.js → devices-cli-VIQtOvt_.js} +14 -14
  81. package/dist/{directory-cli-B14TUSJA.js → directory-cli-BCJwjVC0.js} +16 -16
  82. package/dist/{directory-cli-67kzd4I5.js → directory-cli-jYzZ02gk.js} +14 -14
  83. package/dist/{dispatcher-3ElQWGVI.js → dispatcher-DY51b-Zc.js} +2 -2
  84. package/dist/{dns-cli-CU-xfhTN.js → dns-cli-DHIiMJjS.js} +12 -12
  85. package/dist/{dns-cli-Dqj7O6Q_.js → dns-cli-pZlv87Ib.js} +11 -11
  86. package/dist/{docs-cli-CamBqzb5.js → docs-cli-2JDiwfzP.js} +8 -8
  87. package/dist/{docs-cli-Cj3L5oqB.js → docs-cli-BhkYqoIQ.js} +7 -7
  88. package/dist/{doctor-BV1kvbMm.js → doctor-Bf8EhNtA.js} +36 -35
  89. package/dist/{doctor-BJirShBi.js → doctor-sYG5V4Co.js} +34 -33
  90. package/dist/entry.js +56 -18
  91. package/dist/{env-BxRc6wWv.js → env-ONzUVAG2.js} +1 -1
  92. package/dist/{exec-CijMSZd9.js → exec-B8lXct-k.js} +503 -14
  93. package/dist/{exec-B8JKbXKW.js → exec-CACT5OAW.js} +1 -1
  94. package/dist/{exec-57A8Rlc8.js → exec-CJFFoM7H.js} +32 -13
  95. package/dist/{exec-Cv_Ofd1m.js → exec-YIosokWE.js} +1 -1
  96. package/dist/{exec-approvals-cli-DEzz9Iai.js → exec-approvals-cli-7LH0lwhO.js} +21 -21
  97. package/dist/{exec-approvals-cli-DhXj3hQX.js → exec-approvals-cli-apGnQbpj.js} +21 -21
  98. package/dist/extensionAPI.js +7733 -8746
  99. package/dist/fetch-DmiOpALK.js +274 -0
  100. package/dist/fetch-timeout-BEtUjM1S.js +274 -0
  101. package/dist/fetch-timeout-DEoXG_SF.js +274 -0
  102. package/dist/fetch-timeout-DTK9vxex.js +274 -0
  103. package/dist/{gateway-cli-D1EdIq8I.js → gateway-cli-DUdYxlZS.js} +491 -136
  104. package/dist/{gateway-cli-B_xDUDy2.js → gateway-cli-DbvWmE-9.js} +495 -140
  105. package/dist/{gateway-rpc-3B5y445n.js → gateway-rpc-BByb2Snz.js} +3 -3
  106. package/dist/{gateway-rpc-BoL2vinh.js → gateway-rpc-wXSCUZXj.js} +3 -3
  107. package/dist/{github-copilot-auth-Omqrto0J.js → github-copilot-auth-D7ewvpMd.js} +205 -17
  108. package/dist/{github-copilot-auth-CZxurvdz.js → github-copilot-auth-DDispnyz.js} +205 -17
  109. package/dist/{github-copilot-token-SLWintYd.js → github-copilot-token-Cfs0Wxr8.js} +1 -1
  110. package/dist/{gmail-setup-utils-BXQKsLtI.js → gmail-setup-utils-Cfns8TQx.js} +3 -3
  111. package/dist/{gmail-setup-utils-CHcssBOA.js → gmail-setup-utils-DJb-_5kO.js} +4 -4
  112. package/dist/{health-format-Dy1caGsq.js → health-format-KGPokKJH.js} +97 -42
  113. package/dist/{health-format-DrGFg8bx.js → health-format-LZDxu3rv.js} +95 -40
  114. package/dist/{help-format-DAj7l5uV.js → help-format-C48TXngO.js} +1 -1
  115. package/dist/{help-format-CUnac_bT.js → help-format-R5fLToDw.js} +1 -1
  116. package/dist/{hooks-cli-ptEf6TIM.js → hooks-cli-CT8JCRkH.js} +51 -46
  117. package/dist/{hooks-cli-Bhf5VRp1.js → hooks-cli-S1MKumJO.js} +49 -44
  118. package/dist/{hooks-status-Br-2bK2G.js → hooks-status-Cw0xD8Lt.js} +3 -3
  119. package/dist/{hooks-status-DNQJSa4B.js → hooks-status-D9MhwHRp.js} +3 -3
  120. package/dist/{image-rOFfK3PJ.js → image-Brk1sJbw.js} +10 -7
  121. package/dist/{image-fUwR7slg.js → image-C4Nn2p3e.js} +10 -7
  122. package/dist/{image-Ds4NLGPR.js → image-DgtfXMcX.js} +9 -6
  123. package/dist/{image-Dnnxt82I.js → image-RKwc3fsL.js} +8 -5
  124. package/dist/index.js +208 -97
  125. package/dist/{installs-CRSjQxbR.js → installs-CrLcWYHe.js} +8 -7
  126. package/dist/{installs-89zeUsVn.js → installs-DscWb9b9.js} +8 -7
  127. package/dist/{links-7M-j83As.js → links-B8LAzWwg.js} +1 -1
  128. package/dist/{links-C591fM9M.js → links-Eax1UO3w.js} +1 -1
  129. package/dist/llm-slug-generator.js +18 -19
  130. package/dist/{loader-wXwp4rZJ.js → loader-KjT074JR.js} +5722 -6888
  131. package/dist/{logging-MMRGFxGI.js → logging-BAyPwvdH.js} +1 -1
  132. package/dist/{logging-DuK6YXuK.js → logging-CRq4h04P.js} +2 -2
  133. package/dist/{login-qr-wM8BnKJh.js → login-qr-B6ZgAuIf.js} +5 -5
  134. package/dist/{login-qr-CPEsT6dN.js → login-qr-Bua-p0nG.js} +3 -4
  135. package/dist/{login-qr-CGEu5TU-.js → login-qr-CuvemJj4.js} +6 -6
  136. package/dist/{login-qr-DH150tTp.js → login-qr-Djr1JfIf.js} +2 -2
  137. package/dist/{logs-cli-ClgkHnfT.js → logs-cli-9IAV7rWY.js} +38 -22
  138. package/dist/{logs-cli-CmfINsOj.js → logs-cli-EiKzUFPa.js} +37 -21
  139. package/dist/{manager-DYo4PlVM.js → manager-BIMh_eSm.js} +7 -8
  140. package/dist/{manager-D6EbxDV4.js → manager-CwinWQoz.js} +5 -5
  141. package/dist/{manager-BbnHek5T.js → manager-DkqF1GiK.js} +9 -9
  142. package/dist/{manager-CcVYv0N5.js → manager-T1XfGchB.js} +8 -8
  143. package/dist/{manifest-registry-3It8Z8yN.js → manifest-registry-CQhdnDBZ.js} +40 -2
  144. package/dist/{manifest-registry-D5SiA3xq.js → manifest-registry-u0okVSkU.js} +40 -2
  145. package/dist/{message-channel-Cu61-7H6.js → message-channel-BLi2a6Yw.js} +1 -1
  146. package/dist/{message-channel-BlgPSDAh.js → message-channel-C_MmebBt.js} +1 -1
  147. package/dist/{model-auth-ioeR_zLX.js → model-auth-CabXIF6O.js} +116 -34
  148. package/dist/{model-selection-BK7DuyH8.js → model-selection-BLuqsGVB.js} +86 -30
  149. package/dist/{model-selection-CezC36lH.js → model-selection-C1GmkTAV.js} +84 -28
  150. package/dist/{models-cli-C3uGdOrd.js → models-cli-9jmDv-h3.js} +52 -48
  151. package/dist/{models-cli-CUIVPgXE.js → models-cli-zS9rtWz8.js} +53 -49
  152. package/dist/{node-cli-BxBGSuPE.js → node-cli-CrpTxTTs.js} +28 -26
  153. package/dist/{node-cli-CdYAsuQQ.js → node-cli-wemUMCg-.js} +28 -26
  154. package/dist/{node-service-u8g85nD3.js → node-service-C8DTHTMg.js} +2 -2
  155. package/dist/{node-service-CM5vkdIo.js → node-service-WQuEKz6W.js} +2 -2
  156. package/dist/{nodes-cli-By6yeCTB.js → nodes-cli-BaU2SIFw.js} +20 -20
  157. package/dist/{nodes-cli-BaVMTAPc.js → nodes-cli-Dx23D72n.js} +20 -20
  158. package/dist/{nodes-screen-Dvl_ohUY.js → nodes-screen-C0IuBqUL.js} +1 -1
  159. package/dist/{note-5WqioBRA.js → note-BhRSeNeu.js} +2 -2
  160. package/dist/{note-Ci08TSbV.js → note-hhtubr2j.js} +1 -1
  161. package/dist/{onboard-channels-DxXvp8og.js → onboard-channels-C501x8GI.js} +8 -8
  162. package/dist/{onboard-channels-CXhnVy4E.js → onboard-channels-Dxzroasd.js} +8 -8
  163. package/dist/{onboard-skills-CBxsRGyf.js → onboard-skills-DV0Qzvjj.js} +440 -136
  164. package/dist/{onboard-skills-DQwOQ6Ry.js → onboard-skills-rlBHcu3Q.js} +439 -135
  165. package/dist/{onboarding-Du_7qEng.js → onboarding-CN-EDLjd.js} +38 -38
  166. package/dist/{openclaw-root-JLDMp6ux.js → openclaw-root-1VeFrph_.js} +4 -0
  167. package/dist/{openclaw-root-Dw6gumSU.js → openclaw-root-BNlEap4i.js} +4 -0
  168. package/dist/{pairing-cli-CRQDpj8f.js → pairing-cli-CDHG4xuI.js} +15 -15
  169. package/dist/{pairing-cli-Cng1KFWw.js → pairing-cli-CQP34Dlx.js} +15 -15
  170. package/dist/{pairing-labels-Ciu3Zoxj.js → pairing-labels-B6CN0SNH.js} +1 -1
  171. package/dist/{pairing-labels-CWFEtSc3.js → pairing-labels-CgNHnjzT.js} +1 -1
  172. package/dist/{pairing-store-c-QQ2u8p.js → pairing-store-CmlRVqOz.js} +2 -2
  173. package/dist/{pairing-store-CgXR3ZWJ.js → pairing-store-Dp5_JGnG.js} +3 -3
  174. package/dist/{path-env-CXWUFfFv.js → path-env-CLvYNwtL.js} +1 -1
  175. package/dist/{path-env-BgLvMbz_.js → path-env-CaYUVIML.js} +2 -2
  176. package/dist/{paths-MnZaxqPw.js → paths-B0a4ywSO.js} +30 -5
  177. package/dist/{paths-Bkhd_qY8.js → paths-B49s6UZQ.js} +30 -5
  178. package/dist/{paths-DL6EIRTw.js → paths-D0O87MfH.js} +30 -5
  179. package/dist/{paths-IivnSNkP.js → paths-DLINmNFQ.js} +31 -6
  180. package/dist/{pi-embedded-CgPTEqlB.js → pi-embedded-Ctrt2kz0.js} +8759 -9600
  181. package/dist/{pi-embedded-helpers-DYH6OWft.js → pi-embedded-helpers-CMKLjW6X.js} +68 -9
  182. package/dist/{pi-embedded-helpers-y1_Se0yq.js → pi-embedded-helpers-CUzTc1v6.js} +241 -24
  183. package/dist/{pi-embedded-helpers-Bkpd4fTr.js → pi-embedded-helpers-DfwkwPYD.js} +67 -8
  184. package/dist/{pi-embedded-helpers-BbWRSUnc.js → pi-embedded-helpers-WDwx99UA.js} +347 -32
  185. package/dist/{pi-tools.policy-akYsGFiA.js → pi-tools.policy-BpsROZbz.js} +4 -4
  186. package/dist/{plugin-auto-enable-lZwe2yX5.js → plugin-auto-enable-Bqhc3w5n.js} +5 -5
  187. package/dist/{plugin-auto-enable-AOSOJ-v1.js → plugin-auto-enable-PW76g_PJ.js} +5 -5
  188. package/dist/plugin-sdk/agents/bash-process-registry.d.ts +1 -0
  189. package/dist/plugin-sdk/agents/models-config.providers.d.ts +10 -0
  190. package/dist/plugin-sdk/agents/pi-embedded-helpers/errors.d.ts +5 -1
  191. package/dist/plugin-sdk/agents/pi-embedded-helpers.d.ts +1 -1
  192. package/dist/plugin-sdk/agents/pi-embedded-runner/google.d.ts +1 -0
  193. package/dist/plugin-sdk/agents/pi-embedded-runner/run/params.d.ts +2 -0
  194. package/dist/plugin-sdk/agents/pi-embedded-runner/run/payloads.d.ts +1 -0
  195. package/dist/plugin-sdk/agents/pi-embedded-runner/run/types.d.ts +2 -0
  196. package/dist/plugin-sdk/agents/pi-embedded-runner/types.d.ts +15 -0
  197. package/dist/plugin-sdk/agents/pi-embedded-subscribe.handlers.tools.d.ts +1 -1
  198. package/dist/plugin-sdk/agents/pi-embedded-subscribe.handlers.types.d.ts +2 -0
  199. package/dist/plugin-sdk/agents/pi-embedded-subscribe.types.d.ts +2 -0
  200. package/dist/plugin-sdk/agents/session-tool-result-guard-wrapper.d.ts +2 -0
  201. package/dist/plugin-sdk/agents/session-tool-result-guard.d.ts +4 -0
  202. package/dist/plugin-sdk/agents/tools/agent-step.d.ts +3 -0
  203. package/dist/plugin-sdk/agents/tools/browser-tool.schema.d.ts +1 -1
  204. package/dist/plugin-sdk/agents/tools/web-search.d.ts +10 -1
  205. package/dist/plugin-sdk/agents/usage.d.ts +1 -0
  206. package/dist/plugin-sdk/auto-reply/heartbeat.d.ts +1 -1
  207. package/dist/plugin-sdk/auto-reply/reply/get-reply-directives.d.ts +1 -0
  208. package/dist/plugin-sdk/auto-reply/reply/mentions.d.ts +1 -0
  209. package/dist/plugin-sdk/auto-reply/reply/model-selection.d.ts +3 -0
  210. package/dist/plugin-sdk/auto-reply/reply/reply-reference.d.ts +1 -1
  211. package/dist/plugin-sdk/auto-reply/reply/session-run-accounting.d.ts +11 -0
  212. package/dist/plugin-sdk/auto-reply/reply/session-usage.d.ts +8 -0
  213. package/dist/plugin-sdk/auto-reply/types.d.ts +2 -0
  214. package/dist/plugin-sdk/browser/control-auth.d.ts +13 -0
  215. package/dist/plugin-sdk/channels/plugins/onboarding/signal.d.ts +1 -0
  216. package/dist/plugin-sdk/cli/prompt.d.ts +1 -0
  217. package/dist/plugin-sdk/commands/agent/types.d.ts +2 -0
  218. package/dist/plugin-sdk/commands/onboard-types.d.ts +7 -1
  219. package/dist/plugin-sdk/config/sessions/paths.d.ts +7 -2
  220. package/dist/plugin-sdk/config/types.agents.d.ts +2 -0
  221. package/dist/plugin-sdk/config/types.discord.d.ts +5 -0
  222. package/dist/plugin-sdk/config/types.gateway.d.ts +15 -0
  223. package/dist/plugin-sdk/config/types.hooks.d.ts +15 -0
  224. package/dist/plugin-sdk/config/types.memory.d.ts +2 -0
  225. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +1 -0
  226. package/dist/plugin-sdk/config/zod-schema.d.ts +13 -1
  227. package/dist/plugin-sdk/config/zod-schema.hooks.d.ts +1 -1
  228. package/dist/plugin-sdk/config/zod-schema.providers-core.d.ts +9 -0
  229. package/dist/plugin-sdk/config/zod-schema.providers.d.ts +4 -0
  230. package/dist/plugin-sdk/cron/service/jobs.d.ts +8 -0
  231. package/dist/plugin-sdk/cron/service/state.d.ts +1 -0
  232. package/dist/plugin-sdk/cron/types.d.ts +2 -0
  233. package/dist/plugin-sdk/discord/monitor/allow-list.d.ts +15 -0
  234. package/dist/plugin-sdk/discord/send.types.d.ts +5 -0
  235. package/dist/plugin-sdk/gateway/auth.d.ts +36 -0
  236. package/dist/plugin-sdk/gateway/protocol/index.d.ts +0 -3
  237. package/dist/plugin-sdk/gateway/protocol/schema/agent.d.ts +7 -1
  238. package/dist/plugin-sdk/gateway/session-utils.fs.d.ts +3 -1
  239. package/dist/plugin-sdk/index.js +935 -660
  240. package/dist/plugin-sdk/infra/binaries.d.ts +3 -0
  241. package/dist/plugin-sdk/infra/heartbeat-active-hours.d.ts +5 -0
  242. package/dist/plugin-sdk/infra/heartbeat-runner.d.ts +1 -0
  243. package/dist/plugin-sdk/infra/net/fetch-guard.d.ts +1 -0
  244. package/dist/plugin-sdk/infra/net/ssrf.d.ts +1 -0
  245. package/dist/plugin-sdk/infra/tailscale.d.ts +34 -0
  246. package/dist/plugin-sdk/infra/tmp-openclaw-dir.d.ts +10 -0
  247. package/dist/plugin-sdk/logging/console.d.ts +1 -0
  248. package/dist/plugin-sdk/logging/logger.d.ts +1 -1
  249. package/dist/plugin-sdk/logging/state.d.ts +1 -0
  250. package/dist/plugin-sdk/markdown/ir.d.ts +1 -1
  251. package/dist/plugin-sdk/markdown/whatsapp.d.ts +14 -0
  252. package/dist/plugin-sdk/media/input-files.d.ts +5 -0
  253. package/dist/plugin-sdk/media-understanding/audio-preflight.d.ts +16 -0
  254. package/dist/plugin-sdk/media-understanding/types.d.ts +1 -0
  255. package/dist/plugin-sdk/memory/backend-config.d.ts +2 -1
  256. package/dist/plugin-sdk/memory/qmd-manager.d.ts +2 -0
  257. package/dist/plugin-sdk/memory/qmd-query-parser.d.ts +8 -0
  258. package/dist/plugin-sdk/process/command-queue.d.ts +16 -0
  259. package/dist/plugin-sdk/routing/resolve-route.d.ts +3 -1
  260. package/dist/plugin-sdk/security/external-content.d.ts +1 -1
  261. package/dist/plugin-sdk/security/secret-equal.d.ts +1 -0
  262. package/dist/plugin-sdk/sessions/input-provenance.d.ts +16 -0
  263. package/dist/plugin-sdk/signal/monitor/event-handler.types.d.ts +8 -0
  264. package/dist/plugin-sdk/signal/monitor/mentions.d.ts +2 -0
  265. package/dist/plugin-sdk/slack/monitor/commands.d.ts +5 -0
  266. package/dist/plugin-sdk/telegram/bot-message-context.d.ts +2 -1
  267. package/dist/plugin-sdk/telegram/send.d.ts +3 -0
  268. package/dist/plugin-sdk/web/media.d.ts +2 -0
  269. package/dist/{plugins-Db5BiELK.js → plugins-4Hqd1WGf.js} +3 -3
  270. package/dist/{plugins-CNaHNND_.js → plugins-X7d_tfTE.js} +4 -4
  271. package/dist/{plugins-cli-8G-hQPCu.js → plugins-cli-Bgku3EGj.js} +253 -44
  272. package/dist/{plugins-cli-CDiocaDE.js → plugins-cli-CVToH3if.js} +257 -48
  273. package/dist/{ports-BeebfNCb.js → ports-qkt29rdC.js} +2 -2
  274. package/dist/{program-0Cj9YxRN.js → program-Cf7lkBur.js} +82 -80
  275. package/dist/{progress-DIQJt9Va.js → progress-C9kngsTD.js} +1 -1
  276. package/dist/{progress-Da1ehW-x.js → progress-DWqhRakV.js} +1 -1
  277. package/dist/{prompt-style-Dc0C5HC9.js → prompt-style-BFH5D5LN.js} +1 -1
  278. package/dist/{prompt-style-CjQRlDx4.js → prompt-style-CIbmaxSa.js} +1 -1
  279. package/dist/{pw-ai-C43wv1ZF.js → pw-ai-8mdv3h-d.js} +7 -6
  280. package/dist/{pw-ai-COWYvUfG.js → pw-ai-CM1IsSgZ.js} +6 -6
  281. package/dist/{pw-ai-BxJ-KCIy.js → pw-ai-FGoRVblI.js} +5 -6
  282. package/dist/{pw-ai-CsvaObGM.js → pw-ai-sS1fRKW_.js} +3 -3
  283. package/dist/{qmd-manager-CpsjQyaZ.js → qmd-manager-C67Fc8aN.js} +79 -26
  284. package/dist/{qmd-manager-C9YWFeG6.js → qmd-manager-CXVbfg99.js} +81 -26
  285. package/dist/{qmd-manager-C02E8ixK.js → qmd-manager-RMRE8Tqt.js} +81 -26
  286. package/dist/{qmd-manager-BzY2LQTT.js → qmd-manager-pyc_MTIe.js} +78 -23
  287. package/dist/{register.subclis-DUkirdHn.js → register.subclis-C02e4zuJ.js} +29 -29
  288. package/dist/{reply--b7BsXGP.js → reply-DICXkh_C.js} +7289 -8455
  289. package/dist/{routes-DUkEKAc1.js → routes-CmOI1hIH.js} +29 -11
  290. package/dist/{routes-B4QQiFju.js → routes-DewK5tq2.js} +29 -12
  291. package/dist/{rpc-CuMtxrRT.js → rpc-DHr30euf.js} +3 -3
  292. package/dist/{rpc-Blt6MJ4F.js → rpc-T300F8zI.js} +3 -3
  293. package/dist/{run-main-XZcPA23b.js → run-main-C5wpthq1.js} +84 -82
  294. package/dist/runner-CY0nmVme.js +1886 -0
  295. package/dist/runner-Cfm5nTMc.js +1785 -0
  296. package/dist/runner-D_dujMod.js +1886 -0
  297. package/dist/runner-DrGYLH5K.js +1785 -0
  298. package/dist/{sandbox-Aks-9EcZ.js → sandbox-BKYnhYQH.js} +24 -17
  299. package/dist/{sandbox-DqUO2K83.js → sandbox-Bhjnh1Xg.js} +23 -16
  300. package/dist/{sandbox-cli-C99Thxi8.js → sandbox-cli-DBsAjZJN.js} +21 -21
  301. package/dist/{sandbox-cli-CJqRM4V6.js → sandbox-cli-rV9LtFeu.js} +21 -21
  302. package/dist/{security-cli-iqYLMOz3.js → security-cli-BIwJM_rs.js} +27 -27
  303. package/dist/{security-cli-DW3lCz-o.js → security-cli-BRjny8Yu.js} +27 -27
  304. package/dist/{server-context-fX4xiYRh.js → server-context-BGpGs3qd.js} +7 -7
  305. package/dist/{server-context-8Qt35QdF.js → server-context-Cl0U0vE3.js} +7 -7
  306. package/dist/{server-node-events-CHWXfb_T.js → server-node-events-CBfTbiTA.js} +48 -44
  307. package/dist/{server-node-events-BzrEnKLX.js → server-node-events-QCvh8EgI.js} +45 -41
  308. package/dist/{service-Cd4BxKuo.js → service--nPk7DvT.js} +8 -4
  309. package/dist/{service-DDPRbf8a.js → service-99RDXwX4.js} +8 -4
  310. package/dist/{service-audit-CCFxuvKs.js → service-audit-DnLmRGQt.js} +4 -4
  311. package/dist/{service-audit-x6jCN-6a.js → service-audit-ckBaRCVC.js} +4 -4
  312. package/dist/{session-cost-usage-CcCEQNuc.js → session-cost-usage-D7HuoSSD.js} +12 -10
  313. package/dist/{session-cost-usage-PvyVZz-g.js → session-cost-usage-D9hHANWI.js} +12 -10
  314. package/dist/{shared-ILguacOr.js → shared-Bs4vduG4.js} +3 -3
  315. package/dist/{shared-CagUDdmp.js → shared-CEY5IkwG.js} +3 -3
  316. package/dist/{shared-gOyV38rM.js → shared-DRohONn_.js} +4 -4
  317. package/dist/{shared-BDk_zC9p.js → shared-ICqOZibV.js} +4 -4
  318. package/dist/{skill-scanner-C_fQzVDu.js → skill-scanner-CucvxYhu.js} +1 -1
  319. package/dist/{skill-scanner-DrVEHfC6.js → skill-scanner-rHMtUHtP.js} +1 -1
  320. package/dist/{skills-D5UZZZSY.js → skills-DRjfSQT3.js} +141 -6
  321. package/dist/{skills-ccAgQ3Ad.js → skills-DprQj9X2.js} +142 -7
  322. package/dist/{skills-cli-DQilTG3n.js → skills-cli-9WO-C55s.js} +12 -12
  323. package/dist/{skills-cli-ggyLBtAY.js → skills-cli-B9eej-EW.js} +13 -13
  324. package/dist/{skills-status-BosMnzIs.js → skills-status-5U3P3YfJ.js} +3 -3
  325. package/dist/{skills-status-DjtPPMnY.js → skills-status-TDIgVd1K.js} +2 -2
  326. package/dist/{sqlite-B7FPASCO.js → sqlite-BINzs1U0.js} +2 -2
  327. package/dist/{sqlite-Btrgi7-j.js → sqlite-D4w5TejA.js} +3 -3
  328. package/dist/{sqlite-BrQ9tw8B.js → sqlite-DRRHmlug.js} +3 -3
  329. package/dist/{sqlite-HepBVDoX.js → sqlite-F6PGkEm1.js} +2 -2
  330. package/dist/{status-BByCntWS.js → status-BKGkKC_v.js} +3 -3
  331. package/dist/{status-Dt7RE_Yy.js → status-CiHtHdaa.js} +4 -4
  332. package/dist/{status-zfL4Yej7.js → status-DDWoOpeB.js} +37 -37
  333. package/dist/{subsystem-Bh1Y_6Uv.js → subsystem-BoExtIHo.js} +52 -17
  334. package/dist/{system-cli-DwuUkdkH.js → system-cli-B6lr60Io.js} +14 -14
  335. package/dist/{system-cli-Clqsx8U5.js → system-cli-CprW9G3h.js} +14 -14
  336. package/dist/{systemd-BEWwfwn0.js → systemd-C0VZriGM.js} +3 -3
  337. package/dist/{systemd-D6wTPnHi.js → systemd-DrmBtJ5T.js} +3 -3
  338. package/dist/{systemd-hints-zi4ohCOY.js → systemd-hints-DZtXiVHa.js} +1 -1
  339. package/dist/{systemd-linger-CDo2UbHM.js → systemd-linger-NC2kl1SC.js} +2 -2
  340. package/dist/{systemd-linger-BxjTrgoH.js → systemd-linger-xdn3BdPh.js} +2 -2
  341. package/dist/{table-DEnmtvl5.js → table-B8dx3v4v.js} +2 -2
  342. package/dist/{table-cCoGqLsk.js → table-CwulTLQp.js} +1 -1
  343. package/dist/{tool-display-DskiU8Kt.js → tool-display-CZRIDMRm.js} +2 -2
  344. package/dist/{tool-display-o-dDAlqF.js → tool-display-ClRud3pg.js} +2 -2
  345. package/dist/{tui-BdJWZdto.js → tui-CVTQn-dC.js} +14 -13
  346. package/dist/{tui-Bc7XUQGP.js → tui-Lu8FdrlK.js} +13 -14
  347. package/dist/{tui-cli-BGYh0UL0.js → tui-cli-BLpTj1X9.js} +27 -27
  348. package/dist/{tui-cli-D3n-O9zB.js → tui-cli-BLx5kL2I.js} +26 -26
  349. package/dist/{tui-formatters-CA85v4U2.js → tui-formatters-CNySEfJN.js} +6 -6
  350. package/dist/{tui-formatters-C3NarH24.js → tui-formatters-DePhZK3J.js} +6 -6
  351. package/dist/{update-JB16aPIY.js → update-DHVxMTpQ.js} +3 -3
  352. package/dist/{update-Ct9sqJC_.js → update-DU1geolI.js} +3 -3
  353. package/dist/{update-cli-wWKDS3cm.js → update-cli-C0hUvJWK.js} +89 -71
  354. package/dist/{update-cli-DDXp_N9B.js → update-cli-Wb1GB3rL.js} +88 -70
  355. package/dist/{update-runner-ChTf6O6p.js → update-runner--ixK4J3W.js} +11 -11
  356. package/dist/{update-runner-CmE6cHdn.js → update-runner-7Qa1T9y6.js} +10 -10
  357. package/dist/{utils-Dk86IbEs.js → utils-BLJAc3ZV.js} +1 -1
  358. package/dist/{utils-es4ygvQ-.js → utils-Cd9QdCHh.js} +1 -1
  359. package/dist/{webhooks-cli-CVIE9TtX.js → webhooks-cli-DgcMy7RG.js} +12 -12
  360. package/dist/{webhooks-cli-BmKSiQQC.js → webhooks-cli-aVzUcJY9.js} +11 -11
  361. package/dist/{widearea-dns-2ah0bkAj.js → widearea-dns-BaIgNEhY.js} +3 -3
  362. package/dist/{widearea-dns-CMIG6-74.js → widearea-dns-DzuRdwk5.js} +3 -3
  363. package/dist/{ws-DtDKpbLR.js → ws-CHCQHs0F.js} +1 -1
  364. package/dist/{ws-log-BP3z_g6Z.js → ws-log-CIXbLCka.js} +1 -1
  365. package/dist/{ws-log-D7MkvKhg.js → ws-log-DcQFZByi.js} +2 -2
  366. package/dist/{wsl-Cwo7X0Un.js → wsl-BUOkxKJu.js} +2 -2
  367. package/docs/assets/install-script.svg +1 -0
  368. package/docs/automation/hooks.md +1 -38
  369. package/docs/automation/webhook.md +43 -2
  370. package/docs/channels/discord.md +389 -381
  371. package/docs/channels/imessage.md +229 -218
  372. package/docs/channels/slack.md +294 -415
  373. package/docs/channels/telegram.md +401 -505
  374. package/docs/channels/whatsapp.md +338 -310
  375. package/docs/ci.md +0 -12
  376. package/docs/cli/hooks.md +1 -14
  377. package/docs/cli/index.md +6 -1
  378. package/docs/cli/logs.md +4 -0
  379. package/docs/cli/onboard.md +30 -0
  380. package/docs/cli/plugins.md +20 -1
  381. package/docs/cli/security.md +1 -0
  382. package/docs/concepts/memory.md +7 -4
  383. package/docs/concepts/session-tool.md +1 -0
  384. package/docs/docs.json +11 -11
  385. package/docs/gateway/configuration-examples.md +9 -2
  386. package/docs/gateway/configuration-reference.md +2329 -0
  387. package/docs/gateway/configuration.md +338 -3304
  388. package/docs/gateway/index.md +162 -238
  389. package/docs/gateway/openresponses-http-api.md +15 -0
  390. package/docs/gateway/security/index.md +3 -0
  391. package/docs/help/faq.md +9 -0
  392. package/docs/install/hetzner.md +21 -0
  393. package/docs/install/installer.md +20 -0
  394. package/docs/nodes/audio.md +19 -0
  395. package/docs/platforms/mac/release.md +7 -7
  396. package/docs/providers/glm.md +3 -3
  397. package/docs/providers/index.md +1 -0
  398. package/docs/providers/litellm.md +153 -0
  399. package/docs/providers/zai.md +2 -2
  400. package/docs/reference/templates/AGENTS.md +26 -26
  401. package/docs/reference/templates/HEARTBEAT.md +31 -2
  402. package/docs/reference/templates/SOUL.md +14 -8
  403. package/docs/reference/transcript-hygiene.md +18 -0
  404. package/docs/start/getting-started.md +5 -0
  405. package/docs/start/wizard-cli-automation.md +17 -0
  406. package/docs/start/wizard-cli-reference.md +12 -0
  407. package/docs/tools/browser.md +6 -0
  408. package/docs/zh-CN/automation/hooks.md +1 -38
  409. package/docs/zh-CN/cli/hooks.md +1 -14
  410. package/extensions/bluebubbles/package.json +1 -1
  411. package/extensions/bluebubbles/src/monitor.test.ts +40 -28
  412. package/extensions/bluebubbles/src/monitor.ts +0 -4
  413. package/extensions/copilot-proxy/package.json +1 -1
  414. package/extensions/diagnostics-otel/package.json +10 -10
  415. package/extensions/discord/package.json +1 -1
  416. package/extensions/feishu/package.json +2 -5
  417. package/extensions/feishu/src/bot.checkBotMentioned.test.ts +64 -0
  418. package/extensions/feishu/src/bot.ts +1 -1
  419. package/extensions/feishu/src/channel.test.ts +48 -0
  420. package/extensions/feishu/src/channel.ts +1 -3
  421. package/extensions/feishu/src/config-schema.ts +6 -0
  422. package/extensions/feishu/src/docx.ts +14 -4
  423. package/extensions/feishu/src/media.test.ts +151 -0
  424. package/extensions/feishu/src/media.ts +27 -13
  425. package/extensions/feishu/src/reply-dispatcher.test.ts +116 -0
  426. package/extensions/feishu/src/reply-dispatcher.ts +124 -67
  427. package/extensions/feishu/src/streaming-card.ts +223 -0
  428. package/extensions/feishu/src/targets.test.ts +16 -0
  429. package/extensions/feishu/src/targets.ts +1 -1
  430. package/extensions/google-antigravity-auth/package.json +1 -1
  431. package/extensions/google-gemini-cli-auth/package.json +1 -1
  432. package/extensions/googlechat/package.json +1 -1
  433. package/extensions/imessage/package.json +1 -1
  434. package/extensions/irc/package.json +1 -1
  435. package/extensions/irc/src/client.ts +1 -1
  436. package/extensions/line/package.json +1 -1
  437. package/extensions/llm-task/package.json +1 -1
  438. package/extensions/lobster/package.json +1 -1
  439. package/extensions/matrix/CHANGELOG.md +6 -0
  440. package/extensions/matrix/package.json +2 -2
  441. package/extensions/mattermost/package.json +1 -1
  442. package/extensions/memory-core/package.json +1 -1
  443. package/extensions/memory-lancedb/index.ts +6 -2
  444. package/extensions/memory-lancedb/package.json +2 -2
  445. package/extensions/minimax-portal-auth/index.ts +7 -5
  446. package/extensions/minimax-portal-auth/package.json +1 -1
  447. package/extensions/msteams/CHANGELOG.md +6 -0
  448. package/extensions/msteams/package.json +1 -1
  449. package/extensions/nextcloud-talk/package.json +1 -1
  450. package/extensions/nostr/CHANGELOG.md +6 -0
  451. package/extensions/nostr/package.json +2 -2
  452. package/extensions/open-prose/package.json +1 -1
  453. package/extensions/signal/package.json +1 -1
  454. package/extensions/slack/package.json +1 -1
  455. package/extensions/telegram/package.json +1 -1
  456. package/extensions/tlon/package.json +1 -1
  457. package/extensions/twitch/CHANGELOG.md +6 -0
  458. package/extensions/twitch/package.json +1 -1
  459. package/extensions/voice-call/CHANGELOG.md +6 -0
  460. package/extensions/voice-call/package.json +1 -1
  461. package/extensions/voice-call/src/media-stream.ts +7 -1
  462. package/extensions/voice-call/src/providers/twilio.test.ts +5 -3
  463. package/extensions/voice-call/src/providers/twilio.ts +12 -1
  464. package/extensions/whatsapp/package.json +1 -1
  465. package/extensions/zalo/CHANGELOG.md +6 -0
  466. package/extensions/zalo/package.json +1 -1
  467. package/extensions/zalouser/CHANGELOG.md +6 -0
  468. package/extensions/zalouser/package.json +1 -1
  469. package/package.json +26 -22
  470. package/dist/auth-BcNHFK-i.js +0 -184
  471. package/dist/auth-BvIPpm7G.js +0 -184
  472. package/dist/boolean-M-esQJt6.js +0 -30
  473. package/dist/bundled/soul-evil/HOOK.md +0 -71
  474. package/dist/bundled/soul-evil/handler.js +0 -194
  475. package/dist/cli-DJbWJ9aB.js +0 -89
  476. package/dist/config-CI7EpvlP.js +0 -15
  477. package/dist/control-ui/assets/index-CnB9IO4a.js.map +0 -1
  478. package/dist/date-time-c6HTX6IW.js +0 -187
  479. package/dist/frontmatter-xwTm0734.js +0 -105
  480. package/dist/parse-duration-De_tAQSe.js +0 -24
  481. package/dist/session-key-nXYQSv-a.js +0 -167
  482. package/dist/utils-dp_OM900.js +0 -476
  483. package/docs/hooks/soul-evil.md +0 -69
  484. package/docs/zh-CN/hooks/soul-evil.md +0 -72
  485. /package/dist/{archive-CXhvR9nU.js → archive-beaSfAzA.js} +0 -0
  486. /package/dist/{brew-BIrWdDps.js → brew-BUIxHEkn.js} +0 -0
  487. /package/dist/{brew-B7YK4ZoL.js → brew-ROHf0-Xp.js} +0 -0
  488. /package/dist/{cli-utils-PlLcDZlM.js → cli-utils-CRhVAaLV.js} +0 -0
  489. /package/dist/{cli-utils-R-ECs5cY.js → cli-utils-LcHOt63h.js} +0 -0
  490. /package/dist/{command-format-BUxhT1xL.js → command-format-qUVxzqYm.js} +0 -0
  491. /package/dist/{constants-CNTiY-ZN.js → constants-BvQ6S8j5.js} +0 -0
  492. /package/dist/{constants-DuoCkWRh.js → constants-JPeoOZnw.js} +0 -0
  493. /package/dist/{errors-D3tYRJWG.js → errors-B91HIDPD.js} +0 -0
  494. /package/dist/{errors-B0eT3jVv.js → errors-Bv81hF2P.js} +0 -0
  495. /package/dist/{errors-x4NYs-1P.js → errors-DjZBTJJ3.js} +0 -0
  496. /package/dist/{exec-approvals-DGPTjO0N.js → exec-approvals-Cb4ZLukq.js} +0 -0
  497. /package/dist/{exec-approvals-DhmKpiIo.js → exec-approvals-DQ8TVVmj.js} +0 -0
  498. /package/dist/{format-CaxeRcue.js → format-CNU-Zkrz.js} +0 -0
  499. /package/dist/{format-DLOJPZmo.js → format-DcfK-dwd.js} +0 -0
  500. /package/dist/{format-duration-Be5Z7JdJ.js → format-duration-84n6_DgO.js} +0 -0
  501. /package/dist/{format-duration-CEmFWLyX.js → format-duration-Bo9zNKwO.js} +0 -0
  502. /package/dist/{format-relative-79_Y1n2Y.js → format-relative-CZOlQ2pA.js} +0 -0
  503. /package/dist/{format-relative-Db7eqEu8.js → format-relative-cegC_FF5.js} +0 -0
  504. /package/dist/{github-copilot-token-C9IJh2Pn.js → github-copilot-token-DkiRbJdR.js} +0 -0
  505. /package/dist/{helpers-CQI-5xS9.js → helpers-8O7IVGO-.js} +0 -0
  506. /package/dist/{helpers-CRzoyyXS.js → helpers-D_jqdWkd.js} +0 -0
  507. /package/dist/{helpers-C89IG08W.js → helpers-HyeZXsnu.js} +0 -0
  508. /package/dist/{is-main-WWuz28Ip.js → is-main-BWoXGz7p.js} +0 -0
  509. /package/dist/{logging-BzvBIA3Y.js → logging-fywhKCmE.js} +0 -0
  510. /package/dist/{nodes-screen-lykd2cny.js → nodes-screen-CdCWeiwy.js} +0 -0
  511. /package/dist/{parse-Cjiudy6x.js → parse-Bw0oH-rT.js} +0 -0
  512. /package/dist/{parse-DqAvJRIf.js → parse-ioZhOtha.js} +0 -0
  513. /package/dist/{parse-log-line-CUrpqe1w.js → parse-log-line-BoDqomM4.js} +0 -0
  514. /package/dist/{parse-log-line-D2UGw0wR.js → parse-log-line-DPxH1XZx.js} +0 -0
  515. /package/dist/{parse-timeout-DFSPLxpY.js → parse-timeout-D1XX_zN_.js} +0 -0
  516. /package/dist/{parse-timeout-DV8NQQWk.js → parse-timeout-DMW-z4Iz.js} +0 -0
  517. /package/dist/{pi-model-discovery-CV2V1HHz.js → pi-model-discovery-DqgqUyAv.js} +0 -0
  518. /package/dist/{pi-model-discovery-DzFOAbQt.js → pi-model-discovery-EwKVHlZB.js} +0 -0
  519. /package/dist/{prompts--d-6l5Ln.js → prompts-Bg96reub.js} +0 -0
  520. /package/dist/{redact-DAKeu7PA.js → redact-BRsnXqwD.js} +0 -0
  521. /package/dist/{redact-DuEEf1p1.js → redact-Br9GfacZ.js} +0 -0
  522. /package/dist/{redact-BOIof271.js → redact-BrXLgslJ.js} +0 -0
  523. /package/dist/{status-Cv36yYdi.js → status-BRZfQbJ2.js} +0 -0
  524. /package/dist/{status-Drziap9H.js → status-CoAy6bEC.js} +0 -0
  525. /package/dist/{systemd-hints-CH4pbCFD.js → systemd-hints-CXNtLw9Q.js} +0 -0
  526. /package/dist/{tailnet-DGRSvYuQ.js → tailnet-DATIFSsY.js} +0 -0
  527. /package/dist/{transcript-events-BlIONGVn.js → transcript-events-BHS7QoRl.js} +0 -0
  528. /package/dist/{transcript-events-C1hdue6u.js → transcript-events-Bp7fGnwv.js} +0 -0
  529. /package/dist/{transcript-events-CZ8CG4ht.js → transcript-events-BtNd-j6q.js} +0 -0
  530. /package/dist/{usage-format-6Uar63S0.js → usage-format-C4JfTbSp.js} +0 -0
  531. /package/dist/{usage-format-hd37en6b.js → usage-format-CpORtVCG.js} +0 -0
@@ -1,12 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { o as resolveOAuthPath, s as resolveStateDir } from "./paths-BZtyHNCi.js";
3
- import { n as DEFAULT_AGENT_ID } from "./session-key-nXYQSv-a.js";
4
- import { g as resolveUserPath } from "./utils-dp_OM900.js";
5
- import { l as createSubsystemLogger } from "./exec-CijMSZd9.js";
6
- import { a as resolveAgentModelPrimary } from "./agent-scope-D8miw9q_.js";
7
- import { t as parseBooleanValue } from "./boolean-M-esQJt6.js";
8
- import { t as formatCliCommand } from "./command-format-BUxhT1xL.js";
9
- import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-C9IJh2Pn.js";
3
+ import { T as DEFAULT_AGENT_ID, a as resolveAgentModelPrimary } from "./agent-scope-BIEhVP4_.js";
4
+ import { l as createSubsystemLogger, z as resolveUserPath } from "./exec-B8lXct-k.js";
5
+ import { t as formatCliCommand } from "./command-format-qUVxzqYm.js";
6
+ import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-DkiRbJdR.js";
10
7
  import path from "node:path";
11
8
  import fs from "node:fs";
12
9
  import { execFileSync, execSync } from "node:child_process";
@@ -15,6 +12,35 @@ import { BedrockClient, ListFoundationModelsCommand } from "@aws-sdk/client-bedr
15
12
  import lockfile from "proper-lockfile";
16
13
  import { createHash, randomBytes } from "node:crypto";
17
14
 
15
+ //#region src/utils/boolean.ts
16
+ const DEFAULT_TRUTHY = [
17
+ "true",
18
+ "1",
19
+ "yes",
20
+ "on"
21
+ ];
22
+ const DEFAULT_FALSY = [
23
+ "false",
24
+ "0",
25
+ "no",
26
+ "off"
27
+ ];
28
+ const DEFAULT_TRUTHY_SET = new Set(DEFAULT_TRUTHY);
29
+ const DEFAULT_FALSY_SET = new Set(DEFAULT_FALSY);
30
+ function parseBooleanValue(value, options = {}) {
31
+ if (typeof value === "boolean") return value;
32
+ if (typeof value !== "string") return;
33
+ const normalized = value.trim().toLowerCase();
34
+ if (!normalized) return;
35
+ const truthy = options.truthy ?? DEFAULT_TRUTHY;
36
+ const falsy = options.falsy ?? DEFAULT_FALSY;
37
+ const truthySet = truthy === DEFAULT_TRUTHY ? DEFAULT_TRUTHY_SET : new Set(truthy);
38
+ const falsySet = falsy === DEFAULT_FALSY ? DEFAULT_FALSY_SET : new Set(falsy);
39
+ if (truthySet.has(normalized)) return true;
40
+ if (falsySet.has(normalized)) return false;
41
+ }
42
+
43
+ //#endregion
18
44
  //#region src/infra/env.ts
19
45
  const log$2 = createSubsystemLogger("env");
20
46
  function isTruthyEnvValue(value) {
@@ -1068,10 +1094,23 @@ const QIANFAN_DEFAULT_COST = {
1068
1094
  cacheRead: 0,
1069
1095
  cacheWrite: 0
1070
1096
  };
1071
- async function discoverOllamaModels() {
1097
+ /**
1098
+ * Derive the Ollama native API base URL from a configured base URL.
1099
+ *
1100
+ * Users typically configure `baseUrl` with a `/v1` suffix (e.g.
1101
+ * `http://192.168.20.14:11434/v1`) for the OpenAI-compatible endpoint.
1102
+ * The native Ollama API lives at the root (e.g. `/api/tags`), so we
1103
+ * strip the `/v1` suffix when present.
1104
+ */
1105
+ function resolveOllamaApiBase(configuredBaseUrl) {
1106
+ if (!configuredBaseUrl) return OLLAMA_API_BASE_URL;
1107
+ return configuredBaseUrl.replace(/\/+$/, "").replace(/\/v1$/i, "");
1108
+ }
1109
+ async function discoverOllamaModels(baseUrl) {
1072
1110
  if (process.env.VITEST || false) return [];
1073
1111
  try {
1074
- const response = await fetch(`${OLLAMA_API_BASE_URL}/api/tags`, { signal: AbortSignal.timeout(5e3) });
1112
+ const apiBase = resolveOllamaApiBase(baseUrl);
1113
+ const response = await fetch(`${apiBase}/api/tags`, { signal: AbortSignal.timeout(5e3) });
1075
1114
  if (!response.ok) {
1076
1115
  console.warn(`Failed to discover Ollama models: ${response.status}`);
1077
1116
  return [];
@@ -1193,23 +1232,53 @@ function buildMinimaxProvider() {
1193
1232
  return {
1194
1233
  baseUrl: MINIMAX_API_BASE_URL,
1195
1234
  api: "openai-completions",
1196
- models: [{
1197
- id: MINIMAX_DEFAULT_MODEL_ID,
1198
- name: "MiniMax M2.1",
1199
- reasoning: false,
1200
- input: ["text"],
1201
- cost: MINIMAX_API_COST,
1202
- contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
1203
- maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
1204
- }, {
1205
- id: MINIMAX_DEFAULT_VISION_MODEL_ID,
1206
- name: "MiniMax VL 01",
1207
- reasoning: false,
1208
- input: ["text", "image"],
1209
- cost: MINIMAX_API_COST,
1210
- contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
1211
- maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
1212
- }]
1235
+ models: [
1236
+ {
1237
+ id: MINIMAX_DEFAULT_MODEL_ID,
1238
+ name: "MiniMax M2.1",
1239
+ reasoning: false,
1240
+ input: ["text"],
1241
+ cost: MINIMAX_API_COST,
1242
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
1243
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
1244
+ },
1245
+ {
1246
+ id: "MiniMax-M2.1-lightning",
1247
+ name: "MiniMax M2.1 Lightning",
1248
+ reasoning: false,
1249
+ input: ["text"],
1250
+ cost: MINIMAX_API_COST,
1251
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
1252
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
1253
+ },
1254
+ {
1255
+ id: MINIMAX_DEFAULT_VISION_MODEL_ID,
1256
+ name: "MiniMax VL 01",
1257
+ reasoning: false,
1258
+ input: ["text", "image"],
1259
+ cost: MINIMAX_API_COST,
1260
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
1261
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
1262
+ },
1263
+ {
1264
+ id: "MiniMax-M2.5",
1265
+ name: "MiniMax M2.5",
1266
+ reasoning: true,
1267
+ input: ["text"],
1268
+ cost: MINIMAX_API_COST,
1269
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
1270
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
1271
+ },
1272
+ {
1273
+ id: "MiniMax-M2.5-Lightning",
1274
+ name: "MiniMax M2.5 Lightning",
1275
+ reasoning: true,
1276
+ input: ["text"],
1277
+ cost: MINIMAX_API_COST,
1278
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
1279
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
1280
+ }
1281
+ ]
1213
1282
  };
1214
1283
  }
1215
1284
  function buildMinimaxPortalProvider() {
@@ -1224,6 +1293,14 @@ function buildMinimaxPortalProvider() {
1224
1293
  cost: MINIMAX_API_COST,
1225
1294
  contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
1226
1295
  maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
1296
+ }, {
1297
+ id: "MiniMax-M2.5",
1298
+ name: "MiniMax M2.5",
1299
+ reasoning: true,
1300
+ input: ["text"],
1301
+ cost: MINIMAX_API_COST,
1302
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
1303
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
1227
1304
  }]
1228
1305
  };
1229
1306
  }
@@ -1294,11 +1371,12 @@ async function buildVeniceProvider() {
1294
1371
  models: await discoverVeniceModels()
1295
1372
  };
1296
1373
  }
1297
- async function buildOllamaProvider() {
1374
+ async function buildOllamaProvider(configuredBaseUrl) {
1375
+ const models = await discoverOllamaModels(configuredBaseUrl);
1298
1376
  return {
1299
- baseUrl: OLLAMA_BASE_URL,
1377
+ baseUrl: configuredBaseUrl ?? OLLAMA_BASE_URL,
1300
1378
  api: "openai-completions",
1301
- models: await discoverOllamaModels()
1379
+ models
1302
1380
  };
1303
1381
  }
1304
1382
  function buildTogetherProvider() {
@@ -1408,10 +1486,13 @@ async function resolveImplicitProviders(params) {
1408
1486
  provider: "ollama",
1409
1487
  store: authStore
1410
1488
  });
1411
- if (ollamaKey) providers.ollama = {
1412
- ...await buildOllamaProvider(),
1413
- apiKey: ollamaKey
1414
- };
1489
+ if (ollamaKey) {
1490
+ const ollamaBaseUrl = params.explicitProviders?.ollama?.baseUrl;
1491
+ providers.ollama = {
1492
+ ...await buildOllamaProvider(ollamaBaseUrl),
1493
+ apiKey: ollamaKey
1494
+ };
1495
+ }
1415
1496
  const togetherKey = resolveEnvApiKeyVarName("together") ?? resolveApiKeyFromProfiles({
1416
1497
  provider: "together",
1417
1498
  store: authStore
@@ -2814,6 +2895,7 @@ function resolveEnvApiKey(provider) {
2814
2895
  cerebras: "CEREBRAS_API_KEY",
2815
2896
  xai: "XAI_API_KEY",
2816
2897
  openrouter: "OPENROUTER_API_KEY",
2898
+ litellm: "LITELLM_API_KEY",
2817
2899
  "vercel-ai-gateway": "AI_GATEWAY_API_KEY",
2818
2900
  "cloudflare-ai-gateway": "CLOUDFLARE_AI_GATEWAY_API_KEY",
2819
2901
  moonshot: "MOONSHOT_API_KEY",
@@ -2871,4 +2953,4 @@ function requireApiKey(auth, provider) {
2871
2953
  }
2872
2954
 
2873
2955
  //#endregion
2874
- export { normalizeProviders as A, loadShellEnvFallback as B, normalizeProviderId as C, resolveModelRefFromString as D, resolveDefaultModelForAgent as E, DEFAULT_MODEL as F, shouldDeferShellEnvFallback as H, DEFAULT_PROVIDER as I, resolveAuthProfileDisplayLabel as L, resolveImplicitCopilotProvider as M, resolveImplicitProviders as N, resolveThinkingDefault as O, DEFAULT_CONTEXT_TOKENS as P, normalizeSecretInput as R, modelKey as S, resolveConfiguredModelRef as T, shouldEnableShellEnvFallback as U, resolveShellEnvFallbackTimeoutMs as V, isTruthyEnvValue as W, resolveOpenClawAgentDir as _, resolveEnvApiKey as a, buildModelAliasIndex as b, resolveAuthProfileOrder as c, markAuthProfileUsed as d, resolveApiKeyForProfile as f, resolveAuthStorePathForDisplay as g, ensureAuthProfileStore as h, resolveApiKeyForProvider as i, resolveImplicitBedrockProvider as j, normalizeGoogleModelId as k, isProfileInCooldown as l, markAuthProfileGood as m, getCustomProviderApiKey as n, resolveModelAuthMode as o, listProfilesForProvider as p, requireApiKey as r, auth_profiles_exports as s, getApiKeyForModel as t, markAuthProfileFailure as u, buildAllowedModelSet as v, parseModelRef as w, isCliProvider as x, buildConfiguredAllowlistKeys as y, getShellPathFromLoginShell as z };
2956
+ export { normalizeProviders as A, loadShellEnvFallback as B, normalizeProviderId as C, resolveModelRefFromString as D, resolveDefaultModelForAgent as E, DEFAULT_MODEL as F, parseBooleanValue as G, shouldDeferShellEnvFallback as H, DEFAULT_PROVIDER as I, resolveAuthProfileDisplayLabel as L, resolveImplicitCopilotProvider as M, resolveImplicitProviders as N, resolveThinkingDefault as O, DEFAULT_CONTEXT_TOKENS as P, normalizeSecretInput as R, modelKey as S, resolveConfiguredModelRef as T, shouldEnableShellEnvFallback as U, resolveShellEnvFallbackTimeoutMs as V, isTruthyEnvValue as W, resolveOpenClawAgentDir as _, resolveEnvApiKey as a, buildModelAliasIndex as b, resolveAuthProfileOrder as c, markAuthProfileUsed as d, resolveApiKeyForProfile as f, resolveAuthStorePathForDisplay as g, ensureAuthProfileStore as h, resolveApiKeyForProvider as i, resolveImplicitBedrockProvider as j, normalizeGoogleModelId as k, isProfileInCooldown as l, markAuthProfileGood as m, getCustomProviderApiKey as n, resolveModelAuthMode as o, listProfilesForProvider as p, requireApiKey as r, auth_profiles_exports as s, getApiKeyForModel as t, markAuthProfileFailure as u, buildAllowedModelSet as v, parseModelRef as w, isCliProvider as x, buildConfiguredAllowlistKeys as y, getShellPathFromLoginShell as z };
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { g as resolveStateDir, h as resolveOAuthPath } from "./paths-DVBShlw6.js";
3
- import { t as createSubsystemLogger } from "./subsystem-Bh1Y_6Uv.js";
4
- import { b as resolveUserPath } from "./utils-es4ygvQ-.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-BoExtIHo.js";
4
+ import { b as resolveUserPath } from "./utils-Cd9QdCHh.js";
5
5
  import { n as DEFAULT_AGENT_ID } from "./session-key-BWxPj0z_.js";
6
- import { a as resolveAgentModelPrimary } from "./agent-scope-CGmuusG9.js";
6
+ import { a as resolveAgentModelPrimary } from "./agent-scope-CQCus0rI.js";
7
7
  import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-BW-SEg7E.js";
8
8
  import { t as formatCliCommand } from "./command-format-ChfKqObn.js";
9
- import { t as isTruthyEnvValue } from "./env-BxRc6wWv.js";
9
+ import { t as isTruthyEnvValue } from "./env-ONzUVAG2.js";
10
10
  import fs from "node:fs";
11
11
  import path from "node:path";
12
12
  import { execFileSync, execSync } from "node:child_process";
@@ -1721,6 +1721,7 @@ function resolveEnvApiKey(provider) {
1721
1721
  cerebras: "CEREBRAS_API_KEY",
1722
1722
  xai: "XAI_API_KEY",
1723
1723
  openrouter: "OPENROUTER_API_KEY",
1724
+ litellm: "LITELLM_API_KEY",
1724
1725
  "vercel-ai-gateway": "AI_GATEWAY_API_KEY",
1725
1726
  "cloudflare-ai-gateway": "CLOUDFLARE_AI_GATEWAY_API_KEY",
1726
1727
  moonshot: "MOONSHOT_API_KEY",
@@ -2469,10 +2470,23 @@ const QIANFAN_DEFAULT_COST = {
2469
2470
  cacheRead: 0,
2470
2471
  cacheWrite: 0
2471
2472
  };
2472
- async function discoverOllamaModels() {
2473
+ /**
2474
+ * Derive the Ollama native API base URL from a configured base URL.
2475
+ *
2476
+ * Users typically configure `baseUrl` with a `/v1` suffix (e.g.
2477
+ * `http://192.168.20.14:11434/v1`) for the OpenAI-compatible endpoint.
2478
+ * The native Ollama API lives at the root (e.g. `/api/tags`), so we
2479
+ * strip the `/v1` suffix when present.
2480
+ */
2481
+ function resolveOllamaApiBase(configuredBaseUrl) {
2482
+ if (!configuredBaseUrl) return OLLAMA_API_BASE_URL;
2483
+ return configuredBaseUrl.replace(/\/+$/, "").replace(/\/v1$/i, "");
2484
+ }
2485
+ async function discoverOllamaModels(baseUrl) {
2473
2486
  if (process.env.VITEST || false) return [];
2474
2487
  try {
2475
- const response = await fetch(`${OLLAMA_API_BASE_URL}/api/tags`, { signal: AbortSignal.timeout(5e3) });
2488
+ const apiBase = resolveOllamaApiBase(baseUrl);
2489
+ const response = await fetch(`${apiBase}/api/tags`, { signal: AbortSignal.timeout(5e3) });
2476
2490
  if (!response.ok) {
2477
2491
  console.warn(`Failed to discover Ollama models: ${response.status}`);
2478
2492
  return [];
@@ -2594,23 +2608,53 @@ function buildMinimaxProvider() {
2594
2608
  return {
2595
2609
  baseUrl: MINIMAX_API_BASE_URL,
2596
2610
  api: "openai-completions",
2597
- models: [{
2598
- id: MINIMAX_DEFAULT_MODEL_ID,
2599
- name: "MiniMax M2.1",
2600
- reasoning: false,
2601
- input: ["text"],
2602
- cost: MINIMAX_API_COST,
2603
- contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2604
- maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2605
- }, {
2606
- id: MINIMAX_DEFAULT_VISION_MODEL_ID,
2607
- name: "MiniMax VL 01",
2608
- reasoning: false,
2609
- input: ["text", "image"],
2610
- cost: MINIMAX_API_COST,
2611
- contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2612
- maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2613
- }]
2611
+ models: [
2612
+ {
2613
+ id: MINIMAX_DEFAULT_MODEL_ID,
2614
+ name: "MiniMax M2.1",
2615
+ reasoning: false,
2616
+ input: ["text"],
2617
+ cost: MINIMAX_API_COST,
2618
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2619
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2620
+ },
2621
+ {
2622
+ id: "MiniMax-M2.1-lightning",
2623
+ name: "MiniMax M2.1 Lightning",
2624
+ reasoning: false,
2625
+ input: ["text"],
2626
+ cost: MINIMAX_API_COST,
2627
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2628
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2629
+ },
2630
+ {
2631
+ id: MINIMAX_DEFAULT_VISION_MODEL_ID,
2632
+ name: "MiniMax VL 01",
2633
+ reasoning: false,
2634
+ input: ["text", "image"],
2635
+ cost: MINIMAX_API_COST,
2636
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2637
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2638
+ },
2639
+ {
2640
+ id: "MiniMax-M2.5",
2641
+ name: "MiniMax M2.5",
2642
+ reasoning: true,
2643
+ input: ["text"],
2644
+ cost: MINIMAX_API_COST,
2645
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2646
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2647
+ },
2648
+ {
2649
+ id: "MiniMax-M2.5-Lightning",
2650
+ name: "MiniMax M2.5 Lightning",
2651
+ reasoning: true,
2652
+ input: ["text"],
2653
+ cost: MINIMAX_API_COST,
2654
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2655
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2656
+ }
2657
+ ]
2614
2658
  };
2615
2659
  }
2616
2660
  function buildMinimaxPortalProvider() {
@@ -2625,6 +2669,14 @@ function buildMinimaxPortalProvider() {
2625
2669
  cost: MINIMAX_API_COST,
2626
2670
  contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2627
2671
  maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2672
+ }, {
2673
+ id: "MiniMax-M2.5",
2674
+ name: "MiniMax M2.5",
2675
+ reasoning: true,
2676
+ input: ["text"],
2677
+ cost: MINIMAX_API_COST,
2678
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2679
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2628
2680
  }]
2629
2681
  };
2630
2682
  }
@@ -2695,11 +2747,12 @@ async function buildVeniceProvider() {
2695
2747
  models: await discoverVeniceModels()
2696
2748
  };
2697
2749
  }
2698
- async function buildOllamaProvider() {
2750
+ async function buildOllamaProvider(configuredBaseUrl) {
2751
+ const models = await discoverOllamaModels(configuredBaseUrl);
2699
2752
  return {
2700
- baseUrl: OLLAMA_BASE_URL,
2753
+ baseUrl: configuredBaseUrl ?? OLLAMA_BASE_URL,
2701
2754
  api: "openai-completions",
2702
- models: await discoverOllamaModels()
2755
+ models
2703
2756
  };
2704
2757
  }
2705
2758
  function buildTogetherProvider() {
@@ -2809,10 +2862,13 @@ async function resolveImplicitProviders(params) {
2809
2862
  provider: "ollama",
2810
2863
  store: authStore
2811
2864
  });
2812
- if (ollamaKey) providers.ollama = {
2813
- ...await buildOllamaProvider(),
2814
- apiKey: ollamaKey
2815
- };
2865
+ if (ollamaKey) {
2866
+ const ollamaBaseUrl = params.explicitProviders?.ollama?.baseUrl;
2867
+ providers.ollama = {
2868
+ ...await buildOllamaProvider(ollamaBaseUrl),
2869
+ apiKey: ollamaKey
2870
+ };
2871
+ }
2816
2872
  const togetherKey = resolveEnvApiKeyVarName("together") ?? resolveApiKeyFromProfiles({
2817
2873
  provider: "together",
2818
2874
  store: authStore
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { o as resolveOAuthPath, s as resolveStateDir } from "./paths-rb94mUrR.js";
3
- import { T as DEFAULT_AGENT_ID, a as resolveAgentModelPrimary } from "./agent-scope-BEf5crnU.js";
4
- import { R as resolveUserPath, l as createSubsystemLogger } from "./exec-57A8Rlc8.js";
3
+ import { T as DEFAULT_AGENT_ID, a as resolveAgentModelPrimary } from "./agent-scope-DPIFau3f.js";
4
+ import { R as resolveUserPath, l as createSubsystemLogger } from "./exec-CJFFoM7H.js";
5
5
  import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-wCk9Fg_E.js";
6
6
  import { t as formatCliCommand } from "./command-format-CFzL448l.js";
7
7
  import path from "node:path";
@@ -1523,6 +1523,7 @@ function resolveEnvApiKey(provider) {
1523
1523
  cerebras: "CEREBRAS_API_KEY",
1524
1524
  xai: "XAI_API_KEY",
1525
1525
  openrouter: "OPENROUTER_API_KEY",
1526
+ litellm: "LITELLM_API_KEY",
1526
1527
  "vercel-ai-gateway": "AI_GATEWAY_API_KEY",
1527
1528
  "cloudflare-ai-gateway": "CLOUDFLARE_AI_GATEWAY_API_KEY",
1528
1529
  moonshot: "MOONSHOT_API_KEY",
@@ -2271,10 +2272,23 @@ const QIANFAN_DEFAULT_COST = {
2271
2272
  cacheRead: 0,
2272
2273
  cacheWrite: 0
2273
2274
  };
2274
- async function discoverOllamaModels() {
2275
+ /**
2276
+ * Derive the Ollama native API base URL from a configured base URL.
2277
+ *
2278
+ * Users typically configure `baseUrl` with a `/v1` suffix (e.g.
2279
+ * `http://192.168.20.14:11434/v1`) for the OpenAI-compatible endpoint.
2280
+ * The native Ollama API lives at the root (e.g. `/api/tags`), so we
2281
+ * strip the `/v1` suffix when present.
2282
+ */
2283
+ function resolveOllamaApiBase(configuredBaseUrl) {
2284
+ if (!configuredBaseUrl) return OLLAMA_API_BASE_URL;
2285
+ return configuredBaseUrl.replace(/\/+$/, "").replace(/\/v1$/i, "");
2286
+ }
2287
+ async function discoverOllamaModels(baseUrl) {
2275
2288
  if (process.env.VITEST || false) return [];
2276
2289
  try {
2277
- const response = await fetch(`${OLLAMA_API_BASE_URL}/api/tags`, { signal: AbortSignal.timeout(5e3) });
2290
+ const apiBase = resolveOllamaApiBase(baseUrl);
2291
+ const response = await fetch(`${apiBase}/api/tags`, { signal: AbortSignal.timeout(5e3) });
2278
2292
  if (!response.ok) {
2279
2293
  console.warn(`Failed to discover Ollama models: ${response.status}`);
2280
2294
  return [];
@@ -2396,23 +2410,53 @@ function buildMinimaxProvider() {
2396
2410
  return {
2397
2411
  baseUrl: MINIMAX_API_BASE_URL,
2398
2412
  api: "openai-completions",
2399
- models: [{
2400
- id: MINIMAX_DEFAULT_MODEL_ID,
2401
- name: "MiniMax M2.1",
2402
- reasoning: false,
2403
- input: ["text"],
2404
- cost: MINIMAX_API_COST,
2405
- contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2406
- maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2407
- }, {
2408
- id: MINIMAX_DEFAULT_VISION_MODEL_ID,
2409
- name: "MiniMax VL 01",
2410
- reasoning: false,
2411
- input: ["text", "image"],
2412
- cost: MINIMAX_API_COST,
2413
- contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2414
- maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2415
- }]
2413
+ models: [
2414
+ {
2415
+ id: MINIMAX_DEFAULT_MODEL_ID,
2416
+ name: "MiniMax M2.1",
2417
+ reasoning: false,
2418
+ input: ["text"],
2419
+ cost: MINIMAX_API_COST,
2420
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2421
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2422
+ },
2423
+ {
2424
+ id: "MiniMax-M2.1-lightning",
2425
+ name: "MiniMax M2.1 Lightning",
2426
+ reasoning: false,
2427
+ input: ["text"],
2428
+ cost: MINIMAX_API_COST,
2429
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2430
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2431
+ },
2432
+ {
2433
+ id: MINIMAX_DEFAULT_VISION_MODEL_ID,
2434
+ name: "MiniMax VL 01",
2435
+ reasoning: false,
2436
+ input: ["text", "image"],
2437
+ cost: MINIMAX_API_COST,
2438
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2439
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2440
+ },
2441
+ {
2442
+ id: "MiniMax-M2.5",
2443
+ name: "MiniMax M2.5",
2444
+ reasoning: true,
2445
+ input: ["text"],
2446
+ cost: MINIMAX_API_COST,
2447
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2448
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2449
+ },
2450
+ {
2451
+ id: "MiniMax-M2.5-Lightning",
2452
+ name: "MiniMax M2.5 Lightning",
2453
+ reasoning: true,
2454
+ input: ["text"],
2455
+ cost: MINIMAX_API_COST,
2456
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2457
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2458
+ }
2459
+ ]
2416
2460
  };
2417
2461
  }
2418
2462
  function buildMinimaxPortalProvider() {
@@ -2427,6 +2471,14 @@ function buildMinimaxPortalProvider() {
2427
2471
  cost: MINIMAX_API_COST,
2428
2472
  contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2429
2473
  maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2474
+ }, {
2475
+ id: "MiniMax-M2.5",
2476
+ name: "MiniMax M2.5",
2477
+ reasoning: true,
2478
+ input: ["text"],
2479
+ cost: MINIMAX_API_COST,
2480
+ contextWindow: MINIMAX_DEFAULT_CONTEXT_WINDOW,
2481
+ maxTokens: MINIMAX_DEFAULT_MAX_TOKENS
2430
2482
  }]
2431
2483
  };
2432
2484
  }
@@ -2497,11 +2549,12 @@ async function buildVeniceProvider() {
2497
2549
  models: await discoverVeniceModels()
2498
2550
  };
2499
2551
  }
2500
- async function buildOllamaProvider() {
2552
+ async function buildOllamaProvider(configuredBaseUrl) {
2553
+ const models = await discoverOllamaModels(configuredBaseUrl);
2501
2554
  return {
2502
- baseUrl: OLLAMA_BASE_URL,
2555
+ baseUrl: configuredBaseUrl ?? OLLAMA_BASE_URL,
2503
2556
  api: "openai-completions",
2504
- models: await discoverOllamaModels()
2557
+ models
2505
2558
  };
2506
2559
  }
2507
2560
  function buildTogetherProvider() {
@@ -2611,10 +2664,13 @@ async function resolveImplicitProviders(params) {
2611
2664
  provider: "ollama",
2612
2665
  store: authStore
2613
2666
  });
2614
- if (ollamaKey) providers.ollama = {
2615
- ...await buildOllamaProvider(),
2616
- apiKey: ollamaKey
2617
- };
2667
+ if (ollamaKey) {
2668
+ const ollamaBaseUrl = params.explicitProviders?.ollama?.baseUrl;
2669
+ providers.ollama = {
2670
+ ...await buildOllamaProvider(ollamaBaseUrl),
2671
+ apiKey: ollamaKey
2672
+ };
2673
+ }
2618
2674
  const togetherKey = resolveEnvApiKeyVarName("together") ?? resolveApiKeyFromProfiles({
2619
2675
  provider: "together",
2620
2676
  store: authStore
@@ -1,53 +1,57 @@
1
- import { D as colorize, F as CONFIG_PATH, O as isRich$1, k as theme, p as defaultRuntime } from "./entry.js";
2
- import { A as parseModelRef, Et as resolveAuthProfileDisplayLabel, I as resolveModelRefFromString, N as resolveConfiguredModelRef, O as modelKey, P as resolveDefaultModelForAgent, S as resolveOpenClawAgentDir, T as buildModelAliasIndex, Tt as DEFAULT_PROVIDER, _ as ensureAuthProfileStore, ct as resolveApiKeyForProvider, g as upsertAuthProfile, h as setAuthProfileOrder, k as normalizeProviderId, lt as resolveAwsSdkEnvVarName, mt as getShellEnvAppliedKeys, n as resolveAuthProfileOrder, o as resolveProfileUnusableUntilForDisplay, ot as getCustomProviderApiKey, p as listProfilesForProvider, ut as resolveEnvApiKey, wt as DEFAULT_MODEL, x as resolveAuthStorePathForDisplay, yt as shouldEnableShellEnvFallback } from "./auth-profiles-Bv1AEm-Y.js";
3
- import { t as formatCliCommand } from "./command-format-ayFsmwwz.js";
4
- import { S as shortenHomePath } from "./utils-Dk86IbEs.js";
5
- import "./exec-B8JKbXKW.js";
6
- import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, i as resolveAgentModelFallbacksOverride, r as resolveAgentDir, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-DQuy3dwI.js";
7
- import "./github-copilot-token-SLWintYd.js";
1
+ import { A as theme, I as CONFIG_PATH, O as colorize, k as isRich$1, p as defaultRuntime } from "./entry.js";
2
+ import { A as parseModelRef, Et as resolveAuthProfileDisplayLabel, I as resolveModelRefFromString, N as resolveConfiguredModelRef, O as modelKey, P as resolveDefaultModelForAgent, S as resolveOpenClawAgentDir, T as buildModelAliasIndex, Tt as DEFAULT_PROVIDER, _ as ensureAuthProfileStore, ct as resolveApiKeyForProvider, g as upsertAuthProfile, h as setAuthProfileOrder, k as normalizeProviderId, lt as resolveAwsSdkEnvVarName, mt as getShellEnvAppliedKeys, n as resolveAuthProfileOrder, o as resolveProfileUnusableUntilForDisplay, ot as getCustomProviderApiKey, p as listProfilesForProvider, ut as resolveEnvApiKey, wt as DEFAULT_MODEL, x as resolveAuthStorePathForDisplay, yt as shouldEnableShellEnvFallback } from "./auth-profiles-ByNs3eEm.js";
3
+ import { t as formatCliCommand } from "./command-format-Bxe0mWee.js";
4
+ import { S as shortenHomePath } from "./utils-BLJAc3ZV.js";
5
+ import "./exec-CACT5OAW.js";
6
+ import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, i as resolveAgentModelFallbacksOverride, r as resolveAgentDir, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-CsRbLH4l.js";
7
+ import "./github-copilot-token-Cfs0Wxr8.js";
8
8
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DzEIEgHL.js";
9
- import { g as parseDurationMs, i as loadConfig, o as readConfigFileSnapshot } from "./config-B00lvFac.js";
10
- import "./manifest-registry-D5SiA3xq.js";
11
- import "./server-context-fX4xiYRh.js";
12
- import "./chrome-yIKmOzCO.js";
13
- import "./control-service-IRAmbcbN.js";
14
- import "./client-DMloFP_O.js";
15
- import "./call-7yrB6v4I.js";
16
- import "./message-channel-BlgPSDAh.js";
17
- import { t as formatDocsLink } from "./links-7M-j83As.js";
18
- import "./plugins-Db5BiELK.js";
9
+ import { g as parseDurationMs, i as loadConfig, o as readConfigFileSnapshot } from "./config-Bdhomfei.js";
10
+ import "./manifest-registry-u0okVSkU.js";
11
+ import "./server-context-BGpGs3qd.js";
12
+ import "./chrome-foEwx3lN.js";
13
+ import "./auth-9x3lqfIY.js";
14
+ import "./control-auth-8Cf4WXpR.js";
15
+ import "./control-service-DKnttEus.js";
16
+ import "./client-CTwXnRl7.js";
17
+ import "./call-DVYCIV8m.js";
18
+ import "./message-channel-C_MmebBt.js";
19
+ import { t as formatDocsLink } from "./links-B8LAzWwg.js";
20
+ import "./plugins-4Hqd1WGf.js";
19
21
  import "./logging-CfEk_PnX.js";
20
- import "./accounts-DbzMEfKN.js";
21
- import { $t as loadProviderUsageSummary, At as runEmbeddedPiAgent, Zt as loadModelCatalog, jn as describeFailoverError, m as openUrl, nn as resolveUsageProviderId, tn as formatUsageWindowSummary } from "./loader-wXwp4rZJ.js";
22
- import { r as withProgressTotals } from "./progress-Da1ehW-x.js";
23
- import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-Dc0C5HC9.js";
24
- import "./note-Ci08TSbV.js";
25
- import { t as createClackPrompter } from "./clack-prompter-DuBVnTKy.js";
26
- import "./manager-CcVYv0N5.js";
27
- import { a as resolveSessionTranscriptsDirForAgent, r as resolveSessionTranscriptPath } from "./paths-IivnSNkP.js";
28
- import "./sqlite-B7FPASCO.js";
29
- import "./redact-DuEEf1p1.js";
30
- import "./routes-B4QQiFju.js";
31
- import "./pi-embedded-helpers-Bkpd4fTr.js";
32
- import "./deliver-hf-WKyWd.js";
33
- import "./sandbox-Aks-9EcZ.js";
34
- import "./tui-formatters-C3NarH24.js";
35
- import "./wsl-Cwo7X0Un.js";
36
- import "./skills-D5UZZZSY.js";
37
- import { y as ensureOpenClawModelsJson } from "./image-Ds4NLGPR.js";
38
- import "./tool-display-o-dDAlqF.js";
39
- import "./channel-selection-RZimme3j.js";
40
- import "./session-cost-usage-CcCEQNuc.js";
41
- import "./commands-CjEGXOZ_.js";
42
- import "./pairing-store-CgXR3ZWJ.js";
43
- import "./login-qr-CGEu5TU-.js";
44
- import { n as runCommandWithRuntime, t as resolveOptionFromCommand } from "./cli-utils-PlLcDZlM.js";
45
- import "./pairing-labels-CWFEtSc3.js";
46
- import { t as renderTable } from "./table-cCoGqLsk.js";
47
- import { _t as validateAnthropicSetupToken, a as normalizeAlias, c as updateConfig, d as resolvePluginProviders, i as formatTokenK, l as createVpsAwareOAuthHandlers, n as ensureFlagCompatibility, o as resolveKnownAgentId, r as formatMs, s as resolveModelTarget, t as githubCopilotLoginCommand, u as isRemoteEnvironment, v as applyAuthProfileConfig } from "./github-copilot-auth-CZxurvdz.js";
48
- import { n as logConfigUpdated } from "./logging-DuK6YXuK.js";
49
- import { n as redactSecrets } from "./format-CaxeRcue.js";
50
- import { n as buildAuthHealthSummary, r as formatRemainingShort, t as DEFAULT_OAUTH_WARN_MS } from "./auth-health-d7BMZlWG.js";
22
+ import "./accounts-DCDeFTra.js";
23
+ import { At as runEmbeddedPiAgent, Jt as formatUsageWindowSummary, Kt as loadProviderUsageSummary, Yt as resolveUsageProviderId, m as openUrl, wn as describeFailoverError } from "./loader-KjT074JR.js";
24
+ import { r as withProgressTotals } from "./progress-DWqhRakV.js";
25
+ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-BFH5D5LN.js";
26
+ import "./note-hhtubr2j.js";
27
+ import { t as createClackPrompter } from "./clack-prompter-ChCGXfyt.js";
28
+ import "./deliver-CIU9Npgs.js";
29
+ import "./manager-T1XfGchB.js";
30
+ import { o as resolveSessionTranscriptsDirForAgent, r as resolveSessionTranscriptPath } from "./paths-DLINmNFQ.js";
31
+ import "./sqlite-BINzs1U0.js";
32
+ import "./redact-Br9GfacZ.js";
33
+ import "./routes-DewK5tq2.js";
34
+ import "./pi-embedded-helpers-DfwkwPYD.js";
35
+ import "./fetch-timeout-DTK9vxex.js";
36
+ import "./sandbox-BKYnhYQH.js";
37
+ import "./tui-formatters-DePhZK3J.js";
38
+ import "./wsl-BUOkxKJu.js";
39
+ import "./skills-DRjfSQT3.js";
40
+ import { y as ensureOpenClawModelsJson } from "./image-DgtfXMcX.js";
41
+ import "./tool-display-ClRud3pg.js";
42
+ import "./channel-selection-D4D6ImhN.js";
43
+ import "./session-cost-usage-D9hHANWI.js";
44
+ import { _ as loadModelCatalog } from "./runner-CY0nmVme.js";
45
+ import "./commands-BX_OIIVR.js";
46
+ import "./pairing-store-Dp5_JGnG.js";
47
+ import "./login-qr-CuvemJj4.js";
48
+ import { n as runCommandWithRuntime, t as resolveOptionFromCommand } from "./cli-utils-LcHOt63h.js";
49
+ import "./pairing-labels-CgNHnjzT.js";
50
+ import { t as renderTable } from "./table-CwulTLQp.js";
51
+ import { Et as validateAnthropicSetupToken, a as normalizeAlias, c as updateConfig, d as resolvePluginProviders, i as formatTokenK, l as createVpsAwareOAuthHandlers, n as ensureFlagCompatibility, o as resolveKnownAgentId, r as formatMs, s as resolveModelTarget, t as githubCopilotLoginCommand, u as isRemoteEnvironment, v as applyAuthProfileConfig } from "./github-copilot-auth-DDispnyz.js";
52
+ import { n as logConfigUpdated } from "./logging-CRq4h04P.js";
53
+ import { n as redactSecrets } from "./format-CNU-Zkrz.js";
54
+ import { n as buildAuthHealthSummary, r as formatRemainingShort, t as DEFAULT_OAUTH_WARN_MS } from "./auth-health-j6epgQbq.js";
51
55
  import path from "node:path";
52
56
  import fs from "node:fs/promises";
53
57
  import { complete, getEnvApiKey, getModel } from "@mariozechner/pi-ai";