@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,24 +1,24 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { d as resolveGatewayPort, t as CONFIG_PATH } from "./paths-D2ytuv-2.js";
3
3
  import { p as defaultRuntime } from "./entry.js";
4
- import { _ as ensureAuthProfileStore } from "./auth-profiles-DoD7YxsD.js";
4
+ import { _ as ensureAuthProfileStore } from "./auth-profiles-CVShF1K6.js";
5
5
  import { t as formatCliCommand } from "./command-format-B0bnyrEA.js";
6
- import { g as shortenHomePath, m as resolveUserPath } from "./utils-7IMqr8vR.js";
7
- import { c as writeConfigFile, i as loadConfig, o as readConfigFileSnapshot } from "./config-DSpb2aMV.js";
6
+ import { f as resolveUserPath, m as shortenHomePath } from "./utils-DV2rghi_.js";
7
+ import { c as writeConfigFile, i as loadConfig, o as readConfigFileSnapshot } from "./config-DBZqAqbe.js";
8
8
  import { a as findTailscaleBinary } from "./tailscale-CCLcQalf.js";
9
- import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-BI-p2ba9.js";
10
- import { _ as randomToken, a as applyWizardMetadata, b as summarizeExistingConfig, c as ensureWorkspaceAndSessions, g as probeGatewayReachable, h as printWizardHeader, i as DEFAULT_WORKSPACE, p as normalizeGatewayTokenInput, u as guardCancel, v as resolveControlUiLinks, x as waitForGatewayReachable } from "./loader-CU4bkeKe.js";
9
+ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CB4Xjrgb.js";
10
+ import { _ as randomToken, a as applyWizardMetadata, b as summarizeExistingConfig, c as ensureWorkspaceAndSessions, g as probeGatewayReachable, h as printWizardHeader, i as DEFAULT_WORKSPACE, p as normalizeGatewayTokenInput, u as guardCancel, v as resolveControlUiLinks, x as waitForGatewayReachable } from "./loader-DE_vKAH5.js";
11
11
  import { n as withProgress } from "./progress-D-Oc-KAH.js";
12
12
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-BntC_Eoo.js";
13
13
  import { t as note$1 } from "./note-C5M2AQOP.js";
14
14
  import { t as WizardCancelledError } from "./prompts-C2D9_VZC.js";
15
15
  import { t as createClackPrompter } from "./clack-prompter-k_egRADS.js";
16
- import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-DJz2TusQ.js";
17
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-CHWbAfKs.js";
16
+ import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-B5qHfMk8.js";
17
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BMAJ_2LE.js";
18
18
  import { t as resolveGatewayService } from "./service-C0ccl5rU.js";
19
- import { a as applyModelFallbacksFromSelection, c as promptModelAllowlist, d as applyAuthChoice, g as ensureControlUiAssetsBuilt, h as promptAuthChoiceGrouped, i as applyModelAllowlist, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills } from "./onboard-skills-ByHkU9nx.js";
20
- import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-BcsR5dtU.js";
21
- import { n as logConfigUpdated } from "./logging-BJRQDTME.js";
19
+ import { a as applyModelFallbacksFromSelection, c as promptModelAllowlist, d as applyAuthChoice, g as ensureControlUiAssetsBuilt, h as promptAuthChoiceGrouped, i as applyModelAllowlist, l as resolvePreferredProviderForAuthChoice, o as applyPrimaryModel, r as promptRemoteGatewayConfig, s as promptDefaultModel, t as setupSkills } from "./onboard-skills-CyG0xbsu.js";
20
+ import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-DlvTEKqI.js";
21
+ import { n as logConfigUpdated } from "./logging-B65tlzu3.js";
22
22
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-CFK5jDdq.js";
23
23
  import { confirm, intro, outro, select, text } from "@clack/prompts";
24
24
 
@@ -408,8 +408,8 @@ async function promptGatewayConfig(cfg, runtime) {
408
408
  if (tailscaleMode !== "off") {
409
409
  note$1([
410
410
  "Docs:",
411
- "https://docs.cryptoclaw.ai/gateway/tailscale",
412
- "https://docs.cryptoclaw.ai/web"
411
+ "https://docs.openclaw.ai/gateway/tailscale",
412
+ "https://docs.openclaw.ai/web"
413
413
  ].join("\n"), "Tailscale");
414
414
  tailscaleResetOnExit = Boolean(guardCancel(await confirm$1({
415
415
  message: "Reset Tailscale serve/funnel on exit?",
@@ -502,7 +502,7 @@ async function promptWebToolsConfig(nextConfig, runtime) {
502
502
  note$1([
503
503
  "Web search lets your agent look things up online using the `web_search` tool.",
504
504
  "It requires a Brave Search API key (you can store it in the config or set BRAVE_API_KEY in the Gateway environment).",
505
- "Docs: https://docs.cryptoclaw.ai/tools/web"
505
+ "Docs: https://docs.openclaw.ai/tools/web"
506
506
  ].join("\n"), "Web search");
507
507
  const enableSearch = guardCancel(await confirm$1({
508
508
  message: "Enable web_search (Brave Search)?",
@@ -525,7 +525,7 @@ async function promptWebToolsConfig(nextConfig, runtime) {
525
525
  else if (!hasSearchKey) note$1([
526
526
  "No key stored yet, so web_search will stay unavailable.",
527
527
  "Store a key here or set BRAVE_API_KEY in the Gateway environment.",
528
- "Docs: https://docs.cryptoclaw.ai/tools/web"
528
+ "Docs: https://docs.openclaw.ai/tools/web"
529
529
  ].join("\n"), "Web search");
530
530
  }
531
531
  const enableFetch = guardCancel(await confirm$1({
@@ -561,7 +561,7 @@ async function runConfigureWizard(opts, runtime = defaultRuntime) {
561
561
  if (!snapshot.valid && snapshot.issues.length > 0) note$1([
562
562
  ...snapshot.issues.map((iss) => `- ${iss.path}: ${iss.message}`),
563
563
  "",
564
- "Docs: https://docs.cryptoclaw.ai/gateway/configuration"
564
+ "Docs: https://docs.openclaw.ai/gateway/configuration"
565
565
  ].join("\n"), "Config issues");
566
566
  if (!snapshot.valid) {
567
567
  outro$1(`Config invalid. Run \`${formatCliCommand("cryptoclaw doctor")}\` to repair it, then re-run configure.`);
@@ -714,8 +714,8 @@ async function runConfigureWizard(opts, runtime = defaultRuntime) {
714
714
  runtime.error(formatHealthCheckFailure(err));
715
715
  note$1([
716
716
  "Docs:",
717
- "https://docs.cryptoclaw.ai/gateway/health",
718
- "https://docs.cryptoclaw.ai/gateway/troubleshooting"
717
+ "https://docs.openclaw.ai/gateway/health",
718
+ "https://docs.openclaw.ai/gateway/troubleshooting"
719
719
  ].join("\n"), "Health check help");
720
720
  }
721
721
  }
@@ -818,8 +818,8 @@ async function runConfigureWizard(opts, runtime = defaultRuntime) {
818
818
  runtime.error(formatHealthCheckFailure(err));
819
819
  note$1([
820
820
  "Docs:",
821
- "https://docs.cryptoclaw.ai/gateway/health",
822
- "https://docs.cryptoclaw.ai/gateway/troubleshooting"
821
+ "https://docs.openclaw.ai/gateway/health",
822
+ "https://docs.openclaw.ai/gateway/troubleshooting"
823
823
  ].join("\n"), "Health check help");
824
824
  }
825
825
  }
@@ -860,7 +860,7 @@ async function runConfigureWizard(opts, runtime = defaultRuntime) {
860
860
  `Web UI: ${links.httpUrl}`,
861
861
  `Gateway WS: ${links.wsUrl}`,
862
862
  gatewayStatusLine,
863
- "Docs: https://docs.cryptoclaw.ai/web/control-ui"
863
+ "Docs: https://docs.openclaw.ai/web/control-ui"
864
864
  ].join("\n"), "Control UI");
865
865
  outro$1("Configure complete.");
866
866
  } catch (err) {
@@ -1,23 +1,23 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Ct as probeGatewayReachable, Dt as summarizeExistingConfig, Ot as waitForGatewayReachable, St as printWizardHeader, Tt as resolveControlUiLinks, _t as guardCancel, bt as normalizeGatewayTokenInput, dt as DEFAULT_WORKSPACE, ft as applyWizardMetadata, ht as ensureWorkspaceAndSessions, wt as randomToken } from "./reply-DfepuqG0.js";
2
+ import { Ct as probeGatewayReachable, Dt as summarizeExistingConfig, Ot as waitForGatewayReachable, St as printWizardHeader, Tt as resolveControlUiLinks, _t as guardCancel, bt as normalizeGatewayTokenInput, dt as DEFAULT_WORKSPACE, ft as applyWizardMetadata, ht as ensureWorkspaceAndSessions, wt as randomToken } from "./reply-qWVVjmhR.js";
3
3
  import { d as resolveGatewayPort, t as CONFIG_PATH } from "./paths-CGrNQEMk.js";
4
4
  import { c as defaultRuntime } from "./subsystem-Btuh5yZj.js";
5
- import { _ as shortenHomePath, h as resolveUserPath } from "./utils-D7jskKIf.js";
6
- import { lt as ensureAuthProfileStore } from "./model-selection-Av0fLq51.js";
5
+ import { h as shortenHomePath, p as resolveUserPath } from "./utils-CGterW74.js";
6
+ import { lt as ensureAuthProfileStore } from "./model-selection-DmO3rB3w.js";
7
7
  import { t as formatCliCommand } from "./command-format-9IsYy-9N.js";
8
- import { c as writeConfigFile, i as loadConfig, o as readConfigFileSnapshot } from "./config-dQK4rbfx.js";
9
- import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-Dk4UBZwz.js";
8
+ import { c as writeConfigFile, i as loadConfig, o as readConfigFileSnapshot } from "./config-D1wc31Qf.js";
9
+ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CQ1FUoTO.js";
10
10
  import { n as withProgress } from "./progress-DTEUicRP.js";
11
11
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-BBlJlXtd.js";
12
12
  import { a as findTailscaleBinary } from "./tailscale-BY0igR48.js";
13
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DEjUQVjL.js";
14
- import { n as logConfigUpdated } from "./logging-CD55MXc7.js";
13
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-CD5XPuxz.js";
14
+ import { n as logConfigUpdated } from "./logging-C3Y3mzWS.js";
15
15
  import { t as note$1 } from "./note-DEz9ZK7G.js";
16
16
  import { t as WizardCancelledError } from "./prompts-FbZThK8w.js";
17
17
  import { t as createClackPrompter } from "./clack-prompter-nSmn5cZ2.js";
18
- import { a as applyModelAllowlist, c as promptDefaultModel, h as applyAuthChoice, l as promptModelAllowlist, o as applyModelFallbacksFromSelection, p as resolvePreferredProviderForAuthChoice, r as promptRemoteGatewayConfig, s as applyPrimaryModel, t as setupSkills, u as ensureControlUiAssetsBuilt, y as promptAuthChoiceGrouped } from "./onboard-skills-Wknr7pxR.js";
19
- import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-B75LjjVZ.js";
20
- import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-Pl8qK65t.js";
18
+ import { a as applyModelAllowlist, c as promptDefaultModel, h as applyAuthChoice, l as promptModelAllowlist, o as applyModelFallbacksFromSelection, p as resolvePreferredProviderForAuthChoice, r as promptRemoteGatewayConfig, s as applyPrimaryModel, t as setupSkills, u as ensureControlUiAssetsBuilt, y as promptAuthChoiceGrouped } from "./onboard-skills-DEnuz7z3.js";
19
+ import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-BgchLTab.js";
20
+ import { i as healthCommand, t as formatHealthCheckFailure } from "./health-format-SZpheYuf.js";
21
21
  import { t as resolveGatewayService } from "./service-mrQPgOXl.js";
22
22
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-CxBBzOjC.js";
23
23
  import { confirm, intro, outro, select, text } from "@clack/prompts";
@@ -408,8 +408,8 @@ async function promptGatewayConfig(cfg, runtime) {
408
408
  if (tailscaleMode !== "off") {
409
409
  note$1([
410
410
  "Docs:",
411
- "https://docs.cryptoclaw.ai/gateway/tailscale",
412
- "https://docs.cryptoclaw.ai/web"
411
+ "https://docs.openclaw.ai/gateway/tailscale",
412
+ "https://docs.openclaw.ai/web"
413
413
  ].join("\n"), "Tailscale");
414
414
  tailscaleResetOnExit = Boolean(guardCancel(await confirm$1({
415
415
  message: "Reset Tailscale serve/funnel on exit?",
@@ -502,7 +502,7 @@ async function promptWebToolsConfig(nextConfig, runtime) {
502
502
  note$1([
503
503
  "Web search lets your agent look things up online using the `web_search` tool.",
504
504
  "It requires a Brave Search API key (you can store it in the config or set BRAVE_API_KEY in the Gateway environment).",
505
- "Docs: https://docs.cryptoclaw.ai/tools/web"
505
+ "Docs: https://docs.openclaw.ai/tools/web"
506
506
  ].join("\n"), "Web search");
507
507
  const enableSearch = guardCancel(await confirm$1({
508
508
  message: "Enable web_search (Brave Search)?",
@@ -525,7 +525,7 @@ async function promptWebToolsConfig(nextConfig, runtime) {
525
525
  else if (!hasSearchKey) note$1([
526
526
  "No key stored yet, so web_search will stay unavailable.",
527
527
  "Store a key here or set BRAVE_API_KEY in the Gateway environment.",
528
- "Docs: https://docs.cryptoclaw.ai/tools/web"
528
+ "Docs: https://docs.openclaw.ai/tools/web"
529
529
  ].join("\n"), "Web search");
530
530
  }
531
531
  const enableFetch = guardCancel(await confirm$1({
@@ -561,7 +561,7 @@ async function runConfigureWizard(opts, runtime = defaultRuntime) {
561
561
  if (!snapshot.valid && snapshot.issues.length > 0) note$1([
562
562
  ...snapshot.issues.map((iss) => `- ${iss.path}: ${iss.message}`),
563
563
  "",
564
- "Docs: https://docs.cryptoclaw.ai/gateway/configuration"
564
+ "Docs: https://docs.openclaw.ai/gateway/configuration"
565
565
  ].join("\n"), "Config issues");
566
566
  if (!snapshot.valid) {
567
567
  outro$1(`Config invalid. Run \`${formatCliCommand("cryptoclaw doctor")}\` to repair it, then re-run configure.`);
@@ -714,8 +714,8 @@ async function runConfigureWizard(opts, runtime = defaultRuntime) {
714
714
  runtime.error(formatHealthCheckFailure(err));
715
715
  note$1([
716
716
  "Docs:",
717
- "https://docs.cryptoclaw.ai/gateway/health",
718
- "https://docs.cryptoclaw.ai/gateway/troubleshooting"
717
+ "https://docs.openclaw.ai/gateway/health",
718
+ "https://docs.openclaw.ai/gateway/troubleshooting"
719
719
  ].join("\n"), "Health check help");
720
720
  }
721
721
  }
@@ -818,8 +818,8 @@ async function runConfigureWizard(opts, runtime = defaultRuntime) {
818
818
  runtime.error(formatHealthCheckFailure(err));
819
819
  note$1([
820
820
  "Docs:",
821
- "https://docs.cryptoclaw.ai/gateway/health",
822
- "https://docs.cryptoclaw.ai/gateway/troubleshooting"
821
+ "https://docs.openclaw.ai/gateway/health",
822
+ "https://docs.openclaw.ai/gateway/troubleshooting"
823
823
  ].join("\n"), "Health check help");
824
824
  }
825
825
  }
@@ -860,7 +860,7 @@ async function runConfigureWizard(opts, runtime = defaultRuntime) {
860
860
  `Web UI: ${links.httpUrl}`,
861
861
  `Gateway WS: ${links.wsUrl}`,
862
862
  gatewayStatusLine,
863
- "Docs: https://docs.cryptoclaw.ai/web/control-ui"
863
+ "Docs: https://docs.openclaw.ai/web/control-ui"
864
864
  ].join("\n"), "Control UI");
865
865
  outro$1("Configure complete.");
866
866
  } catch (err) {
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-Btuh5yZj.js";
3
- import { i as loadConfig } from "./config-dQK4rbfx.js";
4
- import { S as ensureChromeExtensionRelayServer } from "./chrome-CwbWzmh4.js";
5
- import { a as resolveProfile, i as resolveBrowserConfig, t as createBrowserRouteContext } from "./server-context-C53lhEx_.js";
3
+ import { i as loadConfig } from "./config-D1wc31Qf.js";
4
+ import { S as ensureChromeExtensionRelayServer } from "./chrome-D0L5ufqO.js";
5
+ import { a as resolveProfile, i as resolveBrowserConfig, t as createBrowserRouteContext } from "./server-context-9SLnBBRW.js";
6
6
 
7
7
  //#region src/browser/control-service.ts
8
8
  var control_service_exports = /* @__PURE__ */ __exportAll({
@@ -53,7 +53,7 @@ async function stopBrowserControlService() {
53
53
  }
54
54
  state = null;
55
55
  try {
56
- await (await import("./pw-ai-D2jD_dho.js")).closePlaywrightBrowserConnection();
56
+ await (await import("./pw-ai-DUv3Smif.js")).closePlaywrightBrowserConnection();
57
57
  } catch {}
58
58
  }
59
59
 
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { o as createSubsystemLogger } from "./entry.js";
3
- import { i as loadConfig } from "./config-DSpb2aMV.js";
4
- import { a as resolveBrowserConfig, o as resolveProfile, t as createBrowserRouteContext } from "./server-context-B9ez46MY.js";
5
- import { S as ensureChromeExtensionRelayServer } from "./errors--S5IAxQx.js";
3
+ import { i as loadConfig } from "./config-DBZqAqbe.js";
4
+ import { a as resolveBrowserConfig, o as resolveProfile, t as createBrowserRouteContext } from "./server-context-BG54Dk0A.js";
5
+ import { S as ensureChromeExtensionRelayServer } from "./errors-DpH6VpWK.js";
6
6
 
7
7
  //#region src/browser/control-service.ts
8
8
  var control_service_exports = /* @__PURE__ */ __exportAll({
@@ -53,7 +53,7 @@ async function stopBrowserControlService() {
53
53
  }
54
54
  state = null;
55
55
  try {
56
- await (await import("./pw-ai-D6JUaD41.js")).closePlaywrightBrowserConnection();
56
+ await (await import("./pw-ai-CQDH40p5.js")).closePlaywrightBrowserConnection();
57
57
  } catch {}
58
58
  }
59
59