@termix-it/cryptoclaw 1.0.0 → 1.0.2

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 (282) hide show
  1. package/CHANGELOG.md +93 -93
  2. package/README.md +1 -1
  3. package/assets/favicon.svg +22 -0
  4. package/dist/{accounts-CIGHxE7R.js → accounts-BIh6Lgjl.js} +1 -1
  5. package/dist/{accounts-BPjR5SyC.js → accounts-DA-4bmd_.js} +1 -1
  6. package/dist/{acp-cli-DG9nygBk.js → acp-cli-CBFKSvET.js} +8 -8
  7. package/dist/{acp-cli-DBWmJpUJ.js → acp-cli-CEPAR8vh.js} +8 -8
  8. package/dist/{agent-3MZVCC-N.js → agent-8dTCwA-D.js} +10 -10
  9. package/dist/{agent-scope-DBl1We79.js → agent-scope-BJucHu4R.js} +2 -2
  10. package/dist/{agent-scope-e_oNRhGi.js → agent-scope-DzpuqcS9.js} +5 -1
  11. package/dist/{agent-scope-DLfFOxP6.js → agent-scope-GUoze5gc.js} +2 -2
  12. package/dist/{agent-IDE9krld.js → agent-sjalTGVA.js} +10 -10
  13. package/dist/{audit-jaTyyQX1.js → audit-BMzW1G5a.js} +10 -10
  14. package/dist/{audit-Bj_dxNaD.js → audit-DQsCrYXQ.js} +10 -10
  15. package/dist/{auth-health-CCM6Z3vK.js → auth-health-Cr8ib9nm.js} +1 -1
  16. package/dist/{auth-health-BlspzqyF.js → auth-health-Dc-ImENT.js} +1 -1
  17. package/dist/{auth-profiles-DoD7YxsD.js → auth-profiles-CVShF1K6.js} +2 -2
  18. package/dist/build-info.json +3 -3
  19. package/dist/{call-D2DXG0AC.js → call-D-Kvee3W.js} +2 -2
  20. package/dist/{call-DqxlETxE.js → call-QEaFjVBF.js} +2 -2
  21. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  22. package/dist/{channel-options-DUkxROTo.js → channel-options-B951pKy8.js} +5 -5
  23. package/dist/{channel-options-BHpXOBuP.js → channel-options-DJsSCLD8.js} +3 -3
  24. package/dist/{channel-selection-BdigfMZZ.js → channel-selection-BWiz5Osx.js} +1 -1
  25. package/dist/{channel-selection-D7jFTFec.js → channel-selection-ChOffLk2.js} +1 -1
  26. package/dist/{channel-summary-DS0kcHm2.js → channel-summary-BQMoWZQ1.js} +5 -5
  27. package/dist/{channel-summary-CobMoKN6.js → channel-summary-C4kSR_wu.js} +5 -5
  28. package/dist/{channels-cli-DBwffwqw.js → channels-cli-Fv9FTQXn.js} +34 -34
  29. package/dist/{channels-cli-D7ZNRrq7.js → channels-cli-Lq6EWRJ9.js} +33 -33
  30. package/dist/{channels-status-issues-C2UGSPvH.js → channels-status-issues-BwOdQrU9.js} +1 -1
  31. package/dist/{channels-status-issues-Dxmd7zYk.js → channels-status-issues-DouPXVa3.js} +1 -1
  32. package/dist/{chrome-CwbWzmh4.js → chrome-D0L5ufqO.js} +1 -1
  33. package/dist/cli/daemon-cli.js +1 -1
  34. package/dist/{cli-C9xiWnx9.js → cli-Bzyu6rQE.js} +27 -27
  35. package/dist/{cli-D6C9z94O.js → cli-DJnpasWd.js} +27 -27
  36. package/dist/{command-options-DL1PhuUF.js → command-options-DBpEhnW5.js} +3 -3
  37. package/dist/{commands-Dpeoos11.js → commands-B0LiAJsa.js} +3 -3
  38. package/dist/{completion-cli-CZ8zPqPs.js → completion-cli-Bd5FrGHg.js} +27 -27
  39. package/dist/{completion-cli-B5nR7jt8.js → completion-cli-Cs-B1hk7.js} +1 -1
  40. package/dist/{config-dQK4rbfx.js → config-D1wc31Qf.js} +4 -4
  41. package/dist/{config-DSpb2aMV.js → config-DBZqAqbe.js} +4 -4
  42. package/dist/{config-IwiWafT3.js → config-fXndcfb4.js} +2 -2
  43. package/dist/{config-guard-DwIb5Y-v.js → config-guard-Csl9Ubn5.js} +48 -48
  44. package/dist/{configure-CivCcvkA.js → configure-CeTzu0Ed.js} +20 -20
  45. package/dist/{configure-7M9mLC4o.js → configure-CxPJaP8X.js} +20 -20
  46. package/dist/{control-service-BXC31sNw.js → control-service-BBeopea3.js} +4 -4
  47. package/dist/{control-service-lVzEzp9f.js → control-service-CWGGzqpN.js} +4 -4
  48. package/dist/control-ui/apple-touch-icon.png +0 -0
  49. package/dist/control-ui/assets/{index-DQ-7PWhX.js → index-BdjmXlOn.js} +372 -363
  50. package/dist/control-ui/assets/index-BdjmXlOn.js.map +1 -0
  51. package/dist/control-ui/assets/{index-nlpH70Eh.css → index-BxkHytum.css} +1 -1
  52. package/dist/control-ui/favicon-32.png +0 -0
  53. package/dist/control-ui/favicon.ico +0 -0
  54. package/dist/control-ui/favicon.svg +4 -4
  55. package/dist/control-ui/index.html +2 -2
  56. package/dist/{cron-cli-DS8ytfYQ.js → cron-cli-D8gKivN0.js} +11 -11
  57. package/dist/{cron-cli-Djb3HUdz.js → cron-cli-yC5Cy77c.js} +11 -11
  58. package/dist/{daemon-cli-KoaJ2nJX.js → daemon-cli-BM8zb09s.js} +12 -12
  59. package/dist/{daemon-cli-ZQIKLvAO.js → daemon-cli-D8AC0Q_A.js} +12 -12
  60. package/dist/{daemon-runtime-CHWbAfKs.js → daemon-runtime-BMAJ_2LE.js} +1 -1
  61. package/dist/{daemon-runtime-DEjUQVjL.js → daemon-runtime-CD5XPuxz.js} +1 -1
  62. package/dist/{deliver-sPBfRlXT.js → deliver-CNKlQLWI.js} +6 -6
  63. package/dist/{deliver-OfX6bSYR.js → deliver-D8Yt4jkc.js} +6 -6
  64. package/dist/{deliver-DVRzRmNN.js → deliver-Doq_iIoh.js} +3 -3
  65. package/dist/{deps-CZOfeWEp.js → deps-BhcPiVuz.js} +2 -2
  66. package/dist/{deps-BSdWD2wF.js → deps-ZGqhOjkR.js} +2 -2
  67. package/dist/{devices-cli-b9iF_uOi.js → devices-cli-BcIB2VyK.js} +7 -7
  68. package/dist/{devices-cli-DHSpDnCS.js → devices-cli-BcznR9RO.js} +7 -7
  69. package/dist/{directory-cli-qniSxsHo.js → directory-cli--IOOMz66.js} +11 -11
  70. package/dist/{directory-cli-D0dTuAem.js → directory-cli-DGFlpQ4T.js} +11 -11
  71. package/dist/{dispatcher-DA3u3CwV.js → dispatcher-cp7uHiyX.js} +1 -1
  72. package/dist/{dns-cli-DwwMpMuN.js → dns-cli-DkhYuREi.js} +9 -9
  73. package/dist/{dns-cli-C0JUNb9O.js → dns-cli-fQ4wu1HJ.js} +9 -9
  74. package/dist/{docs-cli-BlFHCHDz.js → docs-cli-BgnDzmFT.js} +8 -8
  75. package/dist/{docs-cli-BpSPrY3Y.js → docs-cli-CPaJzUSD.js} +8 -8
  76. package/dist/{doctor-Da1XgFcW.js → doctor-D6M3Hc0a.js} +21 -21
  77. package/dist/{doctor-qrtookj-.js → doctor-DRRL31R4.js} +21 -21
  78. package/dist/entry.js +1 -1
  79. package/dist/{errors--S5IAxQx.js → errors-DpH6VpWK.js} +1 -1
  80. package/dist/{exec-approvals-cli-Csgqkksl.js → exec-approvals-cli-BhEdzGao.js} +12 -12
  81. package/dist/{exec-approvals-cli-Dk4yHE2L.js → exec-approvals-cli-DHMroOAh.js} +12 -12
  82. package/dist/extensionAPI.js +25 -25
  83. package/dist/{gateway-cli-CJ7H2DgV.js → gateway-cli-CbQ4xoXp.js} +183 -108
  84. package/dist/{gateway-cli-CrKl-bIH.js → gateway-cli-DO7lIBZ5.js} +185 -110
  85. package/dist/{gateway-rpc-BPfCU2Vi.js → gateway-rpc-0hjEbkzc.js} +1 -1
  86. package/dist/{gateway-rpc--CH0NWWR.js → gateway-rpc-anmk3tbT.js} +1 -1
  87. package/dist/{github-copilot-auth-CcPEEb3Q.js → github-copilot-auth-D6I2MUxi.js} +6 -6
  88. package/dist/{github-copilot-auth-h3beCc_l.js → github-copilot-auth-DvShXmvU.js} +6 -6
  89. package/dist/{gmail-setup-utils-pZ9NnOvB.js → gmail-setup-utils-CAfk_F1J.js} +2 -2
  90. package/dist/{gmail-setup-utils-CnVYPhaQ.js → gmail-setup-utils-CJ1pbsWv.js} +2 -2
  91. package/dist/{health-format-BcsR5dtU.js → health-format-DlvTEKqI.js} +8 -8
  92. package/dist/{health-format-Pl8qK65t.js → health-format-SZpheYuf.js} +8 -8
  93. package/dist/hooks/bundled/boot-md/HOOK.md +1 -1
  94. package/dist/hooks/bundled/command-logger/HOOK.md +1 -1
  95. package/dist/hooks/bundled/session-memory/HOOK.md +1 -1
  96. package/dist/hooks/bundled/soul-evil/HOOK.md +1 -1
  97. package/dist/{hooks-cli-zkLY25DX.js → hooks-cli-CedlcxxR.js} +31 -31
  98. package/dist/{hooks-cli-BKHTdsn4.js → hooks-cli-DRarvOK2.js} +31 -31
  99. package/dist/{hooks-status-BETsyuUR.js → hooks-status-B4cP-W7z.js} +3 -3
  100. package/dist/{hooks-status-nPgxLL-x.js → hooks-status-n8jKv3Fm.js} +3 -3
  101. package/dist/{image-DAsWVn7Q.js → image-C6tw3aWy.js} +4 -4
  102. package/dist/{image-CC_YKDB-.js → image-CBqp4iA0.js} +3 -3
  103. package/dist/{image-BFNcQzKp.js → image-CQgVMkgf.js} +4 -4
  104. package/dist/index.js +79 -79
  105. package/dist/{installs-Byb3s_8P.js → installs-BhPUpyE9.js} +2 -2
  106. package/dist/{installs-CELeuogN.js → installs-CWAe2dOG.js} +2 -2
  107. package/dist/{links-cf9h8BXu.js → links-Dv1EDiwa.js} +2 -2
  108. package/dist/{links-Brcj2Oc-.js → links-kbubTyay.js} +2 -2
  109. package/dist/{loader-CU4bkeKe.js → loader-DE_vKAH5.js} +44 -44
  110. package/dist/{logging-BJRQDTME.js → logging-B65tlzu3.js} +2 -2
  111. package/dist/{logging-CD55MXc7.js → logging-C3Y3mzWS.js} +2 -2
  112. package/dist/{login-qr-BCr2GKX6.js → login-qr-BTMkosTm.js} +1 -1
  113. package/dist/{login-qr-HIPJAnbT.js → login-qr-BpdHxT8l.js} +3 -3
  114. package/dist/{login-qr-BMbekoZW.js → login-qr-C_Vv7Cqc.js} +3 -3
  115. package/dist/{logs-cli-CM7-XOcZ.js → logs-cli-_DHuOrR4.js} +9 -9
  116. package/dist/{logs-cli-aqjT7oHu.js → logs-cli-emy-Mg4S.js} +9 -9
  117. package/dist/{manager-CtGvmGvM.js → manager-CNk2RhQo.js} +3 -3
  118. package/dist/{manager-DpZlm3gk.js → manager-Cu-KA-wA.js} +3 -3
  119. package/dist/{manager-C5m5qpB0.js → manager-bvW7170C.js} +3 -3
  120. package/dist/{manifest-registry-BdTzIlta.js → manifest-registry-CBbBh2FT.js} +1 -1
  121. package/dist/{manifest-registry-DVQHMj0y.js → manifest-registry-CmLtWVRR.js} +1 -1
  122. package/dist/{model-selection-DuI_Ue9Q.js → model-selection-BVTyreim.js} +1 -1
  123. package/dist/{model-selection-Av0fLq51.js → model-selection-DmO3rB3w.js} +2 -2
  124. package/dist/{models-cli-gmkzOpbq.js → models-cli-CdrDfutq.js} +32 -32
  125. package/dist/{models-cli-C0JOZ5oP.js → models-cli-CgIqfTHx.js} +32 -32
  126. package/dist/{node-cli-BND9LLkM.js → node-cli-Bsn9lQ6O.js} +13 -13
  127. package/dist/{node-cli-DNRB94ib.js → node-cli-Ckvs6bcI.js} +13 -13
  128. package/dist/{nodes-cli-BCWlqHyR.js → nodes-cli-BELOAYB6.js} +10 -10
  129. package/dist/{nodes-cli-DWSo5dX7.js → nodes-cli-CTQPoAcf.js} +10 -10
  130. package/dist/{onboard-channels-DJz2TusQ.js → onboard-channels-B5qHfMk8.js} +6 -6
  131. package/dist/{onboard-channels-B75LjjVZ.js → onboard-channels-BgchLTab.js} +6 -6
  132. package/dist/{onboard-skills-ByHkU9nx.js → onboard-skills-CyG0xbsu.js} +17 -17
  133. package/dist/{onboard-skills-Wknr7pxR.js → onboard-skills-DEnuz7z3.js} +17 -17
  134. package/dist/{onboarding-BejDjkx5.js → onboarding-B6aTF0nd.js} +37 -37
  135. package/dist/{openclaw-root-_zPXSqgo.js → openclaw-root-Cx_l_MXP.js} +6 -2
  136. package/dist/{openclaw-root-YSGWCNem.js → openclaw-root-DJB4AQtF.js} +6 -2
  137. package/dist/{pairing-cli-Cn5vt4oI.js → pairing-cli-C_PnyRzK.js} +11 -11
  138. package/dist/{pairing-cli-CFqD3IdI.js → pairing-cli-CocCRLzF.js} +11 -11
  139. package/dist/{pairing-store-BHzy16_t.js → pairing-store-Dbotpoz6.js} +1 -1
  140. package/dist/{pairing-store-BOhO49Bi.js → pairing-store-cC0TwSYc.js} +1 -1
  141. package/dist/{paths-Dlp4VNXa.js → paths-B7p98Wg9.js} +1 -1
  142. package/dist/{pi-embedded-helpers-CQ9sq3Uu.js → pi-embedded-helpers-Bmu_uE8Y.js} +4 -4
  143. package/dist/{pi-embedded-helpers-B7ARjDEK.js → pi-embedded-helpers-CT7w1pYd.js} +2 -2
  144. package/dist/{pi-embedded-helpers-FPVRDeKf.js → pi-embedded-helpers-DRK9Qub7.js} +2 -2
  145. package/dist/{pi-tools.policy-Du4RZy9R.js → pi-tools.policy-BjgXXFkH.js} +3 -3
  146. package/dist/{plugin-auto-enable-RwRwIUKC.js → plugin-auto-enable-BmBAQgRq.js} +4 -4
  147. package/dist/{plugin-auto-enable-EBxTHjFJ.js → plugin-auto-enable-CBfM3u2p.js} +4 -4
  148. package/dist/plugin-sdk/index.js +1 -1
  149. package/dist/{plugins-BI-p2ba9.js → plugins-CB4Xjrgb.js} +2 -2
  150. package/dist/{plugins-Dk4UBZwz.js → plugins-CQ1FUoTO.js} +2 -2
  151. package/dist/{plugins-cli-CMg0G56J.js → plugins-cli-DB1NYN9W.js} +33 -33
  152. package/dist/{plugins-cli-CX7QeUjq.js → plugins-cli-Dn9I2nvT.js} +33 -33
  153. package/dist/{ports-nXmd4Efh.js → ports-CcCvup-Y.js} +2 -2
  154. package/dist/{program-EAMJAB_2.js → program-CL1V1uQh.js} +58 -58
  155. package/dist/{pw-ai-D6JUaD41.js → pw-ai-CQDH40p5.js} +2 -2
  156. package/dist/{pw-ai-D2jD_dho.js → pw-ai-DUv3Smif.js} +2 -2
  157. package/dist/{qmd-manager-B-ijyM7o.js → qmd-manager-DJdGKjf-.js} +2 -2
  158. package/dist/{qmd-manager-xo4abL0u.js → qmd-manager-DqhsQHr6.js} +2 -2
  159. package/dist/{qmd-manager-C_Jah5eo.js → qmd-manager-ym3oBzzR.js} +2 -2
  160. package/dist/{register.subclis-CJGimm3-.js → register.subclis-Bf9yES9h.js} +28 -28
  161. package/dist/{reply-DfepuqG0.js → reply-qWVVjmhR.js} +44 -44
  162. package/dist/{routes-DkckwrRx.js → routes-C49H9SW5.js} +4 -4
  163. package/dist/{routes-Q42qtNl1.js → routes-DzL6l-Oq.js} +4 -4
  164. package/dist/{rpc-B4lvrGrD.js → rpc-BEKdRxnk.js} +1 -1
  165. package/dist/{rpc-CbWcXAQK.js → rpc-jU_lA6zf.js} +1 -1
  166. package/dist/{run-main-JFY3X4Xh.js → run-main-C12Z921D.js} +59 -59
  167. package/dist/{sandbox-BGqDfFaH.js → sandbox-Cfvpk8Q8.js} +9 -9
  168. package/dist/{sandbox-D_Tt3WRq.js → sandbox-DcPAdlhA.js} +9 -9
  169. package/dist/{sandbox-cli-CaxqKiTq.js → sandbox-cli-DVfJ38Q2.js} +16 -16
  170. package/dist/{sandbox-cli-DA0Cbrzl.js → sandbox-cli-DqrtTHAP.js} +16 -16
  171. package/dist/{security-cli-Ct-pfF2h.js → security-cli-2AAajc4y.js} +18 -18
  172. package/dist/{security-cli-BZjA_GAD.js → security-cli-YL2ZTkkR.js} +18 -18
  173. package/dist/{server-context-C53lhEx_.js → server-context-9SLnBBRW.js} +4 -4
  174. package/dist/{server-context-B9ez46MY.js → server-context-BG54Dk0A.js} +4 -4
  175. package/dist/{server-node-events-Cb6QOeDH.js → server-node-events-uUSBf7hZ.js} +29 -29
  176. package/dist/{server-node-events-DONmQvJg.js → server-node-events-x6ZMjAs1.js} +29 -29
  177. package/dist/{service-audit-AsnhO40e.js → service-audit-BsDPEKdd.js} +1 -1
  178. package/dist/{service-audit-BM-iyLL7.js → service-audit-CCg0o0UZ.js} +1 -1
  179. package/dist/{skills-7V483a6m.js → skills-DaDm2aTV.js} +3 -3
  180. package/dist/{skills-CsZRBUj0.js → skills-DryIpWLj.js} +3 -3
  181. package/dist/{skills-cli-DQaq5LBX.js → skills-cli-CYZbvr7O.js} +10 -10
  182. package/dist/{skills-cli-dVugbaAb.js → skills-cli-eDUNGpwb.js} +10 -10
  183. package/dist/{skills-status-4_4zVBvV.js → skills-status-D9G4-4sK.js} +2 -2
  184. package/dist/{skills-status-cD4rfMR9.js → skills-status-dTiH79uI.js} +2 -2
  185. package/dist/{status-DSoYX3Ep.js → status-BnbwLzB2.js} +3 -3
  186. package/dist/{status-DHPz4Mg_.js → status-CN2V3fan.js} +37 -37
  187. package/dist/{status-BakhDLuG.js → status-DCrBN9vJ.js} +3 -3
  188. package/dist/{system-cli-CUQswQPX.js → system-cli-BEmIixtY.js} +9 -9
  189. package/dist/{system-cli-Cz7in_Xr.js → system-cli-ZxnlO0-v.js} +9 -9
  190. package/dist/{table-DDQGlZSe.js → table--L48nql9.js} +2 -2
  191. package/dist/{table-DAOPkdc_.js → table-C1Xupkjv.js} +2 -2
  192. package/dist/{tool-display-Zbh1CRw5.js → tool-display-7o4pgXYF.js} +1 -1
  193. package/dist/{tool-display-B2rS2o6B.js → tool-display-B9G_vqLX.js} +1 -1
  194. package/dist/{tui-qPHLsB-x.js → tui-3eD-E_iD.js} +6 -6
  195. package/dist/{tui-DFVs6pRO.js → tui-BGSteZzU.js} +6 -6
  196. package/dist/{tui-cli-CBKZVd1C.js → tui-cli-B9iCyCn2.js} +19 -19
  197. package/dist/{tui-cli-DexeJOgZ.js → tui-cli-iakTIAvk.js} +19 -19
  198. package/dist/{update-cli-BPUtZjbl.js → update-cli-DUO4CVNB.js} +48 -48
  199. package/dist/{update-cli-ehTYbpaU.js → update-cli-DlXzjuIc.js} +47 -47
  200. package/dist/{update-B2q3duJD.js → update-lGuOUiyd.js} +3 -3
  201. package/dist/{update-runner-DAeygRSU.js → update-runner-L1EJYQRF.js} +5 -5
  202. package/dist/{update-runner-BfncKnU6.js → update-runner-eJ773fp-.js} +5 -5
  203. package/dist/{update-DNnej3C6.js → update-zm4_acQX.js} +3 -3
  204. package/dist/{utils-D7jskKIf.js → utils-CGterW74.js} +1 -7
  205. package/dist/{utils-7IMqr8vR.js → utils-DV2rghi_.js} +1 -7
  206. package/dist/{webhooks-cli-C0CV-1jG.js → webhooks-cli-BLHZn_at.js} +10 -10
  207. package/dist/{webhooks-cli-DT16BygW.js → webhooks-cli-UhujyhVU.js} +10 -10
  208. package/dist/{widearea-dns-Dk82I4Xa.js → widearea-dns-BKbb6W_z.js} +1 -1
  209. package/dist/{widearea-dns-BJZTAyT3.js → widearea-dns-CVZf20c2.js} +1 -1
  210. package/dist/{wsl-C24YfxH9.js → wsl-DntkIGSe.js} +1 -1
  211. package/docs/assets/pixel-lobster.svg +3 -3
  212. package/docs/blockchain/aave.md +72 -0
  213. package/docs/blockchain/agent-identity.md +73 -0
  214. package/docs/blockchain/contracts.md +96 -0
  215. package/docs/blockchain/defi.md +61 -0
  216. package/docs/blockchain/index.md +92 -0
  217. package/docs/blockchain/market-data.md +98 -0
  218. package/docs/blockchain/nft.md +44 -0
  219. package/docs/blockchain/portfolio.md +57 -0
  220. package/docs/blockchain/security.md +83 -0
  221. package/docs/blockchain/swap.md +89 -0
  222. package/docs/blockchain/wallet.md +77 -0
  223. package/docs/concepts/features.md +29 -10
  224. package/docs/docs.json +76 -6
  225. package/docs/index.md +44 -44
  226. package/docs/start/getting-started.md +10 -9
  227. package/docs/zh-CN/blockchain/aave.md +63 -0
  228. package/docs/zh-CN/blockchain/agent-identity.md +62 -0
  229. package/docs/zh-CN/blockchain/contracts.md +64 -0
  230. package/docs/zh-CN/blockchain/defi.md +49 -0
  231. package/docs/zh-CN/blockchain/index.md +92 -0
  232. package/docs/zh-CN/blockchain/market-data.md +68 -0
  233. package/docs/zh-CN/blockchain/nft.md +43 -0
  234. package/docs/zh-CN/blockchain/portfolio.md +49 -0
  235. package/docs/zh-CN/blockchain/security.md +75 -0
  236. package/docs/zh-CN/blockchain/swap.md +68 -0
  237. package/docs/zh-CN/blockchain/wallet.md +71 -0
  238. package/extensions/copilot-proxy/README.md +3 -3
  239. package/extensions/copilot-proxy/package.json +1 -1
  240. package/extensions/diagnostics-otel/package.json +1 -1
  241. package/extensions/diagnostics-otel/src/service.test.ts +12 -12
  242. package/extensions/diagnostics-otel/src/service.ts +79 -79
  243. package/extensions/discord/package.json +1 -1
  244. package/extensions/imessage/package.json +1 -1
  245. package/extensions/memory-core/package.json +1 -1
  246. package/extensions/memory-lancedb/config.ts +3 -3
  247. package/extensions/memory-lancedb/{openclaw.plugin.json → cryptoclaw.plugin.json} +1 -1
  248. package/extensions/memory-lancedb/index.test.ts +2 -2
  249. package/extensions/memory-lancedb/index.ts +1 -1
  250. package/extensions/memory-lancedb/package.json +1 -1
  251. package/extensions/nostr/README.md +5 -5
  252. package/extensions/nostr/package.json +1 -1
  253. package/extensions/nostr/src/channel.ts +1 -1
  254. package/extensions/nostr/src/nostr-state-store.test.ts +1 -1
  255. package/extensions/signal/package.json +1 -1
  256. package/extensions/slack/package.json +1 -1
  257. package/extensions/telegram/package.json +1 -1
  258. package/extensions/voice-call/README.md +14 -14
  259. package/extensions/voice-call/package.json +1 -1
  260. package/extensions/voice-call/src/cli.ts +1 -1
  261. package/extensions/voice-call/src/core-bridge.ts +1 -1
  262. package/extensions/voice-call/src/manager.test.ts +6 -6
  263. package/extensions/voice-call/src/manager.ts +1 -1
  264. package/extensions/voice-call/src/response-generator.ts +1 -1
  265. package/extensions/whatsapp/package.json +1 -1
  266. package/package.json +1 -1
  267. package/skills/aave-bsc/SKILL.md +6 -0
  268. package/skills/coding-agent/SKILL.md +5 -5
  269. package/skills/discord/SKILL.md +6 -6
  270. package/skills/tmux/SKILL.md +6 -6
  271. package/dist/control-ui/assets/index-DQ-7PWhX.js.map +0 -1
  272. /package/extensions/copilot-proxy/{openclaw.plugin.json → cryptoclaw.plugin.json} +0 -0
  273. /package/extensions/diagnostics-otel/{openclaw.plugin.json → cryptoclaw.plugin.json} +0 -0
  274. /package/extensions/discord/{openclaw.plugin.json → cryptoclaw.plugin.json} +0 -0
  275. /package/extensions/imessage/{openclaw.plugin.json → cryptoclaw.plugin.json} +0 -0
  276. /package/extensions/memory-core/{openclaw.plugin.json → cryptoclaw.plugin.json} +0 -0
  277. /package/extensions/nostr/{openclaw.plugin.json → cryptoclaw.plugin.json} +0 -0
  278. /package/extensions/signal/{openclaw.plugin.json → cryptoclaw.plugin.json} +0 -0
  279. /package/extensions/slack/{openclaw.plugin.json → cryptoclaw.plugin.json} +0 -0
  280. /package/extensions/telegram/{openclaw.plugin.json → cryptoclaw.plugin.json} +0 -0
  281. /package/extensions/voice-call/{openclaw.plugin.json → cryptoclaw.plugin.json} +0 -0
  282. /package/extensions/whatsapp/{openclaw.plugin.json → cryptoclaw.plugin.json} +0 -0
package/dist/index.js CHANGED
@@ -1,92 +1,92 @@
1
1
  #!/usr/bin/env node
2
- import "./pi-embedded-helpers-B7ARjDEK.js";
3
- import { $ as CHANNEL_TARGET_DESCRIPTION, $t as runMemoryStatus, Fr as applyTemplate, M as formatTargetDisplay, Ot as waitForGatewayReachable, P as CHANNEL_MESSAGE_ACTION_NAMES, Q as CHANNEL_TARGETS_DESCRIPTION, Qt as registerMemoryCli, T as runMessageAction, Tt as resolveControlUiLinks, an as waitForever, ct as resolveCommitHash, dt as DEFAULT_WORKSPACE, en as monitorWebChannel, ft as applyWizardMetadata, gt as formatControlUiSshHint, ht as ensureWorkspaceAndSessions, mt as detectBrowserOpenSupport, pr as lookupContextTokens, rn as installUnhandledRejectionHandler, t as getReplyFromConfig, vt as handleReset, wt as randomToken, xt as openUrl, yt as moveToTrash } from "./reply-DfepuqG0.js";
2
+ import "./pi-embedded-helpers-CT7w1pYd.js";
3
+ import { $ as CHANNEL_TARGET_DESCRIPTION, $t as runMemoryStatus, Fr as applyTemplate, M as formatTargetDisplay, Ot as waitForGatewayReachable, P as CHANNEL_MESSAGE_ACTION_NAMES, Q as CHANNEL_TARGETS_DESCRIPTION, Qt as registerMemoryCli, T as runMessageAction, Tt as resolveControlUiLinks, an as waitForever, ct as resolveCommitHash, dt as DEFAULT_WORKSPACE, en as monitorWebChannel, ft as applyWizardMetadata, gt as formatControlUiSshHint, ht as ensureWorkspaceAndSessions, mt as detectBrowserOpenSupport, pr as lookupContextTokens, rn as installUnhandledRejectionHandler, t as getReplyFromConfig, vt as handleReset, wt as randomToken, xt as openUrl, yt as moveToTrash } from "./reply-qWVVjmhR.js";
4
4
  import { _ as resolveStateDir, d as resolveGatewayPort, h as resolveOAuthDir, i as isNixMode, r as STATE_DIR, s as resolveConfigPath } from "./paths-CGrNQEMk.js";
5
5
  import { c as normalizeAgentId, n as DEFAULT_AGENT_ID, t as DEFAULT_ACCOUNT_ID } from "./session-key-CYpWeuht.js";
6
6
  import { D as info, E as danger, I as colorize, L as isRich, M as setVerbose, R as theme, S as normalizeChatChannelId, c as defaultRuntime, h as DEFAULT_CHAT_CHANNEL, l as restoreTerminalState, r as enableConsoleCapture, s as visibleWidth, v as getChatChannelMeta } from "./subsystem-Btuh5yZj.js";
7
- import { _ as shortenHomePath, b as toWhatsappJid, d as normalizeE164, f as resolveConfigDir, g as shortenHomeInString, h as resolveUserPath, n as assertWebChannel, p as resolveHomeDir } from "./utils-D7jskKIf.js";
7
+ import { d as resolveHomeDir, h as shortenHomePath, l as normalizeE164, m as shortenHomeInString, n as assertWebChannel, p as resolveUserPath, u as resolveConfigDir, v as toWhatsappJid } from "./utils-CGterW74.js";
8
8
  import { n as runExec, t as runCommandWithTimeout } from "./exec-CW_QjkBi.js";
9
- 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-DLfFOxP6.js";
10
- import { $ as resolveApiKeyForProfile, I as resolveEnvApiKey, J as resolveAuthProfileOrder, bt as DEFAULT_PROVIDER, ct as upsertAuthProfile, d as resolveConfiguredModelRef, ft as resolveAuthStorePath, lt as ensureAuthProfileStore, s as normalizeProviderId, vt as DEFAULT_CONTEXT_TOKENS, yt as DEFAULT_MODEL } from "./model-selection-Av0fLq51.js";
9
+ 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-GUoze5gc.js";
10
+ import { $ as resolveApiKeyForProfile, I as resolveEnvApiKey, J as resolveAuthProfileOrder, bt as DEFAULT_PROVIDER, ct as upsertAuthProfile, d as resolveConfiguredModelRef, ft as resolveAuthStorePath, lt as ensureAuthProfileStore, s as normalizeProviderId, vt as DEFAULT_CONTEXT_TOKENS, yt as DEFAULT_MODEL } from "./model-selection-DmO3rB3w.js";
11
11
  import "./github-copilot-token-hMl1wyZp.js";
12
12
  import { n as replaceCliName, r as resolveCliName, t as formatCliCommand } from "./command-format-9IsYy-9N.js";
13
13
  import { t as parseBooleanValue } from "./boolean-BsqeuxE6.js";
14
14
  import { r as normalizeEnv, t as isTruthyEnvValue } from "./env-B2Cd_6IS.js";
15
- import { c as writeConfigFile, h as parseDurationMs, i as loadConfig, j as VERSION, o as readConfigFileSnapshot, r as createConfigIO } from "./config-dQK4rbfx.js";
16
- import "./manifest-registry-DVQHMj0y.js";
17
- import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-Dk4UBZwz.js";
18
- import { D as resolveSessionKey, E as deriveSessionKey, d as loadSessionStore, m as saveSessionStore } from "./sandbox-D_Tt3WRq.js";
19
- import "./image-DAsWVn7Q.js";
15
+ import { c as writeConfigFile, h as parseDurationMs, i as loadConfig, j as VERSION, o as readConfigFileSnapshot, r as createConfigIO } from "./config-D1wc31Qf.js";
16
+ import "./manifest-registry-CmLtWVRR.js";
17
+ import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CQ1FUoTO.js";
18
+ import { D as resolveSessionKey, E as deriveSessionKey, d as loadSessionStore, m as saveSessionStore } from "./sandbox-DcPAdlhA.js";
19
+ import "./image-C6tw3aWy.js";
20
20
  import "./pi-model-discovery-EwKVHlZB.js";
21
- import { E as formatUncaughtError, c as describePortOwner, l as ensurePortAvailable, s as PortInUseError, u as handlePortError } from "./chrome-CwbWzmh4.js";
22
- import "./skills-CsZRBUj0.js";
23
- import "./routes-DkckwrRx.js";
24
- import { n as movePathToTrash } from "./server-context-C53lhEx_.js";
21
+ import { E as formatUncaughtError, c as describePortOwner, l as ensurePortAvailable, s as PortInUseError, u as handlePortError } from "./chrome-D0L5ufqO.js";
22
+ import "./skills-DryIpWLj.js";
23
+ import "./routes-C49H9SW5.js";
24
+ import { n as movePathToTrash } from "./server-context-9SLnBBRW.js";
25
25
  import { h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES } from "./message-channel-CvHWS3C2.js";
26
26
  import "./logging-kuFzZMsG.js";
27
- import "./accounts-BPjR5SyC.js";
27
+ import "./accounts-DA-4bmd_.js";
28
28
  import { a as resolveSessionTranscriptsDirForAgent, i as resolveSessionTranscriptsDir, o as resolveStorePath } from "./paths-C3yk0MGu.js";
29
29
  import "./redact-CVRUv382.js";
30
- import "./tool-display-Zbh1CRw5.js";
31
- import "./deliver-sPBfRlXT.js";
32
- import "./dispatcher-DA3u3CwV.js";
33
- import "./manager-CtGvmGvM.js";
30
+ import "./tool-display-7o4pgXYF.js";
31
+ import "./deliver-CNKlQLWI.js";
32
+ import "./dispatcher-cp7uHiyX.js";
33
+ import "./manager-CNk2RhQo.js";
34
34
  import "./sqlite-C4DljFNL.js";
35
- import "./channel-summary-CobMoKN6.js";
35
+ import "./channel-summary-C4kSR_wu.js";
36
36
  import "./client-BaTYzXOU.js";
37
- import { i as randomIdempotencyKey, n as callGateway } from "./call-DqxlETxE.js";
38
- import "./login-qr-HIPJAnbT.js";
39
- import "./pairing-store-BHzy16_t.js";
40
- import { t as formatDocsLink } from "./links-Brcj2Oc-.js";
37
+ import { i as randomIdempotencyKey, n as callGateway } from "./call-QEaFjVBF.js";
38
+ import "./login-qr-BpdHxT8l.js";
39
+ import "./pairing-store-Dbotpoz6.js";
40
+ import { t as formatDocsLink } from "./links-Dv1EDiwa.js";
41
41
  import { r as runCommandWithRuntime } from "./cli-utils-CgOu3WAB.js";
42
42
  import { n as withProgress } from "./progress-DTEUicRP.js";
43
- import "./pi-tools.policy-Du4RZy9R.js";
43
+ import "./pi-tools.policy-BjgXXFkH.js";
44
44
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-BBlJlXtd.js";
45
45
  import "./session-cost-usage-B3HzifR9.js";
46
- import "./control-service-BXC31sNw.js";
47
- import "./channel-selection-D7jFTFec.js";
48
- import { t as createDefaultDeps } from "./deps-CZOfeWEp.js";
46
+ import "./control-service-BBeopea3.js";
47
+ import "./channel-selection-ChOffLk2.js";
48
+ import { t as createDefaultDeps } from "./deps-BhcPiVuz.js";
49
49
  import { l as ensureBinary, u as promptYesNo } from "./tailscale-BY0igR48.js";
50
50
  import { t as isMainModule } from "./is-main-B6kCyqsv.js";
51
51
  import { t as ensureOpenClawCliOnPath } from "./path-env-DQ-mM2ya.js";
52
- import { a as gatewayInstallErrorHint, g as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DEjUQVjL.js";
53
- import { a as buildAgentSummaries, c as loadAgentIdentity, f as parseIdentityMarkdown, i as applyAgentConfig, l as pruneAgentConfig, n as statusCommand, o as findAgentEntryIndex, s as listAgentEntries, t as runOnboardingWizard, u as identityHasValues } from "./onboarding-BejDjkx5.js";
52
+ import { a as gatewayInstallErrorHint, g as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-CD5XPuxz.js";
53
+ import { a as buildAgentSummaries, c as loadAgentIdentity, f as parseIdentityMarkdown, i as applyAgentConfig, l as pruneAgentConfig, n as statusCommand, o as findAgentEntryIndex, s as listAgentEntries, t as runOnboardingWizard, u as identityHasValues } from "./onboarding-B6aTF0nd.js";
54
54
  import { t as resolveChannelDefaultAccountId } from "./helpers-CzQjTUbz.js";
55
- import { n as logConfigUpdated, t as formatConfigPath } from "./logging-CD55MXc7.js";
55
+ import { n as logConfigUpdated, t as formatConfigPath } from "./logging-C3Y3mzWS.js";
56
56
  import "./note-DEz9ZK7G.js";
57
57
  import { t as WizardCancelledError } from "./prompts-FbZThK8w.js";
58
58
  import { t as createClackPrompter } from "./clack-prompter-nSmn5cZ2.js";
59
- import { _ as upsertSharedEnvVar, g as applyOpenAIConfig, h as applyAuthChoice, m as warnIfModelConfigLooksOff, v as applyGoogleGeminiModelDefault, y as promptAuthChoiceGrouped } from "./onboard-skills-Wknr7pxR.js";
60
- import { $ as setVeniceApiKey, C as applyMoonshotConfig, D as applyOpenrouterConfig, F as applyXaiConfig, G as setCloudflareAiGatewayConfig, J as setMinimaxApiKey, K as setGeminiApiKey, L as applyXiaomiConfig, N as applyVercelAiGatewayConfig, Q as setSyntheticApiKey, W as setAnthropicApiKey, X as setOpencodeZenApiKey, Y as setMoonshotApiKey, Z as setOpenrouterApiKey, ct as buildTokenProfileId, et as setVercelAiGatewayApiKey, f as applyOpencodeZenConfig, g as applyMinimaxConfig, j as applyVeniceConfig, k as applySyntheticConfig, lt as validateAnthropicSetupToken, m as applyMinimaxApiConfig, nt as setXiaomiApiKey, q as setKimiCodingApiKey, rt as setZaiApiKey, tt as setXaiApiKey, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyZaiConfig } from "./github-copilot-auth-h3beCc_l.js";
61
- import { n as setupChannels } from "./onboard-channels-B75LjjVZ.js";
62
- import "./plugin-auto-enable-RwRwIUKC.js";
59
+ import { _ as upsertSharedEnvVar, g as applyOpenAIConfig, h as applyAuthChoice, m as warnIfModelConfigLooksOff, v as applyGoogleGeminiModelDefault, y as promptAuthChoiceGrouped } from "./onboard-skills-DEnuz7z3.js";
60
+ import { $ as setVeniceApiKey, C as applyMoonshotConfig, D as applyOpenrouterConfig, F as applyXaiConfig, G as setCloudflareAiGatewayConfig, J as setMinimaxApiKey, K as setGeminiApiKey, L as applyXiaomiConfig, N as applyVercelAiGatewayConfig, Q as setSyntheticApiKey, W as setAnthropicApiKey, X as setOpencodeZenApiKey, Y as setMoonshotApiKey, Z as setOpenrouterApiKey, ct as buildTokenProfileId, et as setVercelAiGatewayApiKey, f as applyOpencodeZenConfig, g as applyMinimaxConfig, j as applyVeniceConfig, k as applySyntheticConfig, lt as validateAnthropicSetupToken, m as applyMinimaxApiConfig, nt as setXiaomiApiKey, q as setKimiCodingApiKey, rt as setZaiApiKey, tt as setXaiApiKey, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyZaiConfig } from "./github-copilot-auth-DvShXmvU.js";
61
+ import { n as setupChannels } from "./onboard-channels-BgchLTab.js";
62
+ import "./plugin-auto-enable-BmBAQgRq.js";
63
63
  import "./archive-Dy3Ezb-5.js";
64
64
  import "./skill-scanner-BoGjHXUZ.js";
65
- import "./installs-CELeuogN.js";
66
- import { i as healthCommand } from "./health-format-Pl8qK65t.js";
67
- import "./update-runner-DAeygRSU.js";
65
+ import "./installs-CWAe2dOG.js";
66
+ import { i as healthCommand } from "./health-format-SZpheYuf.js";
67
+ import "./update-runner-L1EJYQRF.js";
68
68
  import "./auth-RTEHx2eI.js";
69
- import "./audit-jaTyyQX1.js";
70
- import { t as renderTable } from "./table-DAOPkdc_.js";
71
- import "./skills-status-4_4zVBvV.js";
69
+ import "./audit-BMzW1G5a.js";
70
+ import { t as renderTable } from "./table-C1Xupkjv.js";
71
+ import "./skills-status-D9G4-4sK.js";
72
72
  import { t as resolveGatewayService } from "./service-mrQPgOXl.js";
73
73
  import { r as isSystemdUserServiceAvailable } from "./systemd-CFHiVC1D.js";
74
- import "./service-audit-AsnhO40e.js";
74
+ import "./service-audit-BsDPEKdd.js";
75
75
  import "./node-service-DTgDFo7M.js";
76
- import "./channels-status-issues-C2UGSPvH.js";
77
- import { c as registerSubCliCommands, d as getPositiveIntFlagValue, f as getVerboseFlag, l as getCommandPath, m as hasHelpOrVersion, p as hasFlag, u as getFlagValue } from "./completion-cli-CZ8zPqPs.js";
78
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc--CH0NWWR.js";
76
+ import "./channels-status-issues-BwOdQrU9.js";
77
+ import { c as registerSubCliCommands, d as getPositiveIntFlagValue, f as getVerboseFlag, l as getCommandPath, m as hasHelpOrVersion, p as hasFlag, u as getFlagValue } from "./completion-cli-Bd5FrGHg.js";
78
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-anmk3tbT.js";
79
79
  import { t as formatHelpExamples } from "./help-format-BzWwbeSF.js";
80
- import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-3MZVCC-N.js";
81
- import { i as hasExplicitOptions, n as resolveCliChannelOptions, r as ensurePluginRegistryLoaded } from "./channel-options-DUkxROTo.js";
80
+ import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-8dTCwA-D.js";
81
+ import { i as hasExplicitOptions, n as resolveCliChannelOptions, r as ensurePluginRegistryLoaded } from "./channel-options-B951pKy8.js";
82
82
  import { n as parsePositiveIntOrUndefined, t as collectOption } from "./helpers-5yebzF4C.js";
83
- import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-7M9mLC4o.js";
83
+ import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-CxPJaP8X.js";
84
84
  import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-CxBBzOjC.js";
85
- import "./widearea-dns-Dk82I4Xa.js";
86
- import "./auth-health-CCM6Z3vK.js";
87
- import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-qrtookj-.js";
88
- import "./hooks-status-nPgxLL-x.js";
89
- import "./tui-qPHLsB-x.js";
85
+ import "./widearea-dns-BKbb6W_z.js";
86
+ import "./auth-health-Cr8ib9nm.js";
87
+ import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-DRRL31R4.js";
88
+ import "./hooks-status-n8jKv3Fm.js";
89
+ import "./tui-3eD-E_iD.js";
90
90
  import process$1 from "node:process";
91
91
  import { fileURLToPath } from "node:url";
92
92
  import path from "node:path";
@@ -456,7 +456,7 @@ async function agentsAddCommand(opts, runtime = defaultRuntime, params) {
456
456
  const result = applyAgentBindings(nextConfig, desiredBindings);
457
457
  nextConfig = result.config;
458
458
  if (result.conflicts.length > 0) await prompter.note(["Skipped bindings already claimed by another agent:", ...result.conflicts.map((conflict) => `- ${describeBinding(conflict.binding)} (agent=${conflict.existingAgentId})`)].join("\n"), "Routing bindings");
459
- } else await prompter.note(["Routing unchanged. Add bindings when you're ready.", "Docs: https://docs.cryptoclaw.ai/concepts/multi-agent"].join("\n"), "Routing");
459
+ } else await prompter.note(["Routing unchanged. Add bindings when you're ready.", "Docs: https://docs.openclaw.ai/concepts/multi-agent"].join("\n"), "Routing");
460
460
  await writeConfigFile(nextConfig);
461
461
  logConfigUpdated(runtime);
462
462
  await ensureWorkspaceAndSessions(workspaceDir, runtime, {
@@ -1870,14 +1870,14 @@ function registerBrowserExtensionCommands(browser, parentOpts) {
1870
1870
  `- “Load unpacked” → select: ${displayPath}`,
1871
1871
  `- Pin “OpenClaw Browser Relay”, then click it on the tab (badge shows ON)`,
1872
1872
  "",
1873
- `${theme.muted("Docs:")} ${formatDocsLink("/tools/chrome-extension", "docs.cryptoclaw.ai/tools/chrome-extension")}`
1873
+ `${theme.muted("Docs:")} ${formatDocsLink("/tools/chrome-extension", "docs.openclaw.ai/tools/chrome-extension")}`
1874
1874
  ].join("\n")));
1875
1875
  });
1876
1876
  ext.command("path").description("Print the path to the installed Chrome extension (load unpacked)").action(async (_opts, cmd) => {
1877
1877
  const parent = parentOpts(cmd);
1878
1878
  const dir = installedExtensionRootDir();
1879
1879
  if (!hasManifest(dir)) {
1880
- defaultRuntime.error(danger([`Chrome extension is not installed. Run: "${formatCliCommand("cryptoclaw browser extension install")}"`, `Docs: ${formatDocsLink("/tools/chrome-extension", "docs.cryptoclaw.ai/tools/chrome-extension")}`].join("\n")));
1880
+ defaultRuntime.error(danger([`Chrome extension is not installed. Run: "${formatCliCommand("cryptoclaw browser extension install")}"`, `Docs: ${formatDocsLink("/tools/chrome-extension", "docs.openclaw.ai/tools/chrome-extension")}`].join("\n")));
1881
1881
  defaultRuntime.exit(1);
1882
1882
  }
1883
1883
  if (parent?.json) {
@@ -2692,7 +2692,7 @@ function registerBrowserStateCommands(browser, parentOpts) {
2692
2692
  //#endregion
2693
2693
  //#region src/cli/browser-cli.ts
2694
2694
  function registerBrowserCli(program) {
2695
- const browser = program.command("browser").description("Manage OpenClaw's dedicated browser (Chrome/Chromium)").option("--browser-profile <name>", "Browser profile name (default from config)").option("--json", "Output machine-readable JSON", false).addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatHelpExamples([...browserCoreExamples, ...browserActionExamples].map((cmd) => [cmd, ""]), true)}\n\n${theme.muted("Docs:")} ${formatDocsLink("/cli/browser", "docs.cryptoclaw.ai/cli/browser")}\n`).action(() => {
2695
+ const browser = program.command("browser").description("Manage OpenClaw's dedicated browser (Chrome/Chromium)").option("--browser-profile <name>", "Browser profile name (default from config)").option("--json", "Output machine-readable JSON", false).addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatHelpExamples([...browserCoreExamples, ...browserActionExamples].map((cmd) => [cmd, ""]), true)}\n\n${theme.muted("Docs:")} ${formatDocsLink("/cli/browser", "docs.openclaw.ai/cli/browser")}\n`).action(() => {
2696
2696
  browser.outputHelp();
2697
2697
  defaultRuntime.error(danger(`Missing subcommand. Try: "${formatCliCommand("cryptoclaw browser status")}"`));
2698
2698
  defaultRuntime.exit(1);
@@ -2853,8 +2853,8 @@ async function loadValidConfig() {
2853
2853
  return snapshot;
2854
2854
  }
2855
2855
  function registerConfigCli(program) {
2856
- 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.cryptoclaw.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
2857
- const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-7M9mLC4o.js").then((n) => n.t);
2856
+ 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) => {
2857
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-CxPJaP8X.js").then((n) => n.t);
2858
2858
  const sections = Array.isArray(opts.section) ? opts.section.map((value) => typeof value === "string" ? value.trim() : "").filter(Boolean) : [];
2859
2859
  if (sections.length === 0) {
2860
2860
  await configureCommand(defaultRuntime);
@@ -3035,14 +3035,14 @@ ${formatHelpExamples([
3035
3035
  ["cryptoclaw agent --agent ops --message \"Generate report\" --deliver --reply-channel slack --reply-to \"#reports\"", "Send reply to a different channel/target."]
3036
3036
  ])}
3037
3037
 
3038
- ${theme.muted("Docs:")} ${formatDocsLink("/cli/agent", "docs.cryptoclaw.ai/cli/agent")}`).action(async (opts) => {
3038
+ ${theme.muted("Docs:")} ${formatDocsLink("/cli/agent", "docs.openclaw.ai/cli/agent")}`).action(async (opts) => {
3039
3039
  setVerbose((typeof opts.verbose === "string" ? opts.verbose.toLowerCase() : "") === "on");
3040
3040
  const deps = createDefaultDeps();
3041
3041
  await runCommandWithRuntime(defaultRuntime, async () => {
3042
3042
  await agentCliCommand(opts, defaultRuntime, deps);
3043
3043
  });
3044
3044
  });
3045
- const agents = program.command("agents").description("Manage isolated agents (workspaces + auth + routing)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/agents", "docs.cryptoclaw.ai/cli/agents")}\n`);
3045
+ const agents = program.command("agents").description("Manage isolated agents (workspaces + auth + routing)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/agents", "docs.openclaw.ai/cli/agents")}\n`);
3046
3046
  agents.command("list").description("List configured agents").option("--json", "Output JSON instead of text", false).option("--bindings", "Include routing bindings", false).action(async (opts) => {
3047
3047
  await runCommandWithRuntime(defaultRuntime, async () => {
3048
3048
  await agentsListCommand({
@@ -3113,7 +3113,7 @@ ${formatHelpExamples([
3113
3113
  //#endregion
3114
3114
  //#region src/cli/program/register.configure.ts
3115
3115
  function registerConfigureCommand(program) {
3116
- program.command("configure").description("Interactive prompt to set up credentials, devices, and agent defaults").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/configure", "docs.cryptoclaw.ai/cli/configure")}\n`).option("--section <section>", `Configuration sections (repeatable). Options: ${CONFIGURE_WIZARD_SECTIONS.join(", ")}`, (value, previous) => [...previous, value], []).action(async (opts) => {
3116
+ program.command("configure").description("Interactive prompt to set up credentials, devices, and agent defaults").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/configure", "docs.openclaw.ai/cli/configure")}\n`).option("--section <section>", `Configuration sections (repeatable). Options: ${CONFIGURE_WIZARD_SECTIONS.join(", ")}`, (value, previous) => [...previous, value], []).action(async (opts) => {
3117
3117
  await runCommandWithRuntime(defaultRuntime, async () => {
3118
3118
  const sections = Array.isArray(opts.section) ? opts.section.map((value) => typeof value === "string" ? value.trim() : "").filter(Boolean) : [];
3119
3119
  if (sections.length === 0) {
@@ -3539,7 +3539,7 @@ async function uninstallCommand(runtime, opts) {
3539
3539
  //#endregion
3540
3540
  //#region src/cli/program/register.maintenance.ts
3541
3541
  function registerMaintenanceCommands(program) {
3542
- program.command("doctor").description("Health checks + quick fixes for the gateway and channels").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/doctor", "docs.cryptoclaw.ai/cli/doctor")}\n`).option("--no-workspace-suggestions", "Disable workspace memory system suggestions", false).option("--yes", "Accept defaults without prompting", false).option("--repair", "Apply recommended repairs without prompting", false).option("--fix", "Apply recommended repairs (alias for --repair)", false).option("--force", "Apply aggressive repairs (overwrites custom service config)", false).option("--non-interactive", "Run without prompts (safe migrations only)", false).option("--generate-gateway-token", "Generate and configure a gateway token", false).option("--deep", "Scan system services for extra gateway installs", false).action(async (opts) => {
3542
+ program.command("doctor").description("Health checks + quick fixes for the gateway and channels").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/doctor", "docs.openclaw.ai/cli/doctor")}\n`).option("--no-workspace-suggestions", "Disable workspace memory system suggestions", false).option("--yes", "Accept defaults without prompting", false).option("--repair", "Apply recommended repairs without prompting", false).option("--fix", "Apply recommended repairs (alias for --repair)", false).option("--force", "Apply aggressive repairs (overwrites custom service config)", false).option("--non-interactive", "Run without prompts (safe migrations only)", false).option("--generate-gateway-token", "Generate and configure a gateway token", false).option("--deep", "Scan system services for extra gateway installs", false).action(async (opts) => {
3543
3543
  await runCommandWithRuntime(defaultRuntime, async () => {
3544
3544
  await doctorCommand(defaultRuntime, {
3545
3545
  workspaceSuggestions: opts.workspaceSuggestions,
@@ -3552,12 +3552,12 @@ function registerMaintenanceCommands(program) {
3552
3552
  });
3553
3553
  });
3554
3554
  });
3555
- program.command("dashboard").description("Open the Control UI with your current token").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/dashboard", "docs.cryptoclaw.ai/cli/dashboard")}\n`).option("--no-open", "Print URL but do not launch a browser", false).action(async (opts) => {
3555
+ program.command("dashboard").description("Open the Control UI with your current token").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/dashboard", "docs.openclaw.ai/cli/dashboard")}\n`).option("--no-open", "Print URL but do not launch a browser", false).action(async (opts) => {
3556
3556
  await runCommandWithRuntime(defaultRuntime, async () => {
3557
3557
  await dashboardCommand(defaultRuntime, { noOpen: Boolean(opts.noOpen) });
3558
3558
  });
3559
3559
  });
3560
- program.command("reset").description("Reset local config/state (keeps the CLI installed)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/reset", "docs.cryptoclaw.ai/cli/reset")}\n`).option("--scope <scope>", "config|config+creds+sessions|full (default: interactive prompt)").option("--yes", "Skip confirmation prompts", false).option("--non-interactive", "Disable prompts (requires --scope + --yes)", false).option("--dry-run", "Print actions without removing files", false).action(async (opts) => {
3560
+ program.command("reset").description("Reset local config/state (keeps the CLI installed)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/reset", "docs.openclaw.ai/cli/reset")}\n`).option("--scope <scope>", "config|config+creds+sessions|full (default: interactive prompt)").option("--yes", "Skip confirmation prompts", false).option("--non-interactive", "Disable prompts (requires --scope + --yes)", false).option("--dry-run", "Print actions without removing files", false).action(async (opts) => {
3561
3561
  await runCommandWithRuntime(defaultRuntime, async () => {
3562
3562
  await resetCommand(defaultRuntime, {
3563
3563
  scope: opts.scope,
@@ -3567,7 +3567,7 @@ function registerMaintenanceCommands(program) {
3567
3567
  });
3568
3568
  });
3569
3569
  });
3570
- program.command("uninstall").description("Uninstall the gateway service + local data (CLI remains)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/uninstall", "docs.cryptoclaw.ai/cli/uninstall")}\n`).option("--service", "Remove the gateway service", false).option("--state", "Remove state + config", false).option("--workspace", "Remove workspace dirs", false).option("--app", "Remove the macOS app", false).option("--all", "Remove service + state + workspace + app", false).option("--yes", "Skip confirmation prompts", false).option("--non-interactive", "Disable prompts (requires --yes)", false).option("--dry-run", "Print actions without removing files", false).action(async (opts) => {
3570
+ program.command("uninstall").description("Uninstall the gateway service + local data (CLI remains)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/uninstall", "docs.openclaw.ai/cli/uninstall")}\n`).option("--service", "Remove the gateway service", false).option("--state", "Remove state + config", false).option("--workspace", "Remove workspace dirs", false).option("--app", "Remove the macOS app", false).option("--all", "Remove service + state + workspace + app", false).option("--yes", "Skip confirmation prompts", false).option("--non-interactive", "Disable prompts (requires --yes)", false).option("--dry-run", "Print actions without removing files", false).action(async (opts) => {
3571
3571
  await runCommandWithRuntime(defaultRuntime, async () => {
3572
3572
  await uninstallCommand(defaultRuntime, {
3573
3573
  service: Boolean(opts.service),
@@ -4149,7 +4149,7 @@ ${formatHelpExamples([
4149
4149
  ["cryptoclaw message react --channel discord --target 123 --message-id 456 --emoji \"✅\"", "React to a message."]
4150
4150
  ])}
4151
4151
 
4152
- ${theme.muted("Docs:")} ${formatDocsLink("/cli/message", "docs.cryptoclaw.ai/cli/message")}`).action(() => {
4152
+ ${theme.muted("Docs:")} ${formatDocsLink("/cli/message", "docs.openclaw.ai/cli/message")}`).action(() => {
4153
4153
  message.help({ error: true });
4154
4154
  });
4155
4155
  const helpers = createMessageCliHelpers(message, ctx.messageChannelOptions);
@@ -4978,7 +4978,7 @@ async function runNonInteractiveOnboardingLocal(params) {
4978
4978
  skipSkills: Boolean(opts.skipSkills),
4979
4979
  skipHealth: Boolean(opts.skipHealth)
4980
4980
  });
4981
- if (!opts.json) runtime.log(`Tip: run \`${formatCliCommand("cryptoclaw configure --section web")}\` to store your Brave API key for web_search. Docs: https://docs.cryptoclaw.ai/tools/web`);
4981
+ if (!opts.json) runtime.log(`Tip: run \`${formatCliCommand("cryptoclaw configure --section web")}\` to store your Brave API key for web_search. Docs: https://docs.openclaw.ai/tools/web`);
4982
4982
  }
4983
4983
 
4984
4984
  //#endregion
@@ -5018,7 +5018,7 @@ async function runNonInteractiveOnboardingRemote(params) {
5018
5018
  else {
5019
5019
  runtime.log(`Remote gateway: ${remoteUrl}`);
5020
5020
  runtime.log(`Auth: ${payload.auth}`);
5021
- runtime.log(`Tip: run \`${formatCliCommand("cryptoclaw configure --section web")}\` to store your Brave API key for web_search. Docs: https://docs.cryptoclaw.ai/tools/web`);
5021
+ runtime.log(`Tip: run \`${formatCliCommand("cryptoclaw configure --section web")}\` to store your Brave API key for web_search. Docs: https://docs.openclaw.ai/tools/web`);
5022
5022
  }
5023
5023
  }
5024
5024
 
@@ -5075,7 +5075,7 @@ async function onboardCommand(opts, runtime = defaultRuntime) {
5075
5075
  if (normalizedOpts.nonInteractive && normalizedOpts.acceptRisk !== true) {
5076
5076
  runtime.error([
5077
5077
  "Non-interactive onboarding requires explicit risk acknowledgement.",
5078
- "Read: https://docs.cryptoclaw.ai/security",
5078
+ "Read: https://docs.openclaw.ai/security",
5079
5079
  `Re-run with: ${formatCliCommand("cryptoclaw onboard --non-interactive --accept-risk ...")}`
5080
5080
  ].join("\n"));
5081
5081
  runtime.exit(1);
@@ -5090,7 +5090,7 @@ async function onboardCommand(opts, runtime = defaultRuntime) {
5090
5090
  "Windows detected — CryptoClaw runs great on WSL2!",
5091
5091
  "Native Windows might be trickier.",
5092
5092
  "Quick setup: wsl --install (one command, one reboot)",
5093
- "Guide: https://docs.cryptoclaw.ai/windows"
5093
+ "Guide: https://docs.openclaw.ai/windows"
5094
5094
  ].join("\n"));
5095
5095
  if (normalizedOpts.nonInteractive) {
5096
5096
  await runNonInteractiveOnboarding(normalizedOpts, runtime);
@@ -5109,7 +5109,7 @@ function resolveInstallDaemonFlag(command, opts) {
5109
5109
  if (getOptionValueSource.call(command, "installDaemon") === "cli") return Boolean(opts.installDaemon);
5110
5110
  }
5111
5111
  function registerOnboardCommand(program) {
5112
- program.command("onboard").description("Interactive wizard to set up the gateway, workspace, and skills").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/onboard", "docs.cryptoclaw.ai/cli/onboard")}\n`).option("--workspace <dir>", "Agent workspace directory (default: ~/.cryptoclaw/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|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|xai-api-key|apiKey|minimax-api|minimax-api-lightning|opencode-zen|skip").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("--opencode-zen-api-key <key>", "OpenCode Zen API key").option("--xai-api-key <key>", "xAI 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("--wallet-create", "Create a new wallet during onboarding").option("--wallet-import", "Import an existing wallet during onboarding").option("--wallet-label <name>", "Label for the new wallet").option("--skip-wallet", "Skip wallet setup").option("--json", "Output JSON summary", false).action(async (opts, command) => {
5112
+ 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: ~/.cryptoclaw/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|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|xai-api-key|apiKey|minimax-api|minimax-api-lightning|opencode-zen|skip").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("--opencode-zen-api-key <key>", "OpenCode Zen API key").option("--xai-api-key <key>", "xAI 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("--wallet-create", "Create a new wallet during onboarding").option("--wallet-import", "Import an existing wallet during onboarding").option("--wallet-label <name>", "Label for the new wallet").option("--skip-wallet", "Skip wallet setup").option("--json", "Output JSON summary", false).action(async (opts, command) => {
5113
5113
  await runCommandWithRuntime(defaultRuntime, async () => {
5114
5114
  const installDaemon = resolveInstallDaemonFlag(command, { installDaemon: Boolean(opts.installDaemon) });
5115
5115
  const gatewayPort = typeof opts.gatewayPort === "string" ? Number.parseInt(opts.gatewayPort, 10) : void 0;
@@ -5227,7 +5227,7 @@ async function setupCommand(opts, runtime = defaultRuntime) {
5227
5227
  //#endregion
5228
5228
  //#region src/cli/program/register.setup.ts
5229
5229
  function registerSetupCommand(program) {
5230
- program.command("setup").description("Initialize ~/.cryptoclaw/cryptoclaw.json and the agent workspace").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/setup", "docs.cryptoclaw.ai/cli/setup")}\n`).option("--workspace <dir>", "Agent workspace directory (default: ~/.cryptoclaw/workspace; stored as agents.defaults.workspace)").option("--wizard", "Run the interactive onboarding wizard", false).option("--non-interactive", "Run the wizard without prompts", false).option("--mode <mode>", "Wizard mode: local|remote").option("--remote-url <url>", "Remote Gateway WebSocket URL").option("--remote-token <token>", "Remote Gateway token (optional)").action(async (opts, command) => {
5230
+ program.command("setup").description("Initialize ~/.cryptoclaw/cryptoclaw.json and the agent workspace").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/setup", "docs.openclaw.ai/cli/setup")}\n`).option("--workspace <dir>", "Agent workspace directory (default: ~/.cryptoclaw/workspace; stored as agents.defaults.workspace)").option("--wizard", "Run the interactive onboarding wizard", false).option("--non-interactive", "Run the wizard without prompts", false).option("--mode <mode>", "Wizard mode: local|remote").option("--remote-url <url>", "Remote Gateway WebSocket URL").option("--remote-token <token>", "Remote Gateway token (optional)").action(async (opts, command) => {
5231
5231
  await runCommandWithRuntime(defaultRuntime, async () => {
5232
5232
  const hasWizardFlags = hasExplicitOptions(command, [
5233
5233
  "wizard",
@@ -5273,7 +5273,7 @@ function registerStatusHealthSessionsCommands(program) {
5273
5273
  ["cryptoclaw status --usage", "Show model provider usage/quota snapshots."],
5274
5274
  ["cryptoclaw status --deep", "Run channel probes (WA + Telegram + Discord + Slack + Signal)."],
5275
5275
  ["cryptoclaw status --deep --timeout 5000", "Tighten probe timeout."]
5276
- ])}`).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/status", "docs.cryptoclaw.ai/cli/status")}\n`).action(async (opts) => {
5276
+ ])}`).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/status", "docs.openclaw.ai/cli/status")}\n`).action(async (opts) => {
5277
5277
  const verbose = resolveVerbose(opts);
5278
5278
  setVerbose(verbose);
5279
5279
  const timeout = parseTimeoutMs(opts.timeout);
@@ -5289,7 +5289,7 @@ function registerStatusHealthSessionsCommands(program) {
5289
5289
  }, defaultRuntime);
5290
5290
  });
5291
5291
  });
5292
- program.command("health").description("Fetch health from the running gateway").option("--json", "Output JSON instead of text", false).option("--timeout <ms>", "Connection timeout in milliseconds", "10000").option("--verbose", "Verbose logging", false).option("--debug", "Alias for --verbose", false).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/health", "docs.cryptoclaw.ai/cli/health")}\n`).action(async (opts) => {
5292
+ program.command("health").description("Fetch health from the running gateway").option("--json", "Output JSON instead of text", false).option("--timeout <ms>", "Connection timeout in milliseconds", "10000").option("--verbose", "Verbose logging", false).option("--debug", "Alias for --verbose", false).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/health", "docs.openclaw.ai/cli/health")}\n`).action(async (opts) => {
5293
5293
  const verbose = resolveVerbose(opts);
5294
5294
  setVerbose(verbose);
5295
5295
  const timeout = parseTimeoutMs(opts.timeout);
@@ -5307,7 +5307,7 @@ function registerStatusHealthSessionsCommands(program) {
5307
5307
  ["cryptoclaw sessions --active 120", "Only last 2 hours."],
5308
5308
  ["cryptoclaw sessions --json", "Machine-readable output."],
5309
5309
  ["cryptoclaw sessions --store ./tmp/sessions.json", "Use a specific session store."]
5310
- ])}\n\n${theme.muted("Shows token usage per session when the agent reports it; set agents.defaults.contextTokens to cap the window and show %.")}`).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/sessions", "docs.cryptoclaw.ai/cli/sessions")}\n`).action(async (opts) => {
5310
+ ])}\n\n${theme.muted("Shows token usage per session when the agent reports it; set agents.defaults.contextTokens to cap the window and show %.")}`).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/sessions", "docs.openclaw.ai/cli/sessions")}\n`).action(async (opts) => {
5311
5311
  setVerbose(Boolean(opts.verbose));
5312
5312
  await sessionsCommand({
5313
5313
  json: Boolean(opts.json),
@@ -5765,7 +5765,7 @@ function configureProgramHelp(program, ctx) {
5765
5765
  const fmtExamples = EXAMPLES.map(([cmd, desc]) => ` ${theme.command(replaceCliName(cmd, CLI_NAME))}\n ${theme.muted(desc)}`).join("\n");
5766
5766
  program.addHelpText("afterAll", ({ command }) => {
5767
5767
  if (command !== program) return "";
5768
- const docs = formatDocsLink("/cli", "docs.cryptoclaw.ai/cli");
5768
+ const docs = formatDocsLink("/cli", "docs.openclaw.ai/cli");
5769
5769
  return `\n${theme.heading("Examples:")}\n${fmtExamples}\n\n${theme.muted("Docs:")} ${docs}\n`;
5770
5770
  });
5771
5771
  }
@@ -5887,11 +5887,11 @@ const program = buildProgram();
5887
5887
  if (isMainModule({ currentFile: fileURLToPath(import.meta.url) })) {
5888
5888
  installUnhandledRejectionHandler();
5889
5889
  process$1.on("uncaughtException", (error) => {
5890
- console.error("[openclaw] Uncaught exception:", formatUncaughtError(error));
5890
+ console.error("[cryptoclaw] Uncaught exception:", formatUncaughtError(error));
5891
5891
  process$1.exit(1);
5892
5892
  });
5893
5893
  program.parseAsync(process$1.argv).catch((err) => {
5894
- console.error("[openclaw] CLI failed:", formatUncaughtError(err));
5894
+ console.error("[cryptoclaw] CLI failed:", formatUncaughtError(err));
5895
5895
  process$1.exit(1);
5896
5896
  });
5897
5897
  }
@@ -1,6 +1,6 @@
1
- import { m as resolveUserPath, t as CONFIG_DIR } from "./utils-7IMqr8vR.js";
1
+ import { f as resolveUserPath, t as CONFIG_DIR } from "./utils-DV2rghi_.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CLQSz0CI.js";
3
- import { a as MANIFEST_KEY } from "./manifest-registry-BdTzIlta.js";
3
+ import { a as MANIFEST_KEY } from "./manifest-registry-CBbBh2FT.js";
4
4
  import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-iT9wNsml.js";
5
5
  import { t as scanDirectoryWithSummary } from "./skill-scanner-AfOudYI1.js";
6
6
  import path from "node:path";
@@ -1,6 +1,6 @@
1
- import { h as resolveUserPath, t as CONFIG_DIR } from "./utils-D7jskKIf.js";
1
+ import { p as resolveUserPath, t as CONFIG_DIR } from "./utils-CGterW74.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CW_QjkBi.js";
3
- import { a as MANIFEST_KEY } from "./manifest-registry-DVQHMj0y.js";
3
+ import { a as MANIFEST_KEY } from "./manifest-registry-CmLtWVRR.js";
4
4
  import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-Dy3Ezb-5.js";
5
5
  import { t as scanDirectoryWithSummary } from "./skill-scanner-BoGjHXUZ.js";
6
6
  import os from "node:os";
@@ -1,7 +1,7 @@
1
- import { s as formatTerminalLink } from "./utils-7IMqr8vR.js";
1
+ import { o as formatTerminalLink } from "./utils-CGterW74.js";
2
2
 
3
3
  //#region src/terminal/links.ts
4
- const DOCS_ROOT = "https://docs.cryptoclaw.ai";
4
+ const DOCS_ROOT = "https://docs.openclaw.ai";
5
5
  function formatDocsLink(path, label, opts) {
6
6
  const trimmed = path.trim();
7
7
  const url = trimmed.startsWith("http") ? trimmed : `${DOCS_ROOT}${trimmed.startsWith("/") ? trimmed : `/${trimmed}`}`;
@@ -1,7 +1,7 @@
1
- import { c as formatTerminalLink } from "./utils-D7jskKIf.js";
1
+ import { a as formatTerminalLink } from "./utils-DV2rghi_.js";
2
2
 
3
3
  //#region src/terminal/links.ts
4
- const DOCS_ROOT = "https://docs.cryptoclaw.ai";
4
+ const DOCS_ROOT = "https://docs.openclaw.ai";
5
5
  function formatDocsLink(path, label, opts) {
6
6
  const trimmed = path.trim();
7
7
  const url = trimmed.startsWith("http") ? trimmed : `${DOCS_ROOT}${trimmed.startsWith("/") ? trimmed : `/${trimmed}`}`;