@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
@@ -1,40 +1,40 @@
1
- import { St as printWizardHeader, _t as guardCancel, ft as applyWizardMetadata, rt as loadOpenClawPlugins, wt as randomToken, xr as loadModelCatalog } from "./reply-DfepuqG0.js";
1
+ import { St as printWizardHeader, _t as guardCancel, ft as applyWizardMetadata, rt as loadOpenClawPlugins, wt as randomToken, xr as loadModelCatalog } from "./reply-qWVVjmhR.js";
2
2
  import { _ as resolveStateDir, d as resolveGatewayPort, f as resolveIsNixMode, h as resolveOAuthDir, m as resolveNewStateDir, p as resolveLegacyStateDirs, t as CONFIG_PATH } from "./paths-CGrNQEMk.js";
3
3
  import { c as normalizeAgentId, i as buildAgentMainSessionKey, r as DEFAULT_MAIN_KEY, t as DEFAULT_ACCOUNT_ID } from "./session-key-CYpWeuht.js";
4
4
  import { V as getResolvedLoggerSettings, c as defaultRuntime } from "./subsystem-Btuh5yZj.js";
5
- import { _ as shortenHomePath, p as resolveHomeDir$1, v as sleep } from "./utils-D7jskKIf.js";
5
+ import { d as resolveHomeDir$1, g as sleep, h as shortenHomePath } from "./utils-CGterW74.js";
6
6
  import { n as runExec, t as runCommandWithTimeout } from "./exec-CW_QjkBi.js";
7
- import { t as resolveOpenClawPackageRoot } from "./openclaw-root-YSGWCNem.js";
8
- import { c as resolveDefaultAgentId, d as DEFAULT_AGENTS_FILENAME, s as resolveAgentWorkspaceDir } from "./agent-scope-DLfFOxP6.js";
9
- import { $ as resolveApiKeyForProfile, Q as resolveProfileUnusableUntilForDisplay, _t as CODEX_CLI_PROFILE_ID, bt as DEFAULT_PROVIDER, d as resolveConfiguredModelRef, dt as updateAuthProfileStoreWithLock, gt as CLAUDE_CLI_PROFILE_ID, i as getModelRefStatus, it as repairOAuthProfileIdMismatch, lt as ensureAuthProfileStore, p as resolveHooksGmailModel, yt as DEFAULT_MODEL } from "./model-selection-Av0fLq51.js";
7
+ import { t as resolveOpenClawPackageRoot } from "./openclaw-root-Cx_l_MXP.js";
8
+ import { c as resolveDefaultAgentId, d as DEFAULT_AGENTS_FILENAME, s as resolveAgentWorkspaceDir } from "./agent-scope-GUoze5gc.js";
9
+ import { $ as resolveApiKeyForProfile, Q as resolveProfileUnusableUntilForDisplay, _t as CODEX_CLI_PROFILE_ID, bt as DEFAULT_PROVIDER, d as resolveConfiguredModelRef, dt as updateAuthProfileStoreWithLock, gt as CLAUDE_CLI_PROFILE_ID, i as getModelRefStatus, it as repairOAuthProfileIdMismatch, lt as ensureAuthProfileStore, p as resolveHooksGmailModel, yt as DEFAULT_MODEL } from "./model-selection-DmO3rB3w.js";
10
10
  import { t as formatCliCommand } from "./command-format-9IsYy-9N.js";
11
11
  import { t as isTruthyEnvValue } from "./env-B2Cd_6IS.js";
12
- import { c as writeConfigFile, n as migrateLegacyConfig, o as readConfigFileSnapshot, u as OpenClawSchema } from "./config-dQK4rbfx.js";
13
- import { n as listChannelPlugins } from "./plugins-Dk4UBZwz.js";
14
- import { L as resolveMainSessionKey, P as canonicalizeMainSessionAlias, Q as resolveSandboxScope, ct as DEFAULT_SANDBOX_BROWSER_IMAGE, d as loadSessionStore, lt as DEFAULT_SANDBOX_COMMON_IMAGE, m as saveSessionStore, ut as DEFAULT_SANDBOX_IMAGE } from "./sandbox-D_Tt3WRq.js";
15
- import { d as inspectPortUsage, p as formatPortDiagnostics } from "./chrome-CwbWzmh4.js";
12
+ import { c as writeConfigFile, n as migrateLegacyConfig, o as readConfigFileSnapshot, u as OpenClawSchema } from "./config-D1wc31Qf.js";
13
+ import { n as listChannelPlugins } from "./plugins-CQ1FUoTO.js";
14
+ import { L as resolveMainSessionKey, P as canonicalizeMainSessionAlias, Q as resolveSandboxScope, ct as DEFAULT_SANDBOX_BROWSER_IMAGE, d as loadSessionStore, lt as DEFAULT_SANDBOX_COMMON_IMAGE, m as saveSessionStore, ut as DEFAULT_SANDBOX_IMAGE } from "./sandbox-DcPAdlhA.js";
15
+ import { d as inspectPortUsage, p as formatPortDiagnostics } from "./chrome-D0L5ufqO.js";
16
16
  import { a as resolveSessionTranscriptsDirForAgent, n as resolveSessionFilePath, o as resolveStorePath } from "./paths-C3yk0MGu.js";
17
- import { n as isWSL, r as isWSLEnv } from "./dispatcher-DA3u3CwV.js";
18
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DqxlETxE.js";
19
- import { i as readChannelAllowFromStore } from "./pairing-store-BHzy16_t.js";
17
+ import { n as isWSL, r as isWSLEnv } from "./dispatcher-cp7uHiyX.js";
18
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-QEaFjVBF.js";
19
+ import { i as readChannelAllowFromStore } from "./pairing-store-Dbotpoz6.js";
20
20
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-BBlJlXtd.js";
21
21
  import { d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, l as resolveGatewayLaunchAgentLabel, m as resolveNodeLaunchAgentLabel } from "./constants-DBvu3LzZ.js";
22
- import { a as gatewayInstallErrorHint, d as renderSystemNodeWarning, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, p as resolveSystemNodeInfo, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DEjUQVjL.js";
22
+ import { a as gatewayInstallErrorHint, d as renderSystemNodeWarning, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, p as resolveSystemNodeInfo, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-CD5XPuxz.js";
23
23
  import { t as resolveChannelDefaultAccountId } from "./helpers-CzQjTUbz.js";
24
- import { n as logConfigUpdated } from "./logging-CD55MXc7.js";
24
+ import { n as logConfigUpdated } from "./logging-C3Y3mzWS.js";
25
25
  import { t as note$1 } from "./note-DEz9ZK7G.js";
26
- import { t as applyPluginAutoEnable } from "./plugin-auto-enable-RwRwIUKC.js";
27
- import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-Pl8qK65t.js";
28
- import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-DAeygRSU.js";
26
+ import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BmBAQgRq.js";
27
+ import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-SZpheYuf.js";
28
+ import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-L1EJYQRF.js";
29
29
  import { a as resolveGatewayBindHost, n as isLoopbackHost } from "./net-D4G66Xui.js";
30
30
  import { i as resolveGatewayAuth } from "./auth-RTEHx2eI.js";
31
- import { t as buildWorkspaceSkillStatus } from "./skills-status-4_4zVBvV.js";
31
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-D9G4-4sK.js";
32
32
  import { a as repairLaunchAgentBootstrap, i as launchAgentPlistExists, n as isLaunchAgentListed, o as resolveGatewayLogPaths, r as isLaunchAgentLoaded, t as resolveGatewayService } from "./service-mrQPgOXl.js";
33
33
  import { r as isSystemdUserServiceAvailable } from "./systemd-CFHiVC1D.js";
34
- import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine, r as needsNodeRuntimeMigration, t as SERVICE_AUDIT_CODES } from "./service-audit-AsnhO40e.js";
35
- import { t as collectChannelStatusIssues } from "./channels-status-issues-C2UGSPvH.js";
34
+ import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine, r as needsNodeRuntimeMigration, t as SERVICE_AUDIT_CODES } from "./service-audit-BsDPEKdd.js";
35
+ import { t as collectChannelStatusIssues } from "./channels-status-issues-BwOdQrU9.js";
36
36
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-CxBBzOjC.js";
37
- import { n as buildAuthHealthSummary, r as formatRemainingShort, t as DEFAULT_OAUTH_WARN_MS } from "./auth-health-CCM6Z3vK.js";
37
+ import { n as buildAuthHealthSummary, r as formatRemainingShort, t as DEFAULT_OAUTH_WARN_MS } from "./auth-health-Cr8ib9nm.js";
38
38
  import { n as renderSystemdUnavailableHints, t as isSystemdUnavailableDetail } from "./systemd-hints-DKVCFZS3.js";
39
39
  import os from "node:os";
40
40
  import path from "node:path";
package/dist/entry.js CHANGED
@@ -1146,7 +1146,7 @@ if (!ensureExperimentalWarningSuppressed()) {
1146
1146
  applyCliProfileEnv({ profile: parsed.profile });
1147
1147
  process$1.argv = parsed.argv;
1148
1148
  }
1149
- import("./run-main-JFY3X4Xh.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
1149
+ import("./run-main-C12Z921D.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
1150
1150
  console.error("[cryptoclaw] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
1151
1151
  process$1.exitCode = 1;
1152
1152
  });
@@ -1,6 +1,6 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
2
  import { t as formatCliCommand } from "./command-format-B0bnyrEA.js";
3
- import { t as CONFIG_DIR } from "./utils-7IMqr8vR.js";
3
+ import { t as CONFIG_DIR } from "./utils-DV2rghi_.js";
4
4
  import { t as runCommandWithTimeout } from "./exec-CLQSz0CI.js";
5
5
  import { t as rawDataToString } from "./ws-D64QKPe6.js";
6
6
  import { execFileSync, spawn } from "node:child_process";
@@ -1,24 +1,24 @@
1
1
  import "./paths-D2ytuv-2.js";
2
2
  import { O as isRich, k as theme, p as defaultRuntime } from "./entry.js";
3
- import "./auth-profiles-DoD7YxsD.js";
4
- import "./utils-7IMqr8vR.js";
3
+ import "./auth-profiles-CVShF1K6.js";
4
+ import "./utils-DV2rghi_.js";
5
5
  import "./exec-CLQSz0CI.js";
6
- import "./agent-scope-DBl1We79.js";
6
+ import "./agent-scope-BJucHu4R.js";
7
7
  import "./github-copilot-token-C1sArkX4.js";
8
- import "./config-DSpb2aMV.js";
9
- import "./manifest-registry-BdTzIlta.js";
8
+ import "./config-DBZqAqbe.js";
9
+ import "./manifest-registry-CBbBh2FT.js";
10
10
  import "./client-N6zH1neq.js";
11
- import "./call-D2DXG0AC.js";
11
+ import "./call-D-Kvee3W.js";
12
12
  import "./message-channel-CfYBy4y3.js";
13
- import { t as formatDocsLink } from "./links-cf9h8BXu.js";
13
+ import { t as formatDocsLink } from "./links-kbubTyay.js";
14
14
  import "./progress-D-Oc-KAH.js";
15
15
  import { g as saveExecApprovals, l as readExecApprovalsSnapshot } from "./exec-approvals-P7vwSw4O.js";
16
- import { n as callGatewayFromCli } from "./gateway-rpc-BPfCU2Vi.js";
16
+ import { n as callGatewayFromCli } from "./gateway-rpc-0hjEbkzc.js";
17
17
  import "./service-C0ccl5rU.js";
18
18
  import "./systemd-kY3NnWdi.js";
19
- import { t as renderTable } from "./table-DDQGlZSe.js";
19
+ import { t as renderTable } from "./table--L48nql9.js";
20
20
  import { t as describeUnknownError } from "./shared-CBcCIWC0.js";
21
- import { n as nodesCallOpts, r as resolveNodeId } from "./rpc-B4lvrGrD.js";
21
+ import { n as nodesCallOpts, r as resolveNodeId } from "./rpc-BEKdRxnk.js";
22
22
  import JSON5 from "json5";
23
23
  import fs from "node:fs/promises";
24
24
 
@@ -224,7 +224,7 @@ function isEmptyAgent(agent) {
224
224
  }
225
225
  function registerExecApprovalsCli(program) {
226
226
  const formatExample = (cmd, desc) => ` ${theme.command(cmd)}\n ${theme.muted(desc)}`;
227
- const approvals = program.command("approvals").alias("exec-approvals").description("Manage exec approvals (gateway or node host)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/approvals", "docs.cryptoclaw.ai/cli/approvals")}\n`);
227
+ const approvals = program.command("approvals").alias("exec-approvals").description("Manage exec approvals (gateway or node host)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/approvals", "docs.openclaw.ai/cli/approvals")}\n`);
228
228
  nodesCallOpts(approvals.command("get").description("Fetch exec approvals snapshot").option("--node <node>", "Target node id/name/IP").option("--gateway", "Force gateway approvals", false).action(async (opts) => {
229
229
  try {
230
230
  const { snapshot, nodeId, source } = await loadSnapshotTarget(opts);
@@ -285,7 +285,7 @@ function registerExecApprovalsCli(program) {
285
285
  defaultRuntime.exit(1);
286
286
  }
287
287
  }));
288
- const allowlist = approvals.command("allowlist").description("Edit the per-agent allowlist").addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatExample("cryptoclaw approvals allowlist add \"~/Projects/**/bin/rg\"", "Allowlist a local binary pattern for the main agent.")}\n${formatExample("cryptoclaw approvals allowlist add --agent main --node <id|name|ip> \"/usr/bin/uptime\"", "Allowlist on a specific node/agent.")}\n${formatExample("cryptoclaw approvals allowlist add --agent \"*\" \"/usr/bin/uname\"", "Allowlist for all agents (wildcard).")}\n${formatExample("cryptoclaw approvals allowlist remove \"~/Projects/**/bin/rg\"", "Remove an allowlist pattern.")}\n\n${theme.muted("Docs:")} ${formatDocsLink("/cli/approvals", "docs.cryptoclaw.ai/cli/approvals")}\n`);
288
+ const allowlist = approvals.command("allowlist").description("Edit the per-agent allowlist").addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatExample("cryptoclaw approvals allowlist add \"~/Projects/**/bin/rg\"", "Allowlist a local binary pattern for the main agent.")}\n${formatExample("cryptoclaw approvals allowlist add --agent main --node <id|name|ip> \"/usr/bin/uptime\"", "Allowlist on a specific node/agent.")}\n${formatExample("cryptoclaw approvals allowlist add --agent \"*\" \"/usr/bin/uname\"", "Allowlist for all agents (wildcard).")}\n${formatExample("cryptoclaw approvals allowlist remove \"~/Projects/**/bin/rg\"", "Remove an allowlist pattern.")}\n\n${theme.muted("Docs:")} ${formatDocsLink("/cli/approvals", "docs.openclaw.ai/cli/approvals")}\n`);
289
289
  nodesCallOpts(allowlist.command("add <pattern>").description("Add a glob pattern to an allowlist").option("--node <node>", "Target node id/name/IP").option("--gateway", "Force gateway approvals", false).option("--agent <id>", "Agent id (defaults to \"*\")").action(async (pattern, opts) => {
290
290
  try {
291
291
  const trimmed = pattern.trim();
@@ -1,26 +1,26 @@
1
1
  import "./paths-CGrNQEMk.js";
2
2
  import { L as isRich, R as theme, c as defaultRuntime } from "./subsystem-Btuh5yZj.js";
3
- import "./utils-D7jskKIf.js";
3
+ import "./utils-CGterW74.js";
4
4
  import "./exec-CW_QjkBi.js";
5
- import "./agent-scope-DLfFOxP6.js";
6
- import "./model-selection-Av0fLq51.js";
5
+ import "./agent-scope-GUoze5gc.js";
6
+ import "./model-selection-DmO3rB3w.js";
7
7
  import "./github-copilot-token-hMl1wyZp.js";
8
8
  import "./boolean-BsqeuxE6.js";
9
9
  import "./env-B2Cd_6IS.js";
10
- import "./config-dQK4rbfx.js";
11
- import "./manifest-registry-DVQHMj0y.js";
10
+ import "./config-D1wc31Qf.js";
11
+ import "./manifest-registry-CmLtWVRR.js";
12
12
  import "./message-channel-CvHWS3C2.js";
13
13
  import "./client-BaTYzXOU.js";
14
- import "./call-DqxlETxE.js";
15
- import { t as formatDocsLink } from "./links-Brcj2Oc-.js";
14
+ import "./call-QEaFjVBF.js";
15
+ import { t as formatDocsLink } from "./links-Dv1EDiwa.js";
16
16
  import "./progress-DTEUicRP.js";
17
17
  import { g as saveExecApprovals, l as readExecApprovalsSnapshot } from "./exec-approvals-CuXem6Li.js";
18
- import { t as renderTable } from "./table-DAOPkdc_.js";
18
+ import { t as renderTable } from "./table-C1Xupkjv.js";
19
19
  import "./service-mrQPgOXl.js";
20
20
  import "./systemd-CFHiVC1D.js";
21
- import { n as callGatewayFromCli } from "./gateway-rpc--CH0NWWR.js";
21
+ import { n as callGatewayFromCli } from "./gateway-rpc-anmk3tbT.js";
22
22
  import { t as describeUnknownError } from "./shared-Na5zjEUc.js";
23
- import { n as nodesCallOpts, r as resolveNodeId } from "./rpc-CbWcXAQK.js";
23
+ import { n as nodesCallOpts, r as resolveNodeId } from "./rpc-jU_lA6zf.js";
24
24
  import JSON5 from "json5";
25
25
  import fs from "node:fs/promises";
26
26
 
@@ -226,7 +226,7 @@ function isEmptyAgent(agent) {
226
226
  }
227
227
  function registerExecApprovalsCli(program) {
228
228
  const formatExample = (cmd, desc) => ` ${theme.command(cmd)}\n ${theme.muted(desc)}`;
229
- const approvals = program.command("approvals").alias("exec-approvals").description("Manage exec approvals (gateway or node host)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/approvals", "docs.cryptoclaw.ai/cli/approvals")}\n`);
229
+ const approvals = program.command("approvals").alias("exec-approvals").description("Manage exec approvals (gateway or node host)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/approvals", "docs.openclaw.ai/cli/approvals")}\n`);
230
230
  nodesCallOpts(approvals.command("get").description("Fetch exec approvals snapshot").option("--node <node>", "Target node id/name/IP").option("--gateway", "Force gateway approvals", false).action(async (opts) => {
231
231
  try {
232
232
  const { snapshot, nodeId, source } = await loadSnapshotTarget(opts);
@@ -287,7 +287,7 @@ function registerExecApprovalsCli(program) {
287
287
  defaultRuntime.exit(1);
288
288
  }
289
289
  }));
290
- const allowlist = approvals.command("allowlist").description("Edit the per-agent allowlist").addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatExample("cryptoclaw approvals allowlist add \"~/Projects/**/bin/rg\"", "Allowlist a local binary pattern for the main agent.")}\n${formatExample("cryptoclaw approvals allowlist add --agent main --node <id|name|ip> \"/usr/bin/uptime\"", "Allowlist on a specific node/agent.")}\n${formatExample("cryptoclaw approvals allowlist add --agent \"*\" \"/usr/bin/uname\"", "Allowlist for all agents (wildcard).")}\n${formatExample("cryptoclaw approvals allowlist remove \"~/Projects/**/bin/rg\"", "Remove an allowlist pattern.")}\n\n${theme.muted("Docs:")} ${formatDocsLink("/cli/approvals", "docs.cryptoclaw.ai/cli/approvals")}\n`);
290
+ const allowlist = approvals.command("allowlist").description("Edit the per-agent allowlist").addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatExample("cryptoclaw approvals allowlist add \"~/Projects/**/bin/rg\"", "Allowlist a local binary pattern for the main agent.")}\n${formatExample("cryptoclaw approvals allowlist add --agent main --node <id|name|ip> \"/usr/bin/uptime\"", "Allowlist on a specific node/agent.")}\n${formatExample("cryptoclaw approvals allowlist add --agent \"*\" \"/usr/bin/uname\"", "Allowlist for all agents (wildcard).")}\n${formatExample("cryptoclaw approvals allowlist remove \"~/Projects/**/bin/rg\"", "Remove an allowlist pattern.")}\n\n${theme.muted("Docs:")} ${formatDocsLink("/cli/approvals", "docs.openclaw.ai/cli/approvals")}\n`);
291
291
  nodesCallOpts(allowlist.command("add <pattern>").description("Add a glob pattern to an allowlist").option("--node <node>", "Target node id/name/IP").option("--gateway", "Force gateway approvals", false).option("--agent <id>", "Agent id (defaults to \"*\")").action(async (pattern, opts) => {
292
292
  try {
293
293
  const trimmed = pattern.trim();
@@ -1,21 +1,21 @@
1
1
  import { a as resolveOAuthDir, i as resolveGatewayPort, n as resolveConfigPath, s as resolveStateDir, t as STATE_DIR } from "./paths-C90k-Dud.js";
2
- import { A as normalizeAccountId$2, D as buildAgentMainSessionKey, E as DEFAULT_MAIN_KEY, F as sanitizeAgentId, I as isAcpSessionKey, L as isSubagentSessionKey, M as normalizeMainKey, N as resolveAgentIdFromSessionKey, O as buildAgentPeerSessionKey, P as resolveThreadSessionKeys, R as parseAgentSessionKey, S as resolveOpenClawPackageRoot, T as DEFAULT_AGENT_ID, b as filterBootstrapFilesForSession, c as resolveDefaultAgentId, f as DEFAULT_AGENT_WORKSPACE_DIR, i as resolveAgentModelFallbacksOverride, j as normalizeAgentId, k as buildGroupHistoryKey, l as resolveSessionAgentId, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_BOOTSTRAP_FILENAME, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentIds, w as DEFAULT_ACCOUNT_ID, x as loadWorkspaceBootstrapFiles, y as ensureAgentWorkspace, z as resolveThreadParentSessionKey } from "./agent-scope-e_oNRhGi.js";
2
+ import { A as normalizeAccountId$2, D as buildAgentMainSessionKey, E as DEFAULT_MAIN_KEY, F as sanitizeAgentId, I as isAcpSessionKey, L as isSubagentSessionKey, M as normalizeMainKey, N as resolveAgentIdFromSessionKey, O as buildAgentPeerSessionKey, P as resolveThreadSessionKeys, R as parseAgentSessionKey, S as resolveOpenClawPackageRoot, T as DEFAULT_AGENT_ID, b as filterBootstrapFilesForSession, c as resolveDefaultAgentId, f as DEFAULT_AGENT_WORKSPACE_DIR, i as resolveAgentModelFallbacksOverride, j as normalizeAgentId, k as buildGroupHistoryKey, l as resolveSessionAgentId, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_BOOTSTRAP_FILENAME, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentIds, w as DEFAULT_ACCOUNT_ID, x as loadWorkspaceBootstrapFiles, y as ensureAgentWorkspace, z as resolveThreadParentSessionKey } from "./agent-scope-DzpuqcS9.js";
3
3
  import { A as normalizeE164, B as danger, C as CONFIG_DIR, D as formatTerminalLink, E as ensureDir$3, F as shortenHomePath, G as success, H as logVerbose, I as sleep, J as isRich, K as warn, L as sliceUtf16Safe, M as resolveJidToE164, N as resolveUserPath, O as isSelfChatMode, P as shortenHomeInString, Q as normalizeLogLevel, R as toWhatsappJid, S as setActivePluginRegistry, U as setVerbose, V as info, W as shouldLogVerbose, X as getChildLogger, Y as theme, _ as normalizeAnyChannelId, a as logDebug, b as getActivePluginRegistry, c as logWarn, d as clearActiveProgressLine, f as registerActiveProgressLine, h as CHAT_CHANNEL_ORDER, i as spawnWithFallback, k as jidToE164, l as createSubsystemLogger, n as runExec, o as logError, p as unregisterActiveProgressLine, q as colorize, r as formatSpawnError, s as logInfo, t as runCommandWithTimeout, u as defaultRuntime, v as normalizeChannelId, w as clampInt, z as truncateUtf16Safe } from "./exec-D7I5LU33.js";
4
- import { B as resolveOpenClawAgentDir, C as getShellPathFromLoginShell, F as resolveApiKeyForProfile, H as DEFAULT_CONTEXT_TOKENS, I as listProfilesForProvider, L as markAuthProfileGood, M as isProfileInCooldown, N as markAuthProfileFailure, O as isTruthyEnvValue, P as markAuthProfileUsed, R as ensureAuthProfileStore, S as resolveModelAuthMode, T as resolveShellEnvFallbackTimeoutMs, U as DEFAULT_MODEL, V as resolveAuthProfileDisplayLabel, W as DEFAULT_PROVIDER, _ as getApiKeyForModel, a as modelKey, b as resolveApiKeyForProvider, c as resolveConfiguredModelRef, d as resolveThinkingDefault, f as normalizeGoogleModelId, i as isCliProvider, j as resolveAuthProfileOrder, k as parseBooleanValue$1, l as resolveDefaultModelForAgent, n as buildConfiguredAllowlistKeys, o as normalizeProviderId, r as buildModelAliasIndex, t as buildAllowedModelSet, u as resolveModelRefFromString, v as getCustomProviderApiKey, x as resolveEnvApiKey, y as requireApiKey, z as resolveAuthStorePathForDisplay } from "./model-selection-DuI_Ue9Q.js";
4
+ import { B as resolveOpenClawAgentDir, C as getShellPathFromLoginShell, F as resolveApiKeyForProfile, H as DEFAULT_CONTEXT_TOKENS, I as listProfilesForProvider, L as markAuthProfileGood, M as isProfileInCooldown, N as markAuthProfileFailure, O as isTruthyEnvValue, P as markAuthProfileUsed, R as ensureAuthProfileStore, S as resolveModelAuthMode, T as resolveShellEnvFallbackTimeoutMs, U as DEFAULT_MODEL, V as resolveAuthProfileDisplayLabel, W as DEFAULT_PROVIDER, _ as getApiKeyForModel, a as modelKey, b as resolveApiKeyForProvider, c as resolveConfiguredModelRef, d as resolveThinkingDefault, f as normalizeGoogleModelId, i as isCliProvider, j as resolveAuthProfileOrder, k as parseBooleanValue$1, l as resolveDefaultModelForAgent, n as buildConfiguredAllowlistKeys, o as normalizeProviderId, r as buildModelAliasIndex, t as buildAllowedModelSet, u as resolveModelRefFromString, v as getCustomProviderApiKey, x as resolveEnvApiKey, y as requireApiKey, z as resolveAuthStorePathForDisplay } from "./model-selection-BVTyreim.js";
5
5
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DL6Pou2p.js";
6
6
  import { n as resolveCliName, t as formatCliCommand } from "./command-format-n_udBm8l.js";
7
- import { A as MediaFetchError, B as resolveTextChunkLimit, C as resolveFetch, D as markdownToIRWithMeta, E as markdownToIR, F as chunkMarkdownText, G as SILENT_REPLY_TOKEN, H as isSafeFenceBreak, I as chunkMarkdownTextWithMode, K as isSilentReplyText, L as chunkText, M as fetchWithSsrFGuard, N as resolveMarkdownTableMode, O as loadWebMedia, P as chunkByNewline, R as chunkTextWithMode, S as parseInlineDirectives$1, T as chunkMarkdownIR, U as parseFenceSpans, V as findFenceSpanAt, W as HEARTBEAT_TOKEN, _ as buildTargetResolverSignature, a as applyReplyThreading, b as parseReplyDirectives, c as shouldSuppressMessagingToolReplies, d as sendMessageSignal, f as sendReadReceiptSignal, g as streamSignalEvents, h as signalRpcRequest, i as applyReplyTagsToPayload, j as fetchRemoteMedia, k as loadWebMediaRaw, l as createReplyToModeFilterForChannel, m as signalCheck, o as filterMessagingToolDuplicates, p as sendTypingSignal, r as normalizeReplyPayloadsForDelivery, s as isRenderablePayload, t as deliverOutboundPayloads, u as resolveReplyToMode, v as normalizeChannelTargetInput, w as wrapFetchWithAbortSignal, x as splitMediaFromOutput, y as normalizeTargetForProvider, z as resolveChunkMode } from "./deliver-DVRzRmNN.js";
8
- import { $ as updateSessionStoreEntry, $t as normalizeToolName, A as isCloudCodeAssistFormatError, An as listChannelPlugins, B as parseImageSizeError, Bn as resolveSlackAppToken, Bt as buildWorkspaceSkillCommandSpecs, C as BILLING_ERROR_USER_MESSAGE, Cn as kindFromMime, Ct as resolveGroupSessionKey, D as getApiErrorPayloadFingerprint, Dn as listEnabledSignalAccounts, Dt as resolveProfile, E as formatRawAssistantErrorForUi, En as mediaKindFromMime, Et as resolveBrowserConfig, F as isLikelyContextOverflowError, Fn as listTelegramAccountIds, Ft as SsrFBlockedError, G as appendAssistantMessageToSessionTranscript, Gn as normalizeDiscordToken, Gt as applySkillEnvOverrides, H as ensureSandboxWorkspaceForSession, Hn as normalizeChatType, Ht as loadWorkspaceSkillEntries, I as isRateLimitAssistantError, In as resolveTelegramAccount, J as readSessionUpdatedAt, Jt as applyOwnerOnlyToolPolicy, Kt as applySkillEnvOverridesFromSnapshot, L as isRawApiErrorPayload, Ln as resolveTelegramToken, M as isContextOverflowError, Mn as isWhatsAppGroupJid, Mt as resizeToJpeg, N as isFailoverAssistantError, Nn as normalizeWhatsAppTarget, Nt as getMediaDir, O as isAuthAssistantError, On as resolveSignalAccount, P as isFailoverErrorMessage, Pn as listEnabledTelegramAccounts, Pt as saveMediaBuffer, Q as updateSessionStore, Qt as expandToolGroups, R as isTimeoutErrorMessage, Rn as listBindings, S as isGoogleModelApi, Sn as isGifMedia, St as resolveConversationLabel, T as formatAssistantErrorText, Tt as registerBrowserRoutes, U as resolveSandboxContext, Un as listEnabledDiscordAccounts, Ut as resolveSkillsPromptForRun, V as sanitizeUserFacingText, Vn as resolveSlackBotToken, Vt as buildWorkspaceSkillSnapshot, W as resolveSandboxRuntimeStatus, Wn as resolveDiscordAccount, Wt as resolvePluginSkillDirs, X as saveSessionStore, Xt as collectExplicitAllowlist, Y as recordSessionMetaFromInbound, Yt as buildPluginToolGroups, Z as updateLastRoute, Zt as expandPolicyWithPluginGroups, _ as sanitizeSessionMessagesImages, _n as detectMime, _t as listChannelDocks, a as formatXHighModelHint, an as sanitizeGoogleTurnOrdering, at as normalizeDeliveryContext, b as downgradeOpenAIReasoningBlocks, bn as imageMimeFromFormat, bt as resolveChannelGroupToolsPolicy, c as normalizeReasoningLevel, cn as isInternalMessageChannel, ct as evaluateSessionFreshness, d as normalizeVerboseLevel, dn as normalizeMessageChannel, dt as resolveSessionResetType, en as resolveToolProfilePolicy, et as isCacheEnabled, f as resolveResponseUsageMode, fn as resolveGatewayMessageChannel, ft as resolveThreadFlag, g as normalizeTextForComparison, gn as GATEWAY_CLIENT_NAMES, gt as getChannelDock, h as isMessagingToolDuplicateNormalized, hn as GATEWAY_CLIENT_MODES, ht as deriveSessionMetaPatch, i as formatThinkingLevels, in as resolveBootstrapMaxChars, it as mergeDeliveryContext, j as isCompactionFailureError, jn as normalizeChannelId$1, k as isBillingAssistantError, kn as getChannelPlugin, kt as getImageMetadata, l as normalizeThinkLevel, ln as isMarkdownCapableMessageChannel, lt as resolveChannelResetConfig, mn as GATEWAY_CLIENT_IDS, mt as resolveMainSessionKey, n as validateGeminiTurns, nn as buildBootstrapContextFiles, nt as deliveryContextFromSession, o as listThinkingLevels, on as INTERNAL_MESSAGE_CHANNEL, ot as normalizeSessionDeliveryFields, p as supportsXHighThinking, pn as resolveMessageChannel, pt as DEFAULT_RESET_TRIGGERS, q as loadSessionStore, qt as resolveSandboxConfigForAgent, r as pickFallbackThinkingLevel, rn as ensureSessionHeader, rt as deliveryContextKey, s as normalizeElevatedLevel, sn as isDeliverableMessageChannel, st as resolveSessionKey$1, t as validateAnthropicTurns, tn as stripPluginOnlyAllowlist, tt as resolveCacheTtlMs$1, u as normalizeUsageDisplay, un as listDeliverableMessageChannels, ut as resolveSessionResetPolicy, v as sanitizeImageBlocks, vn as extensionForMime, vt as resolveChannelGroupPolicy, w as classifyFailoverReason, wn as MAX_IMAGE_BYTES, wt as createBrowserRouteContext, x as isAntigravityClaude, xn as isAudioFileName, xt as resolveIMessageAccount, y as sanitizeToolResultImages, yn as getFileExtension, yt as resolveChannelGroupRequireMention, z as parseImageDimensionError, zn as resolveSlackAccount } from "./pi-embedded-helpers-CQ9sq3Uu.js";
9
- import { A as getWebAuthAgeMs, C as getConfigValueAtPath, D as resolveAgentMaxConcurrent, E as unsetConfigValueAtPath, M as logoutWeb, O as VERSION, P as readWebSelfId, R as webAuthExists, S as unsetConfigOverride, T as setConfigValueAtPath, _ as resolveEnableState, a as validateConfigObjectWithPlugins, b as resetConfigOverrides, c as resolveTelegramCustomCommands, d as validateJsonSchemaValue, f as loadPluginManifestRegistry, g as normalizePluginsConfig, i as writeConfigFile, j as logWebSelfId, k as resolveWhatsAppAccount, l as isSafeExecutableValue, n as readConfigFileSnapshot, o as TELEGRAM_COMMAND_NAME_PATTERN, p as discoverOpenClawPlugins, r as resolveConfigSnapshotHash, s as normalizeTelegramCommandName, t as loadConfig, u as parseDurationMs, v as resolveMemorySlotDecision, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-IwiWafT3.js";
7
+ import { A as MediaFetchError, B as resolveTextChunkLimit, C as resolveFetch, D as markdownToIRWithMeta, E as markdownToIR, F as chunkMarkdownText, G as SILENT_REPLY_TOKEN, H as isSafeFenceBreak, I as chunkMarkdownTextWithMode, K as isSilentReplyText, L as chunkText, M as fetchWithSsrFGuard, N as resolveMarkdownTableMode, O as loadWebMedia, P as chunkByNewline, R as chunkTextWithMode, S as parseInlineDirectives$1, T as chunkMarkdownIR, U as parseFenceSpans, V as findFenceSpanAt, W as HEARTBEAT_TOKEN, _ as buildTargetResolverSignature, a as applyReplyThreading, b as parseReplyDirectives, c as shouldSuppressMessagingToolReplies, d as sendMessageSignal, f as sendReadReceiptSignal, g as streamSignalEvents, h as signalRpcRequest, i as applyReplyTagsToPayload, j as fetchRemoteMedia, k as loadWebMediaRaw, l as createReplyToModeFilterForChannel, m as signalCheck, o as filterMessagingToolDuplicates, p as sendTypingSignal, r as normalizeReplyPayloadsForDelivery, s as isRenderablePayload, t as deliverOutboundPayloads, u as resolveReplyToMode, v as normalizeChannelTargetInput, w as wrapFetchWithAbortSignal, x as splitMediaFromOutput, y as normalizeTargetForProvider, z as resolveChunkMode } from "./deliver-Doq_iIoh.js";
8
+ import { $ as updateSessionStoreEntry, $t as normalizeToolName, A as isCloudCodeAssistFormatError, An as listChannelPlugins, B as parseImageSizeError, Bn as resolveSlackAppToken, Bt as buildWorkspaceSkillCommandSpecs, C as BILLING_ERROR_USER_MESSAGE, Cn as kindFromMime, Ct as resolveGroupSessionKey, D as getApiErrorPayloadFingerprint, Dn as listEnabledSignalAccounts, Dt as resolveProfile, E as formatRawAssistantErrorForUi, En as mediaKindFromMime, Et as resolveBrowserConfig, F as isLikelyContextOverflowError, Fn as listTelegramAccountIds, Ft as SsrFBlockedError, G as appendAssistantMessageToSessionTranscript, Gn as normalizeDiscordToken, Gt as applySkillEnvOverrides, H as ensureSandboxWorkspaceForSession, Hn as normalizeChatType, Ht as loadWorkspaceSkillEntries, I as isRateLimitAssistantError, In as resolveTelegramAccount, J as readSessionUpdatedAt, Jt as applyOwnerOnlyToolPolicy, Kt as applySkillEnvOverridesFromSnapshot, L as isRawApiErrorPayload, Ln as resolveTelegramToken, M as isContextOverflowError, Mn as isWhatsAppGroupJid, Mt as resizeToJpeg, N as isFailoverAssistantError, Nn as normalizeWhatsAppTarget, Nt as getMediaDir, O as isAuthAssistantError, On as resolveSignalAccount, P as isFailoverErrorMessage, Pn as listEnabledTelegramAccounts, Pt as saveMediaBuffer, Q as updateSessionStore, Qt as expandToolGroups, R as isTimeoutErrorMessage, Rn as listBindings, S as isGoogleModelApi, Sn as isGifMedia, St as resolveConversationLabel, T as formatAssistantErrorText, Tt as registerBrowserRoutes, U as resolveSandboxContext, Un as listEnabledDiscordAccounts, Ut as resolveSkillsPromptForRun, V as sanitizeUserFacingText, Vn as resolveSlackBotToken, Vt as buildWorkspaceSkillSnapshot, W as resolveSandboxRuntimeStatus, Wn as resolveDiscordAccount, Wt as resolvePluginSkillDirs, X as saveSessionStore, Xt as collectExplicitAllowlist, Y as recordSessionMetaFromInbound, Yt as buildPluginToolGroups, Z as updateLastRoute, Zt as expandPolicyWithPluginGroups, _ as sanitizeSessionMessagesImages, _n as detectMime, _t as listChannelDocks, a as formatXHighModelHint, an as sanitizeGoogleTurnOrdering, at as normalizeDeliveryContext, b as downgradeOpenAIReasoningBlocks, bn as imageMimeFromFormat, bt as resolveChannelGroupToolsPolicy, c as normalizeReasoningLevel, cn as isInternalMessageChannel, ct as evaluateSessionFreshness, d as normalizeVerboseLevel, dn as normalizeMessageChannel, dt as resolveSessionResetType, en as resolveToolProfilePolicy, et as isCacheEnabled, f as resolveResponseUsageMode, fn as resolveGatewayMessageChannel, ft as resolveThreadFlag, g as normalizeTextForComparison, gn as GATEWAY_CLIENT_NAMES, gt as getChannelDock, h as isMessagingToolDuplicateNormalized, hn as GATEWAY_CLIENT_MODES, ht as deriveSessionMetaPatch, i as formatThinkingLevels, in as resolveBootstrapMaxChars, it as mergeDeliveryContext, j as isCompactionFailureError, jn as normalizeChannelId$1, k as isBillingAssistantError, kn as getChannelPlugin, kt as getImageMetadata, l as normalizeThinkLevel, ln as isMarkdownCapableMessageChannel, lt as resolveChannelResetConfig, mn as GATEWAY_CLIENT_IDS, mt as resolveMainSessionKey, n as validateGeminiTurns, nn as buildBootstrapContextFiles, nt as deliveryContextFromSession, o as listThinkingLevels, on as INTERNAL_MESSAGE_CHANNEL, ot as normalizeSessionDeliveryFields, p as supportsXHighThinking, pn as resolveMessageChannel, pt as DEFAULT_RESET_TRIGGERS, q as loadSessionStore, qt as resolveSandboxConfigForAgent, r as pickFallbackThinkingLevel, rn as ensureSessionHeader, rt as deliveryContextKey, s as normalizeElevatedLevel, sn as isDeliverableMessageChannel, st as resolveSessionKey$1, t as validateAnthropicTurns, tn as stripPluginOnlyAllowlist, tt as resolveCacheTtlMs$1, u as normalizeUsageDisplay, un as listDeliverableMessageChannels, ut as resolveSessionResetPolicy, v as sanitizeImageBlocks, vn as extensionForMime, vt as resolveChannelGroupPolicy, w as classifyFailoverReason, wn as MAX_IMAGE_BYTES, wt as createBrowserRouteContext, x as isAntigravityClaude, xn as isAudioFileName, xt as resolveIMessageAccount, y as sanitizeToolResultImages, yn as getFileExtension, yt as resolveChannelGroupRequireMention, z as parseImageDimensionError, zn as resolveSlackAccount } from "./pi-embedded-helpers-Bmu_uE8Y.js";
9
+ import { A as getWebAuthAgeMs, C as getConfigValueAtPath, D as resolveAgentMaxConcurrent, E as unsetConfigValueAtPath, M as logoutWeb, O as VERSION, P as readWebSelfId, R as webAuthExists, S as unsetConfigOverride, T as setConfigValueAtPath, _ as resolveEnableState, a as validateConfigObjectWithPlugins, b as resetConfigOverrides, c as resolveTelegramCustomCommands, d as validateJsonSchemaValue, f as loadPluginManifestRegistry, g as normalizePluginsConfig, i as writeConfigFile, j as logWebSelfId, k as resolveWhatsAppAccount, l as isSafeExecutableValue, n as readConfigFileSnapshot, o as TELEGRAM_COMMAND_NAME_PATTERN, p as discoverOpenClawPlugins, r as resolveConfigSnapshotHash, s as normalizeTelegramCommandName, t as loadConfig, u as parseDurationMs, v as resolveMemorySlotDecision, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-fXndcfb4.js";
10
10
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-EhM2JAQo.js";
11
11
  import { C as DEFAULT_AI_SNAPSHOT_MAX_CHARS, _ as rawDataToString, b as formatUncaughtError, h as ensureChromeExtensionRelayServer, v as extractErrorCode, y as formatErrorMessage$1 } from "./chrome-SVqOMFxA.js";
12
- import { a as resolveStorePath, i as resolveSessionTranscriptsDirForAgent, n as resolveSessionFilePath, r as resolveSessionTranscriptPath } from "./paths-Dlp4VNXa.js";
12
+ import { a as resolveStorePath, i as resolveSessionTranscriptsDirForAgent, n as resolveSessionFilePath, r as resolveSessionTranscriptPath } from "./paths-B7p98Wg9.js";
13
13
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-JLH5W4He.js";
14
- import { _ as stripThinkingTagsFromText, a as decodeDataUrl, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractAssistantThinking, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, t as describeImageWithModel, u as extractThinkingFromTaggedStream, v as resolveToolDisplay, y as ensureOpenClawModelsJson } from "./image-CC_YKDB-.js";
15
- import { i as resolveMemorySearchConfig, n as resolveRetryConfig, r as retryAsync } from "./manager-DpZlm3gk.js";
14
+ import { _ as stripThinkingTagsFromText, a as decodeDataUrl, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractAssistantThinking, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, t as describeImageWithModel, u as extractThinkingFromTaggedStream, v as resolveToolDisplay, y as ensureOpenClawModelsJson } from "./image-CBqp4iA0.js";
15
+ import { i as resolveMemorySearchConfig, n as resolveRetryConfig, r as retryAsync } from "./manager-Cu-KA-wA.js";
16
16
  import { c as listMemoryFiles, l as normalizeExtraMemoryPaths } from "./sqlite-Dnmf3LS7.js";
17
17
  import { t as redactSensitiveText } from "./redact-BIMJ3ntQ.js";
18
- import { a as formatError$1, i as createWaSocket, n as startWebLoginWithQr, o as getStatusCode$1, r as waitForWebLogin, s as waitForWaConnection } from "./login-qr-BCr2GKX6.js";
18
+ import { a as formatError$1, i as createWaSocket, n as startWebLoginWithQr, o as getStatusCode$1, r as waitForWebLogin, s as waitForWaConnection } from "./login-qr-BTMkosTm.js";
19
19
  import { createRequire } from "node:module";
20
20
  import * as os$1 from "node:os";
21
21
  import os, { homedir, tmpdir } from "node:os";
@@ -3440,7 +3440,7 @@ async function getMemorySearchManager(params) {
3440
3440
  const cached = QMD_MANAGER_CACHE.get(cacheKey);
3441
3441
  if (cached) return { manager: cached };
3442
3442
  try {
3443
- const { QmdMemoryManager } = await import("./qmd-manager-B-ijyM7o.js");
3443
+ const { QmdMemoryManager } = await import("./qmd-manager-DJdGKjf-.js");
3444
3444
  const primary = await QmdMemoryManager.create({
3445
3445
  cfg: params.cfg,
3446
3446
  agentId: params.agentId,
@@ -3450,7 +3450,7 @@ async function getMemorySearchManager(params) {
3450
3450
  const wrapper = new FallbackMemoryManager({
3451
3451
  primary,
3452
3452
  fallbackFactory: async () => {
3453
- const { MemoryIndexManager } = await import("./manager-DpZlm3gk.js").then((n) => n.t);
3453
+ const { MemoryIndexManager } = await import("./manager-Cu-KA-wA.js").then((n) => n.t);
3454
3454
  return await MemoryIndexManager.get(params);
3455
3455
  }
3456
3456
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3463,7 +3463,7 @@ async function getMemorySearchManager(params) {
3463
3463
  }
3464
3464
  }
3465
3465
  try {
3466
- const { MemoryIndexManager } = await import("./manager-DpZlm3gk.js").then((n) => n.t);
3466
+ const { MemoryIndexManager } = await import("./manager-Cu-KA-wA.js").then((n) => n.t);
3467
3467
  return { manager: await MemoryIndexManager.get(params) };
3468
3468
  } catch (err) {
3469
3469
  return {
@@ -7943,7 +7943,7 @@ async function routeReply(params) {
7943
7943
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7944
7944
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7945
7945
  try {
7946
- const { deliverOutboundPayloads } = await import("./deliver-DVRzRmNN.js").then((n) => n.n);
7946
+ const { deliverOutboundPayloads } = await import("./deliver-Doq_iIoh.js").then((n) => n.n);
7947
7947
  return {
7948
7948
  ok: true,
7949
7949
  messageId: (await deliverOutboundPayloads({
@@ -13619,7 +13619,7 @@ async function createModelSelectionState(params) {
13619
13619
  }
13620
13620
  }
13621
13621
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
13622
- const { ensureAuthProfileStore } = await import("./model-selection-DuI_Ue9Q.js").then((n) => n.A);
13622
+ const { ensureAuthProfileStore } = await import("./model-selection-BVTyreim.js").then((n) => n.A);
13623
13623
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
13624
13624
  const providerKey = normalizeProviderId(provider);
13625
13625
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -19976,7 +19976,7 @@ function formatElevatedUnavailableMessage$1(params) {
19976
19976
  return lines.join("\n");
19977
19977
  }
19978
19978
  async function handleBashChatCommand(params) {
19979
- if (params.cfg.commands?.bash !== true) return { text: "⚠️ bash is disabled. Set commands.bash=true to enable. Docs: https://docs.cryptoclaw.ai/tools/slash-commands#config" };
19979
+ if (params.cfg.commands?.bash !== true) return { text: "⚠️ bash is disabled. Set commands.bash=true to enable. Docs: https://docs.openclaw.ai/tools/slash-commands#config" };
19980
19980
  const agentId = params.agentId ?? resolveSessionAgentId({
19981
19981
  sessionKey: params.sessionKey,
19982
19982
  config: params.cfg
@@ -21632,7 +21632,7 @@ function buildDocsSection(params) {
21632
21632
  return [
21633
21633
  "## Documentation",
21634
21634
  `CryptoClaw docs: ${docsPath}`,
21635
- "Mirror: https://docs.cryptoclaw.ai",
21635
+ "Mirror: https://docs.openclaw.ai",
21636
21636
  "Source: https://github.com/cryptoclaw/cryptoclaw",
21637
21637
  "Community: https://discord.com/invite/clawd",
21638
21638
  "Find new skills: https://clawhub.com",
@@ -34757,12 +34757,12 @@ function missingSearchKeyPayload(provider) {
34757
34757
  if (provider === "perplexity") return {
34758
34758
  error: "missing_perplexity_api_key",
34759
34759
  message: "web_search (perplexity) needs an API key. Set PERPLEXITY_API_KEY or OPENROUTER_API_KEY in the Gateway environment, or configure tools.web.search.perplexity.apiKey.",
34760
- docs: "https://docs.cryptoclaw.ai/tools/web"
34760
+ docs: "https://docs.openclaw.ai/tools/web"
34761
34761
  };
34762
34762
  return {
34763
34763
  error: "missing_brave_api_key",
34764
34764
  message: `web_search needs a Brave Search API key. Run \`${formatCliCommand("cryptoclaw configure --section web")}\` to store it, or set BRAVE_API_KEY in the Gateway environment.`,
34765
- docs: "https://docs.cryptoclaw.ai/tools/web"
34765
+ docs: "https://docs.openclaw.ai/tools/web"
34766
34766
  };
34767
34767
  }
34768
34768
  function resolveSearchProvider(search) {
@@ -34981,13 +34981,13 @@ function createWebSearchTool(options) {
34981
34981
  if (rawFreshness && provider !== "brave") return jsonResult({
34982
34982
  error: "unsupported_freshness",
34983
34983
  message: "freshness is only supported by the Brave web_search provider.",
34984
- docs: "https://docs.cryptoclaw.ai/tools/web"
34984
+ docs: "https://docs.openclaw.ai/tools/web"
34985
34985
  });
34986
34986
  const freshness = rawFreshness ? normalizeFreshness(rawFreshness) : void 0;
34987
34987
  if (rawFreshness && !freshness) return jsonResult({
34988
34988
  error: "invalid_freshness",
34989
34989
  message: "freshness must be one of pd, pw, pm, py, or a range like YYYY-MM-DDtoYYYY-MM-DD.",
34990
- docs: "https://docs.cryptoclaw.ai/tools/web"
34990
+ docs: "https://docs.openclaw.ai/tools/web"
34991
34991
  });
34992
34992
  return jsonResult(await runWebSearch({
34993
34993
  query,
@@ -35652,7 +35652,7 @@ function buildSystemPrompt(params) {
35652
35652
  workspaceDir: params.workspaceDir,
35653
35653
  cwd: process.cwd(),
35654
35654
  runtime: {
35655
- host: "openclaw",
35655
+ host: "cryptoclaw",
35656
35656
  os: `${os.type()} ${os.release()}`,
35657
35657
  arch: os.arch(),
35658
35658
  node: process.version,
@@ -42886,7 +42886,7 @@ async function describeStickerImage(params) {
42886
42886
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
42887
42887
  try {
42888
42888
  const buffer = await fs$1.readFile(imagePath);
42889
- const { describeImageWithModel } = await import("./image-CC_YKDB-.js").then((n) => n.n);
42889
+ const { describeImageWithModel } = await import("./image-CBqp4iA0.js").then((n) => n.n);
42890
42890
  return (await describeImageWithModel({
42891
42891
  buffer,
42892
42892
  fileName: "sticker.webp",
@@ -43243,7 +43243,7 @@ function createWhatsAppLoginTool() {
43243
43243
  force: Type.Optional(Type.Boolean())
43244
43244
  }),
43245
43245
  execute: async (_toolCallId, args) => {
43246
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BCr2GKX6.js").then((n) => n.t);
43246
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BTMkosTm.js").then((n) => n.t);
43247
43247
  if ((args?.action ?? "start") === "wait") {
43248
43248
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
43249
43249
  return {
@@ -45605,7 +45605,7 @@ async function loginWeb(verbose, waitForConnection, runtime = defaultRuntime, ac
45605
45605
 
45606
45606
  //#endregion
45607
45607
  //#region src/terminal/links.ts
45608
- const DOCS_ROOT = "https://docs.cryptoclaw.ai";
45608
+ const DOCS_ROOT = "https://docs.openclaw.ai";
45609
45609
  function formatDocsLink(path, label, opts) {
45610
45610
  const trimmed = path.trim();
45611
45611
  const url = trimmed.startsWith("http") ? trimmed : `${DOCS_ROOT}${trimmed.startsWith("/") ? trimmed : `/${trimmed}`}`;
@@ -46077,7 +46077,7 @@ async function runMemoryStatus(opts) {
46077
46077
  }
46078
46078
  }
46079
46079
  function registerMemoryCli(program) {
46080
- const memory = program.command("memory").description("Memory search tools").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/memory", "docs.cryptoclaw.ai/cli/memory")}\n`);
46080
+ const memory = program.command("memory").description("Memory search tools").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/memory", "docs.openclaw.ai/cli/memory")}\n`);
46081
46081
  memory.command("status").description("Show memory search index status").option("--agent <id>", "Agent id (default: default agent)").option("--json", "Print JSON").option("--deep", "Probe embedding provider availability").option("--index", "Reindex if dirty (implies --deep)").option("--verbose", "Verbose logging", false).action(async (opts) => {
46082
46082
  await runMemoryStatus(opts);
46083
46083
  });