@gguf/pigbot 0.0.5 → 0.0.7

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 (1094) hide show
  1. package/CHANGELOG.md +1208 -10
  2. package/LICENSE +2 -2
  3. package/README.md +347 -37
  4. package/assets/chrome-extension/README.md +5 -5
  5. package/assets/chrome-extension/background.js +5 -5
  6. package/assets/chrome-extension/manifest.json +3 -3
  7. package/assets/chrome-extension/options.html +5 -5
  8. package/assets/chrome-extension/options.js +1 -1
  9. package/dist/acp/client.js +5 -5
  10. package/dist/acp/server.js +3 -3
  11. package/dist/acp/types.js +2 -2
  12. package/dist/agents/agent-paths.js +6 -6
  13. package/dist/agents/agent-scope.js +1 -1
  14. package/dist/agents/anthropic-payload-log.js +2 -2
  15. package/dist/agents/auth-profiles/doctor.js +1 -1
  16. package/dist/agents/auth-profiles/paths.js +3 -3
  17. package/dist/agents/bash-tools.exec.js +1 -1
  18. package/dist/agents/bash-tools.shared.js +2 -2
  19. package/dist/agents/cache-trace.js +5 -5
  20. package/dist/agents/channel-tools.js +31 -2
  21. package/dist/agents/cli-runner/helpers.js +3 -3
  22. package/dist/agents/cli-runner.js +3 -3
  23. package/dist/agents/context.js +4 -4
  24. package/dist/agents/docs-path.js +3 -3
  25. package/dist/agents/identity.js +1 -1
  26. package/dist/agents/live-auth-keys.js +2 -2
  27. package/dist/agents/memory-search.js +5 -0
  28. package/dist/agents/minimax-vlm.js +1 -1
  29. package/dist/agents/model-auth.js +2 -1
  30. package/dist/agents/model-catalog.js +4 -4
  31. package/dist/agents/model-selection.js +1 -1
  32. package/dist/agents/models-config.js +3 -3
  33. package/dist/agents/models-config.providers.js +40 -8
  34. package/dist/agents/{moltbot-tools.js → openclaw-tools.js} +1 -1
  35. package/dist/agents/pi-embedded-helpers/errors.js +20 -0
  36. package/dist/agents/pi-embedded-helpers/openai.js +1 -1
  37. package/dist/agents/pi-embedded-helpers.js +1 -1
  38. package/dist/agents/pi-embedded-runner/cache-ttl.js +1 -1
  39. package/dist/agents/pi-embedded-runner/compact.js +8 -8
  40. package/dist/agents/pi-embedded-runner/model.js +2 -2
  41. package/dist/agents/pi-embedded-runner/run/attempt.js +6 -6
  42. package/dist/agents/pi-embedded-runner/run.js +31 -5
  43. package/dist/agents/pi-embedded-runner/session-manager-cache.js +1 -1
  44. package/dist/agents/pi-embedded-runner/utils.js +1 -1
  45. package/dist/agents/pi-embedded-subscribe.raw-stream.js +2 -2
  46. package/dist/agents/pi-tools.js +5 -5
  47. package/dist/agents/pi-tools.read.js +2 -2
  48. package/dist/agents/sandbox/browser.js +16 -11
  49. package/dist/agents/sandbox/constants.js +7 -7
  50. package/dist/agents/sandbox/docker.js +17 -14
  51. package/dist/agents/sandbox/runtime-status.js +1 -1
  52. package/dist/agents/session-transcript-repair.js +1 -1
  53. package/dist/agents/session-write-lock.js +2 -2
  54. package/dist/agents/skills/bundled-dir.js +1 -1
  55. package/dist/agents/skills/config.js +2 -1
  56. package/dist/agents/skills/frontmatter.js +11 -3
  57. package/dist/agents/skills/workspace.js +6 -6
  58. package/dist/agents/synthetic-models.js +8 -0
  59. package/dist/agents/system-prompt.js +21 -21
  60. package/dist/agents/tool-images.js +1 -1
  61. package/dist/agents/tool-policy.js +2 -2
  62. package/dist/agents/tools/browser-tool.js +5 -5
  63. package/dist/agents/tools/image-tool.js +2 -2
  64. package/dist/agents/tools/memory-tool.js +1 -1
  65. package/dist/agents/tools/sessions-send-tool.js +2 -2
  66. package/dist/agents/tools/web-search.js +7 -7
  67. package/dist/agents/transcript-policy.js +2 -1
  68. package/dist/agents/workspace.js +3 -3
  69. package/dist/auto-reply/commands-registry.data.js +1 -1
  70. package/dist/auto-reply/reply/agent-runner-execution.js +1 -1
  71. package/dist/auto-reply/reply/bash-command.js +2 -2
  72. package/dist/auto-reply/reply/commands-context-report.js +2 -2
  73. package/dist/auto-reply/reply/commands-session.js +4 -4
  74. package/dist/auto-reply/reply/directive-handling.shared.js +1 -1
  75. package/dist/auto-reply/reply/dispatch-from-config.js +21 -0
  76. package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
  77. package/dist/auto-reply/reply/get-reply.js +1 -1
  78. package/dist/auto-reply/reply/groups.js +1 -1
  79. package/dist/auto-reply/reply/mentions.js +3 -2
  80. package/dist/auto-reply/reply/normalize-reply.js +12 -4
  81. package/dist/auto-reply/reply/reply-dispatcher.js +8 -1
  82. package/dist/auto-reply/reply/reply-elevated.js +1 -1
  83. package/dist/auto-reply/reply/stage-sandbox-media.js +1 -1
  84. package/dist/auto-reply/status.js +2 -2
  85. package/dist/browser/chrome.js +13 -13
  86. package/dist/browser/chrome.profile-decoration.js +5 -5
  87. package/dist/browser/client-fetch.js +3 -3
  88. package/dist/browser/config.js +11 -11
  89. package/dist/browser/constants.js +3 -3
  90. package/dist/browser/control-service.js +1 -1
  91. package/dist/browser/extension-relay.js +3 -3
  92. package/dist/browser/profiles-service.js +2 -2
  93. package/dist/browser/profiles.js +1 -1
  94. package/dist/browser/pw-tools-core.downloads.js +1 -1
  95. package/dist/browser/pw-tools-core.interactions.js +5 -5
  96. package/dist/browser/pw-tools-core.responses.js +1 -1
  97. package/dist/browser/routes/agent.act.js +2 -2
  98. package/dist/browser/routes/agent.debug.js +1 -1
  99. package/dist/browser/server-context.js +9 -9
  100. package/dist/browser/server.js +2 -2
  101. package/dist/build-info.json +2 -2
  102. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  103. package/dist/canvas-host/a2ui/a2ui.bundle.js +24 -19
  104. package/dist/canvas-host/a2ui/index.html +28 -28
  105. package/dist/canvas-host/a2ui.js +14 -18
  106. package/dist/canvas-host/server.js +33 -35
  107. package/dist/channels/plugins/catalog.js +7 -7
  108. package/dist/channels/plugins/helpers.js +2 -2
  109. package/dist/channels/plugins/onboarding/imessage.js +1 -1
  110. package/dist/channels/plugins/onboarding/signal.js +2 -2
  111. package/dist/channels/plugins/onboarding/slack.js +5 -5
  112. package/dist/channels/plugins/onboarding/telegram.js +3 -3
  113. package/dist/channels/plugins/onboarding/whatsapp.js +4 -4
  114. package/dist/channels/plugins/pairing-message.js +1 -1
  115. package/dist/channels/plugins/status-issues/bluebubbles.js +1 -1
  116. package/dist/channels/plugins/status-issues/whatsapp.js +2 -2
  117. package/dist/channels/registry.js +1 -1
  118. package/dist/cli/acp-cli.js +2 -2
  119. package/dist/cli/argv.js +2 -2
  120. package/dist/cli/banner.js +10 -11
  121. package/dist/cli/browser-cli-actions-input/register.files-downloads.js +1 -1
  122. package/dist/cli/browser-cli-examples.js +29 -29
  123. package/dist/cli/browser-cli-extension.js +5 -5
  124. package/dist/cli/browser-cli-manage.js +4 -4
  125. package/dist/cli/browser-cli.js +3 -3
  126. package/dist/cli/channel-options.js +1 -1
  127. package/dist/cli/channels-cli.js +1 -1
  128. package/dist/cli/cli-name.js +4 -8
  129. package/dist/cli/command-format.js +3 -3
  130. package/dist/cli/config-cli.js +2 -2
  131. package/dist/cli/cron-cli/register.js +1 -1
  132. package/dist/cli/daemon-cli/install.js +2 -2
  133. package/dist/cli/daemon-cli/register.js +1 -1
  134. package/dist/cli/daemon-cli/shared.js +11 -13
  135. package/dist/cli/daemon-cli/status.gather.js +2 -5
  136. package/dist/cli/daemon-cli/status.print.js +9 -17
  137. package/dist/cli/directory-cli.js +1 -1
  138. package/dist/cli/dns-cli.js +20 -13
  139. package/dist/cli/docs-cli.js +2 -2
  140. package/dist/cli/exec-approvals-cli.js +2 -2
  141. package/dist/cli/gateway-cli/dev.js +7 -5
  142. package/dist/cli/gateway-cli/register.js +12 -6
  143. package/dist/cli/gateway-cli/run.js +15 -14
  144. package/dist/cli/gateway-cli/shared.js +5 -5
  145. package/dist/cli/hooks-cli.js +3 -3
  146. package/dist/cli/logs-cli.js +3 -3
  147. package/dist/cli/memory-cli.js +36 -5
  148. package/dist/cli/models-cli.js +1 -1
  149. package/dist/cli/node-cli/daemon.js +3 -3
  150. package/dist/cli/node-cli/register.js +1 -1
  151. package/dist/cli/nodes-cli/register.canvas.js +1 -1
  152. package/dist/cli/nodes-cli/register.js +1 -1
  153. package/dist/cli/nodes-screen.js +1 -1
  154. package/dist/cli/pairing-cli.js +3 -3
  155. package/dist/cli/plugin-registry.js +2 -2
  156. package/dist/cli/plugins-cli.js +3 -3
  157. package/dist/cli/profile.js +9 -9
  158. package/dist/cli/program/config-guard.js +1 -1
  159. package/dist/cli/program/help.js +14 -11
  160. package/dist/cli/program/preaction.js +1 -1
  161. package/dist/cli/program/register.agent.js +15 -12
  162. package/dist/cli/program/register.configure.js +1 -1
  163. package/dist/cli/program/register.maintenance.js +4 -4
  164. package/dist/cli/program/register.message.js +5 -5
  165. package/dist/cli/program/register.onboard.js +5 -3
  166. package/dist/cli/program/register.setup.js +3 -3
  167. package/dist/cli/program/register.status-health-sessions.js +13 -13
  168. package/dist/cli/program/register.subclis.js +7 -2
  169. package/dist/cli/route.js +1 -1
  170. package/dist/cli/run-main.js +3 -3
  171. package/dist/cli/sandbox-cli.js +19 -19
  172. package/dist/cli/security-cli.js +4 -4
  173. package/dist/cli/skills-cli.js +3 -3
  174. package/dist/cli/system-cli.js +1 -1
  175. package/dist/cli/tagline.js +11 -9
  176. package/dist/cli/tui-cli.js +1 -1
  177. package/dist/cli/update-cli.js +48 -45
  178. package/dist/cli/webhooks-cli.js +6 -6
  179. package/dist/commands/agent-via-gateway.js +1 -1
  180. package/dist/commands/agent.js +1 -1
  181. package/dist/commands/agents.command-shared.js +1 -1
  182. package/dist/commands/agents.commands.add.js +2 -2
  183. package/dist/commands/agents.commands.list.js +1 -1
  184. package/dist/commands/auth-choice-options.js +10 -0
  185. package/dist/commands/auth-choice.apply.api-providers.js +49 -1
  186. package/dist/commands/auth-choice.apply.openai.js +1 -1
  187. package/dist/commands/auth-choice.apply.plugin-provider.js +2 -2
  188. package/dist/commands/auth-choice.preferred-provider.js +1 -0
  189. package/dist/commands/channels/shared.js +1 -1
  190. package/dist/commands/channels/status.js +1 -1
  191. package/dist/commands/chutes-oauth.js +1 -1
  192. package/dist/commands/configure.channels.js +2 -2
  193. package/dist/commands/configure.gateway.js +1 -1
  194. package/dist/commands/configure.wizard.js +21 -21
  195. package/dist/commands/daemon-install-helpers.js +2 -2
  196. package/dist/commands/dashboard.js +2 -2
  197. package/dist/commands/docs.js +5 -5
  198. package/dist/commands/doctor-auth.js +5 -5
  199. package/dist/commands/doctor-config-flow.js +64 -7
  200. package/dist/commands/doctor-format.js +5 -5
  201. package/dist/commands/doctor-gateway-daemon-flow.js +7 -4
  202. package/dist/commands/doctor-gateway-services.js +72 -65
  203. package/dist/commands/doctor-platform-notes.js +51 -9
  204. package/dist/commands/doctor-sandbox.js +4 -4
  205. package/dist/commands/doctor-security.js +7 -7
  206. package/dist/commands/doctor-state-integrity.js +9 -7
  207. package/dist/commands/doctor-state-migrations.js +1 -1
  208. package/dist/commands/doctor-ui.js +2 -2
  209. package/dist/commands/doctor-update.js +5 -5
  210. package/dist/commands/doctor-workspace-status.js +2 -2
  211. package/dist/commands/doctor-workspace.js +5 -27
  212. package/dist/commands/doctor.js +11 -11
  213. package/dist/commands/gateway-status/helpers.js +2 -2
  214. package/dist/commands/gateway-status.js +9 -3
  215. package/dist/commands/health.js +2 -2
  216. package/dist/commands/models/auth.js +1 -1
  217. package/dist/commands/models/list.probe.js +2 -2
  218. package/dist/commands/models/list.registry.js +4 -4
  219. package/dist/commands/models/list.status-command.js +4 -4
  220. package/dist/commands/node-daemon-install-helpers.js +1 -1
  221. package/dist/commands/onboard-auth.config-core.js +65 -1
  222. package/dist/commands/onboard-auth.credentials.js +14 -2
  223. package/dist/commands/onboard-auth.js +2 -2
  224. package/dist/commands/onboard-channels.js +5 -5
  225. package/dist/commands/onboard-helpers.js +9 -8
  226. package/dist/commands/onboard-hooks.js +4 -4
  227. package/dist/commands/onboard-non-interactive/local/auth-choice.js +21 -1
  228. package/dist/commands/onboard-non-interactive/local.js +1 -1
  229. package/dist/commands/onboard-non-interactive/remote.js +1 -1
  230. package/dist/commands/onboard-non-interactive.js +1 -1
  231. package/dist/commands/onboard-remote.js +7 -3
  232. package/dist/commands/onboard-skills.js +2 -2
  233. package/dist/commands/onboard.js +3 -3
  234. package/dist/commands/onboarding/plugin-install.js +2 -2
  235. package/dist/commands/reset.js +3 -3
  236. package/dist/commands/sandbox-display.js +1 -1
  237. package/dist/commands/sandbox-explain.js +2 -2
  238. package/dist/commands/setup.js +9 -7
  239. package/dist/commands/signal-install.js +2 -2
  240. package/dist/commands/status-all/diagnosis.js +1 -1
  241. package/dist/commands/status-all/report-lines.js +1 -1
  242. package/dist/commands/status-all.js +5 -5
  243. package/dist/commands/status.command.js +9 -9
  244. package/dist/commands/status.gateway-probe.js +2 -2
  245. package/dist/commands/status.scan.js +2 -2
  246. package/dist/commands/status.update.js +3 -3
  247. package/dist/commands/uninstall.js +4 -4
  248. package/dist/compat/legacy-names.js +8 -6
  249. package/dist/config/config.js +1 -1
  250. package/dist/config/io.js +13 -14
  251. package/dist/config/paths.js +107 -33
  252. package/dist/config/schema.js +14 -12
  253. package/dist/config/sessions/store.js +1 -1
  254. package/dist/config/sessions/transcript.js +1 -1
  255. package/dist/config/types.js +1 -1
  256. package/dist/config/validation.js +2 -2
  257. package/dist/config/version.js +4 -4
  258. package/dist/config/zod-schema.agent-runtime.js +1 -0
  259. package/dist/config/zod-schema.js +3 -2
  260. package/dist/config/zod-schema.session.js +6 -1
  261. package/dist/control-ui/apple-touch-icon.png +0 -0
  262. package/dist/control-ui/assets/index-BKPyesll.css +1 -0
  263. package/dist/control-ui/assets/{index-CxLFx0Ae.js → index-DFDgq9AK.js} +397 -366
  264. package/dist/control-ui/assets/index-DFDgq9AK.js.map +1 -0
  265. package/dist/control-ui/favicon-32.png +0 -0
  266. package/dist/control-ui/favicon.svg +22 -0
  267. package/dist/control-ui/index.html +7 -5
  268. package/dist/daemon/constants.js +19 -25
  269. package/dist/daemon/inspect.js +64 -28
  270. package/dist/daemon/launchd.js +7 -7
  271. package/dist/daemon/node-service.js +14 -14
  272. package/dist/daemon/paths.js +3 -3
  273. package/dist/daemon/program-args.js +1 -1
  274. package/dist/daemon/schtasks.js +6 -6
  275. package/dist/daemon/service-env.js +25 -21
  276. package/dist/daemon/systemd-hints.js +1 -1
  277. package/dist/daemon/systemd-unit.js +1 -1
  278. package/dist/daemon/systemd.js +6 -6
  279. package/dist/discord/send.outbound.js +4 -4
  280. package/dist/discord/send.shared.js +32 -1
  281. package/dist/discord/targets.js +79 -0
  282. package/dist/entry.js +9 -8
  283. package/dist/gateway/auth.js +6 -3
  284. package/dist/gateway/call.js +3 -1
  285. package/dist/gateway/control-ui.js +4 -4
  286. package/dist/gateway/hooks.js +3 -1
  287. package/dist/gateway/http-utils.js +5 -3
  288. package/dist/gateway/openai-http.js +3 -3
  289. package/dist/gateway/openresponses-http.js +4 -4
  290. package/dist/gateway/protocol/client-info.js +5 -5
  291. package/dist/gateway/server/ws-connection/message-handler.js +1 -1
  292. package/dist/gateway/server-browser.js +2 -2
  293. package/dist/gateway/server-constants.js +2 -2
  294. package/dist/gateway/server-cron.js +1 -1
  295. package/dist/gateway/server-discovery-runtime.js +12 -4
  296. package/dist/gateway/server-discovery.js +7 -7
  297. package/dist/gateway/server-http.js +1 -1
  298. package/dist/gateway/server-methods/config.js +2 -2
  299. package/dist/gateway/server-methods/logs.js +1 -1
  300. package/dist/gateway/server-methods/update.js +2 -2
  301. package/dist/gateway/server-plugins.js +2 -2
  302. package/dist/gateway/server-reload-handlers.js +5 -5
  303. package/dist/gateway/server-runtime-config.js +3 -3
  304. package/dist/gateway/server-startup.js +6 -6
  305. package/dist/gateway/server.impl.js +8 -7
  306. package/dist/gateway/session-utils.fs.js +2 -1
  307. package/dist/gateway/test-helpers.mocks.js +8 -6
  308. package/dist/gateway/test-helpers.server.js +28 -28
  309. package/dist/gateway/tools-invoke-http.js +40 -4
  310. package/dist/hooks/bundled/boot-md/HOOK.md +3 -3
  311. package/dist/hooks/bundled/command-logger/HOOK.md +12 -12
  312. package/dist/hooks/bundled/command-logger/handler.js +2 -1
  313. package/dist/hooks/bundled/session-memory/HOOK.md +30 -7
  314. package/dist/hooks/bundled/session-memory/handler.js +19 -12
  315. package/dist/hooks/bundled/soul-evil/HOOK.md +5 -5
  316. package/dist/hooks/bundled-dir.js +2 -2
  317. package/dist/hooks/config.js +1 -1
  318. package/dist/hooks/frontmatter.js +11 -3
  319. package/dist/hooks/gmail-ops.js +1 -1
  320. package/dist/hooks/gmail-watcher.js +1 -1
  321. package/dist/hooks/hooks-status.js +2 -2
  322. package/dist/hooks/install.js +8 -8
  323. package/dist/hooks/internal-hooks.js +1 -1
  324. package/dist/hooks/llm-slug-generator.js +1 -1
  325. package/dist/hooks/loader.js +1 -1
  326. package/dist/hooks/plugin-hooks.js +2 -2
  327. package/dist/hooks/workspace.js +9 -9
  328. package/dist/imessage/monitor/monitor-provider.js +2 -2
  329. package/dist/index.js +4 -4
  330. package/dist/infra/bonjour-discovery.js +21 -17
  331. package/dist/infra/bonjour.js +10 -9
  332. package/dist/infra/device-identity.js +1 -1
  333. package/dist/infra/diagnostic-flags.js +1 -1
  334. package/dist/infra/dotenv.js +1 -1
  335. package/dist/infra/exec-approvals.js +2 -2
  336. package/dist/infra/gateway-lock.js +3 -2
  337. package/dist/infra/machine-name.js +1 -1
  338. package/dist/infra/{moltbot-root.js → openclaw-root.js} +2 -2
  339. package/dist/infra/outbound/outbound-session.js +18 -0
  340. package/dist/infra/outbound/targets.js +1 -1
  341. package/dist/infra/path-env.js +10 -9
  342. package/dist/infra/ports-format.js +3 -2
  343. package/dist/infra/ports.js +2 -2
  344. package/dist/infra/provider-usage.auth.js +33 -0
  345. package/dist/infra/provider-usage.fetch.claude.js +1 -1
  346. package/dist/infra/provider-usage.fetch.minimax.js +1 -1
  347. package/dist/infra/provider-usage.load.js +6 -0
  348. package/dist/infra/provider-usage.shared.js +2 -0
  349. package/dist/infra/restart-sentinel.js +1 -1
  350. package/dist/infra/restart.js +4 -4
  351. package/dist/infra/runtime-guard.js +2 -2
  352. package/dist/infra/shell-env.js +4 -4
  353. package/dist/infra/ssh-config.js +2 -1
  354. package/dist/infra/ssh-tunnel.js +8 -1
  355. package/dist/infra/state-migrations.js +165 -6
  356. package/dist/infra/system-presence.js +1 -1
  357. package/dist/infra/tailscale.js +1 -1
  358. package/dist/infra/tls/gateway.js +1 -1
  359. package/dist/infra/unhandled-rejections.js +56 -33
  360. package/dist/infra/update-check.js +1 -1
  361. package/dist/infra/update-global.js +21 -11
  362. package/dist/infra/update-runner.js +7 -7
  363. package/dist/infra/update-startup.js +3 -3
  364. package/dist/infra/voicewake.js +1 -1
  365. package/dist/infra/warnings.js +1 -1
  366. package/dist/infra/widearea-dns.js +31 -14
  367. package/dist/logging/logger.js +4 -4
  368. package/dist/macos/gateway-daemon.js +9 -6
  369. package/dist/macos/relay-smoke.js +1 -1
  370. package/dist/macos/relay.js +6 -6
  371. package/dist/media/host.js +1 -1
  372. package/dist/media/image-ops.js +3 -3
  373. package/dist/media/input-files.js +1 -1
  374. package/dist/media/mime.js +3 -0
  375. package/dist/media-understanding/apply.js +278 -1
  376. package/dist/media-understanding/attachments.js +1 -1
  377. package/dist/media-understanding/providers/image.js +2 -2
  378. package/dist/media-understanding/runner.js +1 -1
  379. package/dist/memory/batch-gemini.js +2 -2
  380. package/dist/memory/batch-openai.js +1 -1
  381. package/dist/memory/embeddings-gemini.js +1 -1
  382. package/dist/memory/embeddings.js +1 -1
  383. package/dist/memory/internal.js +49 -16
  384. package/dist/memory/manager-cache-key.js +1 -0
  385. package/dist/memory/manager.js +62 -10
  386. package/dist/memory/sync-memory-files.js +1 -1
  387. package/dist/node-host/runner.js +6 -6
  388. package/dist/pairing/pairing-messages.js +2 -2
  389. package/dist/plugins/bundled-dir.js +1 -1
  390. package/dist/plugins/cli.js +2 -2
  391. package/dist/plugins/config-state.js +60 -0
  392. package/dist/plugins/discovery.js +14 -12
  393. package/dist/plugins/install.js +8 -8
  394. package/dist/plugins/loader.js +4 -7
  395. package/dist/plugins/manifest-registry.js +4 -4
  396. package/dist/plugins/manifest.js +4 -7
  397. package/dist/plugins/providers.js +2 -2
  398. package/dist/plugins/registry.js +2 -2
  399. package/dist/plugins/runtime.js +1 -1
  400. package/dist/plugins/status.js +2 -2
  401. package/dist/plugins/tools.js +2 -2
  402. package/dist/plugins/update.js +3 -3
  403. package/dist/providers/qwen-portal-oauth.js +1 -1
  404. package/dist/routing/resolve-route.js +2 -0
  405. package/dist/routing/session-key.js +5 -0
  406. package/dist/security/audit-extra.js +2 -2
  407. package/dist/security/audit.js +7 -7
  408. package/dist/shared/text/reasoning-tags.js +44 -3
  409. package/dist/slack/monitor/commands.js +4 -3
  410. package/dist/slack/monitor/slash.js +62 -59
  411. package/dist/slack/monitor.test-helpers.js +1 -1
  412. package/dist/telegram/accounts.js +1 -1
  413. package/dist/telegram/bot/delivery.js +26 -3
  414. package/dist/telegram/bot/helpers.js +13 -2
  415. package/dist/telegram/bot-message-context.js +8 -4
  416. package/dist/telegram/bot-message-dispatch.js +36 -5
  417. package/dist/telegram/bot-native-commands.js +50 -11
  418. package/dist/telegram/bot.js +7 -5
  419. package/dist/telegram/download.js +1 -1
  420. package/dist/telegram/monitor.js +19 -1
  421. package/dist/telegram/network-config.js +2 -2
  422. package/dist/telegram/network-errors.js +4 -0
  423. package/dist/terminal/links.js +1 -1
  424. package/dist/tts/tts.js +12 -6
  425. package/dist/tui/gateway-chat.js +3 -3
  426. package/dist/tui/tui.js +1 -1
  427. package/dist/utils.js +12 -3
  428. package/dist/version.js +3 -3
  429. package/dist/web/active-listener.js +1 -1
  430. package/dist/web/auth-store.js +1 -1
  431. package/dist/web/auto-reply/monitor/broadcast.js +2 -0
  432. package/dist/web/auto-reply/monitor/process-message.js +1 -1
  433. package/dist/web/auto-reply/monitor.js +1 -1
  434. package/dist/web/login.js +1 -1
  435. package/dist/web/session.js +2 -2
  436. package/dist/wizard/onboarding.finalize.js +24 -21
  437. package/dist/wizard/onboarding.gateway-config.js +1 -1
  438. package/dist/wizard/onboarding.js +11 -11
  439. package/docs/CNAME +1 -1
  440. package/docs/_config.yml +3 -3
  441. package/docs/_layouts/default.html +9 -9
  442. package/docs/assets/openclaw-logo-text-dark.png +0 -0
  443. package/docs/assets/openclaw-logo-text.png +0 -0
  444. package/docs/assets/theme.js +1 -1
  445. package/docs/automation/auth-monitoring.md +7 -7
  446. package/docs/automation/cron-jobs.md +19 -19
  447. package/docs/automation/cron-vs-heartbeat.md +7 -7
  448. package/docs/automation/gmail-pubsub.md +25 -25
  449. package/docs/automation/poll.md +7 -7
  450. package/docs/automation/webhook.md +5 -5
  451. package/docs/bedrock.md +10 -10
  452. package/docs/brave-search.md +1 -1
  453. package/docs/broadcast-groups.md +6 -6
  454. package/docs/channels/bluebubbles.md +12 -12
  455. package/docs/channels/discord.md +15 -15
  456. package/docs/channels/googlechat.md +16 -16
  457. package/docs/channels/imessage.md +13 -13
  458. package/docs/channels/index.md +4 -4
  459. package/docs/channels/line.md +6 -6
  460. package/docs/channels/location.md +1 -1
  461. package/docs/channels/matrix.md +14 -14
  462. package/docs/channels/mattermost.md +8 -8
  463. package/docs/channels/msteams.md +26 -26
  464. package/docs/channels/nextcloud-talk.md +7 -7
  465. package/docs/channels/nostr.md +9 -9
  466. package/docs/channels/signal.md +9 -9
  467. package/docs/channels/slack.md +16 -16
  468. package/docs/channels/telegram.md +23 -23
  469. package/docs/channels/tlon.md +5 -5
  470. package/docs/channels/troubleshooting.md +2 -2
  471. package/docs/channels/twitch.md +14 -14
  472. package/docs/channels/whatsapp.md +26 -26
  473. package/docs/channels/zalo.md +8 -8
  474. package/docs/channels/zalouser.md +12 -12
  475. package/docs/cli/acp.md +24 -24
  476. package/docs/cli/agent.md +6 -6
  477. package/docs/cli/agents.md +12 -12
  478. package/docs/cli/approvals.md +14 -14
  479. package/docs/cli/browser.md +24 -24
  480. package/docs/cli/channels.md +21 -21
  481. package/docs/cli/config.md +15 -15
  482. package/docs/cli/configure.md +6 -6
  483. package/docs/cli/cron.md +5 -5
  484. package/docs/cli/dashboard.md +4 -4
  485. package/docs/cli/devices.md +13 -13
  486. package/docs/cli/directory.md +12 -12
  487. package/docs/cli/dns.md +5 -6
  488. package/docs/cli/docs.md +5 -5
  489. package/docs/cli/doctor.md +11 -11
  490. package/docs/cli/gateway.md +26 -26
  491. package/docs/cli/health.md +5 -5
  492. package/docs/cli/hooks.md +35 -35
  493. package/docs/cli/index.md +42 -42
  494. package/docs/cli/logs.md +6 -6
  495. package/docs/cli/memory.md +12 -11
  496. package/docs/cli/message.md +11 -11
  497. package/docs/cli/models.md +15 -15
  498. package/docs/cli/node.md +14 -14
  499. package/docs/cli/nodes.md +14 -14
  500. package/docs/cli/onboard.md +7 -7
  501. package/docs/cli/pairing.md +4 -4
  502. package/docs/cli/plugins.md +16 -16
  503. package/docs/cli/reset.md +5 -5
  504. package/docs/cli/sandbox.md +28 -28
  505. package/docs/cli/security.md +6 -6
  506. package/docs/cli/sessions.md +5 -5
  507. package/docs/cli/setup.md +6 -6
  508. package/docs/cli/skills.md +6 -6
  509. package/docs/cli/status.md +7 -7
  510. package/docs/cli/system.md +6 -6
  511. package/docs/cli/tui.md +5 -5
  512. package/docs/cli/uninstall.md +5 -5
  513. package/docs/cli/update.md +20 -20
  514. package/docs/cli/voicecall.md +9 -9
  515. package/docs/cli/webhooks.md +5 -5
  516. package/docs/concepts/agent-loop.md +5 -5
  517. package/docs/concepts/agent-workspace.md +27 -27
  518. package/docs/concepts/agent.md +12 -12
  519. package/docs/concepts/architecture.md +2 -2
  520. package/docs/concepts/channel-routing.md +5 -5
  521. package/docs/concepts/compaction.md +5 -5
  522. package/docs/concepts/context.md +6 -6
  523. package/docs/concepts/group-messages.md +7 -7
  524. package/docs/concepts/groups.md +5 -5
  525. package/docs/concepts/markdown-formatting.md +3 -3
  526. package/docs/concepts/memory.md +41 -19
  527. package/docs/concepts/messages.md +4 -4
  528. package/docs/concepts/model-failover.md +14 -14
  529. package/docs/concepts/model-providers.md +25 -24
  530. package/docs/concepts/models.md +27 -27
  531. package/docs/concepts/multi-agent.md +31 -31
  532. package/docs/concepts/oauth.md +22 -22
  533. package/docs/concepts/presence.md +2 -2
  534. package/docs/concepts/retry.md +1 -1
  535. package/docs/concepts/session-pruning.md +1 -1
  536. package/docs/concepts/session-tool.md +4 -4
  537. package/docs/concepts/session.md +18 -16
  538. package/docs/concepts/streaming.md +3 -3
  539. package/docs/concepts/system-prompt.md +11 -11
  540. package/docs/concepts/timezone.md +2 -2
  541. package/docs/concepts/typebox.md +3 -3
  542. package/docs/concepts/typing-indicators.md +2 -2
  543. package/docs/concepts/usage-tracking.md +3 -3
  544. package/docs/date-time.md +2 -2
  545. package/docs/debug/node-issue.md +6 -6
  546. package/docs/debugging.md +18 -18
  547. package/docs/diagnostics/flags.md +7 -7
  548. package/docs/docs.json +21 -5
  549. package/docs/environment.md +7 -7
  550. package/docs/experiments/plans/cron-add-hardening.md +1 -1
  551. package/docs/experiments/plans/openresponses-gateway.md +2 -2
  552. package/docs/experiments/research/memory.md +12 -12
  553. package/docs/gateway/authentication.md +22 -22
  554. package/docs/gateway/background-process.md +2 -2
  555. package/docs/gateway/bonjour.md +25 -25
  556. package/docs/gateway/bridge-protocol.md +2 -2
  557. package/docs/gateway/cli-backends.md +12 -12
  558. package/docs/gateway/configuration-examples.md +26 -25
  559. package/docs/gateway/configuration.md +155 -153
  560. package/docs/gateway/discovery.md +10 -10
  561. package/docs/gateway/doctor.md +27 -27
  562. package/docs/gateway/gateway-lock.md +1 -1
  563. package/docs/gateway/health.md +11 -11
  564. package/docs/gateway/heartbeat.md +5 -5
  565. package/docs/gateway/index.md +63 -63
  566. package/docs/gateway/local-models.md +2 -2
  567. package/docs/gateway/logging.md +8 -8
  568. package/docs/gateway/multiple-gateways.md +24 -24
  569. package/docs/gateway/openai-http-api.md +12 -12
  570. package/docs/gateway/openresponses-http-api.md +12 -12
  571. package/docs/gateway/pairing.md +9 -9
  572. package/docs/gateway/protocol.md +4 -4
  573. package/docs/gateway/remote-gateway-readme.md +10 -10
  574. package/docs/gateway/remote.md +4 -4
  575. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +7 -7
  576. package/docs/gateway/sandboxing.md +6 -6
  577. package/docs/gateway/security/formal-verification.md +67 -14
  578. package/docs/gateway/security/index.md +56 -59
  579. package/docs/gateway/tailscale.md +10 -10
  580. package/docs/gateway/tools-invoke-http-api.md +5 -5
  581. package/docs/gateway/troubleshooting.md +112 -112
  582. package/docs/help/faq.md +338 -338
  583. package/docs/help/troubleshooting.md +16 -16
  584. package/docs/hooks/soul-evil.md +2 -2
  585. package/docs/hooks.md +62 -62
  586. package/docs/index.md +45 -36
  587. package/docs/install/ansible.md +35 -35
  588. package/docs/install/development-channels.md +10 -10
  589. package/docs/install/docker.md +45 -45
  590. package/docs/install/index.md +33 -33
  591. package/docs/install/installer.md +24 -24
  592. package/docs/install/migrating.md +36 -36
  593. package/docs/install/nix.md +18 -18
  594. package/docs/install/node.md +4 -4
  595. package/docs/install/uninstall.md +29 -29
  596. package/docs/install/updating.md +51 -51
  597. package/docs/logging.md +59 -59
  598. package/docs/multi-agent-sandbox-tools.md +15 -15
  599. package/docs/network.md +1 -1
  600. package/docs/nodes/audio.md +2 -2
  601. package/docs/nodes/camera.md +18 -18
  602. package/docs/nodes/images.md +4 -4
  603. package/docs/nodes/index.md +57 -57
  604. package/docs/nodes/location-command.md +2 -2
  605. package/docs/nodes/media-understanding.md +5 -5
  606. package/docs/nodes/talk.md +1 -1
  607. package/docs/nodes/voicewake.md +3 -3
  608. package/docs/northflank.mdx +9 -9
  609. package/docs/perplexity.md +2 -2
  610. package/docs/platforms/android.md +14 -14
  611. package/docs/platforms/digitalocean.md +26 -26
  612. package/docs/platforms/exe-dev.md +68 -130
  613. package/docs/platforms/fly.md +33 -33
  614. package/docs/platforms/gcp.md +58 -58
  615. package/docs/platforms/hetzner.md +45 -45
  616. package/docs/platforms/index.md +8 -8
  617. package/docs/platforms/ios.md +13 -13
  618. package/docs/platforms/linux.md +11 -11
  619. package/docs/platforms/mac/bundled-gateway.md +14 -14
  620. package/docs/platforms/mac/canvas.md +14 -14
  621. package/docs/platforms/mac/child-process.md +5 -5
  622. package/docs/platforms/mac/dev-setup.md +10 -10
  623. package/docs/platforms/mac/health.md +2 -2
  624. package/docs/platforms/mac/icon.md +1 -1
  625. package/docs/platforms/mac/logging.md +4 -4
  626. package/docs/platforms/mac/menu-bar.md +1 -1
  627. package/docs/platforms/mac/peekaboo.md +9 -9
  628. package/docs/platforms/mac/permissions.md +1 -1
  629. package/docs/platforms/mac/release.md +18 -18
  630. package/docs/platforms/mac/remote.md +14 -14
  631. package/docs/platforms/mac/signing.md +7 -7
  632. package/docs/platforms/mac/skills.md +4 -4
  633. package/docs/platforms/mac/webchat.md +1 -1
  634. package/docs/platforms/mac/xpc.md +4 -4
  635. package/docs/platforms/macos-vm.md +27 -27
  636. package/docs/platforms/macos.md +16 -16
  637. package/docs/platforms/oracle.md +35 -35
  638. package/docs/platforms/raspberry-pi.md +22 -22
  639. package/docs/platforms/windows.md +11 -11
  640. package/docs/plugin.md +65 -65
  641. package/docs/plugins/agent-tools.md +1 -1
  642. package/docs/plugins/manifest.md +4 -4
  643. package/docs/plugins/voice-call.md +12 -12
  644. package/docs/plugins/zalouser.md +9 -9
  645. package/docs/prose.md +9 -9
  646. package/docs/providers/anthropic.md +16 -16
  647. package/docs/providers/claude-max-api-proxy.md +4 -4
  648. package/docs/providers/deepgram.md +2 -2
  649. package/docs/providers/github-copilot.md +11 -11
  650. package/docs/providers/glm.md +4 -4
  651. package/docs/providers/index.md +4 -3
  652. package/docs/providers/minimax.md +9 -9
  653. package/docs/providers/models.md +3 -3
  654. package/docs/providers/moonshot.md +15 -4
  655. package/docs/providers/ollama.md +11 -11
  656. package/docs/providers/openai.md +6 -6
  657. package/docs/providers/opencode.md +3 -3
  658. package/docs/providers/openrouter.md +3 -3
  659. package/docs/providers/qwen.md +6 -6
  660. package/docs/providers/synthetic.md +4 -4
  661. package/docs/providers/venice.md +23 -23
  662. package/docs/providers/vercel-ai-gateway.md +4 -4
  663. package/docs/providers/xiaomi.md +62 -0
  664. package/docs/providers/zai.md +5 -5
  665. package/docs/railway.mdx +8 -8
  666. package/docs/refactor/exec-host.md +5 -5
  667. package/docs/refactor/plugin-sdk.md +12 -12
  668. package/docs/refactor/strict-config.md +11 -11
  669. package/docs/reference/AGENTS.default.md +17 -17
  670. package/docs/reference/RELEASING.md +29 -29
  671. package/docs/reference/api-usage-costs.md +6 -6
  672. package/docs/reference/device-models.md +7 -7
  673. package/docs/reference/rpc.md +3 -3
  674. package/docs/reference/session-management-compaction.md +19 -19
  675. package/docs/reference/templates/AGENTS.dev.md +1 -1
  676. package/docs/reference/templates/BOOT.md +1 -1
  677. package/docs/reference/templates/IDENTITY.md +1 -1
  678. package/docs/reference/templates/TOOLS.dev.md +1 -1
  679. package/docs/reference/templates/USER.dev.md +2 -2
  680. package/docs/reference/test.md +2 -2
  681. package/docs/reference/transcript-hygiene.md +1 -1
  682. package/docs/render.mdx +13 -13
  683. package/docs/scripts.md +1 -1
  684. package/docs/security/formal-verification.md +66 -13
  685. package/docs/start/getting-started.md +29 -29
  686. package/docs/start/hubs.md +2 -2
  687. package/docs/start/lore.md +14 -14
  688. package/docs/start/onboarding.md +7 -7
  689. package/docs/start/{clawd.md → openclaw.md} +35 -35
  690. package/docs/start/pairing.md +10 -10
  691. package/docs/start/setup.md +22 -22
  692. package/docs/start/showcase.md +32 -32
  693. package/docs/start/wizard.md +30 -30
  694. package/docs/testing.md +56 -56
  695. package/docs/token-use.md +7 -7
  696. package/docs/tools/agent-send.md +10 -10
  697. package/docs/tools/browser-linux-troubleshooting.md +16 -16
  698. package/docs/tools/browser-login.md +6 -6
  699. package/docs/tools/browser.md +126 -126
  700. package/docs/tools/chrome-extension.md +17 -17
  701. package/docs/tools/clawdhub.md +7 -7
  702. package/docs/tools/creating-skills.md +6 -6
  703. package/docs/tools/exec-approvals.md +5 -5
  704. package/docs/tools/exec.md +4 -4
  705. package/docs/tools/firecrawl.md +2 -2
  706. package/docs/tools/index.md +13 -13
  707. package/docs/tools/llm-task.md +2 -2
  708. package/docs/tools/lobster.md +13 -13
  709. package/docs/tools/skills-config.md +2 -2
  710. package/docs/tools/skills.md +31 -31
  711. package/docs/tools/slash-commands.md +8 -8
  712. package/docs/tools/web.md +8 -8
  713. package/docs/tts.md +11 -11
  714. package/docs/tui.md +7 -7
  715. package/docs/vps.md +1 -1
  716. package/docs/web/control-ui.md +8 -8
  717. package/docs/web/dashboard.md +6 -6
  718. package/docs/web/index.md +5 -5
  719. package/extensions/bluebubbles/index.ts +3 -3
  720. package/extensions/bluebubbles/package.json +5 -5
  721. package/extensions/bluebubbles/src/accounts.ts +9 -9
  722. package/extensions/bluebubbles/src/actions.test.ts +22 -22
  723. package/extensions/bluebubbles/src/actions.ts +6 -6
  724. package/extensions/bluebubbles/src/attachments.ts +2 -2
  725. package/extensions/bluebubbles/src/channel.ts +17 -17
  726. package/extensions/bluebubbles/src/chat.ts +2 -2
  727. package/extensions/bluebubbles/src/config-schema.ts +1 -1
  728. package/extensions/bluebubbles/src/media-send.ts +2 -2
  729. package/extensions/bluebubbles/src/monitor.test.ts +48 -48
  730. package/extensions/bluebubbles/src/monitor.ts +6 -6
  731. package/extensions/bluebubbles/src/onboarding.ts +9 -9
  732. package/extensions/bluebubbles/src/reactions.ts +2 -2
  733. package/extensions/bluebubbles/src/runtime.ts +1 -1
  734. package/extensions/bluebubbles/src/send.ts +2 -2
  735. package/extensions/copilot-proxy/README.md +3 -3
  736. package/extensions/copilot-proxy/index.ts +1 -1
  737. package/extensions/copilot-proxy/package.json +4 -4
  738. package/extensions/diagnostics-otel/index.ts +3 -3
  739. package/extensions/diagnostics-otel/package.json +4 -4
  740. package/extensions/diagnostics-otel/src/service.test.ts +15 -15
  741. package/extensions/diagnostics-otel/src/service.ts +85 -85
  742. package/extensions/discord/index.ts +3 -3
  743. package/extensions/discord/package.json +4 -4
  744. package/extensions/discord/src/channel.ts +1 -1
  745. package/extensions/discord/src/runtime.ts +1 -1
  746. package/extensions/google-antigravity-auth/README.md +3 -3
  747. package/extensions/google-antigravity-auth/index.ts +2 -2
  748. package/extensions/google-antigravity-auth/package.json +4 -4
  749. package/extensions/google-gemini-cli-auth/README.md +5 -5
  750. package/extensions/google-gemini-cli-auth/index.ts +3 -3
  751. package/extensions/google-gemini-cli-auth/oauth.ts +4 -4
  752. package/extensions/google-gemini-cli-auth/package.json +4 -4
  753. package/extensions/googlechat/index.ts +4 -4
  754. package/extensions/googlechat/node_modules/.bin/openclaw +16 -0
  755. package/extensions/googlechat/node_modules/.bin/openclaw.CMD +7 -0
  756. package/extensions/googlechat/node_modules/.bin/openclaw.ps1 +28 -0
  757. package/extensions/googlechat/package.json +7 -7
  758. package/extensions/googlechat/src/accounts.ts +9 -9
  759. package/extensions/googlechat/src/actions.ts +8 -8
  760. package/extensions/googlechat/src/api.ts +1 -1
  761. package/extensions/googlechat/src/channel.ts +23 -23
  762. package/extensions/googlechat/src/monitor.ts +9 -9
  763. package/extensions/googlechat/src/onboarding.ts +11 -11
  764. package/extensions/googlechat/src/runtime.ts +1 -1
  765. package/extensions/googlechat/src/types.config.ts +1 -1
  766. package/extensions/imessage/index.ts +3 -3
  767. package/extensions/imessage/package.json +4 -4
  768. package/extensions/imessage/src/channel.ts +1 -1
  769. package/extensions/imessage/src/runtime.ts +1 -1
  770. package/extensions/line/index.ts +3 -3
  771. package/extensions/line/node_modules/.bin/openclaw +16 -0
  772. package/extensions/line/node_modules/.bin/openclaw.CMD +7 -0
  773. package/extensions/line/node_modules/.bin/openclaw.ps1 +28 -0
  774. package/extensions/line/package.json +6 -6
  775. package/extensions/line/src/card-command.ts +3 -3
  776. package/extensions/line/src/channel.logout.test.ts +4 -4
  777. package/extensions/line/src/channel.sendPayload.test.ts +8 -8
  778. package/extensions/line/src/channel.ts +5 -5
  779. package/extensions/line/src/runtime.ts +1 -1
  780. package/extensions/llm-task/README.md +4 -4
  781. package/extensions/llm-task/index.ts +2 -2
  782. package/extensions/llm-task/package.json +4 -4
  783. package/extensions/llm-task/src/llm-task-tool.ts +6 -6
  784. package/extensions/lobster/README.md +7 -7
  785. package/extensions/lobster/index.ts +2 -2
  786. package/extensions/lobster/package.json +3 -3
  787. package/extensions/lobster/src/lobster-tool.test.ts +7 -7
  788. package/extensions/lobster/src/lobster-tool.ts +2 -2
  789. package/extensions/matrix/CHANGELOG.md +14 -9
  790. package/extensions/matrix/index.ts +3 -3
  791. package/extensions/matrix/node_modules/.bin/markdown-it +0 -5
  792. package/extensions/matrix/node_modules/.bin/markdown-it.CMD +0 -5
  793. package/extensions/matrix/node_modules/.bin/markdown-it.ps1 +0 -13
  794. package/extensions/matrix/node_modules/.bin/openclaw +16 -0
  795. package/extensions/matrix/node_modules/.bin/openclaw.CMD +7 -0
  796. package/extensions/matrix/node_modules/.bin/openclaw.ps1 +28 -0
  797. package/extensions/matrix/package.json +6 -6
  798. package/extensions/matrix/src/actions.ts +1 -1
  799. package/extensions/matrix/src/channel.directory.test.ts +1 -1
  800. package/extensions/matrix/src/channel.ts +1 -1
  801. package/extensions/matrix/src/config-schema.ts +1 -1
  802. package/extensions/matrix/src/directory-live.ts +1 -1
  803. package/extensions/matrix/src/group-mentions.ts +1 -1
  804. package/extensions/matrix/src/matrix/accounts.ts +1 -1
  805. package/extensions/matrix/src/matrix/actions/client.ts +1 -1
  806. package/extensions/matrix/src/matrix/client/config.ts +1 -1
  807. package/extensions/matrix/src/matrix/deps.ts +1 -1
  808. package/extensions/matrix/src/matrix/monitor/allowlist.ts +1 -1
  809. package/extensions/matrix/src/matrix/monitor/auto-join.ts +1 -1
  810. package/extensions/matrix/src/matrix/monitor/events.ts +1 -1
  811. package/extensions/matrix/src/matrix/monitor/handler.ts +5 -5
  812. package/extensions/matrix/src/matrix/monitor/index.ts +1 -1
  813. package/extensions/matrix/src/matrix/monitor/location.ts +1 -1
  814. package/extensions/matrix/src/matrix/monitor/media.test.ts +1 -1
  815. package/extensions/matrix/src/matrix/monitor/replies.ts +1 -1
  816. package/extensions/matrix/src/matrix/monitor/rooms.ts +1 -1
  817. package/extensions/matrix/src/matrix/poll-types.ts +1 -1
  818. package/extensions/matrix/src/matrix/send/client.ts +1 -1
  819. package/extensions/matrix/src/matrix/send.test.ts +1 -1
  820. package/extensions/matrix/src/matrix/send.ts +1 -1
  821. package/extensions/matrix/src/onboarding.ts +2 -2
  822. package/extensions/matrix/src/outbound.ts +1 -1
  823. package/extensions/matrix/src/resolve-targets.ts +1 -1
  824. package/extensions/matrix/src/runtime.ts +1 -1
  825. package/extensions/matrix/src/tool-actions.ts +1 -1
  826. package/extensions/mattermost/index.ts +3 -3
  827. package/extensions/mattermost/package.json +5 -5
  828. package/extensions/mattermost/src/channel.ts +1 -1
  829. package/extensions/mattermost/src/config-schema.ts +1 -1
  830. package/extensions/mattermost/src/group-mentions.ts +1 -1
  831. package/extensions/mattermost/src/mattermost/accounts.ts +9 -9
  832. package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
  833. package/extensions/mattermost/src/mattermost/monitor.ts +4 -4
  834. package/extensions/mattermost/src/onboarding-helpers.ts +4 -4
  835. package/extensions/mattermost/src/onboarding.ts +4 -4
  836. package/extensions/mattermost/src/runtime.ts +1 -1
  837. package/extensions/mattermost/src/types.ts +1 -1
  838. package/extensions/memory-core/index.ts +3 -3
  839. package/extensions/memory-core/node_modules/.bin/openclaw +16 -0
  840. package/extensions/memory-core/node_modules/.bin/openclaw.CMD +7 -0
  841. package/extensions/memory-core/node_modules/.bin/openclaw.ps1 +28 -0
  842. package/extensions/memory-core/package.json +6 -6
  843. package/extensions/memory-lancedb/config.ts +26 -2
  844. package/extensions/memory-lancedb/index.test.ts +3 -3
  845. package/extensions/memory-lancedb/index.ts +4 -4
  846. package/extensions/memory-lancedb/node_modules/.bin/openai +0 -5
  847. package/extensions/memory-lancedb/node_modules/.bin/openai.CMD +0 -5
  848. package/extensions/memory-lancedb/node_modules/.bin/openai.ps1 +0 -13
  849. package/extensions/memory-lancedb/{clawdbot.plugin.json → openclaw.plugin.json} +1 -1
  850. package/extensions/memory-lancedb/package.json +4 -4
  851. package/extensions/msteams/CHANGELOG.md +12 -7
  852. package/extensions/msteams/index.ts +3 -3
  853. package/extensions/msteams/node_modules/.bin/openclaw +16 -0
  854. package/extensions/msteams/node_modules/.bin/openclaw.CMD +7 -0
  855. package/extensions/msteams/node_modules/.bin/openclaw.ps1 +28 -0
  856. package/extensions/msteams/package.json +6 -6
  857. package/extensions/msteams/src/attachments.test.ts +1 -1
  858. package/extensions/msteams/src/channel.directory.test.ts +2 -2
  859. package/extensions/msteams/src/channel.ts +3 -3
  860. package/extensions/msteams/src/conversation-store-fs.test.ts +6 -5
  861. package/extensions/msteams/src/directory-live.ts +1 -1
  862. package/extensions/msteams/src/graph-upload.ts +4 -4
  863. package/extensions/msteams/src/media-helpers.ts +1 -1
  864. package/extensions/msteams/src/messenger.test.ts +1 -1
  865. package/extensions/msteams/src/messenger.ts +1 -1
  866. package/extensions/msteams/src/monitor-handler/message-handler.ts +1 -1
  867. package/extensions/msteams/src/monitor-handler.ts +2 -2
  868. package/extensions/msteams/src/monitor.ts +3 -3
  869. package/extensions/msteams/src/onboarding.ts +11 -11
  870. package/extensions/msteams/src/outbound.ts +1 -1
  871. package/extensions/msteams/src/policy.test.ts +1 -1
  872. package/extensions/msteams/src/policy.ts +2 -2
  873. package/extensions/msteams/src/polls-store.test.ts +1 -1
  874. package/extensions/msteams/src/polls.test.ts +6 -5
  875. package/extensions/msteams/src/polls.ts +9 -8
  876. package/extensions/msteams/src/probe.test.ts +1 -1
  877. package/extensions/msteams/src/probe.ts +1 -1
  878. package/extensions/msteams/src/reply-dispatcher.ts +3 -3
  879. package/extensions/msteams/src/runtime.ts +1 -1
  880. package/extensions/msteams/src/send-context.ts +2 -2
  881. package/extensions/msteams/src/send.ts +5 -5
  882. package/extensions/msteams/src/token.ts +1 -1
  883. package/extensions/nextcloud-talk/index.ts +3 -3
  884. package/extensions/nextcloud-talk/package.json +5 -5
  885. package/extensions/nextcloud-talk/src/accounts.ts +2 -2
  886. package/extensions/nextcloud-talk/src/channel.ts +8 -8
  887. package/extensions/nextcloud-talk/src/config-schema.ts +1 -1
  888. package/extensions/nextcloud-talk/src/inbound.ts +8 -8
  889. package/extensions/nextcloud-talk/src/monitor.ts +1 -1
  890. package/extensions/nextcloud-talk/src/onboarding.ts +2 -2
  891. package/extensions/nextcloud-talk/src/policy.ts +2 -2
  892. package/extensions/nextcloud-talk/src/room-info.ts +1 -1
  893. package/extensions/nextcloud-talk/src/runtime.ts +1 -1
  894. package/extensions/nextcloud-talk/src/types.ts +1 -1
  895. package/extensions/nostr/CHANGELOG.md +9 -4
  896. package/extensions/nostr/README.md +5 -5
  897. package/extensions/nostr/index.ts +6 -6
  898. package/extensions/nostr/node_modules/.bin/openclaw +16 -0
  899. package/extensions/nostr/node_modules/.bin/openclaw.CMD +7 -0
  900. package/extensions/nostr/node_modules/.bin/openclaw.ps1 +28 -0
  901. package/extensions/nostr/package.json +6 -6
  902. package/extensions/nostr/src/channel.ts +2 -2
  903. package/extensions/nostr/src/config-schema.ts +1 -1
  904. package/extensions/nostr/src/nostr-state-store.test.ts +9 -8
  905. package/extensions/nostr/src/runtime.ts +1 -1
  906. package/extensions/nostr/src/types.ts +4 -4
  907. package/extensions/open-prose/index.ts +2 -2
  908. package/extensions/open-prose/package.json +3 -3
  909. package/extensions/open-prose/skills/prose/SKILL.md +5 -5
  910. package/extensions/open-prose/skills/prose/prose.md +4 -4
  911. package/extensions/qwen-portal-auth/README.md +3 -3
  912. package/extensions/qwen-portal-auth/index.ts +1 -1
  913. package/extensions/signal/index.ts +3 -3
  914. package/extensions/signal/package.json +4 -4
  915. package/extensions/signal/src/channel.ts +1 -1
  916. package/extensions/signal/src/runtime.ts +1 -1
  917. package/extensions/slack/index.ts +3 -3
  918. package/extensions/slack/package.json +4 -4
  919. package/extensions/slack/src/channel.ts +1 -1
  920. package/extensions/slack/src/runtime.ts +1 -1
  921. package/extensions/telegram/index.ts +3 -3
  922. package/extensions/telegram/package.json +4 -4
  923. package/extensions/telegram/src/channel.ts +3 -3
  924. package/extensions/telegram/src/runtime.ts +1 -1
  925. package/extensions/tlon/README.md +3 -3
  926. package/extensions/tlon/index.ts +3 -3
  927. package/extensions/tlon/package.json +5 -5
  928. package/extensions/tlon/src/channel.ts +15 -15
  929. package/extensions/tlon/src/config-schema.ts +1 -1
  930. package/extensions/tlon/src/monitor/discovery.ts +1 -1
  931. package/extensions/tlon/src/monitor/history.ts +1 -1
  932. package/extensions/tlon/src/monitor/index.ts +3 -3
  933. package/extensions/tlon/src/onboarding.ts +4 -4
  934. package/extensions/tlon/src/runtime.ts +1 -1
  935. package/extensions/tlon/src/types.ts +3 -3
  936. package/extensions/twitch/CHANGELOG.md +6 -1
  937. package/extensions/twitch/README.md +8 -8
  938. package/extensions/twitch/index.ts +3 -3
  939. package/extensions/twitch/node_modules/.bin/openclaw +16 -0
  940. package/extensions/twitch/node_modules/.bin/openclaw.CMD +7 -0
  941. package/extensions/twitch/node_modules/.bin/openclaw.ps1 +28 -0
  942. package/extensions/twitch/package.json +5 -5
  943. package/extensions/twitch/src/actions.ts +1 -1
  944. package/extensions/twitch/src/config-schema.ts +1 -1
  945. package/extensions/twitch/src/config.ts +3 -3
  946. package/extensions/twitch/src/monitor.ts +3 -3
  947. package/extensions/twitch/src/onboarding.test.ts +1 -1
  948. package/extensions/twitch/src/onboarding.ts +13 -13
  949. package/extensions/twitch/src/outbound.test.ts +2 -2
  950. package/extensions/twitch/src/outbound.ts +2 -2
  951. package/extensions/twitch/src/plugin.test.ts +2 -2
  952. package/extensions/twitch/src/plugin.ts +9 -9
  953. package/extensions/twitch/src/runtime.ts +1 -1
  954. package/extensions/twitch/src/send.test.ts +2 -2
  955. package/extensions/twitch/src/send.ts +5 -5
  956. package/extensions/twitch/src/token.test.ts +12 -12
  957. package/extensions/twitch/src/token.ts +7 -7
  958. package/extensions/twitch/src/twitch-client.ts +4 -4
  959. package/extensions/twitch/src/types.ts +3 -3
  960. package/extensions/twitch/src/utils/markdown.ts +1 -1
  961. package/extensions/voice-call/CHANGELOG.md +16 -11
  962. package/extensions/voice-call/README.md +16 -16
  963. package/extensions/voice-call/package.json +4 -4
  964. package/extensions/voice-call/src/cli.ts +16 -4
  965. package/extensions/voice-call/src/core-bridge.ts +5 -5
  966. package/extensions/voice-call/src/manager.test.ts +2 -2
  967. package/extensions/voice-call/src/manager.ts +17 -5
  968. package/extensions/voice-call/src/response-generator.ts +1 -1
  969. package/extensions/whatsapp/index.ts +3 -3
  970. package/extensions/whatsapp/package.json +4 -4
  971. package/extensions/whatsapp/src/channel.ts +1 -1
  972. package/extensions/whatsapp/src/runtime.ts +1 -1
  973. package/extensions/zalo/CHANGELOG.md +14 -9
  974. package/extensions/zalo/README.md +4 -4
  975. package/extensions/zalo/index.ts +3 -3
  976. package/extensions/zalo/node_modules/.bin/openclaw +16 -0
  977. package/extensions/zalo/node_modules/.bin/openclaw.CMD +7 -0
  978. package/extensions/zalo/node_modules/.bin/openclaw.ps1 +28 -0
  979. package/extensions/zalo/package.json +6 -6
  980. package/extensions/zalo/src/accounts.ts +9 -9
  981. package/extensions/zalo/src/actions.ts +6 -6
  982. package/extensions/zalo/src/channel.directory.test.ts +2 -2
  983. package/extensions/zalo/src/channel.ts +20 -20
  984. package/extensions/zalo/src/config-schema.ts +1 -1
  985. package/extensions/zalo/src/monitor.ts +9 -9
  986. package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
  987. package/extensions/zalo/src/onboarding.ts +27 -27
  988. package/extensions/zalo/src/runtime.ts +1 -1
  989. package/extensions/zalo/src/send.ts +2 -2
  990. package/extensions/zalo/src/status-issues.ts +1 -1
  991. package/extensions/zalo/src/token.ts +1 -1
  992. package/extensions/zalouser/CHANGELOG.md +9 -4
  993. package/extensions/zalouser/README.md +18 -18
  994. package/extensions/zalouser/index.ts +3 -3
  995. package/extensions/zalouser/node_modules/.bin/openclaw +16 -0
  996. package/extensions/zalouser/node_modules/.bin/openclaw.CMD +7 -0
  997. package/extensions/zalouser/node_modules/.bin/openclaw.ps1 +28 -0
  998. package/extensions/zalouser/package.json +6 -6
  999. package/extensions/zalouser/src/accounts.ts +10 -10
  1000. package/extensions/zalouser/src/channel.ts +27 -27
  1001. package/extensions/zalouser/src/config-schema.ts +1 -1
  1002. package/extensions/zalouser/src/monitor.ts +5 -5
  1003. package/extensions/zalouser/src/onboarding.ts +32 -32
  1004. package/extensions/zalouser/src/runtime.ts +1 -1
  1005. package/extensions/zalouser/src/status-issues.ts +2 -2
  1006. package/openclaw.mjs +14 -0
  1007. package/package.json +35 -25
  1008. package/scripts/postinstall.js +1 -0
  1009. package/skills/1password/SKILL.md +3 -3
  1010. package/skills/apple-notes/SKILL.md +2 -2
  1011. package/skills/apple-reminders/SKILL.md +1 -1
  1012. package/skills/bear-notes/SKILL.md +1 -1
  1013. package/skills/bird/SKILL.md +1 -1
  1014. package/skills/blogwatcher/SKILL.md +1 -1
  1015. package/skills/blucli/SKILL.md +1 -1
  1016. package/skills/bluebubbles/SKILL.md +1 -1
  1017. package/skills/camsnap/SKILL.md +1 -1
  1018. package/skills/canvas/SKILL.md +6 -6
  1019. package/skills/clawdhub/SKILL.md +2 -2
  1020. package/skills/coding-agent/SKILL.md +6 -6
  1021. package/skills/discord/SKILL.md +5 -5
  1022. package/skills/eightctl/SKILL.md +1 -1
  1023. package/skills/food-order/SKILL.md +1 -1
  1024. package/skills/gemini/SKILL.md +1 -1
  1025. package/skills/gifgrep/SKILL.md +1 -1
  1026. package/skills/github/SKILL.md +1 -1
  1027. package/skills/gog/SKILL.md +1 -1
  1028. package/skills/goplaces/SKILL.md +1 -1
  1029. package/skills/himalaya/SKILL.md +1 -1
  1030. package/skills/imsg/SKILL.md +1 -1
  1031. package/skills/local-places/SKILL.md +1 -1
  1032. package/skills/mcporter/SKILL.md +1 -1
  1033. package/skills/model-usage/SKILL.md +1 -1
  1034. package/skills/nano-banana-pro/SKILL.md +3 -3
  1035. package/skills/nano-banana-pro/scripts/generate_image.py +1 -1
  1036. package/skills/nano-pdf/SKILL.md +1 -1
  1037. package/skills/notion/SKILL.md +1 -1
  1038. package/skills/obsidian/SKILL.md +1 -1
  1039. package/skills/openai-image-gen/SKILL.md +1 -1
  1040. package/skills/openai-whisper/SKILL.md +1 -1
  1041. package/skills/openai-whisper-api/SKILL.md +2 -2
  1042. package/skills/openhue/SKILL.md +1 -1
  1043. package/skills/oracle/SKILL.md +1 -1
  1044. package/skills/ordercli/SKILL.md +1 -1
  1045. package/skills/peekaboo/SKILL.md +1 -1
  1046. package/skills/sag/SKILL.md +1 -1
  1047. package/skills/session-logs/SKILL.md +1 -1
  1048. package/skills/sherpa-onnx-tts/SKILL.md +2 -2
  1049. package/skills/slack/SKILL.md +4 -4
  1050. package/skills/songsee/SKILL.md +1 -1
  1051. package/skills/sonoscli/SKILL.md +1 -1
  1052. package/skills/spotify-player/SKILL.md +1 -1
  1053. package/skills/summarize/SKILL.md +1 -1
  1054. package/skills/things-mac/SKILL.md +3 -3
  1055. package/skills/tmux/SKILL.md +7 -7
  1056. package/skills/trello/SKILL.md +2 -2
  1057. package/skills/video-frames/SKILL.md +1 -1
  1058. package/skills/voice-call/SKILL.md +4 -4
  1059. package/skills/wacli/SKILL.md +2 -2
  1060. package/skills/weather/SKILL.md +1 -1
  1061. package/dist/control-ui/assets/index-BAFzd9IE.css +0 -1
  1062. package/dist/control-ui/assets/index-CxLFx0Ae.js.map +0 -1
  1063. package/dist/control-ui/pixel_pig_icon.png +0 -0
  1064. package/dist/daemon/legacy.js +0 -44
  1065. /package/dist/config/{types.clawdbot.js → types.openclaw.js} +0 -0
  1066. /package/docs/{whatsapp-clawd.jpg → whatsapp-openclaw.jpg} +0 -0
  1067. /package/extensions/bluebubbles/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1068. /package/extensions/copilot-proxy/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1069. /package/extensions/diagnostics-otel/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1070. /package/extensions/discord/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1071. /package/extensions/google-antigravity-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1072. /package/extensions/google-gemini-cli-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1073. /package/extensions/googlechat/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1074. /package/extensions/imessage/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1075. /package/extensions/line/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1076. /package/extensions/llm-task/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1077. /package/extensions/lobster/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1078. /package/extensions/matrix/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1079. /package/extensions/mattermost/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1080. /package/extensions/memory-core/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1081. /package/extensions/msteams/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1082. /package/extensions/nextcloud-talk/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1083. /package/extensions/nostr/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1084. /package/extensions/open-prose/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1085. /package/extensions/qwen-portal-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1086. /package/extensions/signal/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1087. /package/extensions/slack/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1088. /package/extensions/telegram/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1089. /package/extensions/tlon/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1090. /package/extensions/twitch/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1091. /package/extensions/voice-call/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1092. /package/extensions/whatsapp/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1093. /package/extensions/zalo/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1094. /package/extensions/zalouser/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
@@ -3,7 +3,7 @@ import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import { loadConfig } from "../config/config.js";
5
5
  import { pickPrimaryTailnetIPv4, pickPrimaryTailnetIPv6 } from "../infra/tailnet.js";
6
- import { getWideAreaZonePath, WIDE_AREA_DISCOVERY_DOMAIN } from "../infra/widearea-dns.js";
6
+ import { getWideAreaZonePath, resolveWideAreaDiscoveryDomain } from "../infra/widearea-dns.js";
7
7
  import { defaultRuntime } from "../runtime.js";
8
8
  import { formatDocsLink } from "../terminal/links.js";
9
9
  import { renderTable } from "../terminal/table.js";
@@ -88,16 +88,23 @@ export function registerDnsCli(program) {
88
88
  const dns = program
89
89
  .command("dns")
90
90
  .description("DNS helpers for wide-area discovery (Tailscale + CoreDNS)")
91
- .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/dns", "docs.molt.bot/cli/dns")}\n`);
91
+ .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/dns", "docs.openclaw.ai/cli/dns")}\n`);
92
92
  dns
93
93
  .command("setup")
94
- .description("Set up CoreDNS to serve moltbot.internal for unicast DNS-SD (Wide-Area Bonjour)")
94
+ .description("Set up CoreDNS to serve your discovery domain for unicast DNS-SD (Wide-Area Bonjour)")
95
+ .option("--domain <domain>", "Wide-area discovery domain (e.g. openclaw.internal)")
95
96
  .option("--apply", "Install/update CoreDNS config and (re)start the service (requires sudo)", false)
96
97
  .action(async (opts) => {
97
98
  const cfg = loadConfig();
98
99
  const tailnetIPv4 = pickPrimaryTailnetIPv4();
99
100
  const tailnetIPv6 = pickPrimaryTailnetIPv6();
100
- const zonePath = getWideAreaZonePath();
101
+ const wideAreaDomain = resolveWideAreaDiscoveryDomain({
102
+ configDomain: opts.domain ?? cfg.discovery?.wideArea?.domain,
103
+ });
104
+ if (!wideAreaDomain) {
105
+ throw new Error("No wide-area domain configured. Set discovery.wideArea.domain or pass --domain.");
106
+ }
107
+ const zonePath = getWideAreaZonePath(wideAreaDomain);
101
108
  const tableWidth = Math.max(60, (process.stdout.columns ?? 120) - 1);
102
109
  defaultRuntime.log(theme.heading("DNS setup"));
103
110
  defaultRuntime.log(renderTable({
@@ -107,7 +114,7 @@ export function registerDnsCli(program) {
107
114
  { key: "Value", header: "Value", minWidth: 24, flex: true },
108
115
  ],
109
116
  rows: [
110
- { Key: "Domain", Value: WIDE_AREA_DISCOVERY_DOMAIN },
117
+ { Key: "Domain", Value: wideAreaDomain },
111
118
  { Key: "Zone file", Value: zonePath },
112
119
  {
113
120
  Key: "Tailnet IP",
@@ -116,15 +123,15 @@ export function registerDnsCli(program) {
116
123
  ],
117
124
  }).trimEnd());
118
125
  defaultRuntime.log("");
119
- defaultRuntime.log(theme.heading("Recommended ~/.clawdbot/moltbot.json:"));
126
+ defaultRuntime.log(theme.heading("Recommended ~/.openclaw/openclaw.json:"));
120
127
  defaultRuntime.log(JSON.stringify({
121
128
  gateway: { bind: "auto" },
122
- discovery: { wideArea: { enabled: true } },
129
+ discovery: { wideArea: { enabled: true, domain: wideAreaDomain } },
123
130
  }, null, 2));
124
131
  defaultRuntime.log("");
125
132
  defaultRuntime.log(theme.heading("Tailscale admin (DNS → Nameservers):"));
126
133
  defaultRuntime.log(theme.muted(`- Add nameserver: ${tailnetIPv4 ?? "<this machine's tailnet IPv4>"}`));
127
- defaultRuntime.log(theme.muted("- Restrict to domain (Split DNS): moltbot.internal"));
134
+ defaultRuntime.log(theme.muted(`- Restrict to domain (Split DNS): ${wideAreaDomain.replace(/\.$/, "")}`));
128
135
  if (!opts.apply) {
129
136
  defaultRuntime.log("");
130
137
  defaultRuntime.log(theme.muted("Run with --apply to install CoreDNS and configure it."));
@@ -141,7 +148,7 @@ export function registerDnsCli(program) {
141
148
  const corefilePath = path.join(etcDir, "Corefile");
142
149
  const confDir = path.join(etcDir, "conf.d");
143
150
  const importGlob = path.join(confDir, "*.server");
144
- const serverPath = path.join(confDir, "moltbot.internal.server");
151
+ const serverPath = path.join(confDir, `${wideAreaDomain.replace(/\.$/, "")}.server`);
145
152
  run("brew", ["list", "coredns"], { allowFailure: true });
146
153
  run("brew", ["install", "coredns"], {
147
154
  inherit: true,
@@ -156,7 +163,7 @@ export function registerDnsCli(program) {
156
163
  }
157
164
  const bindArgs = [tailnetIPv4, tailnetIPv6].filter((v) => Boolean(v?.trim()));
158
165
  const server = [
159
- `${WIDE_AREA_DISCOVERY_DOMAIN.replace(/\.$/, "")}:53 {`,
166
+ `${wideAreaDomain.replace(/\.$/, "")}:53 {`,
160
167
  ` bind ${bindArgs.join(" ")}`,
161
168
  ` file ${zonePath} {`,
162
169
  ` reload 10s`,
@@ -175,8 +182,8 @@ export function registerDnsCli(program) {
175
182
  const d = String(new Date().getUTCDate()).padStart(2, "0");
176
183
  const serial = `${y}${m}${d}01`;
177
184
  const zoneLines = [
178
- `; created by moltbot dns setup (will be overwritten by the gateway when wide-area discovery is enabled)`,
179
- `$ORIGIN ${WIDE_AREA_DISCOVERY_DOMAIN}`,
185
+ `; created by openclaw dns setup (will be overwritten by the gateway when wide-area discovery is enabled)`,
186
+ `$ORIGIN ${wideAreaDomain}`,
180
187
  `$TTL 60`,
181
188
  `@ IN SOA ns1 hostmaster ${serial} 7200 3600 1209600 60`,
182
189
  `@ IN NS ns1`,
@@ -193,7 +200,7 @@ export function registerDnsCli(program) {
193
200
  });
194
201
  if (cfg.discovery?.wideArea?.enabled !== true) {
195
202
  defaultRuntime.log("");
196
- defaultRuntime.log(theme.muted("Note: enable discovery.wideArea.enabled in ~/.clawdbot/moltbot.json on the gateway and restart the gateway so it writes the DNS-SD zone."));
203
+ defaultRuntime.log(theme.muted("Note: enable discovery.wideArea.enabled in ~/.openclaw/openclaw.json on the gateway and restart the gateway so it writes the DNS-SD zone."));
197
204
  }
198
205
  });
199
206
  }
@@ -6,9 +6,9 @@ import { runCommandWithRuntime } from "./cli-utils.js";
6
6
  export function registerDocsCli(program) {
7
7
  program
8
8
  .command("docs")
9
- .description("Search the live Moltbot docs")
9
+ .description("Search the live OpenClaw docs")
10
10
  .argument("[query...]", "Search query")
11
- .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/docs", "docs.molt.bot/cli/docs")}\n`)
11
+ .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/docs", "docs.openclaw.ai/cli/docs")}\n`)
12
12
  .action(async (queryParts) => {
13
13
  await runCommandWithRuntime(defaultRuntime, async () => {
14
14
  await docsSearchCommand(queryParts, defaultRuntime);
@@ -172,7 +172,7 @@ export function registerExecApprovalsCli(program) {
172
172
  .command("approvals")
173
173
  .alias("exec-approvals")
174
174
  .description("Manage exec approvals (gateway or node host)")
175
- .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/approvals", "docs.molt.bot/cli/approvals")}\n`);
175
+ .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/approvals", "docs.openclaw.ai/cli/approvals")}\n`);
176
176
  const getCmd = approvals
177
177
  .command("get")
178
178
  .description("Fetch exec approvals snapshot")
@@ -258,7 +258,7 @@ export function registerExecApprovalsCli(program) {
258
258
  const allowlist = approvals
259
259
  .command("allowlist")
260
260
  .description("Edit the per-agent allowlist")
261
- .addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatExample('moltbot approvals allowlist add "~/Projects/**/bin/rg"', "Allowlist a local binary pattern for the main agent.")}\n${formatExample('moltbot approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"', "Allowlist on a specific node/agent.")}\n${formatExample('moltbot approvals allowlist add --agent "*" "/usr/bin/uname"', "Allowlist for all agents (wildcard).")}\n${formatExample('moltbot approvals allowlist remove "~/Projects/**/bin/rg"', "Remove an allowlist pattern.")}\n\n${theme.muted("Docs:")} ${formatDocsLink("/cli/approvals", "docs.molt.bot/cli/approvals")}\n`);
261
+ .addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatExample('openclaw approvals allowlist add "~/Projects/**/bin/rg"', "Allowlist a local binary pattern for the main agent.")}\n${formatExample('openclaw approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"', "Allowlist on a specific node/agent.")}\n${formatExample('openclaw approvals allowlist add --agent "*" "/usr/bin/uname"', "Allowlist for all agents (wildcard).")}\n${formatExample('openclaw approvals allowlist remove "~/Projects/**/bin/rg"', "Remove an allowlist pattern.")}\n\n${theme.muted("Docs:")} ${formatDocsLink("/cli/approvals", "docs.openclaw.ai/cli/approvals")}\n`);
262
262
  const allowlistAdd = allowlist
263
263
  .command("add <pattern>")
264
264
  .description("Add a glob pattern to an allowlist")
@@ -3,7 +3,7 @@ import os from "node:os";
3
3
  import path from "node:path";
4
4
  import { resolveDefaultAgentWorkspaceDir } from "../../agents/workspace.js";
5
5
  import { handleReset } from "../../commands/onboard-helpers.js";
6
- import { CONFIG_PATH, writeConfigFile } from "../../config/config.js";
6
+ import { createConfigIO, writeConfigFile } from "../../config/config.js";
7
7
  import { defaultRuntime } from "../../runtime.js";
8
8
  import { resolveUserPath, shortenHomePath } from "../../utils.js";
9
9
  const DEV_IDENTITY_NAME = "C3-PO";
@@ -27,7 +27,7 @@ async function loadDevTemplate(name, fallback) {
27
27
  }
28
28
  const resolveDevWorkspaceDir = (env = process.env) => {
29
29
  const baseDir = resolveDefaultAgentWorkspaceDir(env, os.homedir);
30
- const profile = env.CLAWDBOT_PROFILE?.trim().toLowerCase();
30
+ const profile = env.OPENCLAW_PROFILE?.trim().toLowerCase();
31
31
  if (profile === "dev")
32
32
  return baseDir;
33
33
  return `${baseDir}-${DEV_AGENT_WORKSPACE_SUFFIX}`;
@@ -49,7 +49,7 @@ async function ensureDevWorkspace(dir) {
49
49
  const resolvedDir = resolveUserPath(dir);
50
50
  await fs.promises.mkdir(resolvedDir, { recursive: true });
51
51
  const [agents, soul, tools, identity, user] = await Promise.all([
52
- loadDevTemplate("AGENTS.dev.md", `# AGENTS.md - Moltbot Dev Workspace\n\nDefault dev workspace for moltbot gateway --dev.\n`),
52
+ loadDevTemplate("AGENTS.dev.md", `# AGENTS.md - OpenClaw Dev Workspace\n\nDefault dev workspace for openclaw gateway --dev.\n`),
53
53
  loadDevTemplate("SOUL.dev.md", `# SOUL.md - Dev Persona\n\nProtocol droid for debugging and operations.\n`),
54
54
  loadDevTemplate("TOOLS.dev.md", `# TOOLS.md - User Tool Notes (editable)\n\nAdd your local tool notes here.\n`),
55
55
  loadDevTemplate("IDENTITY.dev.md", `# IDENTITY.md - Agent Identity\n\n- Name: ${DEV_IDENTITY_NAME}\n- Creature: protocol droid\n- Vibe: ${DEV_IDENTITY_THEME}\n- Emoji: ${DEV_IDENTITY_EMOJI}\n`),
@@ -66,7 +66,9 @@ export async function ensureDevGatewayConfig(opts) {
66
66
  if (opts.reset) {
67
67
  await handleReset("full", workspace, defaultRuntime);
68
68
  }
69
- const configExists = fs.existsSync(CONFIG_PATH);
69
+ const io = createConfigIO();
70
+ const configPath = io.configPath;
71
+ const configExists = fs.existsSync(configPath);
70
72
  if (!opts.reset && configExists)
71
73
  return;
72
74
  await writeConfigFile({
@@ -94,6 +96,6 @@ export async function ensureDevGatewayConfig(opts) {
94
96
  },
95
97
  });
96
98
  await ensureDevWorkspace(workspace);
97
- defaultRuntime.log(`Dev config ready: ${shortenHomePath(CONFIG_PATH)}`);
99
+ defaultRuntime.log(`Dev config ready: ${shortenHomePath(configPath)}`);
98
100
  defaultRuntime.log(`Dev workspace ready: ${shortenHomePath(resolveUserPath(workspace))}`);
99
101
  }
@@ -1,7 +1,8 @@
1
1
  import { gatewayStatusCommand } from "../../commands/gateway-status.js";
2
2
  import { formatHealthChannelLines } from "../../commands/health.js";
3
+ import { loadConfig } from "../../config/config.js";
3
4
  import { discoverGatewayBeacons } from "../../infra/bonjour-discovery.js";
4
- import { WIDE_AREA_DISCOVERY_DOMAIN } from "../../infra/widearea-dns.js";
5
+ import { resolveWideAreaDiscoveryDomain } from "../../infra/widearea-dns.js";
5
6
  import { defaultRuntime } from "../../runtime.js";
6
7
  import { formatDocsLink } from "../../terminal/links.js";
7
8
  import { colorize, isRich, theme } from "../../terminal/theme.js";
@@ -77,7 +78,7 @@ export function registerGatewayCli(program) {
77
78
  const gateway = addGatewayRunCommand(program
78
79
  .command("gateway")
79
80
  .description("Run the WebSocket Gateway")
80
- .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/gateway", "docs.molt.bot/cli/gateway")}\n`));
81
+ .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/gateway", "docs.openclaw.ai/cli/gateway")}\n`));
81
82
  addGatewayRunCommand(gateway.command("run").description("Run the WebSocket Gateway (foreground)"));
82
83
  gateway
83
84
  .command("status")
@@ -213,18 +214,23 @@ export function registerGatewayCli(program) {
213
214
  });
214
215
  gateway
215
216
  .command("discover")
216
- .description(`Discover gateways via Bonjour (multicast local. + unicast ${WIDE_AREA_DISCOVERY_DOMAIN})`)
217
+ .description("Discover gateways via Bonjour (local + wide-area if configured)")
217
218
  .option("--timeout <ms>", "Per-command timeout in ms", "2000")
218
219
  .option("--json", "Output JSON", false)
219
220
  .action(async (opts) => {
220
221
  await runGatewayCommand(async () => {
222
+ const cfg = loadConfig();
223
+ const wideAreaDomain = resolveWideAreaDiscoveryDomain({
224
+ configDomain: cfg.discovery?.wideArea?.domain,
225
+ });
221
226
  const timeoutMs = parseDiscoverTimeoutMs(opts.timeout, 2000);
227
+ const domains = ["local.", ...(wideAreaDomain ? [wideAreaDomain] : [])];
222
228
  const beacons = await withProgress({
223
229
  label: "Scanning for gateways…",
224
230
  indeterminate: true,
225
231
  enabled: opts.json !== true,
226
232
  delayMs: 0,
227
- }, async () => await discoverGatewayBeacons({ timeoutMs }));
233
+ }, async () => await discoverGatewayBeacons({ timeoutMs, wideAreaDomain }));
228
234
  const deduped = dedupeBeacons(beacons).sort((a, b) => String(a.displayName || a.instanceName).localeCompare(String(b.displayName || b.instanceName)));
229
235
  if (opts.json) {
230
236
  const enriched = deduped.map((b) => {
@@ -234,7 +240,7 @@ export function registerGatewayCli(program) {
234
240
  });
235
241
  defaultRuntime.log(JSON.stringify({
236
242
  timeoutMs,
237
- domains: ["local.", WIDE_AREA_DISCOVERY_DOMAIN],
243
+ domains,
238
244
  count: enriched.length,
239
245
  beacons: enriched,
240
246
  }, null, 2));
@@ -242,7 +248,7 @@ export function registerGatewayCli(program) {
242
248
  }
243
249
  const rich = isRich();
244
250
  defaultRuntime.log(colorize(rich, theme.heading, "Gateway Discovery"));
245
- defaultRuntime.log(colorize(rich, theme.muted, `Found ${deduped.length} gateway(s) · domains: local., ${WIDE_AREA_DISCOVERY_DOMAIN}`));
251
+ defaultRuntime.log(colorize(rich, theme.muted, `Found ${deduped.length} gateway(s) · domains: ${domains.join(", ")}`));
246
252
  if (deduped.length === 0)
247
253
  return;
248
254
  for (const beacon of deduped) {
@@ -16,7 +16,7 @@ import { runGatewayLoop } from "./run-loop.js";
16
16
  import { describeUnknownError, extractGatewayMiskeys, maybeExplainGatewayServiceStop, parsePort, toOptionString, } from "./shared.js";
17
17
  const gatewayLog = createSubsystemLogger("gateway");
18
18
  async function runGatewayCommand(opts) {
19
- const isDevProfile = process.env.CLAWDBOT_PROFILE?.trim().toLowerCase() === "dev";
19
+ const isDevProfile = process.env.OPENCLAW_PROFILE?.trim().toLowerCase() === "dev";
20
20
  const devMode = Boolean(opts.dev) || isDevProfile;
21
21
  if (opts.reset && !devMode) {
22
22
  defaultRuntime.error("Use --reset with --dev.");
@@ -27,7 +27,7 @@ async function runGatewayCommand(opts) {
27
27
  setVerbose(Boolean(opts.verbose));
28
28
  if (opts.claudeCliLogs) {
29
29
  setConsoleSubsystemFilter(["agent/claude-cli"]);
30
- process.env.CLAWDBOT_CLAUDE_CLI_LOG_OUTPUT = "1";
30
+ process.env.OPENCLAW_CLAUDE_CLI_LOG_OUTPUT = "1";
31
31
  }
32
32
  const wsLogRaw = (opts.compact ? "compact" : opts.wsLog);
33
33
  const wsLogStyle = wsLogRaw === "compact" ? "compact" : wsLogRaw === "full" ? "full" : "auto";
@@ -40,11 +40,11 @@ async function runGatewayCommand(opts) {
40
40
  }
41
41
  setGatewayWsLogStyle(wsLogStyle);
42
42
  if (opts.rawStream) {
43
- process.env.CLAWDBOT_RAW_STREAM = "1";
43
+ process.env.OPENCLAW_RAW_STREAM = "1";
44
44
  }
45
45
  const rawStreamPath = toOptionString(opts.rawStreamPath);
46
46
  if (rawStreamPath) {
47
- process.env.CLAWDBOT_RAW_STREAM_PATH = rawStreamPath;
47
+ process.env.OPENCLAW_RAW_STREAM_PATH = rawStreamPath;
48
48
  }
49
49
  if (devMode) {
50
50
  await ensureDevGatewayConfig({ reset: Boolean(opts.reset) });
@@ -90,8 +90,9 @@ async function runGatewayCommand(opts) {
90
90
  }
91
91
  if (opts.token) {
92
92
  const token = toOptionString(opts.token);
93
- if (token)
94
- process.env.CLAWDBOT_GATEWAY_TOKEN = token;
93
+ if (token) {
94
+ process.env.OPENCLAW_GATEWAY_TOKEN = token;
95
+ }
95
96
  }
96
97
  const authModeRaw = toOptionString(opts.auth);
97
98
  const authMode = authModeRaw === "token" || authModeRaw === "password" ? authModeRaw : null;
@@ -111,11 +112,12 @@ async function runGatewayCommand(opts) {
111
112
  }
112
113
  const passwordRaw = toOptionString(opts.password);
113
114
  const tokenRaw = toOptionString(opts.token);
114
- const configExists = fs.existsSync(CONFIG_PATH);
115
+ const snapshot = await readConfigFileSnapshot().catch(() => null);
116
+ const configExists = snapshot?.exists ?? fs.existsSync(CONFIG_PATH);
115
117
  const mode = cfg.gateway?.mode;
116
118
  if (!opts.allowUnconfigured && mode !== "local") {
117
119
  if (!configExists) {
118
- defaultRuntime.error(`Missing config. Run \`${formatCliCommand("moltbot setup")}\` or set gateway.mode=local (or pass --allow-unconfigured).`);
120
+ defaultRuntime.error(`Missing config. Run \`${formatCliCommand("openclaw setup")}\` or set gateway.mode=local (or pass --allow-unconfigured).`);
119
121
  }
120
122
  else {
121
123
  defaultRuntime.error(`Gateway start blocked: set gateway.mode=local (current: ${mode ?? "unset"}) or pass --allow-unconfigured.`);
@@ -136,7 +138,6 @@ async function runGatewayCommand(opts) {
136
138
  defaultRuntime.exit(1);
137
139
  return;
138
140
  }
139
- const snapshot = await readConfigFileSnapshot().catch(() => null);
140
141
  const miskeys = extractGatewayMiskeys(snapshot?.parsed);
141
142
  const authConfig = {
142
143
  ...cfg.gateway?.auth,
@@ -165,7 +166,7 @@ async function runGatewayCommand(opts) {
165
166
  if (resolvedAuthMode === "token" && !hasToken && !resolvedAuth.allowTailscale) {
166
167
  defaultRuntime.error([
167
168
  "Gateway auth is set to token, but no token is configured.",
168
- "Set gateway.auth.token (or CLAWDBOT_GATEWAY_TOKEN), or pass --token.",
169
+ "Set gateway.auth.token (or OPENCLAW_GATEWAY_TOKEN), or pass --token.",
169
170
  ...authHints,
170
171
  ]
171
172
  .filter(Boolean)
@@ -176,7 +177,7 @@ async function runGatewayCommand(opts) {
176
177
  if (resolvedAuthMode === "password" && !hasPassword) {
177
178
  defaultRuntime.error([
178
179
  "Gateway auth is set to password, but no password is configured.",
179
- "Set gateway.auth.password (or CLAWDBOT_GATEWAY_PASSWORD), or pass --password.",
180
+ "Set gateway.auth.password (or OPENCLAW_GATEWAY_PASSWORD), or pass --password.",
180
181
  ...authHints,
181
182
  ]
182
183
  .filter(Boolean)
@@ -187,7 +188,7 @@ async function runGatewayCommand(opts) {
187
188
  if (bind !== "loopback" && !hasSharedSecret) {
188
189
  defaultRuntime.error([
189
190
  `Refusing to bind gateway to ${bind} without auth.`,
190
- "Set gateway.auth.token/password (or CLAWDBOT_GATEWAY_TOKEN/CLAWDBOT_GATEWAY_PASSWORD) or pass --token/--password.",
191
+ "Set gateway.auth.token/password (or OPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD) or pass --token/--password.",
191
192
  ...authHints,
192
193
  ]
193
194
  .filter(Boolean)
@@ -220,7 +221,7 @@ async function runGatewayCommand(opts) {
220
221
  if (err instanceof GatewayLockError ||
221
222
  (err && typeof err === "object" && err.name === "GatewayLockError")) {
222
223
  const errMessage = describeUnknownError(err);
223
- defaultRuntime.error(`Gateway failed to start: ${errMessage}\nIf the gateway is supervised, stop it with: ${formatCliCommand("moltbot gateway stop")}`);
224
+ defaultRuntime.error(`Gateway failed to start: ${errMessage}\nIf the gateway is supervised, stop it with: ${formatCliCommand("openclaw gateway stop")}`);
224
225
  try {
225
226
  const diagnostics = await inspectPortUsage(port);
226
227
  if (diagnostics.status === "busy") {
@@ -244,7 +245,7 @@ export function addGatewayRunCommand(cmd) {
244
245
  return cmd
245
246
  .option("--port <port>", "Port for the gateway WebSocket")
246
247
  .option("--bind <mode>", 'Bind mode ("loopback"|"lan"|"tailnet"|"auto"|"custom"). Defaults to config gateway.bind (or loopback).')
247
- .option("--token <token>", "Shared token required in connect.params.auth.token (default: CLAWDBOT_GATEWAY_TOKEN env if set)")
248
+ .option("--token <token>", "Shared token required in connect.params.auth.token (default: OPENCLAW_GATEWAY_TOKEN env if set)")
248
249
  .option("--auth <mode>", 'Gateway auth mode ("token"|"password")')
249
250
  .option("--password <password>", "Password for auth mode=password")
250
251
  .option("--tailscale <mode>", 'Tailscale exposure mode ("off"|"serve"|"funnel")')
@@ -60,25 +60,25 @@ export function extractGatewayMiskeys(parsed) {
60
60
  return { hasGatewayToken, hasRemoteToken };
61
61
  }
62
62
  export function renderGatewayServiceStopHints(env = process.env) {
63
- const profile = env.CLAWDBOT_PROFILE;
63
+ const profile = env.OPENCLAW_PROFILE;
64
64
  switch (process.platform) {
65
65
  case "darwin":
66
66
  return [
67
- `Tip: ${formatCliCommand("moltbot gateway stop")}`,
67
+ `Tip: ${formatCliCommand("openclaw gateway stop")}`,
68
68
  `Or: launchctl bootout gui/$UID/${resolveGatewayLaunchAgentLabel(profile)}`,
69
69
  ];
70
70
  case "linux":
71
71
  return [
72
- `Tip: ${formatCliCommand("moltbot gateway stop")}`,
72
+ `Tip: ${formatCliCommand("openclaw gateway stop")}`,
73
73
  `Or: systemctl --user stop ${resolveGatewaySystemdServiceName(profile)}.service`,
74
74
  ];
75
75
  case "win32":
76
76
  return [
77
- `Tip: ${formatCliCommand("moltbot gateway stop")}`,
77
+ `Tip: ${formatCliCommand("openclaw gateway stop")}`,
78
78
  `Or: schtasks /End /TN "${resolveGatewayWindowsTaskName(profile)}"`,
79
79
  ];
80
80
  default:
81
- return [`Tip: ${formatCliCommand("moltbot gateway stop")}`];
81
+ return [`Tip: ${formatCliCommand("openclaw gateway stop")}`];
82
82
  }
83
83
  }
84
84
  export async function maybeExplainGatewayServiceStop() {
@@ -105,7 +105,7 @@ export function formatHooksList(report, opts) {
105
105
  }
106
106
  if (hooks.length === 0) {
107
107
  const message = opts.eligible
108
- ? `No eligible hooks found. Run \`${formatCliCommand("moltbot hooks list")}\` to see all hooks.`
108
+ ? `No eligible hooks found. Run \`${formatCliCommand("openclaw hooks list")}\` to see all hooks.`
109
109
  : "No hooks found.";
110
110
  return message;
111
111
  }
@@ -148,7 +148,7 @@ export function formatHookInfo(report, hookName, opts) {
148
148
  if (opts.json) {
149
149
  return JSON.stringify({ error: "not found", hook: hookName }, null, 2);
150
150
  }
151
- return `Hook "${hookName}" not found. Run \`${formatCliCommand("moltbot hooks list")}\` to see available hooks.`;
151
+ return `Hook "${hookName}" not found. Run \`${formatCliCommand("openclaw hooks list")}\` to see available hooks.`;
152
152
  }
153
153
  if (opts.json) {
154
154
  return JSON.stringify(hook, null, 2);
@@ -337,7 +337,7 @@ export function registerHooksCli(program) {
337
337
  const hooks = program
338
338
  .command("hooks")
339
339
  .description("Manage internal agent hooks")
340
- .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/hooks", "docs.molt.bot/cli/hooks")}\n`);
340
+ .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/hooks", "docs.openclaw.ai/cli/hooks")}\n`);
341
341
  hooks
342
342
  .command("list")
343
343
  .description("List all hooks")
@@ -69,7 +69,7 @@ function createLogWriters() {
69
69
  onBrokenPipe: (err, stream) => {
70
70
  const code = err.code ?? "EPIPE";
71
71
  const target = stream === process.stdout ? "stdout" : "stderr";
72
- const message = `moltbot logs: output ${target} closed (${code}). Stopping tail.`;
72
+ const message = `openclaw logs: output ${target} closed (${code}). Stopping tail.`;
73
73
  try {
74
74
  clearActiveProgressLine();
75
75
  process.stderr.write(`${message}\n`);
@@ -88,7 +88,7 @@ function createLogWriters() {
88
88
  function emitGatewayError(err, opts, mode, rich, emitJsonLine, errorLine) {
89
89
  const details = buildGatewayConnectionDetails({ url: opts.url });
90
90
  const message = "Gateway not reachable. Is it running and accessible?";
91
- const hint = `Hint: run \`${formatCliCommand("moltbot doctor")}\`.`;
91
+ const hint = `Hint: run \`${formatCliCommand("openclaw doctor")}\`.`;
92
92
  const errorText = err instanceof Error ? err.message : String(err);
93
93
  if (mode === "json") {
94
94
  if (!emitJsonLine({
@@ -119,7 +119,7 @@ export function registerLogsCli(program) {
119
119
  .option("--json", "Emit JSON log lines", false)
120
120
  .option("--plain", "Plain text output (no ANSI styling)", false)
121
121
  .option("--no-color", "Disable ANSI colors")
122
- .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/logs", "docs.molt.bot/cli/logs")}\n`);
122
+ .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/logs", "docs.openclaw.ai/cli/logs")}\n`);
123
123
  addGatewayClientOptions(logs);
124
124
  logs.action(async (opts) => {
125
125
  const { logLine, errorLine, emitJsonLine } = createLogWriters();
@@ -9,7 +9,7 @@ import { setVerbose } from "../globals.js";
9
9
  import { withProgress, withProgressTotals } from "./progress.js";
10
10
  import { formatErrorMessage, withManager } from "./cli-utils.js";
11
11
  import { getMemorySearchManager } from "../memory/index.js";
12
- import { listMemoryFiles } from "../memory/internal.js";
12
+ import { listMemoryFiles, normalizeExtraMemoryPaths } from "../memory/internal.js";
13
13
  import { defaultRuntime } from "../runtime.js";
14
14
  import { formatDocsLink } from "../terminal/links.js";
15
15
  import { colorize, isRich, theme } from "../terminal/theme.js";
@@ -41,6 +41,9 @@ function resolveAgentIds(cfg, agent) {
41
41
  }
42
42
  return [resolveDefaultAgentId(cfg)];
43
43
  }
44
+ function formatExtraPaths(workspaceDir, extraPaths) {
45
+ return normalizeExtraMemoryPaths(workspaceDir, extraPaths).map((entry) => shortenHomePath(entry));
46
+ }
44
47
  async function checkReadableFile(pathname) {
45
48
  try {
46
49
  await fs.access(pathname, fsSync.constants.R_OK);
@@ -74,7 +77,7 @@ async function scanSessionFiles(agentId) {
74
77
  return { source: "sessions", totalFiles: null, issues };
75
78
  }
76
79
  }
77
- async function scanMemoryFiles(workspaceDir) {
80
+ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
78
81
  const issues = [];
79
82
  const memoryFile = path.join(workspaceDir, "MEMORY.md");
80
83
  const altMemoryFile = path.join(workspaceDir, "memory.md");
@@ -85,6 +88,26 @@ async function scanMemoryFiles(workspaceDir) {
85
88
  issues.push(primary.issue);
86
89
  if (alt.issue)
87
90
  issues.push(alt.issue);
91
+ const resolvedExtraPaths = normalizeExtraMemoryPaths(workspaceDir, extraPaths);
92
+ for (const extraPath of resolvedExtraPaths) {
93
+ try {
94
+ const stat = await fs.lstat(extraPath);
95
+ if (stat.isSymbolicLink())
96
+ continue;
97
+ const extraCheck = await checkReadableFile(extraPath);
98
+ if (extraCheck.issue)
99
+ issues.push(extraCheck.issue);
100
+ }
101
+ catch (err) {
102
+ const code = err.code;
103
+ if (code === "ENOENT") {
104
+ issues.push(`additional memory path missing (${shortenHomePath(extraPath)})`);
105
+ }
106
+ else {
107
+ issues.push(`additional memory path not accessible (${shortenHomePath(extraPath)}): ${code ?? "error"}`);
108
+ }
109
+ }
110
+ }
88
111
  let dirReadable = null;
89
112
  try {
90
113
  await fs.access(memoryDir, fsSync.constants.R_OK);
@@ -104,7 +127,7 @@ async function scanMemoryFiles(workspaceDir) {
104
127
  let listed = [];
105
128
  let listedOk = false;
106
129
  try {
107
- listed = await listMemoryFiles(workspaceDir);
130
+ listed = await listMemoryFiles(workspaceDir, resolvedExtraPaths);
108
131
  listedOk = true;
109
132
  }
110
133
  catch (err) {
@@ -135,9 +158,10 @@ async function scanMemoryFiles(workspaceDir) {
135
158
  }
136
159
  async function scanMemorySources(params) {
137
160
  const scans = [];
161
+ const extraPaths = params.extraPaths ?? [];
138
162
  for (const source of params.sources) {
139
163
  if (source === "memory") {
140
- scans.push(await scanMemoryFiles(params.workspaceDir));
164
+ scans.push(await scanMemoryFiles(params.workspaceDir, extraPaths));
141
165
  }
142
166
  if (source === "sessions") {
143
167
  scans.push(await scanSessionFiles(params.agentId));
@@ -212,6 +236,7 @@ export async function runMemoryStatus(opts) {
212
236
  workspaceDir: status.workspaceDir,
213
237
  agentId,
214
238
  sources,
239
+ extraPaths: status.extraPaths,
215
240
  });
216
241
  allResults.push({ agentId, status, embeddingProbe, indexError, scan });
217
242
  },
@@ -239,11 +264,13 @@ export async function runMemoryStatus(opts) {
239
264
  const line = indexError ? `Memory index failed: ${indexError}` : "Memory index complete.";
240
265
  defaultRuntime.log(line);
241
266
  }
267
+ const extraPaths = formatExtraPaths(status.workspaceDir, status.extraPaths ?? []);
242
268
  const lines = [
243
269
  `${heading("Memory Search")} ${muted(`(${agentId})`)}`,
244
270
  `${label("Provider")} ${info(status.provider)} ${muted(`(requested: ${status.requestedProvider})`)}`,
245
271
  `${label("Model")} ${info(status.model)}`,
246
272
  status.sources?.length ? `${label("Sources")} ${info(status.sources.join(", "))}` : null,
273
+ extraPaths.length ? `${label("Extra paths")} ${info(extraPaths.join(", "))}` : null,
247
274
  `${label("Indexed")} ${success(indexedLabel)}`,
248
275
  `${label("Dirty")} ${status.dirty ? warn("yes") : muted("no")}`,
249
276
  `${label("Store")} ${info(shortenHomePath(status.dbPath))}`,
@@ -350,7 +377,7 @@ export function registerMemoryCli(program) {
350
377
  const memory = program
351
378
  .command("memory")
352
379
  .description("Memory search tools")
353
- .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/memory", "docs.molt.bot/cli/memory")}\n`);
380
+ .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/memory", "docs.openclaw.ai/cli/memory")}\n`);
354
381
  memory
355
382
  .command("status")
356
383
  .description("Show memory search index status")
@@ -389,6 +416,7 @@ export function registerMemoryCli(program) {
389
416
  const warn = (text) => colorize(rich, theme.warn, text);
390
417
  const label = (text) => muted(`${text}:`);
391
418
  const sourceLabels = status.sources.map((source) => formatSourceLabel(source, status.workspaceDir, agentId));
419
+ const extraPaths = formatExtraPaths(status.workspaceDir, status.extraPaths ?? []);
392
420
  const lines = [
393
421
  `${heading("Memory Index")} ${muted(`(${agentId})`)}`,
394
422
  `${label("Provider")} ${info(status.provider)} ${muted(`(requested: ${status.requestedProvider})`)}`,
@@ -396,6 +424,9 @@ export function registerMemoryCli(program) {
396
424
  sourceLabels.length
397
425
  ? `${label("Sources")} ${info(sourceLabels.join(", "))}`
398
426
  : null,
427
+ extraPaths.length
428
+ ? `${label("Extra paths")} ${info(extraPaths.join(", "))}`
429
+ : null,
399
430
  ].filter(Boolean);
400
431
  if (status.fallback) {
401
432
  lines.push(`${label("Fallback")} ${warn(status.fallback.from)}`);
@@ -12,7 +12,7 @@ export function registerModelsCli(program) {
12
12
  .description("Model discovery, scanning, and configuration")
13
13
  .option("--status-json", "Output JSON (alias for `models status --json`)", false)
14
14
  .option("--status-plain", "Plain output (alias for `models status --plain`)", false)
15
- .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/models", "docs.molt.bot/cli/models")}\n`);
15
+ .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/models", "docs.openclaw.ai/cli/models")}\n`);
16
16
  models
17
17
  .command("list")
18
18
  .description("List models (configured by default)")
@@ -14,7 +14,7 @@ import { formatCliCommand } from "../command-format.js";
14
14
  import { buildDaemonServiceSnapshot, createNullWriter, emitDaemonActionJson, } from "../daemon-cli/response.js";
15
15
  import { formatRuntimeStatus, parsePort } from "../daemon-cli/shared.js";
16
16
  function renderNodeServiceStartHints() {
17
- const base = [formatCliCommand("moltbot node install"), formatCliCommand("moltbot node start")];
17
+ const base = [formatCliCommand("openclaw node install"), formatCliCommand("openclaw node start")];
18
18
  switch (process.platform) {
19
19
  case "darwin":
20
20
  return [
@@ -117,7 +117,7 @@ export async function runNodeDaemonInstall(opts) {
117
117
  });
118
118
  if (!json) {
119
119
  defaultRuntime.log(`Node service already ${service.loadedText}.`);
120
- defaultRuntime.log(`Reinstall with: ${formatCliCommand("moltbot node install --force")}`);
120
+ defaultRuntime.log(`Reinstall with: ${formatCliCommand("openclaw node install --force")}`);
121
121
  }
122
122
  return;
123
123
  }
@@ -463,7 +463,7 @@ export async function runNodeDaemonStatus(opts = {}) {
463
463
  };
464
464
  const hintEnv = {
465
465
  ...baseEnv,
466
- CLAWDBOT_LOG_PREFIX: baseEnv.CLAWDBOT_LOG_PREFIX ?? "node",
466
+ OPENCLAW_LOG_PREFIX: baseEnv.OPENCLAW_LOG_PREFIX ?? "node",
467
467
  };
468
468
  if (runtime?.missingUnit) {
469
469
  defaultRuntime.error(errorText("Service unit not found."));
@@ -12,7 +12,7 @@ export function registerNodeCli(program) {
12
12
  const node = program
13
13
  .command("node")
14
14
  .description("Run a headless node host (system.run/system.which)")
15
- .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/node", "docs.molt.bot/cli/node")}\n`);
15
+ .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/node", "docs.openclaw.ai/cli/node")}\n`);
16
16
  node
17
17
  .command("run")
18
18
  .description("Run the headless node host (foreground)")
@@ -189,7 +189,7 @@ export function registerNodesCanvasCommands(nodes) {
189
189
  : await fs.readFile(String(opts.jsonl), "utf8");
190
190
  const { version, messageCount } = validateA2UIJsonl(jsonl);
191
191
  if (version === "v0.9") {
192
- throw new Error("Detected A2UI v0.9 JSONL (createSurface). Moltbot currently supports v0.8 only.");
192
+ throw new Error("Detected A2UI v0.9 JSONL (createSurface). OpenClaw currently supports v0.8 only.");
193
193
  }
194
194
  await invokeCanvas(opts, "canvas.a2ui.pushJSONL", { jsonl });
195
195
  if (!opts.json) {
@@ -12,7 +12,7 @@ export function registerNodesCli(program) {
12
12
  const nodes = program
13
13
  .command("nodes")
14
14
  .description("Manage gateway-owned node pairing")
15
- .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/nodes", "docs.molt.bot/cli/nodes")}\n`);
15
+ .addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/nodes", "docs.openclaw.ai/cli/nodes")}\n`);
16
16
  registerNodesStatusCommands(nodes);
17
17
  registerNodesPairingCommands(nodes);
18
18
  registerNodesInvokeCommands(nodes);