@gguf/pigbot 0.0.6 → 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 (1096) hide show
  1. package/CHANGELOG.md +1206 -12
  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/assets/images/icon.png +0 -0
  1062. package/dist/control-ui/assets/index-BAFzd9IE.css +0 -1
  1063. package/dist/control-ui/assets/index-CxLFx0Ae.js.map +0 -1
  1064. package/dist/control-ui/pixel_pig_icon.png +0 -0
  1065. package/dist/daemon/legacy.js +0 -44
  1066. package/dist/extension.js +0 -70
  1067. /package/dist/config/{types.clawdbot.js → types.openclaw.js} +0 -0
  1068. /package/docs/{whatsapp-clawd.jpg → whatsapp-openclaw.jpg} +0 -0
  1069. /package/extensions/bluebubbles/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1070. /package/extensions/copilot-proxy/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1071. /package/extensions/diagnostics-otel/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1072. /package/extensions/discord/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1073. /package/extensions/google-antigravity-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1074. /package/extensions/google-gemini-cli-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1075. /package/extensions/googlechat/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1076. /package/extensions/imessage/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1077. /package/extensions/line/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1078. /package/extensions/llm-task/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1079. /package/extensions/lobster/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1080. /package/extensions/matrix/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1081. /package/extensions/mattermost/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1082. /package/extensions/memory-core/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1083. /package/extensions/msteams/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1084. /package/extensions/nextcloud-talk/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1085. /package/extensions/nostr/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1086. /package/extensions/open-prose/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1087. /package/extensions/qwen-portal-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1088. /package/extensions/signal/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1089. /package/extensions/slack/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1090. /package/extensions/telegram/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1091. /package/extensions/tlon/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1092. /package/extensions/twitch/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1093. /package/extensions/voice-call/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1094. /package/extensions/whatsapp/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1095. /package/extensions/zalo/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
  1096. /package/extensions/zalouser/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
@@ -2,13 +2,13 @@ import { formatCliCommand } from "../cli/command-format.js";
2
2
  export function buildPairingReply(params) {
3
3
  const { channel, idLine, code } = params;
4
4
  return [
5
- "Moltbot: access not configured.",
5
+ "OpenClaw: access not configured.",
6
6
  "",
7
7
  idLine,
8
8
  "",
9
9
  `Pairing code: ${code}`,
10
10
  "",
11
11
  "Ask the bot owner to approve with:",
12
- formatCliCommand(`moltbot pairing approve ${channel} <code>`),
12
+ formatCliCommand(`openclaw pairing approve ${channel} <code>`),
13
13
  ].join("\n");
14
14
  }
@@ -2,7 +2,7 @@ import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
4
  export function resolveBundledPluginsDir() {
5
- const override = process.env.CLAWDBOT_BUNDLED_PLUGINS_DIR?.trim();
5
+ const override = process.env.OPENCLAW_BUNDLED_PLUGINS_DIR?.trim();
6
6
  if (override)
7
7
  return override;
8
8
  // bun --compile: ship a sibling `extensions/` next to the executable.
@@ -1,7 +1,7 @@
1
1
  import { resolveAgentWorkspaceDir, resolveDefaultAgentId } from "../agents/agent-scope.js";
2
2
  import { loadConfig } from "../config/config.js";
3
3
  import { createSubsystemLogger } from "../logging/subsystem.js";
4
- import { loadMoltbotPlugins } from "./loader.js";
4
+ import { loadOpenClawPlugins } from "./loader.js";
5
5
  const log = createSubsystemLogger("plugins");
6
6
  export function registerPluginCliCommands(program, cfg) {
7
7
  const config = cfg ?? loadConfig();
@@ -12,7 +12,7 @@ export function registerPluginCliCommands(program, cfg) {
12
12
  error: (msg) => log.error(msg),
13
13
  debug: (msg) => log.debug(msg),
14
14
  };
15
- const registry = loadMoltbotPlugins({
15
+ const registry = loadOpenClawPlugins({
16
16
  config,
17
17
  workspaceDir,
18
18
  logger,
@@ -48,6 +48,66 @@ export const normalizePluginsConfig = (config) => {
48
48
  entries: normalizePluginEntries(config?.entries),
49
49
  };
50
50
  };
51
+ const hasExplicitMemorySlot = (plugins) => Boolean(plugins?.slots && Object.prototype.hasOwnProperty.call(plugins.slots, "memory"));
52
+ const hasExplicitMemoryEntry = (plugins) => Boolean(plugins?.entries && Object.prototype.hasOwnProperty.call(plugins.entries, "memory-core"));
53
+ const hasExplicitPluginConfig = (plugins) => {
54
+ if (!plugins)
55
+ return false;
56
+ if (typeof plugins.enabled === "boolean")
57
+ return true;
58
+ if (Array.isArray(plugins.allow) && plugins.allow.length > 0)
59
+ return true;
60
+ if (Array.isArray(plugins.deny) && plugins.deny.length > 0)
61
+ return true;
62
+ if (plugins.load?.paths && Array.isArray(plugins.load.paths) && plugins.load.paths.length > 0)
63
+ return true;
64
+ if (plugins.slots && Object.keys(plugins.slots).length > 0)
65
+ return true;
66
+ if (plugins.entries && Object.keys(plugins.entries).length > 0)
67
+ return true;
68
+ return false;
69
+ };
70
+ export function applyTestPluginDefaults(cfg, env = process.env) {
71
+ if (!env.VITEST)
72
+ return cfg;
73
+ const plugins = cfg.plugins;
74
+ const explicitConfig = hasExplicitPluginConfig(plugins);
75
+ if (explicitConfig) {
76
+ if (hasExplicitMemorySlot(plugins) || hasExplicitMemoryEntry(plugins)) {
77
+ return cfg;
78
+ }
79
+ return {
80
+ ...cfg,
81
+ plugins: {
82
+ ...plugins,
83
+ slots: {
84
+ ...plugins?.slots,
85
+ memory: "none",
86
+ },
87
+ },
88
+ };
89
+ }
90
+ return {
91
+ ...cfg,
92
+ plugins: {
93
+ ...plugins,
94
+ enabled: false,
95
+ slots: {
96
+ ...plugins?.slots,
97
+ memory: "none",
98
+ },
99
+ },
100
+ };
101
+ }
102
+ export function isTestDefaultMemorySlotDisabled(cfg, env = process.env) {
103
+ if (!env.VITEST)
104
+ return false;
105
+ const plugins = cfg.plugins;
106
+ if (hasExplicitMemorySlot(plugins) || hasExplicitMemoryEntry(plugins)) {
107
+ return false;
108
+ }
109
+ return true;
110
+ }
51
111
  export function resolveEnableState(id, origin, config) {
52
112
  if (!config.enabled) {
53
113
  return { enabled: false, reason: "plugins disabled" };
@@ -34,7 +34,7 @@ function deriveIdHint(params) {
34
34
  if (!rawPackageName)
35
35
  return base;
36
36
  // Prefer the unscoped name so config keys stay stable even when the npm
37
- // package is scoped (example: @moltbot/voice-call -> voice-call).
37
+ // package is scoped (example: @openclaw/voice-call -> voice-call).
38
38
  const unscoped = rawPackageName.includes("/")
39
39
  ? (rawPackageName.split("/").pop() ?? rawPackageName)
40
40
  : rawPackageName;
@@ -58,7 +58,7 @@ function addCandidate(params) {
58
58
  packageVersion: manifest?.version?.trim() || undefined,
59
59
  packageDescription: manifest?.description?.trim() || undefined,
60
60
  packageDir: params.packageDir,
61
- packageMoltbot: getPackageManifestMetadata(manifest ?? undefined),
61
+ packageManifest: getPackageManifestMetadata(manifest ?? undefined),
62
62
  });
63
63
  }
64
64
  function discoverInDirectory(params) {
@@ -219,7 +219,7 @@ function discoverFromPath(params) {
219
219
  return;
220
220
  }
221
221
  }
222
- export function discoverMoltbotPlugins(params) {
222
+ export function discoverOpenClawPlugins(params) {
223
223
  const candidates = [];
224
224
  const diagnostics = [];
225
225
  const seen = new Set();
@@ -242,15 +242,17 @@ export function discoverMoltbotPlugins(params) {
242
242
  }
243
243
  if (workspaceDir) {
244
244
  const workspaceRoot = resolveUserPath(workspaceDir);
245
- const workspaceExt = path.join(workspaceRoot, ".clawdbot", "extensions");
246
- discoverInDirectory({
247
- dir: workspaceExt,
248
- origin: "workspace",
249
- workspaceDir: workspaceRoot,
250
- candidates,
251
- diagnostics,
252
- seen,
253
- });
245
+ const workspaceExtDirs = [path.join(workspaceRoot, ".openclaw", "extensions")];
246
+ for (const dir of workspaceExtDirs) {
247
+ discoverInDirectory({
248
+ dir,
249
+ origin: "workspace",
250
+ workspaceDir: workspaceRoot,
251
+ candidates,
252
+ diagnostics,
253
+ seen,
254
+ });
255
+ }
254
256
  }
255
257
  const globalDir = path.join(resolveConfigDir(), "extensions");
256
258
  discoverInDirectory({
@@ -1,7 +1,7 @@
1
1
  import fs from "node:fs/promises";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
- import { LEGACY_MANIFEST_KEY } from "../compat/legacy-names.js";
4
+ import { MANIFEST_KEY } from "../compat/legacy-names.js";
5
5
  import { runCommandWithTimeout } from "../process/exec.js";
6
6
  import { CONFIG_DIR, resolveUserPath } from "../utils.js";
7
7
  import { extractArchive, fileExists, readJsonFile, resolveArchiveKind, resolvePackedRootDir, } from "../infra/archive.js";
@@ -21,14 +21,14 @@ function safeDirName(input) {
21
21
  function safeFileName(input) {
22
22
  return safeDirName(input);
23
23
  }
24
- async function ensureMoltbotExtensions(manifest) {
25
- const extensions = manifest.moltbot?.extensions ?? manifest[LEGACY_MANIFEST_KEY]?.extensions;
24
+ async function ensureOpenClawExtensions(manifest) {
25
+ const extensions = manifest[MANIFEST_KEY]?.extensions;
26
26
  if (!Array.isArray(extensions)) {
27
- throw new Error("package.json missing moltbot.extensions");
27
+ throw new Error("package.json missing openclaw.extensions");
28
28
  }
29
29
  const list = extensions.map((e) => (typeof e === "string" ? e.trim() : "")).filter(Boolean);
30
30
  if (list.length === 0) {
31
- throw new Error("package.json moltbot.extensions is empty");
31
+ throw new Error("package.json openclaw.extensions is empty");
32
32
  }
33
33
  return list;
34
34
  }
@@ -56,7 +56,7 @@ async function installPluginFromPackageDir(params) {
56
56
  }
57
57
  let extensions;
58
58
  try {
59
- extensions = await ensureMoltbotExtensions(manifest);
59
+ extensions = await ensureOpenClawExtensions(manifest);
60
60
  }
61
61
  catch (err) {
62
62
  return { ok: false, error: String(err) };
@@ -154,7 +154,7 @@ export async function installPluginFromArchive(params) {
154
154
  if (!resolveArchiveKind(archivePath)) {
155
155
  return { ok: false, error: `unsupported archive: ${archivePath}` };
156
156
  }
157
- const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "moltbot-plugin-"));
157
+ const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "openclaw-plugin-"));
158
158
  const extractDir = path.join(tmpDir, "extract");
159
159
  await fs.mkdir(extractDir, { recursive: true });
160
160
  logger.info?.(`Extracting ${archivePath}…`);
@@ -253,7 +253,7 @@ export async function installPluginFromNpmSpec(params) {
253
253
  const spec = params.spec.trim();
254
254
  if (!spec)
255
255
  return { ok: false, error: "missing npm spec" };
256
- const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "moltbot-npm-pack-"));
256
+ const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "openclaw-npm-pack-"));
257
257
  logger.info?.(`Downloading ${spec}…`);
258
258
  const res = await runCommandWithTimeout(["npm", "pack", spec], {
259
259
  timeoutMs: Math.max(timeoutMs, 300_000),
@@ -4,7 +4,7 @@ import { fileURLToPath } from "node:url";
4
4
  import { createJiti } from "jiti";
5
5
  import { createSubsystemLogger } from "../logging/subsystem.js";
6
6
  import { resolveUserPath } from "../utils.js";
7
- import { discoverMoltbotPlugins } from "./discovery.js";
7
+ import { discoverOpenClawPlugins } from "./discovery.js";
8
8
  import { loadPluginManifestRegistry } from "./manifest-registry.js";
9
9
  import { normalizePluginsConfig, resolveEnableState, resolveMemorySlotDecision, } from "./config-state.js";
10
10
  import { initializeGlobalHookRunner } from "./hook-runner-global.js";
@@ -109,7 +109,7 @@ function createPluginRecord(params) {
109
109
  function pushDiagnostics(diagnostics, append) {
110
110
  diagnostics.push(...append);
111
111
  }
112
- export function loadMoltbotPlugins(options = {}) {
112
+ export function loadOpenClawPlugins(options = {}) {
113
113
  const cfg = options.config ?? {};
114
114
  const logger = options.logger ?? defaultLogger();
115
115
  const validateOnly = options.mode === "validate";
@@ -134,7 +134,7 @@ export function loadMoltbotPlugins(options = {}) {
134
134
  runtime,
135
135
  coreGatewayHandlers: options.coreGatewayHandlers,
136
136
  });
137
- const discovery = discoverMoltbotPlugins({
137
+ const discovery = discoverOpenClawPlugins({
138
138
  workspaceDir: options.workspaceDir,
139
139
  extraPaths: normalized.loadPaths,
140
140
  });
@@ -152,10 +152,7 @@ export function loadMoltbotPlugins(options = {}) {
152
152
  extensions: [".ts", ".tsx", ".mts", ".cts", ".mtsx", ".ctsx", ".js", ".mjs", ".cjs", ".json"],
153
153
  ...(pluginSdkAlias
154
154
  ? {
155
- alias: {
156
- "clawdbot/plugin-sdk": pluginSdkAlias,
157
- "moltbot/plugin-sdk": pluginSdkAlias,
158
- },
155
+ alias: { "openclaw/plugin-sdk": pluginSdkAlias },
159
156
  }
160
157
  : {}),
161
158
  });
@@ -1,12 +1,12 @@
1
1
  import fs from "node:fs";
2
2
  import { resolveUserPath } from "../utils.js";
3
3
  import { normalizePluginsConfig } from "./config-state.js";
4
- import { discoverMoltbotPlugins } from "./discovery.js";
4
+ import { discoverOpenClawPlugins } from "./discovery.js";
5
5
  import { loadPluginManifest } from "./manifest.js";
6
6
  const registryCache = new Map();
7
7
  const DEFAULT_MANIFEST_CACHE_MS = 200;
8
8
  function resolveManifestCacheMs(env) {
9
- const raw = env.CLAWDBOT_PLUGIN_MANIFEST_CACHE_MS?.trim();
9
+ const raw = env.OPENCLAW_PLUGIN_MANIFEST_CACHE_MS?.trim();
10
10
  if (raw === "" || raw === "0")
11
11
  return 0;
12
12
  if (!raw)
@@ -17,7 +17,7 @@ function resolveManifestCacheMs(env) {
17
17
  return Math.max(0, parsed);
18
18
  }
19
19
  function shouldUseManifestCache(env) {
20
- const disabled = env.CLAWDBOT_DISABLE_PLUGIN_MANIFEST_CACHE?.trim();
20
+ const disabled = env.OPENCLAW_DISABLE_PLUGIN_MANIFEST_CACHE?.trim();
21
21
  if (disabled)
22
22
  return false;
23
23
  return resolveManifestCacheMs(env) > 0;
@@ -74,7 +74,7 @@ export function loadPluginManifestRegistry(params) {
74
74
  candidates: params.candidates,
75
75
  diagnostics: params.diagnostics ?? [],
76
76
  }
77
- : discoverMoltbotPlugins({
77
+ : discoverOpenClawPlugins({
78
78
  workspaceDir: params.workspaceDir,
79
79
  extraPaths: normalized.loadPaths,
80
80
  });
@@ -1,11 +1,8 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
- import { LEGACY_MANIFEST_KEY, LEGACY_PLUGIN_MANIFEST_FILENAME } from "../compat/legacy-names.js";
4
- export const PLUGIN_MANIFEST_FILENAME = "moltbot.plugin.json";
5
- export const PLUGIN_MANIFEST_FILENAMES = [
6
- PLUGIN_MANIFEST_FILENAME,
7
- LEGACY_PLUGIN_MANIFEST_FILENAME,
8
- ];
3
+ import { MANIFEST_KEY } from "../compat/legacy-names.js";
4
+ export const PLUGIN_MANIFEST_FILENAME = "openclaw.plugin.json";
5
+ export const PLUGIN_MANIFEST_FILENAMES = [PLUGIN_MANIFEST_FILENAME];
9
6
  function normalizeStringList(value) {
10
7
  if (!Array.isArray(value))
11
8
  return [];
@@ -80,5 +77,5 @@ export function loadPluginManifest(rootDir) {
80
77
  export function getPackageManifestMetadata(manifest) {
81
78
  if (!manifest)
82
79
  return undefined;
83
- return manifest.moltbot ?? manifest[LEGACY_MANIFEST_KEY];
80
+ return manifest[MANIFEST_KEY];
84
81
  }
@@ -1,8 +1,8 @@
1
1
  import { createSubsystemLogger } from "../logging/subsystem.js";
2
- import { loadMoltbotPlugins } from "./loader.js";
2
+ import { loadOpenClawPlugins } from "./loader.js";
3
3
  const log = createSubsystemLogger("plugins");
4
4
  export function resolvePluginProviders(params) {
5
- const registry = loadMoltbotPlugins({
5
+ const registry = loadOpenClawPlugins({
6
6
  config: params.config,
7
7
  workspaceDir: params.workspaceDir,
8
8
  logger: {
@@ -64,7 +64,7 @@ export function createPluginRegistry(registryParams) {
64
64
  ...entry.hook,
65
65
  name,
66
66
  description,
67
- source: "moltbot-plugin",
67
+ source: "openclaw-plugin",
68
68
  pluginId: record.id,
69
69
  },
70
70
  metadata: {
@@ -76,7 +76,7 @@ export function createPluginRegistry(registryParams) {
76
76
  hook: {
77
77
  name,
78
78
  description,
79
- source: "moltbot-plugin",
79
+ source: "openclaw-plugin",
80
80
  pluginId: record.id,
81
81
  filePath: record.source,
82
82
  baseDir: path.dirname(record.source),
@@ -13,7 +13,7 @@ const createEmptyRegistry = () => ({
13
13
  commands: [],
14
14
  diagnostics: [],
15
15
  });
16
- const REGISTRY_STATE = Symbol.for("moltbot.pluginRegistryState");
16
+ const REGISTRY_STATE = Symbol.for("openclaw.pluginRegistryState");
17
17
  const state = (() => {
18
18
  const globalState = globalThis;
19
19
  if (!globalState[REGISTRY_STATE]) {
@@ -2,7 +2,7 @@ import { resolveAgentWorkspaceDir, resolveDefaultAgentId } from "../agents/agent
2
2
  import { resolveDefaultAgentWorkspaceDir } from "../agents/workspace.js";
3
3
  import { loadConfig } from "../config/config.js";
4
4
  import { createSubsystemLogger } from "../logging/subsystem.js";
5
- import { loadMoltbotPlugins } from "./loader.js";
5
+ import { loadOpenClawPlugins } from "./loader.js";
6
6
  const log = createSubsystemLogger("plugins");
7
7
  export function buildPluginStatusReport(params) {
8
8
  const config = params?.config ?? loadConfig();
@@ -10,7 +10,7 @@ export function buildPluginStatusReport(params) {
10
10
  ? params.workspaceDir
11
11
  : (resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config)) ??
12
12
  resolveDefaultAgentWorkspaceDir());
13
- const registry = loadMoltbotPlugins({
13
+ const registry = loadOpenClawPlugins({
14
14
  config,
15
15
  workspaceDir,
16
16
  logger: {
@@ -1,6 +1,6 @@
1
1
  import { normalizeToolName } from "../agents/tool-policy.js";
2
2
  import { createSubsystemLogger } from "../logging/subsystem.js";
3
- import { loadMoltbotPlugins } from "./loader.js";
3
+ import { loadOpenClawPlugins } from "./loader.js";
4
4
  const log = createSubsystemLogger("plugins");
5
5
  const pluginToolMeta = new WeakMap();
6
6
  export function getPluginToolMeta(tool) {
@@ -21,7 +21,7 @@ function isOptionalToolAllowed(params) {
21
21
  return params.allowlist.has("group:plugins");
22
22
  }
23
23
  export function resolvePluginTools(params) {
24
- const registry = loadMoltbotPlugins({
24
+ const registry = loadOpenClawPlugins({
25
25
  config: params.context.config,
26
26
  workspaceDir: params.context.workspaceDir,
27
27
  logger: {
@@ -1,6 +1,6 @@
1
1
  import fs from "node:fs/promises";
2
2
  import { resolveUserPath } from "../utils.js";
3
- import { discoverMoltbotPlugins } from "./discovery.js";
3
+ import { discoverOpenClawPlugins } from "./discovery.js";
4
4
  import { installPluginFromNpmSpec, resolvePluginInstallDir } from "./install.js";
5
5
  import { recordPluginInstall } from "./installs.js";
6
6
  import { loadPluginManifest } from "./manifest.js";
@@ -15,7 +15,7 @@ async function readInstalledPackageVersion(dir) {
15
15
  }
16
16
  }
17
17
  function resolveBundledPluginSources(params) {
18
- const discovery = discoverMoltbotPlugins({ workspaceDir: params.workspaceDir });
18
+ const discovery = discoverOpenClawPlugins({ workspaceDir: params.workspaceDir });
19
19
  const bundled = new Map();
20
20
  for (const candidate of discovery.candidates) {
21
21
  if (candidate.origin !== "bundled")
@@ -26,7 +26,7 @@ function resolveBundledPluginSources(params) {
26
26
  const pluginId = manifest.manifest.id;
27
27
  if (bundled.has(pluginId))
28
28
  continue;
29
- const npmSpec = candidate.packageMoltbot?.install?.npmSpec?.trim() ||
29
+ const npmSpec = candidate.packageManifest?.install?.npmSpec?.trim() ||
30
30
  candidate.packageName?.trim() ||
31
31
  undefined;
32
32
  bundled.set(pluginId, {
@@ -21,7 +21,7 @@ export async function refreshQwenPortalCredentials(credentials) {
21
21
  if (!response.ok) {
22
22
  const text = await response.text();
23
23
  if (response.status === 400) {
24
- throw new Error(`Qwen OAuth refresh token expired or invalid. Re-authenticate with \`${formatCliCommand("moltbot models auth login --provider qwen-portal")}\`.`);
24
+ throw new Error(`Qwen OAuth refresh token expired or invalid. Re-authenticate with \`${formatCliCommand("openclaw models auth login --provider qwen-portal")}\`.`);
25
25
  }
26
26
  throw new Error(`Qwen OAuth refresh failed: ${text || response.statusText}`);
27
27
  }
@@ -27,6 +27,7 @@ export function buildAgentSessionKey(params) {
27
27
  agentId: params.agentId,
28
28
  mainKey: DEFAULT_MAIN_KEY,
29
29
  channel,
30
+ accountId: params.accountId,
30
31
  peerKind: peer?.kind ?? "dm",
31
32
  peerId: peer ? normalizeId(peer.id) || "unknown" : null,
32
33
  dmScope: params.dmScope,
@@ -98,6 +99,7 @@ export function resolveAgentRoute(input) {
98
99
  const sessionKey = buildAgentSessionKey({
99
100
  agentId: resolvedAgentId,
100
101
  channel,
102
+ accountId,
101
103
  peer,
102
104
  dmScope,
103
105
  identityLinks,
@@ -99,6 +99,11 @@ export function buildAgentPeerSessionKey(params) {
99
99
  if (linkedPeerId)
100
100
  peerId = linkedPeerId;
101
101
  peerId = peerId.toLowerCase();
102
+ if (dmScope === "per-account-channel-peer" && peerId) {
103
+ const channel = (params.channel ?? "").trim().toLowerCase() || "unknown";
104
+ const accountId = normalizeAccountId(params.accountId);
105
+ return `agent:${normalizeAgentId(params.agentId)}:${channel}:${accountId}:dm:${peerId}`;
106
+ }
102
107
  if (dmScope === "per-channel-peer" && peerId) {
103
108
  const channel = (params.channel ?? "").trim().toLowerCase() || "unknown";
104
109
  return `agent:${normalizeAgentId(params.agentId)}:${channel}:dm:${peerId}`;
@@ -85,7 +85,7 @@ export function collectSyncedFolderFindings(params) {
85
85
  severity: "warn",
86
86
  title: "State/config path looks like a synced folder",
87
87
  detail: `stateDir=${params.stateDir}, configPath=${params.configPath}. Synced folders (iCloud/Dropbox/OneDrive/Google Drive) can leak tokens and transcripts onto other devices.`,
88
- remediation: `Keep CLAWDBOT_STATE_DIR on a local-only volume and re-run "${formatCliCommand("moltbot security audit --fix")}".`,
88
+ remediation: `Keep OPENCLAW_STATE_DIR on a local-only volume and re-run "${formatCliCommand("openclaw security audit --fix")}".`,
89
89
  });
90
90
  }
91
91
  return findings;
@@ -103,7 +103,7 @@ export function collectSecretsInConfigFindings(cfg) {
103
103
  severity: "warn",
104
104
  title: "Gateway password is stored in config",
105
105
  detail: "gateway.auth.password is set in the config file; prefer environment variables for secrets when possible.",
106
- remediation: "Prefer CLAWDBOT_GATEWAY_PASSWORD (env) and remove gateway.auth.password from disk.",
106
+ remediation: "Prefer OPENCLAW_GATEWAY_PASSWORD (env) and remove gateway.auth.password from disk.",
107
107
  });
108
108
  }
109
109
  const hooksToken = typeof cfg.hooks?.token === "string" ? cfg.hooks.token.trim() : "";
@@ -65,7 +65,7 @@ async function collectFilesystemFindings(params) {
65
65
  checkId: "fs.state_dir.perms_world_writable",
66
66
  severity: "critical",
67
67
  title: "State dir is world-writable",
68
- detail: `${formatPermissionDetail(params.stateDir, stateDirPerms)}; other users can write into your Moltbot state.`,
68
+ detail: `${formatPermissionDetail(params.stateDir, stateDirPerms)}; other users can write into your OpenClaw state.`,
69
69
  remediation: formatPermissionRemediation({
70
70
  targetPath: params.stateDir,
71
71
  perms: stateDirPerms,
@@ -80,7 +80,7 @@ async function collectFilesystemFindings(params) {
80
80
  checkId: "fs.state_dir.perms_group_writable",
81
81
  severity: "warn",
82
82
  title: "State dir is group-writable",
83
- detail: `${formatPermissionDetail(params.stateDir, stateDirPerms)}; group users can write into your Moltbot state.`,
83
+ detail: `${formatPermissionDetail(params.stateDir, stateDirPerms)}; group users can write into your OpenClaw state.`,
84
84
  remediation: formatPermissionRemediation({
85
85
  targetPath: params.stateDir,
86
86
  perms: stateDirPerms,
@@ -270,7 +270,7 @@ function collectBrowserControlFindings(cfg) {
270
270
  severity: "warn",
271
271
  title: "Browser control config looks invalid",
272
272
  detail: String(err),
273
- remediation: `Fix browser.cdpUrl in ${resolveConfigPath()} and re-run "${formatCliCommand("moltbot security audit --deep")}".`,
273
+ remediation: `Fix browser.cdpUrl in ${resolveConfigPath()} and re-run "${formatCliCommand("openclaw security audit --deep")}".`,
274
274
  });
275
275
  return findings;
276
276
  }
@@ -405,7 +405,7 @@ async function collectChannelSecurityFindings(params) {
405
405
  severity: "warn",
406
406
  title: `${input.label} DMs share the main session`,
407
407
  detail: "Multiple DM senders currently share the main session, which can leak context across users.",
408
- remediation: 'Set session.dmScope="per-channel-peer" to isolate DM sessions per sender.',
408
+ remediation: 'Set session.dmScope="per-channel-peer" (or "per-account-channel-peer" for multi-account channels) to isolate DM sessions per sender.',
409
409
  });
410
410
  }
411
411
  };
@@ -664,9 +664,9 @@ async function maybeProbeGateway(params) {
664
664
  ? typeof remote?.token === "string" && remote.token.trim()
665
665
  ? remote.token.trim()
666
666
  : undefined
667
- : process.env.CLAWDBOT_GATEWAY_TOKEN?.trim() ||
667
+ : process.env.OPENCLAW_GATEWAY_TOKEN?.trim() ||
668
668
  (typeof authToken === "string" && authToken.trim() ? authToken.trim() : undefined);
669
- const password = process.env.CLAWDBOT_GATEWAY_PASSWORD?.trim() ||
669
+ const password = process.env.OPENCLAW_GATEWAY_PASSWORD?.trim() ||
670
670
  (mode === "remote"
671
671
  ? typeof remote?.password === "string" && remote.password.trim()
672
672
  ? remote.password.trim()
@@ -751,7 +751,7 @@ export async function runSecurityAudit(opts) {
751
751
  severity: "warn",
752
752
  title: "Gateway probe failed (deep)",
753
753
  detail: deep.gateway.error ?? "gateway unreachable",
754
- remediation: `Run "${formatCliCommand("moltbot status --all")}" to debug connectivity/auth, then re-run "${formatCliCommand("moltbot security audit --deep")}".`,
754
+ remediation: `Run "${formatCliCommand("openclaw status --all")}" to debug connectivity/auth, then re-run "${formatCliCommand("openclaw security audit --deep")}".`,
755
755
  });
756
756
  }
757
757
  const summary = countBySeverity(findings);
@@ -1,6 +1,28 @@
1
1
  const QUICK_TAG_RE = /<\s*\/?\s*(?:think(?:ing)?|thought|antthinking|final)\b/i;
2
- const FINAL_TAG_RE = /<\s*\/?\s*final\b[^>]*>/gi;
3
- const THINKING_TAG_RE = /<\s*(\/?)\s*(?:think(?:ing)?|thought|antthinking)\b[^>]*>/gi;
2
+ const FINAL_TAG_RE = /<\s*\/?\s*final\b[^<>]*>/gi;
3
+ const THINKING_TAG_RE = /<\s*(\/?)\s*(?:think(?:ing)?|thought|antthinking)\b[^<>]*>/gi;
4
+ function findCodeRegions(text) {
5
+ const regions = [];
6
+ const fencedRe = /(^|\n)(```|~~~)[^\n]*\n[\s\S]*?(?:\n\2(?:\n|$)|$)/g;
7
+ for (const match of text.matchAll(fencedRe)) {
8
+ const start = (match.index ?? 0) + match[1].length;
9
+ regions.push({ start, end: start + match[0].length - match[1].length });
10
+ }
11
+ const inlineRe = /`+[^`]+`+/g;
12
+ for (const match of text.matchAll(inlineRe)) {
13
+ const start = match.index ?? 0;
14
+ const end = start + match[0].length;
15
+ const insideFenced = regions.some((r) => start >= r.start && end <= r.end);
16
+ if (!insideFenced) {
17
+ regions.push({ start, end });
18
+ }
19
+ }
20
+ regions.sort((a, b) => a.start - b.start);
21
+ return regions;
22
+ }
23
+ function isInsideCode(pos, regions) {
24
+ return regions.some((r) => pos >= r.start && pos < r.end);
25
+ }
4
26
  function applyTrim(value, mode) {
5
27
  if (mode === "none")
6
28
  return value;
@@ -18,11 +40,27 @@ export function stripReasoningTagsFromText(text, options) {
18
40
  let cleaned = text;
19
41
  if (FINAL_TAG_RE.test(cleaned)) {
20
42
  FINAL_TAG_RE.lastIndex = 0;
21
- cleaned = cleaned.replace(FINAL_TAG_RE, "");
43
+ const finalMatches = [];
44
+ const preCodeRegions = findCodeRegions(cleaned);
45
+ for (const match of cleaned.matchAll(FINAL_TAG_RE)) {
46
+ const start = match.index ?? 0;
47
+ finalMatches.push({
48
+ start,
49
+ length: match[0].length,
50
+ inCode: isInsideCode(start, preCodeRegions),
51
+ });
52
+ }
53
+ for (let i = finalMatches.length - 1; i >= 0; i--) {
54
+ const m = finalMatches[i];
55
+ if (!m.inCode) {
56
+ cleaned = cleaned.slice(0, m.start) + cleaned.slice(m.start + m.length);
57
+ }
58
+ }
22
59
  }
23
60
  else {
24
61
  FINAL_TAG_RE.lastIndex = 0;
25
62
  }
63
+ const codeRegions = findCodeRegions(cleaned);
26
64
  THINKING_TAG_RE.lastIndex = 0;
27
65
  let result = "";
28
66
  let lastIndex = 0;
@@ -30,6 +68,9 @@ export function stripReasoningTagsFromText(text, options) {
30
68
  for (const match of cleaned.matchAll(THINKING_TAG_RE)) {
31
69
  const idx = match.index ?? 0;
32
70
  const isClose = match[1] === "/";
71
+ if (isInsideCode(idx, codeRegions)) {
72
+ continue;
73
+ }
33
74
  if (!inThinking) {
34
75
  result += cleaned.slice(lastIndex, idx);
35
76
  if (!isClose) {
@@ -2,8 +2,8 @@ export function normalizeSlackSlashCommandName(raw) {
2
2
  return raw.replace(/^\/+/, "");
3
3
  }
4
4
  export function resolveSlackSlashCommandConfig(raw) {
5
- const normalizedName = normalizeSlackSlashCommandName(raw?.name?.trim() || "clawd");
6
- const name = normalizedName || "clawd";
5
+ const normalizedName = normalizeSlackSlashCommandName(raw?.name?.trim() || "openclaw");
6
+ const name = normalizedName || "openclaw";
7
7
  return {
8
8
  enabled: raw?.enabled === true,
9
9
  name,
@@ -12,6 +12,7 @@ export function resolveSlackSlashCommandConfig(raw) {
12
12
  };
13
13
  }
14
14
  export function buildSlackSlashCommandMatcher(name) {
15
- const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
15
+ const normalized = normalizeSlackSlashCommandName(name);
16
+ const escaped = normalized.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
16
17
  return new RegExp(`^/?${escaped}$`);
17
18
  }