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,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { a as resolveCanonicalConfigPath, c as resolveDefaultConfigCandidates, d as resolveIsNixMode, f as resolveLegacyStateDirs, g as resolveStateDir, h as resolveOAuthPath, i as isNixMode, l as resolveGatewayLockDir, m as resolveOAuthDir, n as DEFAULT_GATEWAY_PORT, o as resolveConfigPath, p as resolveNewStateDir, r as STATE_DIR, s as resolveConfigPathCandidate, t as CONFIG_PATH, u as resolveGatewayPort, y as resolveRequiredHomeDir } from "./paths-DVBShlw6.js";
3
- import { S as normalizeChatChannelId, p as CHANNEL_IDS } from "./subsystem-Bh1Y_6Uv.js";
4
- import { _ as resolveConfigDir, b as resolveUserPath, d as isPlainObject, f as isRecord } from "./utils-es4ygvQ-.js";
3
+ import { S as normalizeChatChannelId, p as CHANNEL_IDS } from "./subsystem-BoExtIHo.js";
4
+ import { _ as resolveConfigDir, b as resolveUserPath, d as isPlainObject, f as isRecord } from "./utils-Cd9QdCHh.js";
5
5
  import { l as normalizeAgentId, n as DEFAULT_AGENT_ID } from "./session-key-BWxPj0z_.js";
6
- import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-CGmuusG9.js";
7
- import { Et as DEFAULT_CONTEXT_TOKENS, J as shouldDeferShellEnvFallback, K as loadShellEnvFallback, Y as shouldEnableShellEnvFallback, c as parseModelRef, q as resolveShellEnvFallbackTimeoutMs } from "./model-selection-BK7DuyH8.js";
8
- import { c as normalizePluginsConfig, l as resolveEnableState, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-3It8Z8yN.js";
6
+ import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-CQCus0rI.js";
7
+ import { Et as DEFAULT_CONTEXT_TOKENS, J as shouldDeferShellEnvFallback, K as loadShellEnvFallback, Y as shouldEnableShellEnvFallback, c as parseModelRef, q as resolveShellEnvFallbackTimeoutMs } from "./model-selection-BLuqsGVB.js";
8
+ import { d as resolveMemorySlotDecision, l as normalizePluginsConfig, t as loadPluginManifestRegistry, u as resolveEnableState } from "./manifest-registry-CQhdnDBZ.js";
9
9
  import { createRequire } from "node:module";
10
10
  import fs from "node:fs";
11
11
  import os from "node:os";
@@ -2763,7 +2763,8 @@ const BindingsSchema = z.array(z.object({
2763
2763
  id: z.string()
2764
2764
  }).strict().optional(),
2765
2765
  guildId: z.string().optional(),
2766
- teamId: z.string().optional()
2766
+ teamId: z.string().optional(),
2767
+ roles: z.array(z.string()).optional()
2767
2768
  }).strict()
2768
2769
  }).strict()).optional();
2769
2770
  const BroadcastStrategySchema = z.enum(["parallel", "sequential"]);
@@ -2836,7 +2837,7 @@ const InternalHookHandlerSchema = z.object({
2836
2837
  const HookConfigSchema = z.object({
2837
2838
  enabled: z.boolean().optional(),
2838
2839
  env: z.record(z.string(), z.string()).optional()
2839
- }).strict();
2840
+ }).passthrough();
2840
2841
  const HookInstallRecordSchema = z.object({
2841
2842
  source: z.union([
2842
2843
  z.literal("npm"),
@@ -3149,6 +3150,7 @@ const DiscordGuildChannelSchema = z.object({
3149
3150
  skills: z.array(z.string()).optional(),
3150
3151
  enabled: z.boolean().optional(),
3151
3152
  users: z.array(z.union([z.string(), z.number()])).optional(),
3153
+ roles: z.array(z.union([z.string(), z.number()])).optional(),
3152
3154
  systemPrompt: z.string().optional(),
3153
3155
  includeThreadStarter: z.boolean().optional(),
3154
3156
  autoThread: z.boolean().optional()
@@ -3165,6 +3167,7 @@ const DiscordGuildSchema = z.object({
3165
3167
  "allowlist"
3166
3168
  ]).optional(),
3167
3169
  users: z.array(z.union([z.string(), z.number()])).optional(),
3170
+ roles: z.array(z.union([z.string(), z.number()])).optional(),
3168
3171
  channels: z.record(z.string(), DiscordGuildChannelSchema.optional()).optional()
3169
3172
  }).strict();
3170
3173
  const DiscordAccountSchema = z.object({
@@ -4022,6 +4025,11 @@ const MemoryQmdLimitsSchema = z.object({
4022
4025
  }).strict();
4023
4026
  const MemoryQmdSchema = z.object({
4024
4027
  command: z.string().optional(),
4028
+ searchMode: z.union([
4029
+ z.literal("query"),
4030
+ z.literal("search"),
4031
+ z.literal("vsearch")
4032
+ ]).optional(),
4025
4033
  includeDefaultMemory: z.boolean().optional(),
4026
4034
  paths: z.array(MemoryQmdPathSchema).optional(),
4027
4035
  sessions: MemoryQmdSessionSchema.optional(),
@@ -4183,6 +4191,9 @@ const OpenClawSchema = z.object({
4183
4191
  enabled: z.boolean().optional(),
4184
4192
  path: z.string().optional(),
4185
4193
  token: z.string().optional(),
4194
+ defaultSessionKey: z.string().optional(),
4195
+ allowRequestSessionKey: z.boolean().optional(),
4196
+ allowedSessionKeyPrefixes: z.array(z.string()).optional(),
4186
4197
  allowedAgentIds: z.array(z.string()).optional(),
4187
4198
  maxBodyBytes: z.number().int().positive().optional(),
4188
4199
  presets: z.array(z.string()).optional(),
@@ -4288,8 +4299,10 @@ const OpenClawSchema = z.object({
4288
4299
  responses: z.object({
4289
4300
  enabled: z.boolean().optional(),
4290
4301
  maxBodyBytes: z.number().int().positive().optional(),
4302
+ maxUrlParts: z.number().int().nonnegative().optional(),
4291
4303
  files: z.object({
4292
4304
  allowUrl: z.boolean().optional(),
4305
+ urlAllowlist: z.array(z.string()).optional(),
4293
4306
  allowedMimes: z.array(z.string()).optional(),
4294
4307
  maxBytes: z.number().int().positive().optional(),
4295
4308
  maxChars: z.number().int().positive().optional(),
@@ -4303,6 +4316,7 @@ const OpenClawSchema = z.object({
4303
4316
  }).strict().optional(),
4304
4317
  images: z.object({
4305
4318
  allowUrl: z.boolean().optional(),
4319
+ urlAllowlist: z.array(z.string()).optional(),
4306
4320
  allowedMimes: z.array(z.string()).optional(),
4307
4321
  maxBytes: z.number().int().positive().optional(),
4308
4322
  maxRedirects: z.number().int().nonnegative().optional(),
@@ -1,46 +1,46 @@
1
- import { $ as DEFAULT_CHAT_CHANNEL, B as resolveConfigPath, C as setVerbose, D as colorize, J as resolveOAuthDir, L as STATE_DIR, O as isRich, R as isNixMode, W as resolveGatewayPort, X as resolveStateDir, a as parseBooleanValue, f as visibleWidth, k as theme, m as restoreTerminalState, nt as getChatChannelMeta, ot as normalizeChatChannelId, p as defaultRuntime, v as danger, y as info } from "./entry.js";
2
- import { Ct as DEFAULT_CONTEXT_TOKENS, N as resolveConfiguredModelRef, Tt as DEFAULT_PROVIDER, _ as ensureAuthProfileStore, b as resolveAuthStorePath, ft as normalizeOptionalSecretInput, g as upsertAuthProfile, k as normalizeProviderId, n as resolveAuthProfileOrder, pt as normalizeSecretInput, s as resolveApiKeyForProfile, ut as resolveEnvApiKey, wt as DEFAULT_MODEL } from "./auth-profiles-Bv1AEm-Y.js";
3
- import { t as formatCliCommand } from "./command-format-ayFsmwwz.js";
1
+ import { A as theme, G as resolveGatewayPort, O as colorize, R as STATE_DIR, V as resolveConfigPath, Y as resolveOAuthDir, Z as resolveStateDir, a as parseBooleanValue, ct as normalizeChatChannelId, f as visibleWidth, it as getChatChannelMeta, k as isRich, m as restoreTerminalState, p as defaultRuntime, tt as DEFAULT_CHAT_CHANNEL, v as danger, w as setVerbose, y as info, z as isNixMode } from "./entry.js";
2
+ import { Ct as DEFAULT_CONTEXT_TOKENS, N as resolveConfiguredModelRef, Tt as DEFAULT_PROVIDER, _ as ensureAuthProfileStore, b as resolveAuthStorePath, ft as normalizeOptionalSecretInput, g as upsertAuthProfile, k as normalizeProviderId, n as resolveAuthProfileOrder, pt as normalizeSecretInput, s as resolveApiKeyForProfile, ut as resolveEnvApiKey, wt as DEFAULT_MODEL } from "./auth-profiles-ByNs3eEm.js";
3
+ import { t as formatCliCommand } from "./command-format-Bxe0mWee.js";
4
4
  import { l as normalizeAgentId, n as DEFAULT_AGENT_ID, t as DEFAULT_ACCOUNT_ID } from "./session-key-DVvxnFKg.js";
5
- import { S as shortenHomePath, _ as resolveHomeDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-Dk86IbEs.js";
6
- import { t as runCommandWithTimeout } from "./exec-B8JKbXKW.js";
7
- import { c as resolveDefaultAgentId, f as DEFAULT_AGENT_WORKSPACE_DIR, h as DEFAULT_IDENTITY_FILENAME, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, w as resolveDefaultAgentWorkspaceDir, x as ensureAgentWorkspace } from "./agent-scope-DQuy3dwI.js";
8
- import { c as writeConfigFile, g as parseDurationMs, i as loadConfig, o as readConfigFileSnapshot, r as createConfigIO } from "./config-B00lvFac.js";
9
- import { n as movePathToTrash } from "./server-context-fX4xiYRh.js";
10
- import { i as randomIdempotencyKey, n as callGateway } from "./call-7yrB6v4I.js";
11
- import { h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES } from "./message-channel-BlgPSDAh.js";
12
- import { t as formatDocsLink } from "./links-7M-j83As.js";
13
- import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-Db5BiELK.js";
14
- import { $n as CHANNEL_TARGET_DESCRIPTION, D as runMemoryStatus, Dn as formatTargetDisplay, E as registerMemoryCli, Qn as CHANNEL_TARGETS_DESCRIPTION, _ as randomToken, a as applyWizardMetadata, c as ensureWorkspaceAndSessions, d as handleReset, f as moveToTrash, gn as lookupContextTokens, hn as resolveCommitHash, i as DEFAULT_WORKSPACE, kn as CHANNEL_MESSAGE_ACTION_NAMES, l as formatControlUiSshHint, m as openUrl, s as detectBrowserOpenSupport, v as resolveControlUiLinks, x as waitForGatewayReachable, yn as runMessageAction } from "./loader-wXwp4rZJ.js";
15
- import { n as withProgress } from "./progress-Da1ehW-x.js";
16
- import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-Dc0C5HC9.js";
5
+ import { S as shortenHomePath, _ as resolveHomeDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-BLJAc3ZV.js";
6
+ import { t as runCommandWithTimeout } from "./exec-CACT5OAW.js";
7
+ import { c as resolveDefaultAgentId, f as DEFAULT_AGENT_WORKSPACE_DIR, h as DEFAULT_IDENTITY_FILENAME, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, w as resolveDefaultAgentWorkspaceDir, x as ensureAgentWorkspace } from "./agent-scope-CsRbLH4l.js";
8
+ import { c as writeConfigFile, g as parseDurationMs, i as loadConfig, o as readConfigFileSnapshot, r as createConfigIO } from "./config-Bdhomfei.js";
9
+ import { n as movePathToTrash } from "./server-context-BGpGs3qd.js";
10
+ import { i as randomIdempotencyKey, n as callGateway } from "./call-DVYCIV8m.js";
11
+ import { h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES } from "./message-channel-C_MmebBt.js";
12
+ import { t as formatDocsLink } from "./links-B8LAzWwg.js";
13
+ import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-4Hqd1WGf.js";
14
+ import { D as runMemoryStatus, E as registerMemoryCli, Gn as CHANNEL_TARGETS_DESCRIPTION, Kn as CHANNEL_TARGET_DESCRIPTION, Sn as CHANNEL_MESSAGE_ACTION_NAMES, _ as randomToken, a as applyWizardMetadata, bn as formatTargetDisplay, c as ensureWorkspaceAndSessions, cn as resolveCommitHash, d as handleReset, f as moveToTrash, fn as runMessageAction, i as DEFAULT_WORKSPACE, l as formatControlUiSshHint, ln as lookupContextTokens, m as openUrl, s as detectBrowserOpenSupport, v as resolveControlUiLinks, x as waitForGatewayReachable } from "./loader-KjT074JR.js";
15
+ import { n as withProgress } from "./progress-DWqhRakV.js";
16
+ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-BFH5D5LN.js";
17
17
  import { t as WizardCancelledError } from "./prompts-CXLLIBwP.js";
18
- import { t as createClackPrompter } from "./clack-prompter-DuBVnTKy.js";
18
+ import { t as createClackPrompter } from "./clack-prompter-ChCGXfyt.js";
19
19
  import { t as resolveChannelDefaultAccountId } from "./helpers-DdwqKAAS.js";
20
- import { n as setupChannels } from "./onboard-channels-DxXvp8og.js";
21
- import { a as resolveSessionTranscriptsDirForAgent, i as resolveSessionTranscriptsDir, o as resolveStorePath } from "./paths-IivnSNkP.js";
22
- import { d as loadSessionStore } from "./sandbox-Aks-9EcZ.js";
23
- import { n as formatTimeAgo } from "./format-relative-79_Y1n2Y.js";
24
- import { n as runCommandWithRuntime } from "./cli-utils-PlLcDZlM.js";
25
- import { n as ensurePluginRegistryLoaded, t as hasExplicitOptions } from "./command-options-BTAzyqqb.js";
26
- import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-DUkirdHn.js";
27
- import { n as parsePositiveIntOrUndefined, t as collectOption } from "./helpers-CQI-5xS9.js";
28
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-3B5y445n.js";
29
- import { t as createDefaultDeps } from "./deps-Bv1kLtwo.js";
30
- import { a as gatewayInstallErrorHint, h as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-c0uXH4Dl.js";
31
- import { t as resolveGatewayService } from "./service-DDPRbf8a.js";
32
- import { r as isSystemdUserServiceAvailable } from "./systemd-BEWwfwn0.js";
33
- import { t as renderTable } from "./table-cCoGqLsk.js";
34
- import { d as warnIfModelConfigLooksOff, f as applyAuthChoice, g as promptAuthChoiceGrouped, h as applyGoogleGeminiModelDefault, m as upsertSharedEnvVar, p as applyOpenAIConfig } from "./onboard-skills-CBxsRGyf.js";
35
- import { l as healthCommand } from "./health-format-DrGFg8bx.js";
36
- import { $ as setMinimaxApiKey, C as applyMoonshotConfig, D as applyOpenrouterConfig, F as applyVeniceConfig, L as applyVercelAiGatewayConfig, N as applyTogetherConfig, Q as setKimiCodingApiKey, U as applyZaiConfig, V as applyXiaomiConfig, X as setCloudflareAiGatewayConfig, Y as setAnthropicApiKey, Z as setGeminiApiKey, _t as validateAnthropicSetupToken, at as setTogetherApiKey, ct as setXaiApiKey, et as setMoonshotApiKey, f as applyOpencodeZenConfig, g as applyMinimaxConfig, gt as buildTokenProfileId, it as setSyntheticApiKey, j as applySyntheticConfig, k as applyQianfanConfig, lt as setXiaomiApiKey, m as applyMinimaxApiConfig, nt as setOpenrouterApiKey, ot as setVeniceApiKey, rt as setQianfanApiKey, st as setVercelAiGatewayApiKey, tt as setOpencodeZenApiKey, ut as setZaiApiKey, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyXaiConfig } from "./github-copilot-auth-CZxurvdz.js";
37
- import { n as logConfigUpdated, t as formatConfigPath } from "./logging-DuK6YXuK.js";
38
- import { a as findAgentEntryIndex, c as pruneAgentConfig, d as parseIdentityMarkdown, f as runOnboardingWizard, i as buildAgentSummaries, l as identityHasValues, o as listAgentEntries, r as applyAgentConfig, s as loadAgentIdentity, t as statusCommand } from "./status-zfL4Yej7.js";
39
- import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-22-R4bNS.js";
40
- import { t as formatHelpExamples } from "./help-format-CUnac_bT.js";
41
- import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-B69emwZv.js";
42
- import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-CDo2UbHM.js";
43
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-BJirShBi.js";
20
+ import { n as setupChannels } from "./onboard-channels-C501x8GI.js";
21
+ import { a as resolveSessionTranscriptsDir, o as resolveSessionTranscriptsDirForAgent, s as resolveStorePath } from "./paths-DLINmNFQ.js";
22
+ import { d as loadSessionStore } from "./sandbox-BKYnhYQH.js";
23
+ import { n as formatTimeAgo } from "./format-relative-CZOlQ2pA.js";
24
+ import { n as runCommandWithRuntime } from "./cli-utils-LcHOt63h.js";
25
+ import { n as ensurePluginRegistryLoaded, t as hasExplicitOptions } from "./command-options-BvgxzPbK.js";
26
+ import { l as getVerboseFlag, o as getFlagValue, r as registerSubCliCommands, s as getPositiveIntFlagValue, u as hasFlag } from "./register.subclis-C02e4zuJ.js";
27
+ import { n as parsePositiveIntOrUndefined, t as collectOption } from "./helpers-D_jqdWkd.js";
28
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BByb2Snz.js";
29
+ import { t as createDefaultDeps } from "./deps-QSwGcoNZ.js";
30
+ import { a as gatewayInstallErrorHint, h as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-B0tg_LsX.js";
31
+ import { t as resolveGatewayService } from "./service-99RDXwX4.js";
32
+ import { r as isSystemdUserServiceAvailable } from "./systemd-C0VZriGM.js";
33
+ import { t as renderTable } from "./table-CwulTLQp.js";
34
+ import { _ as applyOpenAIConfig, a as applyCustomApiConfig, b as applyGoogleGeminiModelDefault, c as resolveCustomProviderId, g as applyAuthChoice, h as warnIfModelConfigLooksOff, i as CustomApiError, o as parseNonInteractiveCustomApiFlags, v as upsertSharedEnvVar, x as promptAuthChoiceGrouped, y as detectZaiEndpoint } from "./onboard-skills-DV0Qzvjj.js";
35
+ import { l as healthCommand } from "./health-format-LZDxu3rv.js";
36
+ import { $ as setAnthropicApiKey, C as applyLitellmConfig, E as applyMoonshotConfigCn, Et as validateAnthropicSetupToken, F as applyTogetherConfig, G as applyZaiConfig, L as applyVeniceConfig, N as applySyntheticConfig, T as applyMoonshotConfig, Tt as buildTokenProfileId, U as applyXiaomiConfig, V as applyXaiConfig, at as setMoonshotApiKey, ct as setQianfanApiKey, dt as setVeniceApiKey, et as setCloudflareAiGatewayConfig, f as applyOpencodeZenConfig, ft as setVercelAiGatewayApiKey, g as applyMinimaxConfig, ht as setZaiApiKey, it as setMinimaxApiKey, j as applyQianfanConfig, k as applyOpenrouterConfig, lt as setSyntheticApiKey, m as applyMinimaxApiConfig, mt as setXiaomiApiKey, nt as setKimiCodingApiKey, ot as setOpencodeZenApiKey, pt as setXaiApiKey, rt as setLitellmApiKey, st as setOpenrouterApiKey, tt as setGeminiApiKey, ut as setTogetherApiKey, v as applyAuthProfileConfig, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyVercelAiGatewayConfig } from "./github-copilot-auth-DDispnyz.js";
37
+ import { n as logConfigUpdated, t as formatConfigPath } from "./logging-CRq4h04P.js";
38
+ import { a as findAgentEntryIndex, c as pruneAgentConfig, d as parseIdentityMarkdown, f as runOnboardingWizard, i as buildAgentSummaries, l as identityHasValues, o as listAgentEntries, r as applyAgentConfig, s as loadAgentIdentity, t as statusCommand } from "./status-DDWoOpeB.js";
39
+ import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-CyMxTyrG.js";
40
+ import { t as formatHelpExamples } from "./help-format-R5fLToDw.js";
41
+ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-BXLiucXo.js";
42
+ import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-xdn3BdPh.js";
43
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-sYG5V4Co.js";
44
44
  import path from "node:path";
45
45
  import fs from "node:fs";
46
46
  import JSON5 from "json5";
@@ -410,7 +410,7 @@ async function agentsAddCommand(opts, runtime = defaultRuntime, params) {
410
410
  await prompter.outro(`Agent "${agentId}" ready.`);
411
411
  } catch (err) {
412
412
  if (err instanceof WizardCancelledError) {
413
- runtime.exit(0);
413
+ runtime.exit(1);
414
414
  return;
415
415
  }
416
416
  throw err;
@@ -1234,7 +1234,7 @@ function registerBrowserFilesAndDownloadsCommands(browser, parentOpts) {
1234
1234
  defaultRuntime.exit(1);
1235
1235
  }
1236
1236
  });
1237
- browser.command("waitfordownload").description("Wait for the next download (and save it)").argument("[path]", "Save path (default: /tmp/openclaw/downloads/...)").option("--target-id <id>", "CDP target id (or unique prefix)").option("--timeout-ms <ms>", "How long to wait for the next download (default: 120000)", (v) => Number(v)).action(async (outPath, opts, cmd) => {
1237
+ browser.command("waitfordownload").description("Wait for the next download (and save it)").argument("[path]", "Save path (default: /tmp/openclaw/downloads/...; fallback: os.tmpdir()/openclaw/downloads/...)").option("--target-id <id>", "CDP target id (or unique prefix)").option("--timeout-ms <ms>", "How long to wait for the next download (default: 120000)", (v) => Number(v)).action(async (outPath, opts, cmd) => {
1238
1238
  const { parent, profile } = resolveBrowserActionContext(cmd, parentOpts);
1239
1239
  try {
1240
1240
  const timeoutMs = Number.isFinite(opts.timeoutMs) ? opts.timeoutMs : void 0;
@@ -2782,7 +2782,7 @@ async function loadValidConfig() {
2782
2782
  }
2783
2783
  function registerConfigCli(program) {
2784
2784
  const cmd = program.command("config").description("Config helpers (get/set/unset). Run without subcommand for the wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.openclaw.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
2785
- const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-B69emwZv.js").then((n) => n.t);
2785
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-BXLiucXo.js").then((n) => n.t);
2786
2786
  const sections = Array.isArray(opts.section) ? opts.section.map((value) => typeof value === "string" ? value.trim() : "").filter(Boolean) : [];
2787
2787
  if (sections.length === 0) {
2788
2788
  await configureCommand(defaultRuntime);
@@ -4106,7 +4106,7 @@ async function runInteractiveOnboarding(opts, runtime = defaultRuntime) {
4106
4106
  await runOnboardingWizard(opts, runtime, prompter);
4107
4107
  } catch (err) {
4108
4108
  if (err instanceof WizardCancelledError) {
4109
- runtime.exit(0);
4109
+ runtime.exit(1);
4110
4110
  return;
4111
4111
  }
4112
4112
  throw err;
@@ -4192,13 +4192,22 @@ const AUTH_CHOICE_FLAG_MAP = [
4192
4192
  flag: "opencodeZenApiKey",
4193
4193
  authChoice: "opencode-zen",
4194
4194
  label: "--opencode-zen-api-key"
4195
+ },
4196
+ {
4197
+ flag: "litellmApiKey",
4198
+ authChoice: "litellm-api-key",
4199
+ label: "--litellm-api-key"
4195
4200
  }
4196
4201
  ];
4202
+ function hasStringValue(value) {
4203
+ return typeof value === "string" ? value.trim().length > 0 : Boolean(value);
4204
+ }
4197
4205
  function inferAuthChoiceFromFlags(opts) {
4198
- const matches = AUTH_CHOICE_FLAG_MAP.filter(({ flag }) => {
4199
- const value = opts[flag];
4200
- if (typeof value === "string") return value.trim().length > 0;
4201
- return Boolean(value);
4206
+ const matches = AUTH_CHOICE_FLAG_MAP.filter(({ flag }) => hasStringValue(opts[flag]));
4207
+ if (hasStringValue(opts.customBaseUrl) || hasStringValue(opts.customModelId) || hasStringValue(opts.customApiKey)) matches.push({
4208
+ flag: "customBaseUrl",
4209
+ authChoice: "custom-api-key",
4210
+ label: "--custom-base-url/--custom-model-id/--custom-api-key"
4202
4211
  });
4203
4212
  return {
4204
4213
  choice: matches[0]?.authChoice,
@@ -4238,6 +4247,14 @@ async function resolveNonInteractiveApiKey(params) {
4238
4247
  key: envResolved.apiKey,
4239
4248
  source: "env"
4240
4249
  };
4250
+ const explicitEnvVar = params.envVarName?.trim();
4251
+ if (explicitEnvVar) {
4252
+ const explicitEnvKey = normalizeOptionalSecretInput(process.env[explicitEnvVar]);
4253
+ if (explicitEnvKey) return {
4254
+ key: explicitEnvKey,
4255
+ source: "env"
4256
+ };
4257
+ }
4241
4258
  if (params.allowProfile ?? true) {
4242
4259
  const profileKey = await resolveApiKeyFromProfiles({
4243
4260
  provider: params.provider,
@@ -4249,6 +4266,7 @@ async function resolveNonInteractiveApiKey(params) {
4249
4266
  source: "profile"
4250
4267
  };
4251
4268
  }
4269
+ if (params.required === false) return null;
4252
4270
  const profileHint = params.allowProfile === false ? "" : `, or existing ${params.provider} API-key profile`;
4253
4271
  params.runtime.error(`Missing ${params.flagName} (or ${params.envVar} in env${profileHint}).`);
4254
4272
  params.runtime.exit(1);
@@ -4358,7 +4376,7 @@ async function applyNonInteractiveAuthChoice(params) {
4358
4376
  });
4359
4377
  return applyGoogleGeminiModelDefault(nextConfig).next;
4360
4378
  }
4361
- if (authChoice === "zai-api-key") {
4379
+ if (authChoice === "zai-api-key" || authChoice === "zai-coding-global" || authChoice === "zai-coding-cn" || authChoice === "zai-global" || authChoice === "zai-cn") {
4362
4380
  const resolved = await resolveNonInteractiveApiKey({
4363
4381
  provider: "zai",
4364
4382
  cfg: baseConfig,
@@ -4374,7 +4392,23 @@ async function applyNonInteractiveAuthChoice(params) {
4374
4392
  provider: "zai",
4375
4393
  mode: "api_key"
4376
4394
  });
4377
- return applyZaiConfig(nextConfig);
4395
+ let endpoint;
4396
+ let modelIdOverride;
4397
+ if (authChoice === "zai-coding-global") endpoint = "coding-global";
4398
+ else if (authChoice === "zai-coding-cn") endpoint = "coding-cn";
4399
+ else if (authChoice === "zai-global") endpoint = "global";
4400
+ else if (authChoice === "zai-cn") endpoint = "cn";
4401
+ else {
4402
+ const detected = await detectZaiEndpoint({ apiKey: resolved.key });
4403
+ if (detected) {
4404
+ endpoint = detected.endpoint;
4405
+ modelIdOverride = detected.modelId;
4406
+ } else endpoint = "global";
4407
+ }
4408
+ return applyZaiConfig(nextConfig, {
4409
+ endpoint,
4410
+ ...modelIdOverride ? { modelId: modelIdOverride } : {}
4411
+ });
4378
4412
  }
4379
4413
  if (authChoice === "xiaomi-api-key") {
4380
4414
  const resolved = await resolveNonInteractiveApiKey({
@@ -4468,6 +4502,24 @@ async function applyNonInteractiveAuthChoice(params) {
4468
4502
  });
4469
4503
  return applyOpenrouterConfig(nextConfig);
4470
4504
  }
4505
+ if (authChoice === "litellm-api-key") {
4506
+ const resolved = await resolveNonInteractiveApiKey({
4507
+ provider: "litellm",
4508
+ cfg: baseConfig,
4509
+ flagValue: opts.litellmApiKey,
4510
+ flagName: "--litellm-api-key",
4511
+ envVar: "LITELLM_API_KEY",
4512
+ runtime
4513
+ });
4514
+ if (!resolved) return null;
4515
+ if (resolved.source !== "profile") await setLitellmApiKey(resolved.key);
4516
+ nextConfig = applyAuthProfileConfig(nextConfig, {
4517
+ profileId: "litellm:default",
4518
+ provider: "litellm",
4519
+ mode: "api_key"
4520
+ });
4521
+ return applyLitellmConfig(nextConfig);
4522
+ }
4471
4523
  if (authChoice === "ai-gateway-api-key") {
4472
4524
  const resolved = await resolveNonInteractiveApiKey({
4473
4525
  provider: "vercel-ai-gateway",
@@ -4659,6 +4711,57 @@ async function applyNonInteractiveAuthChoice(params) {
4659
4711
  });
4660
4712
  return applyTogetherConfig(nextConfig);
4661
4713
  }
4714
+ if (authChoice === "custom-api-key") try {
4715
+ const customAuth = parseNonInteractiveCustomApiFlags({
4716
+ baseUrl: opts.customBaseUrl,
4717
+ modelId: opts.customModelId,
4718
+ compatibility: opts.customCompatibility,
4719
+ apiKey: opts.customApiKey,
4720
+ providerId: opts.customProviderId
4721
+ });
4722
+ const resolvedCustomApiKey = await resolveNonInteractiveApiKey({
4723
+ provider: resolveCustomProviderId({
4724
+ config: nextConfig,
4725
+ baseUrl: customAuth.baseUrl,
4726
+ providerId: customAuth.providerId
4727
+ }).providerId,
4728
+ cfg: baseConfig,
4729
+ flagValue: customAuth.apiKey,
4730
+ flagName: "--custom-api-key",
4731
+ envVar: "CUSTOM_API_KEY",
4732
+ envVarName: "CUSTOM_API_KEY",
4733
+ runtime,
4734
+ required: false
4735
+ });
4736
+ const result = applyCustomApiConfig({
4737
+ config: nextConfig,
4738
+ baseUrl: customAuth.baseUrl,
4739
+ modelId: customAuth.modelId,
4740
+ compatibility: customAuth.compatibility,
4741
+ apiKey: resolvedCustomApiKey?.key,
4742
+ providerId: customAuth.providerId
4743
+ });
4744
+ if (result.providerIdRenamedFrom && result.providerId) runtime.log(`Custom provider ID "${result.providerIdRenamedFrom}" already exists for a different base URL. Using "${result.providerId}".`);
4745
+ return result.config;
4746
+ } catch (err) {
4747
+ if (err instanceof CustomApiError) {
4748
+ switch (err.code) {
4749
+ case "missing_required":
4750
+ case "invalid_compatibility":
4751
+ runtime.error(err.message);
4752
+ break;
4753
+ default:
4754
+ runtime.error(`Invalid custom provider config: ${err.message}`);
4755
+ break;
4756
+ }
4757
+ runtime.exit(1);
4758
+ return null;
4759
+ }
4760
+ const reason = err instanceof Error ? err.message : String(err);
4761
+ runtime.error(`Invalid custom provider config: ${reason}`);
4762
+ runtime.exit(1);
4763
+ return null;
4764
+ }
4662
4765
  if (authChoice === "oauth" || authChoice === "chutes" || authChoice === "openai-codex" || authChoice === "qwen-portal" || authChoice === "minimax-portal") {
4663
4766
  runtime.error("OAuth requires interactive mode.");
4664
4767
  runtime.exit(1);
@@ -5076,7 +5179,7 @@ function resolveInstallDaemonFlag(command, opts) {
5076
5179
  if (getOptionValueSource.call(command, "installDaemon") === "cli") return Boolean(opts.installDaemon);
5077
5180
  }
5078
5181
  function registerOnboardCommand(program) {
5079
- program.command("onboard").description("Interactive wizard to set up the gateway, workspace, and skills").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/onboard", "docs.openclaw.ai/cli/onboard")}\n`).option("--workspace <dir>", "Agent workspace directory (default: ~/.openclaw/workspace)").option("--reset", "Reset config + credentials + sessions + workspace before running wizard").option("--non-interactive", "Run without prompts", false).option("--accept-risk", "Acknowledge that agents are powerful and full system access is risky (required for --non-interactive)", false).option("--flow <flow>", "Wizard flow: quickstart|advanced|manual").option("--mode <mode>", "Wizard mode: local|remote").option("--auth-choice <choice>", "Auth: setup-token|token|chutes|openai-codex|openai-api-key|xai-api-key|qianfan-api-key|openrouter-api-key|ai-gateway-api-key|cloudflare-ai-gateway-api-key|moonshot-api-key|moonshot-api-key-cn|kimi-code-api-key|synthetic-api-key|venice-api-key|gemini-api-key|zai-api-key|xiaomi-api-key|apiKey|minimax-api|minimax-api-lightning|opencode-zen|skip|together-api-key").option("--token-provider <id>", "Token provider id (non-interactive; used with --auth-choice token)").option("--token <token>", "Token value (non-interactive; used with --auth-choice token)").option("--token-profile-id <id>", "Auth profile id (non-interactive; default: <provider>:manual)").option("--token-expires-in <duration>", "Optional token expiry duration (e.g. 365d, 12h)").option("--anthropic-api-key <key>", "Anthropic API key").option("--openai-api-key <key>", "OpenAI API key").option("--openrouter-api-key <key>", "OpenRouter API key").option("--ai-gateway-api-key <key>", "Vercel AI Gateway API key").option("--cloudflare-ai-gateway-account-id <id>", "Cloudflare Account ID").option("--cloudflare-ai-gateway-gateway-id <id>", "Cloudflare AI Gateway ID").option("--cloudflare-ai-gateway-api-key <key>", "Cloudflare AI Gateway API key").option("--moonshot-api-key <key>", "Moonshot API key").option("--kimi-code-api-key <key>", "Kimi Coding API key").option("--gemini-api-key <key>", "Gemini API key").option("--zai-api-key <key>", "Z.AI API key").option("--xiaomi-api-key <key>", "Xiaomi API key").option("--minimax-api-key <key>", "MiniMax API key").option("--synthetic-api-key <key>", "Synthetic API key").option("--venice-api-key <key>", "Venice API key").option("--together-api-key <key>", "Together AI API key").option("--opencode-zen-api-key <key>", "OpenCode Zen API key").option("--xai-api-key <key>", "xAI API key").option("--qianfan-api-key <key>", "QIANFAN API key").option("--gateway-port <port>", "Gateway port").option("--gateway-bind <mode>", "Gateway bind: loopback|tailnet|lan|auto|custom").option("--gateway-auth <mode>", "Gateway auth: token|password").option("--gateway-token <token>", "Gateway token (token auth)").option("--gateway-password <password>", "Gateway password (password auth)").option("--remote-url <url>", "Remote Gateway WebSocket URL").option("--remote-token <token>", "Remote Gateway token (optional)").option("--tailscale <mode>", "Tailscale: off|serve|funnel").option("--tailscale-reset-on-exit", "Reset tailscale serve/funnel on exit").option("--install-daemon", "Install gateway service").option("--no-install-daemon", "Skip gateway service install").option("--skip-daemon", "Skip gateway service install").option("--daemon-runtime <runtime>", "Daemon runtime: node|bun").option("--skip-channels", "Skip channel setup").option("--skip-skills", "Skip skills setup").option("--skip-health", "Skip health check").option("--skip-ui", "Skip Control UI/TUI prompts").option("--node-manager <name>", "Node manager for skills: npm|pnpm|bun").option("--json", "Output JSON summary", false).action(async (opts, command) => {
5182
+ program.command("onboard").description("Interactive wizard to set up the gateway, workspace, and skills").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/onboard", "docs.openclaw.ai/cli/onboard")}\n`).option("--workspace <dir>", "Agent workspace directory (default: ~/.openclaw/workspace)").option("--reset", "Reset config + credentials + sessions + workspace before running wizard").option("--non-interactive", "Run without prompts", false).option("--accept-risk", "Acknowledge that agents are powerful and full system access is risky (required for --non-interactive)", false).option("--flow <flow>", "Wizard flow: quickstart|advanced|manual").option("--mode <mode>", "Wizard mode: local|remote").option("--auth-choice <choice>", "Auth: setup-token|token|chutes|openai-codex|openai-api-key|xai-api-key|qianfan-api-key|openrouter-api-key|litellm-api-key|ai-gateway-api-key|cloudflare-ai-gateway-api-key|moonshot-api-key|moonshot-api-key-cn|kimi-code-api-key|synthetic-api-key|venice-api-key|gemini-api-key|zai-api-key|zai-coding-global|zai-coding-cn|zai-global|zai-cn|xiaomi-api-key|apiKey|minimax-api|minimax-api-lightning|opencode-zen|custom-api-key|skip|together-api-key").option("--token-provider <id>", "Token provider id (non-interactive; used with --auth-choice token)").option("--token <token>", "Token value (non-interactive; used with --auth-choice token)").option("--token-profile-id <id>", "Auth profile id (non-interactive; default: <provider>:manual)").option("--token-expires-in <duration>", "Optional token expiry duration (e.g. 365d, 12h)").option("--anthropic-api-key <key>", "Anthropic API key").option("--openai-api-key <key>", "OpenAI API key").option("--openrouter-api-key <key>", "OpenRouter API key").option("--ai-gateway-api-key <key>", "Vercel AI Gateway API key").option("--cloudflare-ai-gateway-account-id <id>", "Cloudflare Account ID").option("--cloudflare-ai-gateway-gateway-id <id>", "Cloudflare AI Gateway ID").option("--cloudflare-ai-gateway-api-key <key>", "Cloudflare AI Gateway API key").option("--moonshot-api-key <key>", "Moonshot API key").option("--kimi-code-api-key <key>", "Kimi Coding API key").option("--gemini-api-key <key>", "Gemini API key").option("--zai-api-key <key>", "Z.AI API key").option("--xiaomi-api-key <key>", "Xiaomi API key").option("--minimax-api-key <key>", "MiniMax API key").option("--synthetic-api-key <key>", "Synthetic API key").option("--venice-api-key <key>", "Venice API key").option("--together-api-key <key>", "Together AI API key").option("--opencode-zen-api-key <key>", "OpenCode Zen API key").option("--xai-api-key <key>", "xAI API key").option("--litellm-api-key <key>", "LiteLLM API key").option("--qianfan-api-key <key>", "QIANFAN API key").option("--custom-base-url <url>", "Custom provider base URL").option("--custom-api-key <key>", "Custom provider API key (optional)").option("--custom-model-id <id>", "Custom provider model ID").option("--custom-provider-id <id>", "Custom provider ID (optional; auto-derived by default)").option("--custom-compatibility <mode>", "Custom provider API compatibility: openai|anthropic (default: openai)").option("--gateway-port <port>", "Gateway port").option("--gateway-bind <mode>", "Gateway bind: loopback|tailnet|lan|auto|custom").option("--gateway-auth <mode>", "Gateway auth: token|password").option("--gateway-token <token>", "Gateway token (token auth)").option("--gateway-password <password>", "Gateway password (password auth)").option("--remote-url <url>", "Remote Gateway WebSocket URL").option("--remote-token <token>", "Remote Gateway token (optional)").option("--tailscale <mode>", "Tailscale: off|serve|funnel").option("--tailscale-reset-on-exit", "Reset tailscale serve/funnel on exit").option("--install-daemon", "Install gateway service").option("--no-install-daemon", "Skip gateway service install").option("--skip-daemon", "Skip gateway service install").option("--daemon-runtime <runtime>", "Daemon runtime: node|bun").option("--skip-channels", "Skip channel setup").option("--skip-skills", "Skip skills setup").option("--skip-health", "Skip health check").option("--skip-ui", "Skip Control UI/TUI prompts").option("--node-manager <name>", "Node manager for skills: npm|pnpm|bun").option("--json", "Output JSON summary", false).action(async (opts, command) => {
5080
5183
  await runCommandWithRuntime(defaultRuntime, async () => {
5081
5184
  const installDaemon = resolveInstallDaemonFlag(command, { installDaemon: Boolean(opts.installDaemon) });
5082
5185
  const gatewayPort = typeof opts.gatewayPort === "string" ? Number.parseInt(opts.gatewayPort, 10) : void 0;
@@ -5110,6 +5213,12 @@ function registerOnboardCommand(program) {
5110
5213
  togetherApiKey: opts.togetherApiKey,
5111
5214
  opencodeZenApiKey: opts.opencodeZenApiKey,
5112
5215
  xaiApiKey: opts.xaiApiKey,
5216
+ litellmApiKey: opts.litellmApiKey,
5217
+ customBaseUrl: opts.customBaseUrl,
5218
+ customApiKey: opts.customApiKey,
5219
+ customModelId: opts.customModelId,
5220
+ customProviderId: opts.customProviderId,
5221
+ customCompatibility: opts.customCompatibility,
5113
5222
  gatewayPort: typeof gatewayPort === "number" && Number.isFinite(gatewayPort) ? gatewayPort : void 0,
5114
5223
  gatewayBind: opts.gatewayBind,
5115
5224
  gatewayAuth: opts.gatewayAuth,
@@ -1,24 +1,24 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { F as CONFIG_PATH, W as resolveGatewayPort, p as defaultRuntime } from "./entry.js";
3
- import { _ as ensureAuthProfileStore } from "./auth-profiles-Bv1AEm-Y.js";
4
- import { t as formatCliCommand } from "./command-format-ayFsmwwz.js";
5
- import { S as shortenHomePath, y as resolveUserPath } from "./utils-Dk86IbEs.js";
6
- import { c as writeConfigFile, i as loadConfig, o as readConfigFileSnapshot } from "./config-B00lvFac.js";
7
- import { a as findTailscaleBinary } from "./tailscale-DU6DgqVy.js";
8
- import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-Db5BiELK.js";
9
- import { _ as randomToken, a as applyWizardMetadata, b as summarizeExistingConfig, c as ensureWorkspaceAndSessions, g as probeGatewayReachable, h as printWizardHeader, i as DEFAULT_WORKSPACE, p as normalizeGatewayTokenInput, u as guardCancel, v as resolveControlUiLinks, x as waitForGatewayReachable } from "./loader-wXwp4rZJ.js";
10
- import { n as withProgress } from "./progress-Da1ehW-x.js";
11
- import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-Dc0C5HC9.js";
12
- import { t as note$1 } from "./note-Ci08TSbV.js";
2
+ import { G as resolveGatewayPort, I as CONFIG_PATH, p as defaultRuntime } from "./entry.js";
3
+ import { _ as ensureAuthProfileStore } from "./auth-profiles-ByNs3eEm.js";
4
+ import { t as formatCliCommand } from "./command-format-Bxe0mWee.js";
5
+ import { S as shortenHomePath, y as resolveUserPath } from "./utils-BLJAc3ZV.js";
6
+ import { c as writeConfigFile, i as loadConfig, o as readConfigFileSnapshot } from "./config-Bdhomfei.js";
7
+ import { u as findTailscaleBinary } from "./auth-9x3lqfIY.js";
8
+ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-4Hqd1WGf.js";
9
+ import { _ as randomToken, a as applyWizardMetadata, b as summarizeExistingConfig, c as ensureWorkspaceAndSessions, g as probeGatewayReachable, h as printWizardHeader, i as DEFAULT_WORKSPACE, p as normalizeGatewayTokenInput, u as guardCancel, v as resolveControlUiLinks, x as waitForGatewayReachable } from "./loader-KjT074JR.js";
10
+ import { n as withProgress } from "./progress-DWqhRakV.js";
11
+ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-BFH5D5LN.js";
12
+ import { t as note$1 } from "./note-hhtubr2j.js";
13
13
  import { t as WizardCancelledError } from "./prompts-CXLLIBwP.js";
14
- import { t as createClackPrompter } from "./clack-prompter-DuBVnTKy.js";
15
- import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-DxXvp8og.js";
16
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-c0uXH4Dl.js";
17
- import { t as resolveGatewayService } from "./service-DDPRbf8a.js";
18
- import { a as applyModelAllowlist, c as promptDefaultModel, f as applyAuthChoice, g as promptAuthChoiceGrouped, i as promptCustomApiConfig, l as promptModelAllowlist, o as applyModelFallbacksFromSelection, r as promptRemoteGatewayConfig, s as applyPrimaryModel, t as setupSkills, u as resolvePreferredProviderForAuthChoice } from "./onboard-skills-CBxsRGyf.js";
19
- import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-DrGFg8bx.js";
20
- import { n as logConfigUpdated } from "./logging-DuK6YXuK.js";
21
- import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-CDo2UbHM.js";
14
+ import { t as createClackPrompter } from "./clack-prompter-ChCGXfyt.js";
15
+ import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-C501x8GI.js";
16
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-B0tg_LsX.js";
17
+ import { t as resolveGatewayService } from "./service-99RDXwX4.js";
18
+ import { d as applyPrimaryModel, f as promptDefaultModel, g as applyAuthChoice, l as applyModelAllowlist, m as resolvePreferredProviderForAuthChoice, p as promptModelAllowlist, r as promptRemoteGatewayConfig, s as promptCustomApiConfig, t as setupSkills, u as applyModelFallbacksFromSelection, x as promptAuthChoiceGrouped } from "./onboard-skills-DV0Qzvjj.js";
19
+ import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-LZDxu3rv.js";
20
+ import { n as logConfigUpdated } from "./logging-CRq4h04P.js";
21
+ import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-xdn3BdPh.js";
22
22
  import { confirm, intro, outro, select, text } from "@clack/prompts";
23
23
 
24
24
  //#region src/commands/configure.shared.ts
@@ -255,11 +255,14 @@ function buildGatewayAuthConfig(params) {
255
255
  const allowTailscale = params.existing?.allowTailscale;
256
256
  const base = {};
257
257
  if (typeof allowTailscale === "boolean") base.allowTailscale = allowTailscale;
258
- if (params.mode === "token") return {
259
- ...base,
260
- mode: "token",
261
- token: params.token
262
- };
258
+ if (params.mode === "token") {
259
+ const safeToken = params.token?.trim() || randomToken();
260
+ return {
261
+ ...base,
262
+ mode: "token",
263
+ token: safeToken
264
+ };
265
+ }
263
266
  return {
264
267
  ...base,
265
268
  mode: "password",
@@ -871,7 +874,7 @@ async function runConfigureWizard(opts, runtime = defaultRuntime) {
871
874
  outro$1("Configure complete.");
872
875
  } catch (err) {
873
876
  if (err instanceof WizardCancelledError) {
874
- runtime.exit(0);
877
+ runtime.exit(1);
875
878
  return;
876
879
  }
877
880
  throw err;
@@ -1,25 +1,25 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-DVBShlw6.js";
3
- import { c as defaultRuntime } from "./subsystem-Bh1Y_6Uv.js";
4
- import { C as shortenHomePath, b as resolveUserPath } from "./utils-es4ygvQ-.js";
5
- import { At as probeGatewayReachable, Dt as normalizeGatewayTokenInput, Ft as waitForGatewayReachable, Mt as resolveControlUiLinks, Pt as summarizeExistingConfig, St as ensureWorkspaceAndSessions, jt as randomToken, kt as printWizardHeader, vt as DEFAULT_WORKSPACE, wt as guardCancel, yt as applyWizardMetadata } from "./reply--b7BsXGP.js";
6
- import { ht as ensureAuthProfileStore } from "./model-selection-BK7DuyH8.js";
3
+ import { c as defaultRuntime } from "./subsystem-BoExtIHo.js";
4
+ import { C as shortenHomePath, b as resolveUserPath } from "./utils-Cd9QdCHh.js";
5
+ import { At as probeGatewayReachable, Dt as normalizeGatewayTokenInput, Ft as waitForGatewayReachable, Mt as resolveControlUiLinks, Pt as summarizeExistingConfig, St as ensureWorkspaceAndSessions, jt as randomToken, kt as printWizardHeader, vt as DEFAULT_WORKSPACE, wt as guardCancel, yt as applyWizardMetadata } from "./reply-DICXkh_C.js";
6
+ import { ht as ensureAuthProfileStore } from "./model-selection-BLuqsGVB.js";
7
7
  import { t as formatCliCommand } from "./command-format-ChfKqObn.js";
8
- import { c as writeConfigFile, i as loadConfig, o as readConfigFileSnapshot } from "./config--NUdpACy.js";
9
- import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CNaHNND_.js";
10
- import { n as withProgress } from "./progress-DIQJt9Va.js";
11
- import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-CjQRlDx4.js";
12
- import { a as findTailscaleBinary } from "./tailscale-Cu-2HNvU.js";
13
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-UsK-tOty.js";
14
- import { n as logConfigUpdated } from "./logging-MMRGFxGI.js";
15
- import { t as note$1 } from "./note-5WqioBRA.js";
16
- import { t as WizardCancelledError } from "./prompts--d-6l5Ln.js";
17
- import { t as createClackPrompter } from "./clack-prompter-BCiBkJVr.js";
18
- import { _ as promptAuthChoiceGrouped, a as promptCustomApiConfig, c as applyPrimaryModel, d as resolvePreferredProviderForAuthChoice, l as promptDefaultModel, o as applyModelAllowlist, p as applyAuthChoice, r as promptRemoteGatewayConfig, s as applyModelFallbacksFromSelection, t as setupSkills, u as promptModelAllowlist } from "./onboard-skills-DQwOQ6Ry.js";
19
- import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-CXhnVy4E.js";
20
- import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-Dy1caGsq.js";
21
- import { t as resolveGatewayService } from "./service-Cd4BxKuo.js";
22
- import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-BxjTrgoH.js";
8
+ import { c as writeConfigFile, i as loadConfig, o as readConfigFileSnapshot } from "./config-aFQssWKX.js";
9
+ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-X7d_tfTE.js";
10
+ import { n as withProgress } from "./progress-C9kngsTD.js";
11
+ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-CIbmaxSa.js";
12
+ import { u as findTailscaleBinary } from "./auth-CQNl_IaI.js";
13
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Bsjeut6m.js";
14
+ import { n as logConfigUpdated } from "./logging-BAyPwvdH.js";
15
+ import { t as note$1 } from "./note-BhRSeNeu.js";
16
+ import { t as WizardCancelledError } from "./prompts-Bg96reub.js";
17
+ import { t as createClackPrompter } from "./clack-prompter-Bz3Mmcl-.js";
18
+ import { S as promptAuthChoiceGrouped, _ as applyAuthChoice, c as promptCustomApiConfig, d as applyModelFallbacksFromSelection, f as applyPrimaryModel, h as resolvePreferredProviderForAuthChoice, m as promptModelAllowlist, p as promptDefaultModel, r as promptRemoteGatewayConfig, t as setupSkills, u as applyModelAllowlist } from "./onboard-skills-rlBHcu3Q.js";
19
+ import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-Dxzroasd.js";
20
+ import { l as healthCommand, n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-KGPokKJH.js";
21
+ import { t as resolveGatewayService } from "./service--nPk7DvT.js";
22
+ import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-NC2kl1SC.js";
23
23
  import { confirm, intro, outro, select, text } from "@clack/prompts";
24
24
 
25
25
  //#region src/commands/configure.shared.ts
@@ -256,11 +256,14 @@ function buildGatewayAuthConfig(params) {
256
256
  const allowTailscale = params.existing?.allowTailscale;
257
257
  const base = {};
258
258
  if (typeof allowTailscale === "boolean") base.allowTailscale = allowTailscale;
259
- if (params.mode === "token") return {
260
- ...base,
261
- mode: "token",
262
- token: params.token
263
- };
259
+ if (params.mode === "token") {
260
+ const safeToken = params.token?.trim() || randomToken();
261
+ return {
262
+ ...base,
263
+ mode: "token",
264
+ token: safeToken
265
+ };
266
+ }
264
267
  return {
265
268
  ...base,
266
269
  mode: "password",
@@ -872,7 +875,7 @@ async function runConfigureWizard(opts, runtime = defaultRuntime) {
872
875
  outro$1("Configure complete.");
873
876
  } catch (err) {
874
877
  if (err instanceof WizardCancelledError) {
875
- runtime.exit(0);
878
+ runtime.exit(1);
876
879
  return;
877
880
  }
878
881
  throw err;