@termix-it/cryptoclaw 1.0.1 → 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 (137) hide show
  1. package/CHANGELOG.md +93 -93
  2. package/assets/favicon.svg +22 -0
  3. package/dist/{acp-cli-Bsrf851G.js → acp-cli-CBFKSvET.js} +2 -2
  4. package/dist/{acp-cli-C9D24JzU.js → acp-cli-CEPAR8vh.js} +2 -2
  5. package/dist/{agent-BH-rLX4t.js → agent-8dTCwA-D.js} +2 -2
  6. package/dist/{agent-mns7e_gL.js → agent-sjalTGVA.js} +2 -2
  7. package/dist/build-info.json +3 -3
  8. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  9. package/dist/{channel-options-CUOi5M0r.js → channel-options-B951pKy8.js} +1 -1
  10. package/dist/{channel-options-B3XNSAJG.js → channel-options-DJsSCLD8.js} +1 -1
  11. package/dist/{channels-cli-BRxxmnVq.js → channels-cli-Fv9FTQXn.js} +6 -6
  12. package/dist/{channels-cli-xTlvzb2Z.js → channels-cli-Lq6EWRJ9.js} +5 -5
  13. package/dist/cli/daemon-cli.js +1 -1
  14. package/dist/{cli-B7NiNFc2.js → cli-Bzyu6rQE.js} +2 -2
  15. package/dist/{cli-6yV4qEGI.js → cli-DJnpasWd.js} +2 -2
  16. package/dist/{command-options-DeWanQ_1.js → command-options-DBpEhnW5.js} +1 -1
  17. package/dist/{completion-cli-DyiCPCwN.js → completion-cli-Bd5FrGHg.js} +25 -25
  18. package/dist/{completion-cli-BIA4Amxj.js → completion-cli-Cs-B1hk7.js} +1 -1
  19. package/dist/{config-guard-C4vrsjgm.js → config-guard-Csl9Ubn5.js} +36 -36
  20. package/dist/{configure-BupCndyG.js → configure-CeTzu0Ed.js} +14 -14
  21. package/dist/{configure-B28_m98z.js → configure-CxPJaP8X.js} +14 -14
  22. package/dist/control-ui/apple-touch-icon.png +0 -0
  23. package/dist/control-ui/assets/{index-DQ-7PWhX.js → index-BdjmXlOn.js} +372 -363
  24. package/dist/control-ui/assets/index-BdjmXlOn.js.map +1 -0
  25. package/dist/control-ui/assets/{index-nlpH70Eh.css → index-BxkHytum.css} +1 -1
  26. package/dist/control-ui/favicon-32.png +0 -0
  27. package/dist/control-ui/favicon.ico +0 -0
  28. package/dist/control-ui/favicon.svg +4 -4
  29. package/dist/control-ui/index.html +2 -2
  30. package/dist/{cron-cli-CaCwFGvb.js → cron-cli-D8gKivN0.js} +2 -2
  31. package/dist/{cron-cli-v8FMB7_N.js → cron-cli-yC5Cy77c.js} +2 -2
  32. package/dist/{daemon-cli-JZ9ONoBh.js → daemon-cli-BM8zb09s.js} +5 -5
  33. package/dist/{daemon-cli-D24Obngu.js → daemon-cli-D8AC0Q_A.js} +5 -5
  34. package/dist/{deps-DY5l__pK.js → deps-BhcPiVuz.js} +1 -1
  35. package/dist/{deps-BDQ4UyT5.js → deps-ZGqhOjkR.js} +1 -1
  36. package/dist/{directory-cli-B8IA2RSF.js → directory-cli--IOOMz66.js} +2 -2
  37. package/dist/{directory-cli-C9y2B84i.js → directory-cli-DGFlpQ4T.js} +2 -2
  38. package/dist/{dns-cli-DoO4a6op.js → dns-cli-DkhYuREi.js} +2 -2
  39. package/dist/{dns-cli-DJUkN_WU.js → dns-cli-fQ4wu1HJ.js} +2 -2
  40. package/dist/{docs-cli-CcQ9shjL.js → docs-cli-BgnDzmFT.js} +5 -5
  41. package/dist/{docs-cli-CPus_TqL.js → docs-cli-CPaJzUSD.js} +5 -5
  42. package/dist/{doctor-D3VWObNR.js → doctor-D6M3Hc0a.js} +3 -3
  43. package/dist/{doctor-ClJURW58.js → doctor-DRRL31R4.js} +3 -3
  44. package/dist/entry.js +1 -1
  45. package/dist/{exec-approvals-cli-DC9v48w9.js → exec-approvals-cli-BhEdzGao.js} +3 -3
  46. package/dist/{exec-approvals-cli-Djev4HNk.js → exec-approvals-cli-DHMroOAh.js} +3 -3
  47. package/dist/extensionAPI.js +8 -8
  48. package/dist/{gateway-cli-CHZrqsVp.js → gateway-cli-CbQ4xoXp.js} +14 -14
  49. package/dist/{gateway-cli--xOlaN5f.js → gateway-cli-DO7lIBZ5.js} +15 -15
  50. package/dist/{github-copilot-auth-CLh6feLw.js → github-copilot-auth-D6I2MUxi.js} +1 -1
  51. package/dist/{github-copilot-auth-CeBZ5KDq.js → github-copilot-auth-DvShXmvU.js} +1 -1
  52. package/dist/{health-format-QWTDdHdV.js → health-format-DlvTEKqI.js} +1 -1
  53. package/dist/{health-format-D0ylScGO.js → health-format-SZpheYuf.js} +1 -1
  54. package/dist/hooks/bundled/boot-md/HOOK.md +1 -1
  55. package/dist/hooks/bundled/command-logger/HOOK.md +1 -1
  56. package/dist/hooks/bundled/session-memory/HOOK.md +1 -1
  57. package/dist/hooks/bundled/soul-evil/HOOK.md +1 -1
  58. package/dist/{hooks-cli-IS7KFMZy.js → hooks-cli-CedlcxxR.js} +4 -4
  59. package/dist/{hooks-cli-C9066q7q.js → hooks-cli-DRarvOK2.js} +4 -4
  60. package/dist/index.js +38 -38
  61. package/dist/{links-DXtV_A64.js → links-Dv1EDiwa.js} +1 -1
  62. package/dist/{links-KcaRpMJg.js → links-kbubTyay.js} +1 -1
  63. package/dist/{loader-BNqYr2Am.js → loader-DE_vKAH5.js} +10 -10
  64. package/dist/{logs-cli-BRQOdLoD.js → logs-cli-_DHuOrR4.js} +2 -2
  65. package/dist/{logs-cli-D08L6RIX.js → logs-cli-emy-Mg4S.js} +2 -2
  66. package/dist/{models-cli-CovM2RsI.js → models-cli-CdrDfutq.js} +4 -4
  67. package/dist/{models-cli-D0bxf-ID.js → models-cli-CgIqfTHx.js} +4 -4
  68. package/dist/{node-cli-whSrpDNN.js → node-cli-Bsn9lQ6O.js} +2 -2
  69. package/dist/{node-cli-DoMmvbg-.js → node-cli-Ckvs6bcI.js} +2 -2
  70. package/dist/{nodes-cli-CeMIAaHZ.js → nodes-cli-BELOAYB6.js} +2 -2
  71. package/dist/{nodes-cli-DRmkJeRw.js → nodes-cli-CTQPoAcf.js} +2 -2
  72. package/dist/{onboard-channels-uZ5vLniX.js → onboard-channels-B5qHfMk8.js} +2 -2
  73. package/dist/{onboard-channels-xteKATz4.js → onboard-channels-BgchLTab.js} +2 -2
  74. package/dist/{onboard-skills-tUnJDYV8.js → onboard-skills-CyG0xbsu.js} +7 -7
  75. package/dist/{onboard-skills-CKpZ4Xwu.js → onboard-skills-DEnuz7z3.js} +7 -7
  76. package/dist/{onboarding-DX15S5UW.js → onboarding-B6aTF0nd.js} +18 -18
  77. package/dist/{pairing-cli-Oq8UZJRJ.js → pairing-cli-C_PnyRzK.js} +2 -2
  78. package/dist/{pairing-cli-B7Bji_j_.js → pairing-cli-CocCRLzF.js} +2 -2
  79. package/dist/plugin-sdk/index.js +1 -1
  80. package/dist/{plugins-cli-BVoSu7m7.js → plugins-cli-DB1NYN9W.js} +5 -5
  81. package/dist/{plugins-cli-ChkSbzKF.js → plugins-cli-Dn9I2nvT.js} +5 -5
  82. package/dist/{program-DpxSYPmu.js → program-CL1V1uQh.js} +18 -18
  83. package/dist/{register.subclis-DG215F73.js → register.subclis-Bf9yES9h.js} +26 -26
  84. package/dist/{reply-3TWXjNUA.js → reply-qWVVjmhR.js} +10 -10
  85. package/dist/{run-main-D43qwCZX.js → run-main-C12Z921D.js} +19 -19
  86. package/dist/{sandbox-cli-BPdnq1hk.js → sandbox-cli-DVfJ38Q2.js} +4 -4
  87. package/dist/{sandbox-cli-a3oEVi7W.js → sandbox-cli-DqrtTHAP.js} +4 -4
  88. package/dist/{security-cli-Devsjfv_.js → security-cli-2AAajc4y.js} +2 -2
  89. package/dist/{security-cli-C1XbzHNF.js → security-cli-YL2ZTkkR.js} +2 -2
  90. package/dist/{server-node-events-BVLdeCJU.js → server-node-events-uUSBf7hZ.js} +4 -4
  91. package/dist/{server-node-events-DLZj55Ir.js → server-node-events-x6ZMjAs1.js} +4 -4
  92. package/dist/{skills-cli-DnSEVLxn.js → skills-cli-CYZbvr7O.js} +2 -2
  93. package/dist/{skills-cli-g1nC-Yz9.js → skills-cli-eDUNGpwb.js} +2 -2
  94. package/dist/{status-D09U-Iku.js → status-BnbwLzB2.js} +1 -1
  95. package/dist/{status-1TQxVU1M.js → status-CN2V3fan.js} +18 -18
  96. package/dist/{status-CbMg399g.js → status-DCrBN9vJ.js} +1 -1
  97. package/dist/{system-cli-D3UizeGy.js → system-cli-BEmIixtY.js} +2 -2
  98. package/dist/{system-cli-DJ_e6msK.js → system-cli-ZxnlO0-v.js} +2 -2
  99. package/dist/{tui-cli-PKJ39Zsl.js → tui-cli-B9iCyCn2.js} +2 -2
  100. package/dist/{tui-cli-DPhl5a66.js → tui-cli-iakTIAvk.js} +2 -2
  101. package/dist/{update-cli-C5x50A17.js → update-cli-DUO4CVNB.js} +12 -12
  102. package/dist/{update-cli-DKLyK_Tu.js → update-cli-DlXzjuIc.js} +11 -11
  103. package/dist/{update-runner-DotP-T6Y.js → update-runner-L1EJYQRF.js} +2 -2
  104. package/dist/{update-runner-vOge0-Wj.js → update-runner-eJ773fp-.js} +2 -2
  105. package/dist/{webhooks-cli-DEqtDAwW.js → webhooks-cli-BLHZn_at.js} +2 -2
  106. package/dist/{webhooks-cli-ORjumqe4.js → webhooks-cli-UhujyhVU.js} +2 -2
  107. package/docs/assets/pixel-lobster.svg +3 -3
  108. package/docs/blockchain/aave.md +72 -0
  109. package/docs/blockchain/agent-identity.md +73 -0
  110. package/docs/blockchain/contracts.md +96 -0
  111. package/docs/blockchain/defi.md +61 -0
  112. package/docs/blockchain/index.md +92 -0
  113. package/docs/blockchain/market-data.md +98 -0
  114. package/docs/blockchain/nft.md +44 -0
  115. package/docs/blockchain/portfolio.md +57 -0
  116. package/docs/blockchain/security.md +83 -0
  117. package/docs/blockchain/swap.md +89 -0
  118. package/docs/blockchain/wallet.md +77 -0
  119. package/docs/concepts/features.md +29 -10
  120. package/docs/docs.json +76 -6
  121. package/docs/index.md +44 -44
  122. package/docs/start/getting-started.md +10 -9
  123. package/docs/zh-CN/blockchain/aave.md +63 -0
  124. package/docs/zh-CN/blockchain/agent-identity.md +62 -0
  125. package/docs/zh-CN/blockchain/contracts.md +64 -0
  126. package/docs/zh-CN/blockchain/defi.md +49 -0
  127. package/docs/zh-CN/blockchain/index.md +92 -0
  128. package/docs/zh-CN/blockchain/market-data.md +68 -0
  129. package/docs/zh-CN/blockchain/nft.md +43 -0
  130. package/docs/zh-CN/blockchain/portfolio.md +49 -0
  131. package/docs/zh-CN/blockchain/security.md +75 -0
  132. package/docs/zh-CN/blockchain/swap.md +68 -0
  133. package/docs/zh-CN/blockchain/wallet.md +71 -0
  134. package/extensions/voice-call/README.md +2 -2
  135. package/extensions/voice-call/src/cli.ts +1 -1
  136. package/package.json +1 -1
  137. package/dist/control-ui/assets/index-DQ-7PWhX.js.map +0 -1
@@ -14,7 +14,7 @@ import { n as createBrowserControlContext, r as startBrowserControlServiceFromCo
14
14
  import { t as ensureOpenClawCliOnPath } from "./path-env-eQ-HoQtS.js";
15
15
  import { jt as loadOrCreateDeviceIdentity, t as GatewayClient } from "./client-N6zH1neq.js";
16
16
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-CfYBy4y3.js";
17
- import { t as formatDocsLink } from "./links-KcaRpMJg.js";
17
+ import { t as formatDocsLink } from "./links-kbubTyay.js";
18
18
  import "./logging-5MtSkLpb.js";
19
19
  import { m as detectMime } from "./routes-DzL6l-Oq.js";
20
20
  import { i as getMachineDisplayName, r as createBrowserRouteDispatcher, t as isWSL } from "./wsl-DntkIGSe.js";
@@ -1424,7 +1424,7 @@ function parsePortWithFallback(value, fallback) {
1424
1424
  return parsePort(value) ?? fallback;
1425
1425
  }
1426
1426
  function registerNodeCli(program) {
1427
- const node = program.command("node").description("Run a headless node host (system.run/system.which)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/node", "docs.cryptoclaw.ai/cli/node")}\n`);
1427
+ const node = program.command("node").description("Run a headless node host (system.run/system.which)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/node", "docs.openclaw.ai/cli/node")}\n`);
1428
1428
  node.command("run").description("Run the headless node host (foreground)").option("--host <host>", "Gateway host").option("--port <port>", "Gateway port").option("--tls", "Use TLS for the gateway connection", false).option("--tls-fingerprint <sha256>", "Expected TLS certificate fingerprint (sha256)").option("--node-id <id>", "Override node id (clears pairing token)").option("--display-name <name>", "Override node display name").action(async (opts) => {
1429
1429
  const existing = await loadNodeHostConfig();
1430
1430
  await runNodeHost({
@@ -17,7 +17,7 @@ import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-
17
17
  import "./logging-kuFzZMsG.js";
18
18
  import { i as getMachineDisplayName, n as isWSL, t as createBrowserRouteDispatcher } from "./dispatcher-cp7uHiyX.js";
19
19
  import { jt as loadOrCreateDeviceIdentity, t as GatewayClient } from "./client-BaTYzXOU.js";
20
- import { t as formatDocsLink } from "./links-DXtV_A64.js";
20
+ import { t as formatDocsLink } from "./links-Dv1EDiwa.js";
21
21
  import { a as evaluateShellAllowlist, c as normalizeExecApprovals, d as requiresExecApproval, f as resolveExecApprovals, g as saveExecApprovals, h as resolveSafeBins, i as evaluateExecAllowlist, l as readExecApprovalsSnapshot, m as resolveExecApprovalsSocketPath, n as analyzeArgvCommand, r as ensureExecApprovals, t as addAllowlistEntry, u as recordAllowlistUse } from "./exec-approvals-CuXem6Li.js";
22
22
  import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-BBeopea3.js";
23
23
  import { c as formatNodeServiceDescription, g as resolveNodeWindowsTaskName, h as resolveNodeSystemdServiceName, m as resolveNodeLaunchAgentLabel } from "./constants-DBvu3LzZ.js";
@@ -1426,7 +1426,7 @@ function parsePortWithFallback(value, fallback) {
1426
1426
  return parsePort(value) ?? fallback;
1427
1427
  }
1428
1428
  function registerNodeCli(program) {
1429
- const node = program.command("node").description("Run a headless node host (system.run/system.which)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/node", "docs.cryptoclaw.ai/cli/node")}\n`);
1429
+ const node = program.command("node").description("Run a headless node host (system.run/system.which)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/node", "docs.openclaw.ai/cli/node")}\n`);
1430
1430
  node.command("run").description("Run the headless node host (foreground)").option("--host <host>", "Gateway host").option("--port <port>", "Gateway port").option("--tls", "Use TLS for the gateway connection", false).option("--tls-fingerprint <sha256>", "Expected TLS certificate fingerprint (sha256)").option("--node-id <id>", "Override node id (clears pairing token)").option("--display-name <name>", "Override node display name").action(async (opts) => {
1431
1431
  const existing = await loadNodeHostConfig();
1432
1432
  await runNodeHost({
@@ -10,7 +10,7 @@ import "./manifest-registry-CBbBh2FT.js";
10
10
  import "./client-N6zH1neq.js";
11
11
  import { i as randomIdempotencyKey } from "./call-D-Kvee3W.js";
12
12
  import "./message-channel-CfYBy4y3.js";
13
- import { t as formatDocsLink } from "./links-KcaRpMJg.js";
13
+ import { t as formatDocsLink } from "./links-kbubTyay.js";
14
14
  import "./progress-D-Oc-KAH.js";
15
15
  import { o as maxAsk, p as resolveExecApprovalsFromFile, s as minSecurity } from "./exec-approvals-P7vwSw4O.js";
16
16
  import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as buildNodeShellCommand, i as parseEnvPairs, l as parseCameraSnapPayload, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-CMvShBEB.js";
@@ -1193,7 +1193,7 @@ function registerNodesStatusCommands(nodes) {
1193
1193
  //#endregion
1194
1194
  //#region src/cli/nodes-cli/register.ts
1195
1195
  function registerNodesCli(program) {
1196
- const nodes = program.command("nodes").description("Manage gateway-owned node pairing").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/nodes", "docs.cryptoclaw.ai/cli/nodes")}\n`);
1196
+ const nodes = program.command("nodes").description("Manage gateway-owned node pairing").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/nodes", "docs.openclaw.ai/cli/nodes")}\n`);
1197
1197
  registerNodesStatusCommands(nodes);
1198
1198
  registerNodesPairingCommands(nodes);
1199
1199
  registerNodesInvokeCommands(nodes);
@@ -12,7 +12,7 @@ import "./manifest-registry-CmLtWVRR.js";
12
12
  import "./message-channel-CvHWS3C2.js";
13
13
  import "./client-BaTYzXOU.js";
14
14
  import { i as randomIdempotencyKey } from "./call-QEaFjVBF.js";
15
- import { t as formatDocsLink } from "./links-DXtV_A64.js";
15
+ import { t as formatDocsLink } from "./links-Dv1EDiwa.js";
16
16
  import { r as runCommandWithRuntime } from "./cli-utils-CgOu3WAB.js";
17
17
  import "./progress-DTEUicRP.js";
18
18
  import { o as maxAsk, p as resolveExecApprovalsFromFile, s as minSecurity } from "./exec-approvals-CuXem6Li.js";
@@ -1195,7 +1195,7 @@ function registerNodesStatusCommands(nodes) {
1195
1195
  //#endregion
1196
1196
  //#region src/cli/nodes-cli/register.ts
1197
1197
  function registerNodesCli(program) {
1198
- const nodes = program.command("nodes").description("Manage gateway-owned node pairing").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/nodes", "docs.cryptoclaw.ai/cli/nodes")}\n`);
1198
+ const nodes = program.command("nodes").description("Manage gateway-owned node pairing").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/nodes", "docs.openclaw.ai/cli/nodes")}\n`);
1199
1199
  registerNodesStatusCommands(nodes);
1200
1200
  registerNodesPairingCommands(nodes);
1201
1201
  registerNodesInvokeCommands(nodes);
@@ -2,10 +2,10 @@ import { R as formatChannelPrimerLine, V as listChatChannels, o as createSubsyst
2
2
  import { t as formatCliCommand } from "./command-format-B0bnyrEA.js";
3
3
  import { s as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-C-ig2pxJ.js";
4
4
  import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-BJucHu4R.js";
5
- import { t as formatDocsLink } from "./links-KcaRpMJg.js";
5
+ import { t as formatDocsLink } from "./links-kbubTyay.js";
6
6
  import { i as listChannelPluginCatalogEntries, n as isChannelConfigured } from "./plugin-auto-enable-CBfM3u2p.js";
7
7
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CB4Xjrgb.js";
8
- import { t as loadOpenClawPlugins } from "./loader-BNqYr2Am.js";
8
+ import { t as loadOpenClawPlugins } from "./loader-DE_vKAH5.js";
9
9
  import { t as resolveChannelDefaultAccountId } from "./helpers-OUt4hxkS.js";
10
10
  import { n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-BhPUpyE9.js";
11
11
  import path from "node:path";
@@ -1,10 +1,10 @@
1
- import { rt as loadOpenClawPlugins } from "./reply-3TWXjNUA.js";
1
+ import { rt as loadOpenClawPlugins } from "./reply-qWVVjmhR.js";
2
2
  import { s as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-CYpWeuht.js";
3
3
  import { _ as formatChannelSelectionLine, g as formatChannelPrimerLine, t as createSubsystemLogger, y as listChatChannels } from "./subsystem-Btuh5yZj.js";
4
4
  import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-GUoze5gc.js";
5
5
  import { t as formatCliCommand } from "./command-format-9IsYy-9N.js";
6
6
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CQ1FUoTO.js";
7
- import { t as formatDocsLink } from "./links-DXtV_A64.js";
7
+ import { t as formatDocsLink } from "./links-Dv1EDiwa.js";
8
8
  import { t as resolveChannelDefaultAccountId } from "./helpers-CzQjTUbz.js";
9
9
  import { i as listChannelPluginCatalogEntries, n as isChannelConfigured } from "./plugin-auto-enable-BmBAQgRq.js";
10
10
  import { n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-CWAe2dOG.js";
@@ -6,13 +6,13 @@ import { t as runCommandWithTimeout } from "./exec-CLQSz0CI.js";
6
6
  import { n as resolveOpenClawPackageRootSync, t as resolveOpenClawPackageRoot } from "./openclaw-root-DJB4AQtF.js";
7
7
  import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-BJucHu4R.js";
8
8
  import { t as resolveBrewExecutable } from "./brew-CqnNFIkD.js";
9
- import { Kt as loadModelCatalog, m as openUrl, o as detectBinary, y as resolveNodeManagerOptions } from "./loader-BNqYr2Am.js";
10
- import { a as enablePluginInConfig } from "./onboard-channels-uZ5vLniX.js";
9
+ import { Kt as loadModelCatalog, m as openUrl, o as detectBinary, y as resolveNodeManagerOptions } from "./loader-DE_vKAH5.js";
10
+ import { a as enablePluginInConfig } from "./onboard-channels-B5qHfMk8.js";
11
11
  import { t as scanDirectoryWithSummary } from "./skill-scanner-AfOudYI1.js";
12
12
  import { R as fetchWithSsrFGuard } from "./deliver-D8Yt4jkc.js";
13
13
  import { _ as resolveSkillKey, d as hasBinary, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences } from "./skills-DaDm2aTV.js";
14
14
  import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-CVZf20c2.js";
15
- import { $ as setVeniceApiKey, A as applySyntheticProviderConfig, B as OPENROUTER_DEFAULT_MODEL_REF, C as applyMoonshotConfig, D as applyOpenrouterConfig, E as applyMoonshotProviderConfigCn, F as applyXaiConfig, G as setCloudflareAiGatewayConfig, H as XIAOMI_DEFAULT_MODEL_REF, I as applyXaiProviderConfig, J as setMinimaxApiKey, K as setGeminiApiKey, L as applyXiaomiConfig, M as applyVeniceProviderConfig, N as applyVercelAiGatewayConfig, O as applyOpenrouterProviderConfig, P as applyVercelAiGatewayProviderConfig, Q as setSyntheticApiKey, R as applyXiaomiProviderConfig, S as applyKimiCodeProviderConfig, T as applyMoonshotProviderConfig, U as ZAI_DEFAULT_MODEL_REF, V as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, W as setAnthropicApiKey, X as setOpencodeZenApiKey, Y as setMoonshotApiKey, Z as setOpenrouterApiKey, _ as applyMinimaxProviderConfig, at as KIMI_CODING_MODEL_REF, b as applyCloudflareAiGatewayProviderConfig, ct as buildTokenProfileId, d as resolvePluginProviders, et as setVercelAiGatewayApiKey, f as applyOpencodeZenConfig, g as applyMinimaxConfig, h as applyMinimaxApiProviderConfig, i as formatTokenK, it as writeOAuthCredentials, j as applyVeniceConfig, k as applySyntheticConfig, l as createVpsAwareOAuthHandlers, lt as validateAnthropicSetupToken, m as applyMinimaxApiConfig, nt as setXiaomiApiKey, ot as MOONSHOT_DEFAULT_MODEL_REF, p as applyOpencodeZenProviderConfig, q as setKimiCodingApiKey, rt as setZaiApiKey, st as XAI_DEFAULT_MODEL_REF, t as githubCopilotLoginCommand, tt as setXaiApiKey, u as isRemoteEnvironment, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyZaiConfig } from "./github-copilot-auth-CLh6feLw.js";
15
+ import { $ as setVeniceApiKey, A as applySyntheticProviderConfig, B as OPENROUTER_DEFAULT_MODEL_REF, C as applyMoonshotConfig, D as applyOpenrouterConfig, E as applyMoonshotProviderConfigCn, F as applyXaiConfig, G as setCloudflareAiGatewayConfig, H as XIAOMI_DEFAULT_MODEL_REF, I as applyXaiProviderConfig, J as setMinimaxApiKey, K as setGeminiApiKey, L as applyXiaomiConfig, M as applyVeniceProviderConfig, N as applyVercelAiGatewayConfig, O as applyOpenrouterProviderConfig, P as applyVercelAiGatewayProviderConfig, Q as setSyntheticApiKey, R as applyXiaomiProviderConfig, S as applyKimiCodeProviderConfig, T as applyMoonshotProviderConfig, U as ZAI_DEFAULT_MODEL_REF, V as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, W as setAnthropicApiKey, X as setOpencodeZenApiKey, Y as setMoonshotApiKey, Z as setOpenrouterApiKey, _ as applyMinimaxProviderConfig, at as KIMI_CODING_MODEL_REF, b as applyCloudflareAiGatewayProviderConfig, ct as buildTokenProfileId, d as resolvePluginProviders, et as setVercelAiGatewayApiKey, f as applyOpencodeZenConfig, g as applyMinimaxConfig, h as applyMinimaxApiProviderConfig, i as formatTokenK, it as writeOAuthCredentials, j as applyVeniceConfig, k as applySyntheticConfig, l as createVpsAwareOAuthHandlers, lt as validateAnthropicSetupToken, m as applyMinimaxApiConfig, nt as setXiaomiApiKey, ot as MOONSHOT_DEFAULT_MODEL_REF, p as applyOpencodeZenProviderConfig, q as setKimiCodingApiKey, rt as setZaiApiKey, st as XAI_DEFAULT_MODEL_REF, t as githubCopilotLoginCommand, tt as setXaiApiKey, u as isRemoteEnvironment, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyZaiConfig } from "./github-copilot-auth-D6I2MUxi.js";
16
16
  import { t as buildWorkspaceSkillStatus } from "./skills-status-dTiH79uI.js";
17
17
  import path from "node:path";
18
18
  import fs from "node:fs";
@@ -2393,7 +2393,7 @@ async function applyAuthChoiceOpenAI(params) {
2393
2393
  } catch (err) {
2394
2394
  spin.stop("OpenAI OAuth failed");
2395
2395
  params.runtime.error(String(err));
2396
- await params.prompter.note("Trouble with OAuth? See https://docs.cryptoclaw.ai/start/faq", "OAuth help");
2396
+ await params.prompter.note("Trouble with OAuth? See https://docs.openclaw.ai/start/faq", "OAuth help");
2397
2397
  }
2398
2398
  return {
2399
2399
  config: nextConfig,
@@ -2941,7 +2941,7 @@ async function promptRemoteGatewayConfig(cfg, prompter) {
2941
2941
  message: "Discover gateway on LAN (Bonjour)?",
2942
2942
  initialValue: true
2943
2943
  }) : false;
2944
- if (!hasBonjourTool) await prompter.note(["Bonjour discovery requires dns-sd (macOS) or avahi-browse (Linux).", "Docs: https://docs.cryptoclaw.ai/gateway/discovery"].join("\n"), "Discovery");
2944
+ if (!hasBonjourTool) await prompter.note(["Bonjour discovery requires dns-sd (macOS) or avahi-browse (Linux).", "Docs: https://docs.openclaw.ai/gateway/discovery"].join("\n"), "Discovery");
2945
2945
  if (wantsDiscover) {
2946
2946
  const wideAreaDomain = resolveWideAreaDiscoveryDomain({ configDomain: cfg.discovery?.wideArea?.domain });
2947
2947
  const spin = prompter.progress("Searching for gateways…");
@@ -2985,7 +2985,7 @@ async function promptRemoteGatewayConfig(cfg, prompter) {
2985
2985
  await prompter.note([
2986
2986
  "Start a tunnel before using the CLI:",
2987
2987
  `ssh -N -L 18789:127.0.0.1:18789 <user>@${host}${selectedBeacon.sshPort ? ` -p ${selectedBeacon.sshPort}` : ""}`,
2988
- "Docs: https://docs.cryptoclaw.ai/gateway/remote"
2988
+ "Docs: https://docs.openclaw.ai/gateway/remote"
2989
2989
  ].join("\n"), "SSH tunnel");
2990
2990
  }
2991
2991
  }
@@ -3580,7 +3580,7 @@ async function setupSkills(cfg, workspaceDir, runtime, prompter) {
3580
3580
  if (result.stderr) runtime.log(result.stderr.trim());
3581
3581
  else if (result.stdout) runtime.log(result.stdout.trim());
3582
3582
  runtime.log(`Tip: run \`${formatCliCommand("cryptoclaw doctor")}\` to review skills + requirements.`);
3583
- runtime.log("Docs: https://docs.cryptoclaw.ai/skills");
3583
+ runtime.log("Docs: https://docs.openclaw.ai/skills");
3584
3584
  }
3585
3585
  }
3586
3586
  const needsKey = report.skills.filter((s) => selectedSet.has(s.name) && s.primaryEnv && s.missing.env.length > 0);
@@ -1,4 +1,4 @@
1
- import { Et as resolveNodeManagerOptions, pt as detectBinary, xr as loadModelCatalog, xt as openUrl } from "./reply-3TWXjNUA.js";
1
+ import { Et as resolveNodeManagerOptions, pt as detectBinary, xr as loadModelCatalog, xt as openUrl } from "./reply-qWVVjmhR.js";
2
2
  import { c as defaultRuntime } from "./subsystem-Btuh5yZj.js";
3
3
  import { a as ensureDir, p as resolveUserPath, t as CONFIG_DIR, u as resolveConfigDir } from "./utils-CGterW74.js";
4
4
  import { t as runCommandWithTimeout } from "./exec-CW_QjkBi.js";
@@ -9,8 +9,8 @@ import { t as formatCliCommand } from "./command-format-9IsYy-9N.js";
9
9
  import { _ as resolveSkillKey, d as hasBinary, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences } from "./skills-DryIpWLj.js";
10
10
  import { Y as fetchWithSsrFGuard } from "./deliver-CNKlQLWI.js";
11
11
  import { t as resolveBrewExecutable } from "./brew-CAcErcKz.js";
12
- import { $ as setVeniceApiKey, A as applySyntheticProviderConfig, B as OPENROUTER_DEFAULT_MODEL_REF, C as applyMoonshotConfig, D as applyOpenrouterConfig, E as applyMoonshotProviderConfigCn, F as applyXaiConfig, G as setCloudflareAiGatewayConfig, H as XIAOMI_DEFAULT_MODEL_REF, I as applyXaiProviderConfig, J as setMinimaxApiKey, K as setGeminiApiKey, L as applyXiaomiConfig, M as applyVeniceProviderConfig, N as applyVercelAiGatewayConfig, O as applyOpenrouterProviderConfig, P as applyVercelAiGatewayProviderConfig, Q as setSyntheticApiKey, R as applyXiaomiProviderConfig, S as applyKimiCodeProviderConfig, T as applyMoonshotProviderConfig, U as ZAI_DEFAULT_MODEL_REF, V as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, W as setAnthropicApiKey, X as setOpencodeZenApiKey, Y as setMoonshotApiKey, Z as setOpenrouterApiKey, _ as applyMinimaxProviderConfig, at as KIMI_CODING_MODEL_REF, b as applyCloudflareAiGatewayProviderConfig, ct as buildTokenProfileId, d as resolvePluginProviders, et as setVercelAiGatewayApiKey, f as applyOpencodeZenConfig, g as applyMinimaxConfig, h as applyMinimaxApiProviderConfig, i as formatTokenK, it as writeOAuthCredentials, j as applyVeniceConfig, k as applySyntheticConfig, l as createVpsAwareOAuthHandlers, lt as validateAnthropicSetupToken, m as applyMinimaxApiConfig, nt as setXiaomiApiKey, ot as MOONSHOT_DEFAULT_MODEL_REF, p as applyOpencodeZenProviderConfig, q as setKimiCodingApiKey, rt as setZaiApiKey, st as XAI_DEFAULT_MODEL_REF, t as githubCopilotLoginCommand, tt as setXaiApiKey, u as isRemoteEnvironment, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyZaiConfig } from "./github-copilot-auth-CeBZ5KDq.js";
13
- import { a as enablePluginInConfig } from "./onboard-channels-xteKATz4.js";
12
+ import { $ as setVeniceApiKey, A as applySyntheticProviderConfig, B as OPENROUTER_DEFAULT_MODEL_REF, C as applyMoonshotConfig, D as applyOpenrouterConfig, E as applyMoonshotProviderConfigCn, F as applyXaiConfig, G as setCloudflareAiGatewayConfig, H as XIAOMI_DEFAULT_MODEL_REF, I as applyXaiProviderConfig, J as setMinimaxApiKey, K as setGeminiApiKey, L as applyXiaomiConfig, M as applyVeniceProviderConfig, N as applyVercelAiGatewayConfig, O as applyOpenrouterProviderConfig, P as applyVercelAiGatewayProviderConfig, Q as setSyntheticApiKey, R as applyXiaomiProviderConfig, S as applyKimiCodeProviderConfig, T as applyMoonshotProviderConfig, U as ZAI_DEFAULT_MODEL_REF, V as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, W as setAnthropicApiKey, X as setOpencodeZenApiKey, Y as setMoonshotApiKey, Z as setOpenrouterApiKey, _ as applyMinimaxProviderConfig, at as KIMI_CODING_MODEL_REF, b as applyCloudflareAiGatewayProviderConfig, ct as buildTokenProfileId, d as resolvePluginProviders, et as setVercelAiGatewayApiKey, f as applyOpencodeZenConfig, g as applyMinimaxConfig, h as applyMinimaxApiProviderConfig, i as formatTokenK, it as writeOAuthCredentials, j as applyVeniceConfig, k as applySyntheticConfig, l as createVpsAwareOAuthHandlers, lt as validateAnthropicSetupToken, m as applyMinimaxApiConfig, nt as setXiaomiApiKey, ot as MOONSHOT_DEFAULT_MODEL_REF, p as applyOpencodeZenProviderConfig, q as setKimiCodingApiKey, rt as setZaiApiKey, st as XAI_DEFAULT_MODEL_REF, t as githubCopilotLoginCommand, tt as setXaiApiKey, u as isRemoteEnvironment, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyZaiConfig } from "./github-copilot-auth-DvShXmvU.js";
13
+ import { a as enablePluginInConfig } from "./onboard-channels-BgchLTab.js";
14
14
  import { t as scanDirectoryWithSummary } from "./skill-scanner-BoGjHXUZ.js";
15
15
  import { t as buildWorkspaceSkillStatus } from "./skills-status-D9G4-4sK.js";
16
16
  import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-BKbb6W_z.js";
@@ -1860,7 +1860,7 @@ async function applyAuthChoiceOpenAI(params) {
1860
1860
  } catch (err) {
1861
1861
  spin.stop("OpenAI OAuth failed");
1862
1862
  params.runtime.error(String(err));
1863
- await params.prompter.note("Trouble with OAuth? See https://docs.cryptoclaw.ai/start/faq", "OAuth help");
1863
+ await params.prompter.note("Trouble with OAuth? See https://docs.openclaw.ai/start/faq", "OAuth help");
1864
1864
  }
1865
1865
  return {
1866
1866
  config: nextConfig,
@@ -2941,7 +2941,7 @@ async function promptRemoteGatewayConfig(cfg, prompter) {
2941
2941
  message: "Discover gateway on LAN (Bonjour)?",
2942
2942
  initialValue: true
2943
2943
  }) : false;
2944
- if (!hasBonjourTool) await prompter.note(["Bonjour discovery requires dns-sd (macOS) or avahi-browse (Linux).", "Docs: https://docs.cryptoclaw.ai/gateway/discovery"].join("\n"), "Discovery");
2944
+ if (!hasBonjourTool) await prompter.note(["Bonjour discovery requires dns-sd (macOS) or avahi-browse (Linux).", "Docs: https://docs.openclaw.ai/gateway/discovery"].join("\n"), "Discovery");
2945
2945
  if (wantsDiscover) {
2946
2946
  const wideAreaDomain = resolveWideAreaDiscoveryDomain({ configDomain: cfg.discovery?.wideArea?.domain });
2947
2947
  const spin = prompter.progress("Searching for gateways…");
@@ -2985,7 +2985,7 @@ async function promptRemoteGatewayConfig(cfg, prompter) {
2985
2985
  await prompter.note([
2986
2986
  "Start a tunnel before using the CLI:",
2987
2987
  `ssh -N -L 18789:127.0.0.1:18789 <user>@${host}${selectedBeacon.sshPort ? ` -p ${selectedBeacon.sshPort}` : ""}`,
2988
- "Docs: https://docs.cryptoclaw.ai/gateway/remote"
2988
+ "Docs: https://docs.openclaw.ai/gateway/remote"
2989
2989
  ].join("\n"), "SSH tunnel");
2990
2990
  }
2991
2991
  }
@@ -3580,7 +3580,7 @@ async function setupSkills(cfg, workspaceDir, runtime, prompter) {
3580
3580
  if (result.stderr) runtime.log(result.stderr.trim());
3581
3581
  else if (result.stdout) runtime.log(result.stdout.trim());
3582
3582
  runtime.log(`Tip: run \`${formatCliCommand("cryptoclaw doctor")}\` to review skills + requirements.`);
3583
- runtime.log("Docs: https://docs.cryptoclaw.ai/skills");
3583
+ runtime.log("Docs: https://docs.openclaw.ai/skills");
3584
3584
  }
3585
3585
  }
3586
3586
  const needsKey = report.skills.filter((s) => selectedSet.has(s.name) && s.primaryEnv && s.missing.env.length > 0);
@@ -1,4 +1,4 @@
1
- import { Ct as probeGatewayReachable, Dt as summarizeExistingConfig, G as readRestartSentinel, K as summarizeRestartSentinel, Nn as getMemorySearchManager, Nt as getRemoteSkillEligibility, Ot as waitForGatewayReachable, St as printWizardHeader, Tt as resolveControlUiLinks, at as formatUsageReportLines, br as peekSystemEvents, bt as normalizeGatewayTokenInput, dt as DEFAULT_WORKSPACE, ft as applyWizardMetadata, gt as formatControlUiSshHint, ht as ensureWorkspaceAndSessions, it as loadProviderUsageSummary, jt as normalizeControlUiBasePath, mt as detectBrowserOpenSupport, p as listAgentsForGateway, pr as lookupContextTokens, vt as handleReset, wt as randomToken, xt as openUrl } from "./reply-3TWXjNUA.js";
1
+ import { Ct as probeGatewayReachable, Dt as summarizeExistingConfig, G as readRestartSentinel, K as summarizeRestartSentinel, Nn as getMemorySearchManager, Nt as getRemoteSkillEligibility, Ot as waitForGatewayReachable, St as printWizardHeader, Tt as resolveControlUiLinks, at as formatUsageReportLines, br as peekSystemEvents, bt as normalizeGatewayTokenInput, dt as DEFAULT_WORKSPACE, ft as applyWizardMetadata, gt as formatControlUiSshHint, ht as ensureWorkspaceAndSessions, it as loadProviderUsageSummary, jt as normalizeControlUiBasePath, mt as detectBrowserOpenSupport, p as listAgentsForGateway, pr as lookupContextTokens, vt as handleReset, wt as randomToken, xt as openUrl } from "./reply-qWVVjmhR.js";
2
2
  import { d as resolveGatewayPort, n as DEFAULT_GATEWAY_PORT } from "./paths-CGrNQEMk.js";
3
3
  import { _ as parseAgentSessionKey, c as normalizeAgentId } from "./session-key-CYpWeuht.js";
4
4
  import { D as info, L as isRich, R as theme, c as defaultRuntime, l as restoreTerminalState } from "./subsystem-Btuh5yZj.js";
@@ -21,10 +21,10 @@ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWA
21
21
  import { t as resolveChannelDefaultAccountId } from "./helpers-CzQjTUbz.js";
22
22
  import { n as logConfigUpdated } from "./logging-C3Y3mzWS.js";
23
23
  import { t as WizardCancelledError } from "./prompts-FbZThK8w.js";
24
- import { c as promptDefaultModel, h as applyAuthChoice, m as warnIfModelConfigLooksOff, p as resolvePreferredProviderForAuthChoice, r as promptRemoteGatewayConfig, s as applyPrimaryModel, t as setupSkills, u as ensureControlUiAssetsBuilt, y as promptAuthChoiceGrouped } from "./onboard-skills-CKpZ4Xwu.js";
25
- import { n as setupChannels } from "./onboard-channels-xteKATz4.js";
26
- import { a as resolveHeartbeatSummaryForAgent, i as healthCommand, n as formatHealthChannelLines, t as formatHealthCheckFailure } from "./health-format-D0ylScGO.js";
27
- import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, d as formatUpdateOneLiner, f as getUpdateCheckResult, h as compareSemverStrings, l as ensureCompletionCacheExists, m as checkUpdateStatus, p as resolveUpdateAvailability, s as checkShellCompletionStatus, u as formatUpdateAvailableHint, x as formatUpdateChannelLabel } from "./update-runner-DotP-T6Y.js";
24
+ import { c as promptDefaultModel, h as applyAuthChoice, m as warnIfModelConfigLooksOff, p as resolvePreferredProviderForAuthChoice, r as promptRemoteGatewayConfig, s as applyPrimaryModel, t as setupSkills, u as ensureControlUiAssetsBuilt, y as promptAuthChoiceGrouped } from "./onboard-skills-DEnuz7z3.js";
25
+ import { n as setupChannels } from "./onboard-channels-BgchLTab.js";
26
+ import { a as resolveHeartbeatSummaryForAgent, i as healthCommand, n as formatHealthChannelLines, t as formatHealthCheckFailure } from "./health-format-SZpheYuf.js";
27
+ import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, d as formatUpdateOneLiner, f as getUpdateCheckResult, h as compareSemverStrings, l as ensureCompletionCacheExists, m as checkUpdateStatus, p as resolveUpdateAvailability, s as checkShellCompletionStatus, u as formatUpdateAvailableHint, x as formatUpdateChannelLabel } from "./update-runner-L1EJYQRF.js";
28
28
  import { i as probeGateway, t as runSecurityAudit } from "./audit-BMzW1G5a.js";
29
29
  import { t as renderTable } from "./table-C1Xupkjv.js";
30
30
  import { t as buildWorkspaceSkillStatus } from "./skills-status-D9G4-4sK.js";
@@ -34,7 +34,7 @@ import { o as readLastGatewayErrorLine } from "./service-audit-BsDPEKdd.js";
34
34
  import { t as resolveNodeService } from "./node-service-DTgDFo7M.js";
35
35
  import { t as collectChannelStatusIssues } from "./channels-status-issues-BwOdQrU9.js";
36
36
  import { i as redactSecrets, n as formatDuration$1, r as formatGatewayAuthUsed, t as formatAge$1 } from "./format-B7OjpGnt.js";
37
- import { r as installCompletion } from "./completion-cli-DyiCPCwN.js";
37
+ import { r as installCompletion } from "./completion-cli-Bd5FrGHg.js";
38
38
  import { t as buildWorkspaceHookStatus } from "./hooks-status-n8jKv3Fm.js";
39
39
  import { t as runTui } from "./tui-3eD-E_iD.js";
40
40
  import os from "node:os";
@@ -980,7 +980,7 @@ async function appendStatusAllDiagnosis(params) {
980
980
  }
981
981
  lines.push("");
982
982
  lines.push(muted("Pasteable debug report. Auth tokens redacted."));
983
- lines.push("Troubleshooting: https://docs.cryptoclaw.ai/troubleshooting");
983
+ lines.push("Troubleshooting: https://docs.openclaw.ai/troubleshooting");
984
984
  lines.push("");
985
985
  }
986
986
 
@@ -2423,8 +2423,8 @@ async function statusCommand(opts, runtime) {
2423
2423
  for (const line of formatUsageReportLines(usage)) runtime.log(line);
2424
2424
  }
2425
2425
  runtime.log("");
2426
- runtime.log("FAQ: https://docs.cryptoclaw.ai/faq");
2427
- runtime.log("Troubleshooting: https://docs.cryptoclaw.ai/troubleshooting");
2426
+ runtime.log("FAQ: https://docs.openclaw.ai/faq");
2427
+ runtime.log("Troubleshooting: https://docs.openclaw.ai/troubleshooting");
2428
2428
  runtime.log("");
2429
2429
  const updateHint = formatUpdateAvailableHint(update);
2430
2430
  if (updateHint) {
@@ -2445,7 +2445,7 @@ async function setupInternalHooks(cfg, runtime, prompter) {
2445
2445
  "Hooks let you automate actions when agent commands are issued.",
2446
2446
  "Example: Save session context to memory when you issue /new.",
2447
2447
  "",
2448
- "Learn more: https://docs.cryptoclaw.ai/hooks"
2448
+ "Learn more: https://docs.openclaw.ai/hooks"
2449
2449
  ].join("\n"), "Hooks");
2450
2450
  const eligibleHooks = buildWorkspaceHookStatus(resolveAgentWorkspaceDir(cfg, resolveDefaultAgentId(cfg)), { config: cfg }).hooks.filter((h) => h.eligible);
2451
2451
  if (eligibleHooks.length === 0) {
@@ -2774,8 +2774,8 @@ async function finalizeOnboardingWizard(options) {
2774
2774
  runtime.error(formatHealthCheckFailure(err));
2775
2775
  await prompter.note([
2776
2776
  "Docs:",
2777
- "https://docs.cryptoclaw.ai/gateway/health",
2778
- "https://docs.cryptoclaw.ai/gateway/troubleshooting"
2777
+ "https://docs.openclaw.ai/gateway/health",
2778
+ "https://docs.openclaw.ai/gateway/troubleshooting"
2779
2779
  ].join("\n"), "Health check help");
2780
2780
  }
2781
2781
  }
@@ -2805,7 +2805,7 @@ async function finalizeOnboardingWizard(options) {
2805
2805
  `Web UI: ${dashboardUrl}`,
2806
2806
  `Gateway WS: ${links.wsUrl}`,
2807
2807
  gatewayStatusLine,
2808
- "Docs: https://docs.cryptoclaw.ai/web/control-ui"
2808
+ "Docs: https://docs.openclaw.ai/web/control-ui"
2809
2809
  ].filter(Boolean).join("\n"), "Control UI");
2810
2810
  let controlUiOpened = false;
2811
2811
  let controlUiOpenHint;
@@ -2867,7 +2867,7 @@ async function finalizeOnboardingWizard(options) {
2867
2867
  ].filter(Boolean).join("\n"), "Dashboard ready");
2868
2868
  } else await prompter.note(`When you're ready: ${formatCliCommand("cryptoclaw dashboard --no-open")}`, "Later");
2869
2869
  } else if (opts.skipUi) await prompter.note("Skipping Control UI/TUI prompts.", "Control UI");
2870
- await prompter.note("Running agents on your computer is risky — harden your setup: https://docs.cryptoclaw.ai/security", "Security");
2870
+ await prompter.note("Running agents on your computer is risky — harden your setup: https://docs.openclaw.ai/security", "Security");
2871
2871
  const cliName = resolveCliName();
2872
2872
  const completionStatus = await checkShellCompletionStatus(cliName);
2873
2873
  if (completionStatus.usesSlowPattern) {
@@ -3009,8 +3009,8 @@ async function configureGatewayForOnboarding(opts) {
3009
3009
  if (tailscaleMode !== "off" && flow !== "quickstart") {
3010
3010
  await prompter.note([
3011
3011
  "Docs:",
3012
- "https://docs.cryptoclaw.ai/gateway/tailscale",
3013
- "https://docs.cryptoclaw.ai/web"
3012
+ "https://docs.openclaw.ai/gateway/tailscale",
3013
+ "https://docs.openclaw.ai/web"
3014
3014
  ].join("\n"), "Tailscale");
3015
3015
  tailscaleResetOnExit = Boolean(await prompter.confirm({
3016
3016
  message: "Reset Tailscale serve/funnel on exit?",
@@ -3113,7 +3113,7 @@ async function requireRiskAcknowledgement(params) {
3113
3113
  "cryptoclaw security audit --deep",
3114
3114
  "cryptoclaw security audit --fix",
3115
3115
  "",
3116
- "Must read: https://docs.cryptoclaw.ai/gateway/security"
3116
+ "Must read: https://docs.openclaw.ai/gateway/security"
3117
3117
  ].join("\n"), "Security");
3118
3118
  if (!await params.prompter.confirm({
3119
3119
  message: "I understand this is powerful and inherently risky. Continue?",
@@ -3134,7 +3134,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
3134
3134
  if (snapshot.issues.length > 0) await prompter.note([
3135
3135
  ...snapshot.issues.map((iss) => `- ${iss.path}: ${iss.message}`),
3136
3136
  "",
3137
- "Docs: https://docs.cryptoclaw.ai/gateway/configuration"
3137
+ "Docs: https://docs.openclaw.ai/gateway/configuration"
3138
3138
  ].join("\n"), "Config issues");
3139
3139
  await prompter.outro(`Config invalid. Run \`${formatCliCommand("cryptoclaw doctor")}\` to repair it, then re-run onboarding.`);
3140
3140
  runtime.exit(1);
@@ -8,7 +8,7 @@ import "./agent-scope-BJucHu4R.js";
8
8
  import "./github-copilot-token-C1sArkX4.js";
9
9
  import { i as loadConfig } from "./config-DBZqAqbe.js";
10
10
  import "./manifest-registry-CBbBh2FT.js";
11
- import { t as formatDocsLink } from "./links-KcaRpMJg.js";
11
+ import { t as formatDocsLink } from "./links-kbubTyay.js";
12
12
  import { r as normalizeChannelId } from "./plugins-CB4Xjrgb.js";
13
13
  import "./logging-5MtSkLpb.js";
14
14
  import "./accounts-BIh6Lgjl.js";
@@ -43,7 +43,7 @@ async function notifyApproved(channel, id) {
43
43
  }
44
44
  function registerPairingCli(program) {
45
45
  const channels = listPairingChannels();
46
- const pairing = program.command("pairing").description("Secure DM pairing (approve inbound requests)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/pairing", "docs.cryptoclaw.ai/cli/pairing")}\n`);
46
+ const pairing = program.command("pairing").description("Secure DM pairing (approve inbound requests)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/pairing", "docs.openclaw.ai/cli/pairing")}\n`);
47
47
  pairing.command("list").description("List pending pairing requests").option("--channel <channel>", `Channel (${channels.join(", ")})`).argument("[channel]", `Channel (${channels.join(", ")})`).option("--json", "Print JSON", false).action(async (channelArg, opts) => {
48
48
  const channelRaw = opts.channel ?? channelArg;
49
49
  if (!channelRaw) throw new Error(`Channel required. Use --channel <channel> or pass it as the first argument (expected one of: ${channels.join(", ")})`);
@@ -14,7 +14,7 @@ import { r as normalizeChannelId } from "./plugins-CQ1FUoTO.js";
14
14
  import "./logging-kuFzZMsG.js";
15
15
  import "./accounts-DA-4bmd_.js";
16
16
  import { c as listPairingChannels, l as notifyPairingApproved, n as approveChannelPairingCode, r as listChannelPairingRequests, s as getPairingAdapter } from "./pairing-store-Dbotpoz6.js";
17
- import { t as formatDocsLink } from "./links-DXtV_A64.js";
17
+ import { t as formatDocsLink } from "./links-Dv1EDiwa.js";
18
18
  import { t as renderTable } from "./table-C1Xupkjv.js";
19
19
 
20
20
  //#region src/pairing/pairing-labels.ts
@@ -45,7 +45,7 @@ async function notifyApproved(channel, id) {
45
45
  }
46
46
  function registerPairingCli(program) {
47
47
  const channels = listPairingChannels();
48
- const pairing = program.command("pairing").description("Secure DM pairing (approve inbound requests)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/pairing", "docs.cryptoclaw.ai/cli/pairing")}\n`);
48
+ const pairing = program.command("pairing").description("Secure DM pairing (approve inbound requests)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/pairing", "docs.openclaw.ai/cli/pairing")}\n`);
49
49
  pairing.command("list").description("List pending pairing requests").option("--channel <channel>", `Channel (${channels.join(", ")})`).argument("[channel]", `Channel (${channels.join(", ")})`).option("--json", "Print JSON", false).action(async (channelArg, opts) => {
50
50
  const channelRaw = opts.channel ?? channelArg;
51
51
  if (!channelRaw) throw new Error(`Channel required. Use --channel <channel> or pass it as the first argument (expected one of: ${channels.join(", ")})`);
@@ -12163,7 +12163,7 @@ function jsonResult(payload) {
12163
12163
 
12164
12164
  //#endregion
12165
12165
  //#region src/terminal/links.ts
12166
- const DOCS_ROOT = "https://docs.cryptoclaw.ai";
12166
+ const DOCS_ROOT = "https://docs.openclaw.ai";
12167
12167
  function formatDocsLink(path, label, opts) {
12168
12168
  const trimmed = path.trim();
12169
12169
  const url = trimmed.startsWith("http") ? trimmed : `${DOCS_ROOT}${trimmed.startsWith("/") ? trimmed : `/${trimmed}`}`;
@@ -14,11 +14,11 @@ import "./control-service-CWGGzqpN.js";
14
14
  import "./client-N6zH1neq.js";
15
15
  import "./call-D-Kvee3W.js";
16
16
  import "./message-channel-CfYBy4y3.js";
17
- import { t as formatDocsLink } from "./links-KcaRpMJg.js";
17
+ import { t as formatDocsLink } from "./links-kbubTyay.js";
18
18
  import "./plugins-CB4Xjrgb.js";
19
19
  import "./logging-5MtSkLpb.js";
20
20
  import "./accounts-BIh6Lgjl.js";
21
- import "./loader-BNqYr2Am.js";
21
+ import "./loader-DE_vKAH5.js";
22
22
  import "./progress-D-Oc-KAH.js";
23
23
  import "./prompt-style-BntC_Eoo.js";
24
24
  import { i as resolveArchiveKind } from "./archive-iT9wNsml.js";
@@ -43,7 +43,7 @@ import "./commands-B0LiAJsa.js";
43
43
  import "./pairing-store-cC0TwSYc.js";
44
44
  import "./login-qr-C_Vv7Cqc.js";
45
45
  import { t as renderTable } from "./table--L48nql9.js";
46
- import { t as buildPluginStatusReport } from "./status-D09U-Iku.js";
46
+ import { t as buildPluginStatusReport } from "./status-BnbwLzB2.js";
47
47
  import { n as updateNpmInstalledPlugins } from "./update-lGuOUiyd.js";
48
48
  import path from "node:path";
49
49
  import fs from "node:fs";
@@ -88,7 +88,7 @@ function logSlotWarnings(warnings) {
88
88
  for (const warning of warnings) defaultRuntime.log(theme.warn(warning));
89
89
  }
90
90
  function registerPluginsCli(program) {
91
- const plugins = program.command("plugins").description("Manage OpenClaw plugins/extensions").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/plugins", "docs.cryptoclaw.ai/cli/plugins")}\n`);
91
+ const plugins = program.command("plugins").description("Manage OpenClaw plugins/extensions").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/plugins", "docs.openclaw.ai/cli/plugins")}\n`);
92
92
  plugins.command("list").description("List discovered plugins").option("--json", "Print JSON").option("--enabled", "Only show enabled plugins", false).option("--verbose", "Show detailed entries", false).action((opts) => {
93
93
  const report = buildPluginStatusReport();
94
94
  const list = opts.enabled ? report.plugins.filter((p) => p.status === "loaded") : report.plugins;
@@ -430,7 +430,7 @@ function registerPluginsCli(program) {
430
430
  lines.push(`- ${target}${diag.message}`);
431
431
  }
432
432
  }
433
- const docs = formatDocsLink("/plugin", "docs.cryptoclaw.ai/plugin");
433
+ const docs = formatDocsLink("/plugin", "docs.openclaw.ai/plugin");
434
434
  lines.push("");
435
435
  lines.push(`${theme.muted("Docs:")} ${docs}`);
436
436
  defaultRuntime.log(lines.join("\n"));
@@ -1,5 +1,5 @@
1
1
  import "./pi-embedded-helpers-CT7w1pYd.js";
2
- import "./reply-3TWXjNUA.js";
2
+ import "./reply-qWVVjmhR.js";
3
3
  import "./paths-CGrNQEMk.js";
4
4
  import { R as theme, c as defaultRuntime } from "./subsystem-Btuh5yZj.js";
5
5
  import { h as shortenHomePath, m as shortenHomeInString, p as resolveUserPath } from "./utils-CGterW74.js";
@@ -34,7 +34,7 @@ import "./client-BaTYzXOU.js";
34
34
  import "./call-QEaFjVBF.js";
35
35
  import "./login-qr-BpdHxT8l.js";
36
36
  import "./pairing-store-Dbotpoz6.js";
37
- import { t as formatDocsLink } from "./links-DXtV_A64.js";
37
+ import { t as formatDocsLink } from "./links-Dv1EDiwa.js";
38
38
  import "./progress-DTEUicRP.js";
39
39
  import "./pi-tools.policy-BjgXXFkH.js";
40
40
  import "./prompt-style-BBlJlXtd.js";
@@ -45,7 +45,7 @@ import { i as resolveArchiveKind } from "./archive-Dy3Ezb-5.js";
45
45
  import "./skill-scanner-BoGjHXUZ.js";
46
46
  import { n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-CWAe2dOG.js";
47
47
  import { t as renderTable } from "./table-C1Xupkjv.js";
48
- import { t as buildPluginStatusReport } from "./status-CbMg399g.js";
48
+ import { t as buildPluginStatusReport } from "./status-DCrBN9vJ.js";
49
49
  import { n as updateNpmInstalledPlugins } from "./update-zm4_acQX.js";
50
50
  import path from "node:path";
51
51
  import fs from "node:fs";
@@ -90,7 +90,7 @@ function logSlotWarnings(warnings) {
90
90
  for (const warning of warnings) defaultRuntime.log(theme.warn(warning));
91
91
  }
92
92
  function registerPluginsCli(program) {
93
- const plugins = program.command("plugins").description("Manage OpenClaw plugins/extensions").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/plugins", "docs.cryptoclaw.ai/cli/plugins")}\n`);
93
+ const plugins = program.command("plugins").description("Manage OpenClaw plugins/extensions").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/plugins", "docs.openclaw.ai/cli/plugins")}\n`);
94
94
  plugins.command("list").description("List discovered plugins").option("--json", "Print JSON").option("--enabled", "Only show enabled plugins", false).option("--verbose", "Show detailed entries", false).action((opts) => {
95
95
  const report = buildPluginStatusReport();
96
96
  const list = opts.enabled ? report.plugins.filter((p) => p.status === "loaded") : report.plugins;
@@ -432,7 +432,7 @@ function registerPluginsCli(program) {
432
432
  lines.push(`- ${target}${diag.message}`);
433
433
  }
434
434
  }
435
- const docs = formatDocsLink("/plugin", "docs.cryptoclaw.ai/plugin");
435
+ const docs = formatDocsLink("/plugin", "docs.openclaw.ai/plugin");
436
436
  lines.push("");
437
437
  lines.push(`${theme.muted("Docs:")} ${docs}`);
438
438
  defaultRuntime.log(lines.join("\n"));
@@ -17,17 +17,17 @@ import "./auth-phxCaFNX.js";
17
17
  import "./client-N6zH1neq.js";
18
18
  import "./call-D-Kvee3W.js";
19
19
  import "./message-channel-CfYBy4y3.js";
20
- import { t as formatDocsLink } from "./links-KcaRpMJg.js";
20
+ import { t as formatDocsLink } from "./links-kbubTyay.js";
21
21
  import "./plugin-auto-enable-CBfM3u2p.js";
22
22
  import "./plugins-CB4Xjrgb.js";
23
23
  import "./logging-5MtSkLpb.js";
24
24
  import "./accounts-BIh6Lgjl.js";
25
- import "./loader-BNqYr2Am.js";
25
+ import "./loader-DE_vKAH5.js";
26
26
  import "./progress-D-Oc-KAH.js";
27
27
  import "./prompt-style-BntC_Eoo.js";
28
28
  import "./note-C5M2AQOP.js";
29
29
  import "./clack-prompter-k_egRADS.js";
30
- import "./onboard-channels-uZ5vLniX.js";
30
+ import "./onboard-channels-B5qHfMk8.js";
31
31
  import "./archive-iT9wNsml.js";
32
32
  import "./skill-scanner-AfOudYI1.js";
33
33
  import "./installs-BhPUpyE9.js";
@@ -50,12 +50,12 @@ import "./commands-B0LiAJsa.js";
50
50
  import "./pairing-store-cC0TwSYc.js";
51
51
  import "./login-qr-C_Vv7Cqc.js";
52
52
  import "./channels-status-issues-DouPXVa3.js";
53
- import { n as ensurePluginRegistryLoaded } from "./command-options-DeWanQ_1.js";
54
- import { n as resolveCliChannelOptions } from "./channel-options-B3XNSAJG.js";
55
- import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-DG215F73.js";
56
- import "./completion-cli-BIA4Amxj.js";
53
+ import { n as ensurePluginRegistryLoaded } from "./command-options-DBpEhnW5.js";
54
+ import { n as resolveCliChannelOptions } from "./channel-options-DJsSCLD8.js";
55
+ import { a as getCommandPath, d as hasHelpOrVersion, l as getVerboseFlag } from "./register.subclis-Bf9yES9h.js";
56
+ import "./completion-cli-Cs-B1hk7.js";
57
57
  import "./gateway-rpc-0hjEbkzc.js";
58
- import "./deps-BDQ4UyT5.js";
58
+ import "./deps-ZGqhOjkR.js";
59
59
  import "./daemon-runtime-BMAJ_2LE.js";
60
60
  import "./service-C0ccl5rU.js";
61
61
  import "./systemd-kY3NnWdi.js";
@@ -63,24 +63,24 @@ import "./service-audit-CCg0o0UZ.js";
63
63
  import "./table--L48nql9.js";
64
64
  import "./widearea-dns-CVZf20c2.js";
65
65
  import "./audit-DQsCrYXQ.js";
66
- import "./onboard-skills-tUnJDYV8.js";
67
- import "./health-format-QWTDdHdV.js";
68
- import "./update-runner-vOge0-Wj.js";
69
- import "./github-copilot-auth-CLh6feLw.js";
66
+ import "./onboard-skills-CyG0xbsu.js";
67
+ import "./health-format-DlvTEKqI.js";
68
+ import "./update-runner-eJ773fp-.js";
69
+ import "./github-copilot-auth-D6I2MUxi.js";
70
70
  import "./logging-B65tlzu3.js";
71
71
  import "./hooks-status-B4cP-W7z.js";
72
- import "./status-1TQxVU1M.js";
72
+ import "./status-CN2V3fan.js";
73
73
  import "./skills-status-dTiH79uI.js";
74
74
  import "./tui-BGSteZzU.js";
75
- import "./agent-mns7e_gL.js";
75
+ import "./agent-sjalTGVA.js";
76
76
  import "./node-service-JEBcPQat.js";
77
77
  import { t as forceFreePort } from "./ports-CcCvup-Y.js";
78
78
  import "./auth-health-Dc-ImENT.js";
79
- import { i as hasEmittedCliBanner, n as emitCliBanner, o as registerProgramCommands, r as formatCliBannerLine, t as ensureConfigReady } from "./config-guard-C4vrsjgm.js";
79
+ import { i as hasEmittedCliBanner, n as emitCliBanner, o as registerProgramCommands, r as formatCliBannerLine, t as ensureConfigReady } from "./config-guard-Csl9Ubn5.js";
80
80
  import "./help-format-CUnac_bT.js";
81
- import "./configure-BupCndyG.js";
81
+ import "./configure-CeTzu0Ed.js";
82
82
  import "./systemd-linger-CFK5jDdq.js";
83
- import "./doctor-D3VWObNR.js";
83
+ import "./doctor-D6M3Hc0a.js";
84
84
  import { Command } from "commander";
85
85
 
86
86
  //#region src/cli/program/context.ts
@@ -136,7 +136,7 @@ function configureProgramHelp(program, ctx) {
136
136
  const fmtExamples = EXAMPLES.map(([cmd, desc]) => ` ${theme.command(replaceCliName(cmd, CLI_NAME))}\n ${theme.muted(desc)}`).join("\n");
137
137
  program.addHelpText("afterAll", ({ command }) => {
138
138
  if (command !== program) return "";
139
- const docs = formatDocsLink("/cli", "docs.cryptoclaw.ai/cli");
139
+ const docs = formatDocsLink("/cli", "docs.openclaw.ai/cli");
140
140
  return `\n${theme.heading("Examples:")}\n${fmtExamples}\n\n${theme.muted("Docs:")} ${docs}\n`;
141
141
  });
142
142
  }