@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
@@ -44,7 +44,7 @@ async function promptChannelMode(runtime) {
44
44
  {
45
45
  value: "remove",
46
46
  label: "Remove channel config",
47
- hint: "Delete channel tokens/settings from moltbot.json",
47
+ hint: "Delete channel tokens/settings from openclaw.json",
48
48
  },
49
49
  ],
50
50
  initialValue: "configure",
@@ -57,7 +57,7 @@ async function promptWebToolsConfig(nextConfig, runtime) {
57
57
  note([
58
58
  "Web search lets your agent look things up online using the `web_search` tool.",
59
59
  "It requires a Brave Search API key (you can store it in the config or set BRAVE_API_KEY in the Gateway environment).",
60
- "Docs: https://docs.molt.bot/tools/web",
60
+ "Docs: https://docs.openclaw.ai/tools/web",
61
61
  ].join("\n"), "Web search");
62
62
  const enableSearch = guardCancel(await confirm({
63
63
  message: "Enable web_search (Brave Search)?",
@@ -82,7 +82,7 @@ async function promptWebToolsConfig(nextConfig, runtime) {
82
82
  note([
83
83
  "No key stored yet, so web_search will stay unavailable.",
84
84
  "Store a key here or set BRAVE_API_KEY in the Gateway environment.",
85
- "Docs: https://docs.molt.bot/tools/web",
85
+ "Docs: https://docs.openclaw.ai/tools/web",
86
86
  ].join("\n"), "Web search");
87
87
  }
88
88
  }
@@ -109,7 +109,7 @@ async function promptWebToolsConfig(nextConfig, runtime) {
109
109
  export async function runConfigureWizard(opts, runtime = defaultRuntime) {
110
110
  try {
111
111
  printWizardHeader(runtime);
112
- intro(opts.command === "update" ? "Moltbot update wizard" : "Moltbot configure");
112
+ intro(opts.command === "update" ? "OpenClaw update wizard" : "OpenClaw configure");
113
113
  const prompter = createClackPrompter();
114
114
  const snapshot = await readConfigFileSnapshot();
115
115
  const baseConfig = snapshot.valid ? snapshot.config : {};
@@ -120,11 +120,11 @@ export async function runConfigureWizard(opts, runtime = defaultRuntime) {
120
120
  note([
121
121
  ...snapshot.issues.map((iss) => `- ${iss.path}: ${iss.message}`),
122
122
  "",
123
- "Docs: https://docs.molt.bot/gateway/configuration",
123
+ "Docs: https://docs.openclaw.ai/gateway/configuration",
124
124
  ].join("\n"), "Config issues");
125
125
  }
126
126
  if (!snapshot.valid) {
127
- outro(`Config invalid. Run \`${formatCliCommand("moltbot doctor")}\` to repair it, then re-run configure.`);
127
+ outro(`Config invalid. Run \`${formatCliCommand("openclaw doctor")}\` to repair it, then re-run configure.`);
128
128
  runtime.exit(1);
129
129
  return;
130
130
  }
@@ -132,8 +132,8 @@ export async function runConfigureWizard(opts, runtime = defaultRuntime) {
132
132
  const localUrl = "ws://127.0.0.1:18789";
133
133
  const localProbe = await probeGatewayReachable({
134
134
  url: localUrl,
135
- token: baseConfig.gateway?.auth?.token ?? process.env.CLAWDBOT_GATEWAY_TOKEN,
136
- password: baseConfig.gateway?.auth?.password ?? process.env.CLAWDBOT_GATEWAY_PASSWORD,
135
+ token: baseConfig.gateway?.auth?.token ?? process.env.OPENCLAW_GATEWAY_TOKEN,
136
+ password: baseConfig.gateway?.auth?.password ?? process.env.OPENCLAW_GATEWAY_PASSWORD,
137
137
  });
138
138
  const remoteUrl = baseConfig.gateway?.remote?.url?.trim() ?? "";
139
139
  const remoteProbe = remoteUrl
@@ -192,7 +192,7 @@ export async function runConfigureWizard(opts, runtime = defaultRuntime) {
192
192
  let gatewayPort = resolveGatewayPort(baseConfig);
193
193
  let gatewayToken = nextConfig.gateway?.auth?.token ??
194
194
  baseConfig.gateway?.auth?.token ??
195
- process.env.CLAWDBOT_GATEWAY_TOKEN;
195
+ process.env.OPENCLAW_GATEWAY_TOKEN;
196
196
  const persistConfig = async () => {
197
197
  nextConfig = applyWizardMetadata(nextConfig, {
198
198
  command: opts.command,
@@ -277,8 +277,8 @@ export async function runConfigureWizard(opts, runtime = defaultRuntime) {
277
277
  });
278
278
  const remoteUrl = nextConfig.gateway?.remote?.url?.trim();
279
279
  const wsUrl = nextConfig.gateway?.mode === "remote" && remoteUrl ? remoteUrl : localLinks.wsUrl;
280
- const token = nextConfig.gateway?.auth?.token ?? process.env.CLAWDBOT_GATEWAY_TOKEN;
281
- const password = nextConfig.gateway?.auth?.password ?? process.env.CLAWDBOT_GATEWAY_PASSWORD;
280
+ const token = nextConfig.gateway?.auth?.token ?? process.env.OPENCLAW_GATEWAY_TOKEN;
281
+ const password = nextConfig.gateway?.auth?.password ?? process.env.OPENCLAW_GATEWAY_PASSWORD;
282
282
  await waitForGatewayReachable({
283
283
  url: wsUrl,
284
284
  token,
@@ -292,8 +292,8 @@ export async function runConfigureWizard(opts, runtime = defaultRuntime) {
292
292
  runtime.error(formatHealthCheckFailure(err));
293
293
  note([
294
294
  "Docs:",
295
- "https://docs.molt.bot/gateway/health",
296
- "https://docs.molt.bot/gateway/troubleshooting",
295
+ "https://docs.openclaw.ai/gateway/health",
296
+ "https://docs.openclaw.ai/gateway/troubleshooting",
297
297
  ].join("\n"), "Health check help");
298
298
  }
299
299
  }
@@ -386,8 +386,8 @@ export async function runConfigureWizard(opts, runtime = defaultRuntime) {
386
386
  });
387
387
  const remoteUrl = nextConfig.gateway?.remote?.url?.trim();
388
388
  const wsUrl = nextConfig.gateway?.mode === "remote" && remoteUrl ? remoteUrl : localLinks.wsUrl;
389
- const token = nextConfig.gateway?.auth?.token ?? process.env.CLAWDBOT_GATEWAY_TOKEN;
390
- const password = nextConfig.gateway?.auth?.password ?? process.env.CLAWDBOT_GATEWAY_PASSWORD;
389
+ const token = nextConfig.gateway?.auth?.token ?? process.env.OPENCLAW_GATEWAY_TOKEN;
390
+ const password = nextConfig.gateway?.auth?.password ?? process.env.OPENCLAW_GATEWAY_PASSWORD;
391
391
  await waitForGatewayReachable({
392
392
  url: wsUrl,
393
393
  token,
@@ -401,8 +401,8 @@ export async function runConfigureWizard(opts, runtime = defaultRuntime) {
401
401
  runtime.error(formatHealthCheckFailure(err));
402
402
  note([
403
403
  "Docs:",
404
- "https://docs.molt.bot/gateway/health",
405
- "https://docs.molt.bot/gateway/troubleshooting",
404
+ "https://docs.openclaw.ai/gateway/health",
405
+ "https://docs.openclaw.ai/gateway/troubleshooting",
406
406
  ].join("\n"), "Health check help");
407
407
  }
408
408
  }
@@ -429,9 +429,9 @@ export async function runConfigureWizard(opts, runtime = defaultRuntime) {
429
429
  basePath: nextConfig.gateway?.controlUi?.basePath,
430
430
  });
431
431
  // Try both new and old passwords since gateway may still have old config.
432
- const newPassword = nextConfig.gateway?.auth?.password ?? process.env.CLAWDBOT_GATEWAY_PASSWORD;
433
- const oldPassword = baseConfig.gateway?.auth?.password ?? process.env.CLAWDBOT_GATEWAY_PASSWORD;
434
- const token = nextConfig.gateway?.auth?.token ?? process.env.CLAWDBOT_GATEWAY_TOKEN;
432
+ const newPassword = nextConfig.gateway?.auth?.password ?? process.env.OPENCLAW_GATEWAY_PASSWORD;
433
+ const oldPassword = baseConfig.gateway?.auth?.password ?? process.env.OPENCLAW_GATEWAY_PASSWORD;
434
+ const token = nextConfig.gateway?.auth?.token ?? process.env.OPENCLAW_GATEWAY_TOKEN;
435
435
  let gatewayProbe = await probeGatewayReachable({
436
436
  url: links.wsUrl,
437
437
  token,
@@ -452,7 +452,7 @@ export async function runConfigureWizard(opts, runtime = defaultRuntime) {
452
452
  `Web UI: ${links.httpUrl}`,
453
453
  `Gateway WS: ${links.wsUrl}`,
454
454
  gatewayStatusLine,
455
- "Docs: https://docs.molt.bot/web/control-ui",
455
+ "Docs: https://docs.openclaw.ai/web/control-ui",
456
456
  ].join("\n"), "Control UI");
457
457
  outro("Configure complete.");
458
458
  }
@@ -33,7 +33,7 @@ export async function buildGatewayInstallPlan(params) {
33
33
  port: params.port,
34
34
  token: params.token,
35
35
  launchdLabel: process.platform === "darwin"
36
- ? resolveGatewayLaunchAgentLabel(params.env.CLAWDBOT_PROFILE)
36
+ ? resolveGatewayLaunchAgentLabel(params.env.OPENCLAW_PROFILE)
37
37
  : undefined,
38
38
  });
39
39
  // Merge config env vars into the service environment (vars + inline env keys).
@@ -47,5 +47,5 @@ export async function buildGatewayInstallPlan(params) {
47
47
  export function gatewayInstallErrorHint(platform = process.platform) {
48
48
  return platform === "win32"
49
49
  ? "Tip: rerun from an elevated PowerShell (Start → type PowerShell → right-click → Run as administrator) or skip service install."
50
- : `Tip: rerun \`${formatCliCommand("moltbot gateway install")}\` after fixing the error.`;
50
+ : `Tip: rerun \`${formatCliCommand("openclaw gateway install")}\` after fixing the error.`;
51
51
  }
@@ -9,7 +9,7 @@ export async function dashboardCommand(runtime = defaultRuntime, options = {}) {
9
9
  const bind = cfg.gateway?.bind ?? "loopback";
10
10
  const basePath = cfg.gateway?.controlUi?.basePath;
11
11
  const customBindHost = cfg.gateway?.customBindHost;
12
- const token = cfg.gateway?.auth?.token ?? process.env.CLAWDBOT_GATEWAY_TOKEN ?? "";
12
+ const token = cfg.gateway?.auth?.token ?? process.env.OPENCLAW_GATEWAY_TOKEN ?? "";
13
13
  const links = resolveControlUiLinks({
14
14
  port,
15
15
  bind,
@@ -39,7 +39,7 @@ export async function dashboardCommand(runtime = defaultRuntime, options = {}) {
39
39
  hint = "Browser launch disabled (--no-open). Use the URL above.";
40
40
  }
41
41
  if (opened) {
42
- runtime.log("Opened in your browser. Keep that tab to control Moltbot.");
42
+ runtime.log("Opened in your browser. Keep that tab to control OpenClaw.");
43
43
  }
44
44
  else if (hint) {
45
45
  runtime.log(hint);
@@ -3,7 +3,7 @@ import { runCommandWithTimeout } from "../process/exec.js";
3
3
  import { formatDocsLink } from "../terminal/links.js";
4
4
  import { isRich, theme } from "../terminal/theme.js";
5
5
  import { formatCliCommand } from "../cli/command-format.js";
6
- const SEARCH_TOOL = "https://docs.molt.bot/mcp.SearchMoltbot";
6
+ const SEARCH_TOOL = "https://docs.openclaw.ai/mcp.SearchOpenClaw";
7
7
  const SEARCH_TIMEOUT_MS = 30_000;
8
8
  const DEFAULT_SNIPPET_MAX = 220;
9
9
  function resolveNodeRunner() {
@@ -119,14 +119,14 @@ async function renderMarkdown(markdown, runtime) {
119
119
  export async function docsSearchCommand(queryParts, runtime) {
120
120
  const query = queryParts.join(" ").trim();
121
121
  if (!query) {
122
- const docs = formatDocsLink("/", "docs.molt.bot");
122
+ const docs = formatDocsLink("/", "docs.openclaw.ai");
123
123
  if (isRich()) {
124
124
  runtime.log(`${theme.muted("Docs:")} ${docs}`);
125
- runtime.log(`${theme.muted("Search:")} ${formatCliCommand('moltbot docs "your query"')}`);
125
+ runtime.log(`${theme.muted("Search:")} ${formatCliCommand('openclaw docs "your query"')}`);
126
126
  }
127
127
  else {
128
- runtime.log("Docs: https://docs.molt.bot/");
129
- runtime.log(`Search: ${formatCliCommand('moltbot docs "your query"')}`);
128
+ runtime.log("Docs: https://docs.openclaw.ai/");
129
+ runtime.log(`Search: ${formatCliCommand('openclaw docs "your query"')}`);
130
130
  }
131
131
  return;
132
132
  }
@@ -82,10 +82,10 @@ export async function maybeRemoveDeprecatedCliAuthProfiles(cfg, prompter) {
82
82
  return cfg;
83
83
  const lines = ["Deprecated external CLI auth profiles detected (no longer supported):"];
84
84
  if (deprecated.has(CLAUDE_CLI_PROFILE_ID)) {
85
- lines.push(`- ${CLAUDE_CLI_PROFILE_ID} (Anthropic): use setup-token → ${formatCliCommand("moltbot models auth setup-token")}`);
85
+ lines.push(`- ${CLAUDE_CLI_PROFILE_ID} (Anthropic): use setup-token → ${formatCliCommand("openclaw models auth setup-token")}`);
86
86
  }
87
87
  if (deprecated.has(CODEX_CLI_PROFILE_ID)) {
88
- lines.push(`- ${CODEX_CLI_PROFILE_ID} (OpenAI Codex): use OAuth → ${formatCliCommand("moltbot models auth login --provider openai-codex")}`);
88
+ lines.push(`- ${CODEX_CLI_PROFILE_ID} (OpenAI Codex): use OAuth → ${formatCliCommand("openclaw models auth login --provider openai-codex")}`);
89
89
  }
90
90
  note(lines.join("\n"), "Auth profiles");
91
91
  const shouldRemove = await prompter.confirmRepair({
@@ -142,12 +142,12 @@ export async function maybeRemoveDeprecatedCliAuthProfiles(cfg, prompter) {
142
142
  }
143
143
  function formatAuthIssueHint(issue) {
144
144
  if (issue.provider === "anthropic" && issue.profileId === CLAUDE_CLI_PROFILE_ID) {
145
- return `Deprecated profile. Use ${formatCliCommand("moltbot models auth setup-token")} or ${formatCliCommand("moltbot configure")}.`;
145
+ return `Deprecated profile. Use ${formatCliCommand("openclaw models auth setup-token")} or ${formatCliCommand("openclaw configure")}.`;
146
146
  }
147
147
  if (issue.provider === "openai-codex" && issue.profileId === CODEX_CLI_PROFILE_ID) {
148
- return `Deprecated profile. Use ${formatCliCommand("moltbot models auth login --provider openai-codex")} or ${formatCliCommand("moltbot configure")}.`;
148
+ return `Deprecated profile. Use ${formatCliCommand("openclaw models auth login --provider openai-codex")} or ${formatCliCommand("openclaw configure")}.`;
149
149
  }
150
- return `Re-auth via \`${formatCliCommand("moltbot configure")}\` or \`${formatCliCommand("moltbot onboard")}\`.`;
150
+ return `Re-auth via \`${formatCliCommand("openclaw configure")}\` or \`${formatCliCommand("openclaw onboard")}\`.`;
151
151
  }
152
152
  function formatAuthIssueLine(issue) {
153
153
  const remaining = issue.remainingMs !== undefined ? ` (${formatRemainingShort(issue.remainingMs)})` : "";
@@ -1,8 +1,12 @@
1
- import { MoltbotSchema, CONFIG_PATH, migrateLegacyConfig, readConfigFileSnapshot, } from "../config/config.js";
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { OpenClawSchema, CONFIG_PATH, migrateLegacyConfig, readConfigFileSnapshot, } from "../config/config.js";
2
4
  import { applyPluginAutoEnable } from "../config/plugin-auto-enable.js";
3
5
  import { formatCliCommand } from "../cli/command-format.js";
4
6
  import { note } from "../terminal/note.js";
5
7
  import { normalizeLegacyConfigValues } from "./doctor-legacy-config.js";
8
+ import { autoMigrateLegacyStateDir } from "./doctor-state-migrations.js";
9
+ import { resolveHomeDir } from "../utils.js";
6
10
  function isRecord(value) {
7
11
  return Boolean(value && typeof value === "object" && !Array.isArray(value));
8
12
  }
@@ -46,7 +50,7 @@ function resolvePathTarget(root, path) {
46
50
  return current;
47
51
  }
48
52
  function stripUnknownConfigKeys(config) {
49
- const parsed = MoltbotSchema.safeParse(config);
53
+ const parsed = OpenClawSchema.safeParse(config);
50
54
  if (parsed.success) {
51
55
  return { config, removed: [] };
52
56
  }
@@ -96,9 +100,62 @@ function noteOpencodeProviderOverrides(cfg) {
96
100
  lines.push("- Remove these entries to restore per-model API routing + costs (then re-run onboarding if needed).");
97
101
  note(lines.join("\n"), "OpenCode Zen");
98
102
  }
103
+ async function maybeMigrateLegacyConfig() {
104
+ const changes = [];
105
+ const home = resolveHomeDir();
106
+ if (!home)
107
+ return changes;
108
+ const targetDir = path.join(home, ".openclaw");
109
+ const targetPath = path.join(targetDir, "openclaw.json");
110
+ try {
111
+ await fs.access(targetPath);
112
+ return changes;
113
+ }
114
+ catch {
115
+ // missing config
116
+ }
117
+ const legacyCandidates = [
118
+ path.join(home, ".clawdbot", "clawdbot.json"),
119
+ path.join(home, ".moltbot", "moltbot.json"),
120
+ path.join(home, ".moldbot", "moldbot.json"),
121
+ ];
122
+ let legacyPath = null;
123
+ for (const candidate of legacyCandidates) {
124
+ try {
125
+ await fs.access(candidate);
126
+ legacyPath = candidate;
127
+ break;
128
+ }
129
+ catch {
130
+ // continue
131
+ }
132
+ }
133
+ if (!legacyPath)
134
+ return changes;
135
+ await fs.mkdir(targetDir, { recursive: true });
136
+ try {
137
+ await fs.copyFile(legacyPath, targetPath, fs.constants.COPYFILE_EXCL);
138
+ changes.push(`Migrated legacy config: ${legacyPath} -> ${targetPath}`);
139
+ }
140
+ catch {
141
+ // If it already exists, skip silently.
142
+ }
143
+ return changes;
144
+ }
99
145
  export async function loadAndMaybeMigrateDoctorConfig(params) {
100
146
  const shouldRepair = params.options.repair === true || params.options.yes === true;
101
- const snapshot = await readConfigFileSnapshot();
147
+ const stateDirResult = await autoMigrateLegacyStateDir({ env: process.env });
148
+ if (stateDirResult.changes.length > 0) {
149
+ note(stateDirResult.changes.map((entry) => `- ${entry}`).join("\n"), "Doctor changes");
150
+ }
151
+ if (stateDirResult.warnings.length > 0) {
152
+ note(stateDirResult.warnings.map((entry) => `- ${entry}`).join("\n"), "Doctor warnings");
153
+ }
154
+ const legacyConfigChanges = await maybeMigrateLegacyConfig();
155
+ if (legacyConfigChanges.length > 0) {
156
+ note(legacyConfigChanges.map((entry) => `- ${entry}`).join("\n"), "Doctor changes");
157
+ }
158
+ let snapshot = await readConfigFileSnapshot();
102
159
  const baseCfg = snapshot.config ?? {};
103
160
  let cfg = baseCfg;
104
161
  let candidate = structuredClone(baseCfg);
@@ -129,7 +186,7 @@ export async function loadAndMaybeMigrateDoctorConfig(params) {
129
186
  cfg = migrated;
130
187
  }
131
188
  else {
132
- fixHints.push(`Run "${formatCliCommand("moltbot doctor --fix")}" to apply legacy migrations.`);
189
+ fixHints.push(`Run "${formatCliCommand("openclaw doctor --fix")}" to apply legacy migrations.`);
133
190
  }
134
191
  }
135
192
  const normalized = normalizeLegacyConfigValues(candidate);
@@ -141,7 +198,7 @@ export async function loadAndMaybeMigrateDoctorConfig(params) {
141
198
  cfg = normalized.config;
142
199
  }
143
200
  else {
144
- fixHints.push(`Run "${formatCliCommand("moltbot doctor --fix")}" to apply these changes.`);
201
+ fixHints.push(`Run "${formatCliCommand("openclaw doctor --fix")}" to apply these changes.`);
145
202
  }
146
203
  }
147
204
  const autoEnable = applyPluginAutoEnable({ config: candidate, env: process.env });
@@ -153,7 +210,7 @@ export async function loadAndMaybeMigrateDoctorConfig(params) {
153
210
  cfg = autoEnable.config;
154
211
  }
155
212
  else {
156
- fixHints.push(`Run "${formatCliCommand("moltbot doctor --fix")}" to apply these changes.`);
213
+ fixHints.push(`Run "${formatCliCommand("openclaw doctor --fix")}" to apply these changes.`);
157
214
  }
158
215
  }
159
216
  const unknown = stripUnknownConfigKeys(candidate);
@@ -167,7 +224,7 @@ export async function loadAndMaybeMigrateDoctorConfig(params) {
167
224
  }
168
225
  else {
169
226
  note(lines, "Unknown config keys");
170
- fixHints.push('Run "moltbot doctor --fix" to remove these keys.');
227
+ fixHints.push('Run "openclaw doctor --fix" to remove these keys.');
171
228
  }
172
229
  }
173
230
  if (!shouldRepair && pendingChanges) {
@@ -53,12 +53,12 @@ export function buildGatewayRuntimeHints(runtime, options = {}) {
53
53
  return hints;
54
54
  }
55
55
  if (runtime.cachedLabel && platform === "darwin") {
56
- const label = resolveGatewayLaunchAgentLabel(env.CLAWDBOT_PROFILE);
56
+ const label = resolveGatewayLaunchAgentLabel(env.OPENCLAW_PROFILE);
57
57
  hints.push(`LaunchAgent label cached but plist missing. Clear with: launchctl bootout gui/$UID/${label}`);
58
- hints.push(`Then reinstall: ${formatCliCommand("moltbot gateway install", env)}`);
58
+ hints.push(`Then reinstall: ${formatCliCommand("openclaw gateway install", env)}`);
59
59
  }
60
60
  if (runtime.missingUnit) {
61
- hints.push(`Service not installed. Run: ${formatCliCommand("moltbot gateway install", env)}`);
61
+ hints.push(`Service not installed. Run: ${formatCliCommand("openclaw gateway install", env)}`);
62
62
  if (fileLog)
63
63
  hints.push(`File logs: ${fileLog}`);
64
64
  return hints;
@@ -73,11 +73,11 @@ export function buildGatewayRuntimeHints(runtime, options = {}) {
73
73
  hints.push(`Launchd stderr (if installed): ${logs.stderrPath}`);
74
74
  }
75
75
  else if (platform === "linux") {
76
- const unit = resolveGatewaySystemdServiceName(env.CLAWDBOT_PROFILE);
76
+ const unit = resolveGatewaySystemdServiceName(env.OPENCLAW_PROFILE);
77
77
  hints.push(`Logs: journalctl --user -u ${unit}.service -n 200 --no-pager`);
78
78
  }
79
79
  else if (platform === "win32") {
80
- const task = resolveGatewayWindowsTaskName(env.CLAWDBOT_PROFILE);
80
+ const task = resolveGatewayWindowsTaskName(env.OPENCLAW_PROFILE);
81
81
  hints.push(`Logs: schtasks /Query /TN "${task}" /V /FO LIST`);
82
82
  }
83
83
  }
@@ -72,7 +72,10 @@ export async function maybeRepairGatewayDaemon(params) {
72
72
  prompter: params.prompter,
73
73
  });
74
74
  await maybeRepairLaunchAgentBootstrap({
75
- env: { ...process.env, CLAWDBOT_LAUNCHD_LABEL: resolveNodeLaunchAgentLabel() },
75
+ env: {
76
+ ...process.env,
77
+ OPENCLAW_LAUNCHD_LABEL: resolveNodeLaunchAgentLabel(),
78
+ },
76
79
  title: "Node",
77
80
  runtime: params.runtime,
78
81
  prompter: params.prompter,
@@ -121,7 +124,7 @@ export async function maybeRepairGatewayDaemon(params) {
121
124
  const { programArguments, workingDirectory, environment } = await buildGatewayInstallPlan({
122
125
  env: process.env,
123
126
  port,
124
- token: params.cfg.gateway?.auth?.token ?? process.env.CLAWDBOT_GATEWAY_TOKEN,
127
+ token: params.cfg.gateway?.auth?.token ?? process.env.OPENCLAW_GATEWAY_TOKEN,
125
128
  runtime: daemonRuntime,
126
129
  warn: (message, title) => note(message, title),
127
130
  config: params.cfg,
@@ -169,8 +172,8 @@ export async function maybeRepairGatewayDaemon(params) {
169
172
  }
170
173
  }
171
174
  if (process.platform === "darwin") {
172
- const label = resolveGatewayLaunchAgentLabel(process.env.CLAWDBOT_PROFILE);
173
- note(`LaunchAgent loaded; stopping requires "${formatCliCommand("moltbot gateway stop")}" or launchctl bootout gui/$UID/${label}.`, "Gateway");
175
+ const label = resolveGatewayLaunchAgentLabel(process.env.OPENCLAW_PROFILE);
176
+ note(`LaunchAgent loaded; stopping requires "${formatCliCommand("openclaw gateway stop")}" or launchctl bootout gui/$UID/${label}.`, "Gateway");
174
177
  }
175
178
  if (serviceRuntime?.status === "running") {
176
179
  const restart = await params.prompter.confirmSkipInNonInteractive({
@@ -1,13 +1,17 @@
1
+ import { execFile } from "node:child_process";
2
+ import fs from "node:fs/promises";
3
+ import os from "node:os";
1
4
  import path from "node:path";
5
+ import { promisify } from "node:util";
2
6
  import { resolveGatewayPort, resolveIsNixMode } from "../config/paths.js";
3
7
  import { findExtraGatewayServices, renderGatewayServiceCleanupHints } from "../daemon/inspect.js";
4
- import { findLegacyGatewayServices, uninstallLegacyGatewayServices } from "../daemon/legacy.js";
5
8
  import { renderSystemNodeWarning, resolveSystemNodeInfo } from "../daemon/runtime-paths.js";
6
9
  import { resolveGatewayService } from "../daemon/service.js";
7
10
  import { auditGatewayServiceConfig, needsNodeRuntimeMigration, SERVICE_AUDIT_CODES, } from "../daemon/service-audit.js";
8
11
  import { note } from "../terminal/note.js";
9
- import { buildGatewayInstallPlan, gatewayInstallErrorHint } from "./daemon-install-helpers.js";
10
- import { DEFAULT_GATEWAY_DAEMON_RUNTIME, GATEWAY_DAEMON_RUNTIME_OPTIONS, } from "./daemon-runtime.js";
12
+ import { buildGatewayInstallPlan } from "./daemon-install-helpers.js";
13
+ import { DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime.js";
14
+ const execFileAsync = promisify(execFile);
11
15
  function detectGatewayRuntime(programArguments) {
12
16
  const first = programArguments?.[0];
13
17
  if (first) {
@@ -30,73 +34,36 @@ function findGatewayEntrypoint(programArguments) {
30
34
  function normalizeExecutablePath(value) {
31
35
  return path.resolve(value);
32
36
  }
33
- export async function maybeMigrateLegacyGatewayService(cfg, mode, runtime, prompter) {
34
- const legacyServices = await findLegacyGatewayServices(process.env);
35
- if (legacyServices.length === 0)
36
- return;
37
- note(legacyServices.map((svc) => `- ${svc.label} (${svc.platform}, ${svc.detail})`).join("\n"), "Legacy gateway services detected");
38
- const migrate = await prompter.confirmSkipInNonInteractive({
39
- message: "Migrate legacy gateway services to Moltbot now?",
40
- initialValue: true,
41
- });
42
- if (!migrate)
43
- return;
37
+ function extractDetailPath(detail, prefix) {
38
+ if (!detail.startsWith(prefix))
39
+ return null;
40
+ const value = detail.slice(prefix.length).trim();
41
+ return value.length > 0 ? value : null;
42
+ }
43
+ async function cleanupLegacyLaunchdService(params) {
44
+ const domain = typeof process.getuid === "function" ? `gui/${process.getuid()}` : "gui/501";
45
+ await execFileAsync("launchctl", ["bootout", domain, params.plistPath]).catch(() => undefined);
46
+ await execFileAsync("launchctl", ["unload", params.plistPath]).catch(() => undefined);
47
+ const trashDir = path.join(os.homedir(), ".Trash");
44
48
  try {
45
- await uninstallLegacyGatewayServices({
46
- env: process.env,
47
- stdout: process.stdout,
48
- });
49
- }
50
- catch (err) {
51
- runtime.error(`Legacy service cleanup failed: ${String(err)}`);
52
- return;
49
+ await fs.mkdir(trashDir, { recursive: true });
53
50
  }
54
- if (resolveIsNixMode(process.env)) {
55
- note("Nix mode detected; skip installing services.", "Gateway");
56
- return;
51
+ catch {
52
+ // ignore
57
53
  }
58
- if (mode === "remote") {
59
- note("Gateway mode is remote; skipped local service install.", "Gateway");
60
- return;
54
+ try {
55
+ await fs.access(params.plistPath);
61
56
  }
62
- const service = resolveGatewayService();
63
- const loaded = await service.isLoaded({ env: process.env });
64
- if (loaded) {
65
- note(`Moltbot ${service.label} already ${service.loadedText}.`, "Gateway");
66
- return;
57
+ catch {
58
+ return null;
67
59
  }
68
- const install = await prompter.confirmSkipInNonInteractive({
69
- message: "Install Moltbot gateway service now?",
70
- initialValue: true,
71
- });
72
- if (!install)
73
- return;
74
- const daemonRuntime = await prompter.select({
75
- message: "Gateway service runtime",
76
- options: GATEWAY_DAEMON_RUNTIME_OPTIONS,
77
- initialValue: DEFAULT_GATEWAY_DAEMON_RUNTIME,
78
- }, DEFAULT_GATEWAY_DAEMON_RUNTIME);
79
- const port = resolveGatewayPort(cfg, process.env);
80
- const { programArguments, workingDirectory, environment } = await buildGatewayInstallPlan({
81
- env: process.env,
82
- port,
83
- token: cfg.gateway?.auth?.token ?? process.env.CLAWDBOT_GATEWAY_TOKEN,
84
- runtime: daemonRuntime,
85
- warn: (message, title) => note(message, title),
86
- config: cfg,
87
- });
60
+ const dest = path.join(trashDir, `${params.label}-${Date.now()}.plist`);
88
61
  try {
89
- await service.install({
90
- env: process.env,
91
- stdout: process.stdout,
92
- programArguments,
93
- workingDirectory,
94
- environment,
95
- });
62
+ await fs.rename(params.plistPath, dest);
63
+ return dest;
96
64
  }
97
- catch (err) {
98
- runtime.error(`Gateway service install failed: ${String(err)}`);
99
- note(gatewayInstallErrorHint(), "Gateway");
65
+ catch {
66
+ return null;
100
67
  }
101
68
  }
102
69
  export async function maybeRepairGatewayServiceConfig(cfg, mode, runtime, prompter) {
@@ -138,7 +105,7 @@ export async function maybeRepairGatewayServiceConfig(cfg, mode, runtime, prompt
138
105
  const { programArguments, workingDirectory, environment } = await buildGatewayInstallPlan({
139
106
  env: process.env,
140
107
  port,
141
- token: cfg.gateway?.auth?.token ?? process.env.CLAWDBOT_GATEWAY_TOKEN,
108
+ token: cfg.gateway?.auth?.token ?? process.env.OPENCLAW_GATEWAY_TOKEN,
142
109
  runtime: needsNodeRuntime && systemNodePath ? "node" : runtimeChoice,
143
110
  nodePath: systemNodePath ?? undefined,
144
111
  warn: (message, title) => note(message, title),
@@ -190,13 +157,53 @@ export async function maybeRepairGatewayServiceConfig(cfg, mode, runtime, prompt
190
157
  runtime.error(`Gateway service update failed: ${String(err)}`);
191
158
  }
192
159
  }
193
- export async function maybeScanExtraGatewayServices(options) {
160
+ export async function maybeScanExtraGatewayServices(options, runtime, prompter) {
194
161
  const extraServices = await findExtraGatewayServices(process.env, {
195
162
  deep: options.deep,
196
163
  });
197
164
  if (extraServices.length === 0)
198
165
  return;
199
166
  note(extraServices.map((svc) => `- ${svc.label} (${svc.scope}, ${svc.detail})`).join("\n"), "Other gateway-like services detected");
167
+ const legacyServices = extraServices.filter((svc) => svc.legacy === true);
168
+ if (legacyServices.length > 0) {
169
+ const shouldRemove = await prompter.confirmSkipInNonInteractive({
170
+ message: "Remove legacy gateway services (clawdbot/moltbot) now?",
171
+ initialValue: true,
172
+ });
173
+ if (shouldRemove) {
174
+ const removed = [];
175
+ const failed = [];
176
+ for (const svc of legacyServices) {
177
+ if (svc.platform !== "darwin") {
178
+ failed.push(`${svc.label} (${svc.platform})`);
179
+ continue;
180
+ }
181
+ if (svc.scope !== "user") {
182
+ failed.push(`${svc.label} (${svc.scope})`);
183
+ continue;
184
+ }
185
+ const plistPath = extractDetailPath(svc.detail, "plist:");
186
+ if (!plistPath) {
187
+ failed.push(`${svc.label} (missing plist path)`);
188
+ continue;
189
+ }
190
+ const dest = await cleanupLegacyLaunchdService({
191
+ label: svc.label,
192
+ plistPath,
193
+ });
194
+ removed.push(dest ? `${svc.label} -> ${dest}` : svc.label);
195
+ }
196
+ if (removed.length > 0) {
197
+ note(removed.map((line) => `- ${line}`).join("\n"), "Legacy gateway removed");
198
+ }
199
+ if (failed.length > 0) {
200
+ note(failed.map((line) => `- ${line}`).join("\n"), "Legacy gateway cleanup skipped");
201
+ }
202
+ if (removed.length > 0) {
203
+ runtime.log("Legacy gateway services removed. Installing OpenClaw gateway next.");
204
+ }
205
+ }
206
+ }
200
207
  const cleanupHints = renderGatewayServiceCleanupHints();
201
208
  if (cleanupHints.length > 0) {
202
209
  note(cleanupHints.map((hint) => `- ${hint}`).join("\n"), "Cleanup hints");