@poolzin/pool-bot 1.28.0 → 2026.1.26

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 (1024) hide show
  1. package/CHANGELOG.md +1123 -32
  2. package/README.md +37 -47
  3. package/assets/chrome-extension/background.js +5 -5
  4. package/assets/chrome-extension/manifest.json +3 -3
  5. package/assets/chrome-extension/options.html +6 -5
  6. package/assets/chrome-extension/options.js +1 -1
  7. package/dist/acp/client.js +5 -5
  8. package/dist/acp/server.js +1 -1
  9. package/dist/acp/types.js +2 -2
  10. package/dist/agents/agent-paths.js +3 -3
  11. package/dist/agents/auth-health.js +6 -2
  12. package/dist/agents/auth-profiles/doctor.js +1 -1
  13. package/dist/agents/auth-profiles/external-cli-sync.js +150 -5
  14. package/dist/agents/auth-profiles/oauth.js +7 -26
  15. package/dist/agents/auth-profiles/paths.js +3 -3
  16. package/dist/agents/auth-profiles/store.js +13 -5
  17. package/dist/agents/bash-tools.shared.js +1 -8
  18. package/dist/agents/cli-backends.js +0 -8
  19. package/dist/agents/cli-runner/helpers.js +3 -3
  20. package/dist/agents/cli-runner.js +2 -2
  21. package/dist/agents/compaction.js +0 -3
  22. package/dist/agents/context.js +4 -4
  23. package/dist/agents/docs-path.js +3 -3
  24. package/dist/agents/identity.js +1 -1
  25. package/dist/agents/memory-search.js +2 -7
  26. package/dist/agents/minimax-vlm.js +1 -1
  27. package/dist/agents/model-auth.js +1 -1
  28. package/dist/agents/model-catalog.js +4 -4
  29. package/dist/agents/model-fallback.js +0 -22
  30. package/dist/agents/model-selection.js +1 -1
  31. package/dist/agents/models-config.js +3 -3
  32. package/dist/agents/models-config.providers.js +4 -4
  33. package/dist/agents/pi-embedded-helpers/openai.js +1 -1
  34. package/dist/agents/pi-embedded-runner/cache-ttl.js +1 -1
  35. package/dist/agents/pi-embedded-runner/compact.js +8 -8
  36. package/dist/agents/pi-embedded-runner/extensions.js +0 -5
  37. package/dist/agents/pi-embedded-runner/model.js +2 -2
  38. package/dist/agents/pi-embedded-runner/run/attempt.js +6 -10
  39. package/dist/agents/pi-embedded-runner/run.js +4 -4
  40. package/dist/agents/pi-embedded-runner/sandbox-info.js +4 -1
  41. package/dist/agents/pi-embedded-runner/utils.js +1 -1
  42. package/dist/agents/pi-embedded-utils.js +1 -7
  43. package/dist/agents/pi-extensions/compaction-safeguard.js +3 -32
  44. package/dist/agents/pi-tools.js +15 -25
  45. package/dist/agents/pi-tools.policy.js +1 -34
  46. package/dist/agents/pi-tools.read.js +2 -2
  47. package/dist/agents/sandbox/browser.js +7 -5
  48. package/dist/agents/sandbox/config.js +12 -0
  49. package/dist/agents/sandbox/constants.js +7 -7
  50. package/dist/agents/sandbox/context.js +3 -3
  51. package/dist/agents/sandbox/docker.js +8 -8
  52. package/dist/agents/sandbox/runtime-status.js +1 -1
  53. package/dist/agents/session-transcript-repair.js +1 -1
  54. package/dist/agents/session-write-lock.js +0 -68
  55. package/dist/agents/skills/config.js +8 -9
  56. package/dist/agents/skills/env-overrides.js +1 -1
  57. package/dist/agents/skills/frontmatter.js +14 -15
  58. package/dist/agents/skills/workspace.js +7 -7
  59. package/dist/agents/skills-install.js +1 -1
  60. package/dist/agents/skills-status.js +12 -12
  61. package/dist/agents/subagent-registry.store.js +2 -2
  62. package/dist/agents/system-prompt.js +32 -21
  63. package/dist/agents/tool-images.js +1 -1
  64. package/dist/agents/tool-policy.js +2 -8
  65. package/dist/agents/tools/browser-tool.js +79 -19
  66. package/dist/agents/tools/browser-tool.schema.js +2 -1
  67. package/dist/agents/tools/cron-tool.js +1 -44
  68. package/dist/agents/tools/discord-actions-guild.js +1 -5
  69. package/dist/agents/tools/image-tool.js +2 -2
  70. package/dist/agents/tools/message-tool.js +0 -1
  71. package/dist/agents/tools/sessions-send-helpers.js +2 -17
  72. package/dist/agents/tools/telegram-actions.js +1 -93
  73. package/dist/agents/tools/web-fetch.js +103 -123
  74. package/dist/agents/tools/web-search.js +7 -7
  75. package/dist/agents/workspace.js +0 -36
  76. package/dist/auto-reply/commands-registry.data.js +3 -68
  77. package/dist/auto-reply/commands-registry.js +11 -14
  78. package/dist/auto-reply/reply/agent-runner-execution.js +3 -21
  79. package/dist/auto-reply/reply/agent-runner-memory.js +0 -5
  80. package/dist/auto-reply/reply/bash-command.js +2 -2
  81. package/dist/auto-reply/reply/commands-context-report.js +2 -2
  82. package/dist/auto-reply/reply/commands-info.js +5 -50
  83. package/dist/auto-reply/reply/commands-session.js +4 -4
  84. package/dist/auto-reply/reply/commands-tts.js +63 -61
  85. package/dist/auto-reply/reply/directive-handling.shared.js +1 -1
  86. package/dist/auto-reply/reply/dispatch-from-config.js +1 -65
  87. package/dist/auto-reply/reply/followup-runner.js +0 -5
  88. package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
  89. package/dist/auto-reply/reply/get-reply-run.js +0 -4
  90. package/dist/auto-reply/reply/groups.js +1 -1
  91. package/dist/auto-reply/reply/history.js +0 -23
  92. package/dist/auto-reply/reply/reply-elevated.js +1 -1
  93. package/dist/auto-reply/reply/session-updates.js +1 -6
  94. package/dist/auto-reply/status.js +49 -141
  95. package/dist/browser/bridge-server.js +3 -1
  96. package/dist/browser/client-actions-core.js +7 -13
  97. package/dist/browser/client-actions-observe.js +8 -14
  98. package/dist/browser/client-actions-state.js +15 -21
  99. package/dist/browser/client-fetch.js +61 -74
  100. package/dist/browser/client.js +21 -19
  101. package/dist/browser/config.js +26 -13
  102. package/dist/browser/constants.js +1 -1
  103. package/dist/browser/extension-relay.js +3 -3
  104. package/dist/browser/pw-session.js +4 -41
  105. package/dist/browser/pw-tools-core.downloads.js +1 -1
  106. package/dist/browser/pw-tools-core.interactions.js +5 -5
  107. package/dist/browser/pw-tools-core.responses.js +1 -1
  108. package/dist/browser/routes/agent.act.js +0 -13
  109. package/dist/browser/routes/agent.debug.js +1 -1
  110. package/dist/browser/routes/basic.js +1 -0
  111. package/dist/browser/server-context.js +3 -3
  112. package/dist/browser/server.js +9 -7
  113. package/dist/build-info.json +3 -3
  114. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  115. package/dist/canvas-host/a2ui/a2ui.bundle.js +1618 -1620
  116. package/dist/canvas-host/a2ui/index.html +28 -28
  117. package/dist/canvas-host/a2ui.js +19 -25
  118. package/dist/canvas-host/server.js +32 -66
  119. package/dist/channels/plugins/actions/discord/handle-action.guild-admin.js +1 -5
  120. package/dist/channels/plugins/actions/telegram.js +7 -60
  121. package/dist/channels/plugins/catalog.js +4 -6
  122. package/dist/channels/plugins/group-mentions.js +1 -48
  123. package/dist/channels/plugins/helpers.js +2 -2
  124. package/dist/channels/plugins/message-action-names.js +0 -1
  125. package/dist/channels/plugins/onboarding/imessage.js +1 -1
  126. package/dist/channels/plugins/onboarding/signal.js +2 -2
  127. package/dist/channels/plugins/onboarding/slack.js +4 -4
  128. package/dist/channels/plugins/onboarding/telegram.js +9 -17
  129. package/dist/channels/plugins/onboarding/whatsapp.js +4 -4
  130. package/dist/channels/plugins/outbound/telegram.js +0 -38
  131. package/dist/channels/plugins/pairing-message.js +1 -1
  132. package/dist/channels/plugins/status-issues/bluebubbles.js +1 -1
  133. package/dist/channels/plugins/status-issues/whatsapp.js +2 -2
  134. package/dist/channels/registry.js +1 -1
  135. package/dist/cli/acp-cli.js +2 -2
  136. package/dist/cli/argv.js +7 -14
  137. package/dist/cli/banner.js +1 -3
  138. package/dist/cli/browser-cli-actions-input/register.element.js +44 -72
  139. package/dist/cli/browser-cli-actions-input/register.files-downloads.js +35 -55
  140. package/dist/cli/browser-cli-actions-input/register.form-wait-eval.js +28 -41
  141. package/dist/cli/browser-cli-actions-input/register.navigation.js +14 -23
  142. package/dist/cli/browser-cli-actions-input/shared.js +3 -10
  143. package/dist/cli/browser-cli-actions-observe.js +21 -29
  144. package/dist/cli/browser-cli-debug.js +35 -49
  145. package/dist/cli/browser-cli-examples.js +29 -29
  146. package/dist/cli/browser-cli-extension.js +8 -8
  147. package/dist/cli/browser-cli-inspect.js +17 -23
  148. package/dist/cli/browser-cli-manage.js +56 -106
  149. package/dist/cli/browser-cli-shared.js +1 -34
  150. package/dist/cli/browser-cli-state.cookies-storage.js +39 -53
  151. package/dist/cli/browser-cli-state.js +64 -90
  152. package/dist/cli/browser-cli.js +5 -4
  153. package/dist/cli/channels-cli.js +1 -1
  154. package/dist/cli/command-format.js +7 -11
  155. package/dist/cli/config-cli.js +2 -2
  156. package/dist/cli/cron-cli/register.js +1 -1
  157. package/dist/cli/daemon-cli/install.js +1 -1
  158. package/dist/cli/daemon-cli/register.js +1 -1
  159. package/dist/cli/daemon-cli/shared.js +3 -5
  160. package/dist/cli/daemon-cli/status.print.js +6 -6
  161. package/dist/cli/directory-cli.js +1 -1
  162. package/dist/cli/dns-cli.js +7 -7
  163. package/dist/cli/docs-cli.js +2 -2
  164. package/dist/cli/exec-approvals-cli.js +2 -2
  165. package/dist/cli/gateway-cli/dev.js +4 -4
  166. package/dist/cli/gateway-cli/register.js +1 -1
  167. package/dist/cli/gateway-cli/run.js +8 -11
  168. package/dist/cli/gateway-cli/shared.js +4 -4
  169. package/dist/cli/hooks-cli.js +3 -3
  170. package/dist/cli/logs-cli.js +3 -3
  171. package/dist/cli/memory-cli.js +1 -1
  172. package/dist/cli/models-cli.js +2 -2
  173. package/dist/cli/node-cli/daemon.js +2 -2
  174. package/dist/cli/node-cli/register.js +1 -1
  175. package/dist/cli/nodes-camera.js +1 -3
  176. package/dist/cli/nodes-canvas.js +1 -3
  177. package/dist/cli/nodes-cli/register.canvas.js +1 -1
  178. package/dist/cli/nodes-cli/register.js +1 -1
  179. package/dist/cli/nodes-screen.js +1 -1
  180. package/dist/cli/pairing-cli.js +3 -3
  181. package/dist/cli/plugin-registry.js +2 -2
  182. package/dist/cli/plugins-cli.js +3 -3
  183. package/dist/cli/profile.js +1 -1
  184. package/dist/cli/program/config-guard.js +1 -1
  185. package/dist/cli/program/help.js +14 -13
  186. package/dist/cli/program/message/register.send.js +1 -2
  187. package/dist/cli/program/preaction.js +2 -4
  188. package/dist/cli/program/register.agent.js +12 -12
  189. package/dist/cli/program/register.configure.js +1 -1
  190. package/dist/cli/program/register.maintenance.js +4 -4
  191. package/dist/cli/program/register.message.js +5 -5
  192. package/dist/cli/program/register.onboard.js +3 -5
  193. package/dist/cli/program/register.setup.js +2 -2
  194. package/dist/cli/program/register.status-health-sessions.js +13 -13
  195. package/dist/cli/run-main.js +4 -11
  196. package/dist/cli/sandbox-cli.js +19 -19
  197. package/dist/cli/security-cli.js +8 -18
  198. package/dist/cli/skills-cli.js +3 -3
  199. package/dist/cli/system-cli.js +1 -1
  200. package/dist/cli/tagline.js +1 -1
  201. package/dist/cli/tui-cli.js +1 -1
  202. package/dist/cli/update-cli.js +42 -58
  203. package/dist/cli/webhooks-cli.js +6 -6
  204. package/dist/commands/agent-via-gateway.js +1 -1
  205. package/dist/commands/agent.js +1 -2
  206. package/dist/commands/agents.command-shared.js +1 -1
  207. package/dist/commands/agents.commands.add.js +3 -2
  208. package/dist/commands/agents.commands.list.js +1 -1
  209. package/dist/commands/auth-choice-options.js +54 -4
  210. package/dist/commands/auth-choice.apply.anthropic.js +109 -6
  211. package/dist/commands/auth-choice.apply.openai.js +33 -1
  212. package/dist/commands/auth-choice.apply.plugin-provider.js +2 -2
  213. package/dist/commands/channels/list.js +2 -2
  214. package/dist/commands/channels/shared.js +1 -1
  215. package/dist/commands/channels/status.js +1 -1
  216. package/dist/commands/chutes-oauth.js +1 -1
  217. package/dist/commands/configure.channels.js +4 -4
  218. package/dist/commands/configure.gateway-auth.js +8 -1
  219. package/dist/commands/configure.gateway.js +10 -1
  220. package/dist/commands/configure.wizard.js +11 -11
  221. package/dist/commands/daemon-install-helpers.js +1 -1
  222. package/dist/commands/dashboard.js +1 -1
  223. package/dist/commands/docs.js +5 -5
  224. package/dist/commands/doctor-auth.js +3 -122
  225. package/dist/commands/doctor-config-flow.js +7 -7
  226. package/dist/commands/doctor-format.js +2 -2
  227. package/dist/commands/doctor-gateway-daemon-flow.js +1 -1
  228. package/dist/commands/doctor-gateway-services.js +3 -3
  229. package/dist/commands/doctor-security.js +1 -48
  230. package/dist/commands/doctor-ui.js +2 -2
  231. package/dist/commands/doctor-update.js +4 -4
  232. package/dist/commands/doctor-workspace-status.js +2 -2
  233. package/dist/commands/doctor-workspace.js +4 -4
  234. package/dist/commands/doctor.js +12 -13
  235. package/dist/commands/gateway-status.js +2 -2
  236. package/dist/commands/models/auth.js +22 -23
  237. package/dist/commands/models/list.probe.js +2 -2
  238. package/dist/commands/models/list.registry.js +4 -4
  239. package/dist/commands/models/list.status-command.js +9 -8
  240. package/dist/commands/onboard-auth.credentials.js +2 -2
  241. package/dist/commands/onboard-channels.js +3 -3
  242. package/dist/commands/onboard-helpers.js +4 -4
  243. package/dist/commands/onboard-hooks.js +4 -4
  244. package/dist/commands/onboard-non-interactive/local/auth-choice.js +34 -38
  245. package/dist/commands/onboard-non-interactive/local/gateway-config.js +4 -7
  246. package/dist/commands/onboard-non-interactive/local.js +1 -1
  247. package/dist/commands/onboard-non-interactive/remote.js +1 -1
  248. package/dist/commands/onboard-non-interactive.js +1 -1
  249. package/dist/commands/onboard-remote.js +2 -2
  250. package/dist/commands/onboard-skills.js +2 -2
  251. package/dist/commands/onboard.js +4 -25
  252. package/dist/commands/onboarding/plugin-install.js +2 -2
  253. package/dist/commands/reset.js +3 -3
  254. package/dist/commands/sandbox-display.js +1 -1
  255. package/dist/commands/sandbox-explain.js +2 -2
  256. package/dist/commands/setup.js +2 -2
  257. package/dist/commands/signal-install.js +2 -2
  258. package/dist/commands/status-all/diagnosis.js +1 -1
  259. package/dist/commands/status-all/report-lines.js +1 -1
  260. package/dist/commands/status-all.js +3 -3
  261. package/dist/commands/status.command.js +9 -9
  262. package/dist/commands/status.update.js +3 -3
  263. package/dist/commands/uninstall.js +3 -3
  264. package/dist/config/config.js +1 -1
  265. package/dist/config/group-policy.js +0 -69
  266. package/dist/config/io.js +5 -17
  267. package/dist/config/legacy.migrations.part-3.js +0 -3
  268. package/dist/config/logging.js +3 -3
  269. package/dist/config/paths.js +13 -43
  270. package/dist/config/schema.js +9 -21
  271. package/dist/config/sessions/transcript.js +1 -1
  272. package/dist/config/validation.js +2 -2
  273. package/dist/config/version.js +4 -4
  274. package/dist/config/zod-schema.agent-defaults.js +0 -1
  275. package/dist/config/zod-schema.agent-runtime.js +7 -39
  276. package/dist/config/zod-schema.hooks.js +0 -2
  277. package/dist/config/zod-schema.js +3 -9
  278. package/dist/config/zod-schema.providers-core.js +0 -23
  279. package/dist/config/zod-schema.providers-whatsapp.js +0 -3
  280. package/dist/control-ui/assets/{index-HlBhZmfj.js → index-Cl-Y9zqE.js} +578 -620
  281. package/dist/control-ui/assets/index-Cl-Y9zqE.js.map +1 -0
  282. package/dist/control-ui/assets/index-DEPfFcOb.css +1 -0
  283. package/dist/control-ui/index.html +4 -4
  284. package/dist/cron/isolated-agent/run.js +3 -38
  285. package/dist/daemon/constants.js +12 -12
  286. package/dist/daemon/inspect.js +11 -11
  287. package/dist/daemon/program-args.js +1 -1
  288. package/dist/daemon/systemd-hints.js +1 -1
  289. package/dist/daemon/systemd-unit.js +1 -1
  290. package/dist/discord/monitor/listeners.js +1 -25
  291. package/dist/discord/monitor/native-command.js +5 -7
  292. package/dist/discord/monitor/provider.js +7 -21
  293. package/dist/entry.js +4 -4
  294. package/dist/gateway/auth.js +19 -52
  295. package/dist/gateway/hooks-mapping.js +4 -18
  296. package/dist/gateway/hooks.js +7 -5
  297. package/dist/gateway/http-utils.js +5 -3
  298. package/dist/gateway/net.js +1 -1
  299. package/dist/gateway/openai-http.js +3 -3
  300. package/dist/gateway/openresponses-http.js +4 -4
  301. package/dist/gateway/protocol/client-info.js +5 -5
  302. package/dist/gateway/protocol/schema/logs-chat.js +1 -1
  303. package/dist/gateway/server/health-state.js +3 -3
  304. package/dist/gateway/server/hooks.js +0 -1
  305. package/dist/gateway/server/ws-connection/message-handler.js +35 -44
  306. package/dist/gateway/server-browser.js +3 -14
  307. package/dist/gateway/server-chat.js +2 -28
  308. package/dist/gateway/server-discovery-runtime.js +17 -25
  309. package/dist/gateway/server-discovery.js +5 -5
  310. package/dist/gateway/server-http.js +3 -9
  311. package/dist/gateway/server-methods/agent.js +0 -2
  312. package/dist/gateway/server-methods/chat.js +0 -5
  313. package/dist/gateway/server-methods/config.js +8 -8
  314. package/dist/gateway/server-methods/logs.js +1 -1
  315. package/dist/gateway/server-methods/skills.js +3 -3
  316. package/dist/gateway/server-methods/update.js +2 -2
  317. package/dist/gateway/server-methods-list.js +0 -1
  318. package/dist/gateway/server-methods.js +0 -3
  319. package/dist/gateway/server-plugins.js +2 -2
  320. package/dist/gateway/server-restart-sentinel.js +5 -10
  321. package/dist/gateway/server-runtime-config.js +2 -5
  322. package/dist/gateway/server.impl.js +6 -7
  323. package/dist/gateway/session-utils.js +11 -31
  324. package/dist/gateway/test-helpers.mocks.js +5 -5
  325. package/dist/gateway/test-helpers.server.js +9 -28
  326. package/dist/gateway/tools-invoke-http.js +8 -15
  327. package/dist/hooks/bundled/boot-md/HOOK.md +3 -3
  328. package/dist/hooks/bundled/command-logger/HOOK.md +5 -5
  329. package/dist/hooks/bundled/session-memory/HOOK.md +4 -4
  330. package/dist/hooks/bundled/session-memory/handler.js +2 -2
  331. package/dist/hooks/bundled/soul-evil/HOOK.md +5 -5
  332. package/dist/hooks/bundled-dir.js +1 -1
  333. package/dist/hooks/config.js +7 -8
  334. package/dist/hooks/frontmatter.js +15 -16
  335. package/dist/hooks/gmail-ops.js +4 -4
  336. package/dist/hooks/hooks-status.js +13 -13
  337. package/dist/hooks/install.js +7 -8
  338. package/dist/hooks/internal-hooks.js +1 -1
  339. package/dist/hooks/llm-slug-generator.js +1 -1
  340. package/dist/hooks/loader.js +3 -3
  341. package/dist/hooks/plugin-hooks.js +8 -8
  342. package/dist/hooks/workspace.js +9 -10
  343. package/dist/imessage/monitor/monitor-provider.js +2 -2
  344. package/dist/index.js +4 -4
  345. package/dist/infra/agent-events.js +0 -3
  346. package/dist/infra/bonjour-discovery.js +9 -9
  347. package/dist/infra/bonjour.js +12 -19
  348. package/dist/infra/gateway-lock.js +1 -1
  349. package/dist/infra/heartbeat-visibility.js +0 -14
  350. package/dist/infra/heartbeat-wake.js +2 -2
  351. package/dist/infra/machine-name.js +1 -1
  352. package/dist/infra/net/ssrf.js +1 -77
  353. package/dist/infra/outbound/message-action-spec.js +0 -1
  354. package/dist/infra/outbound/targets.js +1 -1
  355. package/dist/infra/path-env.js +7 -7
  356. package/dist/infra/ports-format.js +2 -2
  357. package/dist/infra/ports.js +2 -2
  358. package/dist/infra/provider-usage.auth.js +4 -2
  359. package/dist/infra/provider-usage.fetch.claude.js +1 -1
  360. package/dist/infra/provider-usage.fetch.minimax.js +1 -1
  361. package/dist/infra/restart-sentinel.js +1 -1
  362. package/dist/infra/restart.js +1 -1
  363. package/dist/infra/retry-policy.js +1 -4
  364. package/dist/infra/runtime-guard.js +2 -2
  365. package/dist/infra/shell-env.js +1 -1
  366. package/dist/infra/skills-remote.js +3 -3
  367. package/dist/infra/tailscale.js +1 -63
  368. package/dist/infra/tls/gateway.js +1 -1
  369. package/dist/infra/unhandled-rejections.js +2 -89
  370. package/dist/infra/update-check.js +4 -2
  371. package/dist/infra/update-global.js +5 -5
  372. package/dist/infra/update-runner.js +8 -32
  373. package/dist/infra/update-startup.js +3 -3
  374. package/dist/infra/warnings.js +1 -1
  375. package/dist/infra/widearea-dns.js +10 -10
  376. package/dist/line/monitor.js +5 -1
  377. package/dist/line/webhook.js +6 -2
  378. package/dist/logging/logger.js +4 -4
  379. package/dist/macos/gateway-daemon.js +2 -2
  380. package/dist/macos/relay.js +4 -4
  381. package/dist/media/host.js +1 -1
  382. package/dist/media/image-ops.js +1 -1
  383. package/dist/media/input-files.js +32 -40
  384. package/dist/media/server.js +15 -39
  385. package/dist/media/store.js +52 -72
  386. package/dist/media-understanding/attachments.js +1 -1
  387. package/dist/media-understanding/providers/image.js +2 -2
  388. package/dist/media-understanding/runner.js +1 -33
  389. package/dist/memory/batch-gemini.js +1 -1
  390. package/dist/memory/batch-openai.js +1 -1
  391. package/dist/memory/embeddings.js +1 -1
  392. package/dist/node-host/runner.js +56 -60
  393. package/dist/pairing/pairing-messages.js +2 -2
  394. package/dist/plugin-sdk/index.js +0 -1
  395. package/dist/plugins/cli.js +2 -2
  396. package/dist/plugins/discovery.js +4 -5
  397. package/dist/plugins/install.js +7 -8
  398. package/dist/plugins/loader.js +4 -11
  399. package/dist/plugins/manifest-registry.js +2 -2
  400. package/dist/plugins/manifest.js +1 -16
  401. package/dist/plugins/providers.js +2 -2
  402. package/dist/plugins/registry.js +5 -5
  403. package/dist/plugins/runtime.js +1 -1
  404. package/dist/plugins/services.js +3 -3
  405. package/dist/plugins/status.js +2 -2
  406. package/dist/plugins/tools.js +2 -2
  407. package/dist/plugins/update.js +3 -3
  408. package/dist/providers/qwen-portal-oauth.js +1 -1
  409. package/dist/routing/session-key.js +12 -17
  410. package/dist/security/audit-extra.js +69 -116
  411. package/dist/security/audit-fs.js +0 -78
  412. package/dist/security/audit.js +88 -121
  413. package/dist/security/fix.js +8 -93
  414. package/dist/slack/monitor/media.js +4 -32
  415. package/dist/slack/monitor/message-handler/dispatch.js +1 -2
  416. package/dist/slack/monitor/slash.js +3 -3
  417. package/dist/slack/monitor.test-helpers.js +1 -1
  418. package/dist/telegram/bot/delivery.js +22 -139
  419. package/dist/telegram/bot-handlers.js +8 -70
  420. package/dist/telegram/bot-message-context.js +21 -79
  421. package/dist/telegram/bot-message-dispatch.js +0 -64
  422. package/dist/telegram/bot-native-commands.js +94 -244
  423. package/dist/telegram/bot.js +2 -18
  424. package/dist/telegram/fetch.js +1 -25
  425. package/dist/telegram/monitor.js +3 -11
  426. package/dist/telegram/send.js +4 -148
  427. package/dist/telegram/webhook-set.js +6 -13
  428. package/dist/telegram/webhook.js +3 -8
  429. package/dist/terminal/links.js +1 -1
  430. package/dist/tts/tts.js +22 -27
  431. package/dist/tui/components/filterable-select-list.js +1 -1
  432. package/dist/tui/components/searchable-select-list.js +1 -2
  433. package/dist/tui/gateway-chat.js +1 -1
  434. package/dist/tui/tui.js +1 -1
  435. package/dist/version.js +1 -1
  436. package/dist/web/active-listener.js +1 -1
  437. package/dist/web/auth-store.js +1 -1
  438. package/dist/web/auto-reply/monitor/process-message.js +1 -1
  439. package/dist/web/auto-reply/monitor.js +1 -1
  440. package/dist/web/login.js +1 -1
  441. package/dist/web/session.js +2 -2
  442. package/dist/wizard/onboarding.finalize.js +14 -14
  443. package/dist/wizard/onboarding.gateway-config.js +11 -1
  444. package/dist/wizard/onboarding.js +10 -21
  445. package/docs/CNAME +1 -1
  446. package/docs/POOL-BOT.md +119 -0
  447. package/docs/_config.yml +2 -2
  448. package/docs/_layouts/default.html +9 -9
  449. package/docs/assets/terminal.css +0 -3
  450. package/docs/assets/theme.js +1 -1
  451. package/docs/automation/auth-monitoring.md +7 -7
  452. package/docs/automation/cron-jobs.md +13 -13
  453. package/docs/automation/cron-vs-heartbeat.md +8 -8
  454. package/docs/automation/gmail-pubsub.md +21 -23
  455. package/docs/automation/poll.md +6 -6
  456. package/docs/automation/webhook.md +8 -13
  457. package/docs/bedrock.md +10 -10
  458. package/docs/brave-search.md +1 -1
  459. package/docs/broadcast-groups.md +3 -3
  460. package/docs/channels/bluebubbles.md +12 -13
  461. package/docs/channels/discord.md +16 -21
  462. package/docs/channels/googlechat.md +15 -15
  463. package/docs/channels/imessage.md +10 -10
  464. package/docs/channels/index.md +4 -6
  465. package/docs/channels/location.md +1 -1
  466. package/docs/channels/matrix.md +13 -13
  467. package/docs/channels/mattermost.md +8 -8
  468. package/docs/channels/msteams.md +25 -29
  469. package/docs/channels/nextcloud-talk.md +7 -7
  470. package/docs/channels/nostr.md +9 -9
  471. package/docs/channels/signal.md +9 -9
  472. package/docs/channels/slack.md +13 -15
  473. package/docs/channels/telegram.md +20 -149
  474. package/docs/channels/tlon.md +5 -5
  475. package/docs/channels/troubleshooting.md +2 -2
  476. package/docs/channels/whatsapp.md +23 -23
  477. package/docs/channels/zalo.md +8 -8
  478. package/docs/channels/zalouser.md +12 -12
  479. package/docs/cli/acp.md +24 -24
  480. package/docs/cli/agent.md +6 -6
  481. package/docs/cli/agents.md +9 -9
  482. package/docs/cli/approvals.md +13 -13
  483. package/docs/cli/browser.md +35 -33
  484. package/docs/cli/channels.md +21 -21
  485. package/docs/cli/config.md +15 -15
  486. package/docs/cli/configure.md +6 -6
  487. package/docs/cli/cron.md +5 -5
  488. package/docs/cli/dashboard.md +4 -4
  489. package/docs/cli/devices.md +13 -13
  490. package/docs/cli/directory.md +12 -12
  491. package/docs/cli/dns.md +5 -5
  492. package/docs/cli/docs.md +5 -5
  493. package/docs/cli/doctor.md +6 -6
  494. package/docs/cli/gateway.md +24 -24
  495. package/docs/cli/health.md +5 -5
  496. package/docs/cli/hooks.md +28 -28
  497. package/docs/cli/index.md +50 -44
  498. package/docs/cli/logs.md +6 -6
  499. package/docs/cli/memory.md +11 -11
  500. package/docs/cli/message.md +11 -11
  501. package/docs/cli/models.md +17 -17
  502. package/docs/cli/node.md +12 -12
  503. package/docs/cli/nodes.md +14 -14
  504. package/docs/cli/onboard.md +6 -7
  505. package/docs/cli/pairing.md +4 -4
  506. package/docs/cli/plugins.md +16 -16
  507. package/docs/cli/reset.md +5 -5
  508. package/docs/cli/sandbox.md +28 -28
  509. package/docs/cli/security.md +5 -5
  510. package/docs/cli/sessions.md +5 -5
  511. package/docs/cli/setup.md +6 -6
  512. package/docs/cli/skills.md +6 -6
  513. package/docs/cli/status.md +7 -7
  514. package/docs/cli/system.md +6 -6
  515. package/docs/cli/tui.md +5 -5
  516. package/docs/cli/uninstall.md +5 -5
  517. package/docs/cli/update.md +20 -20
  518. package/docs/cli/voicecall.md +9 -9
  519. package/docs/cli/webhooks.md +5 -5
  520. package/docs/concepts/agent-loop.md +5 -5
  521. package/docs/concepts/agent-workspace.md +11 -11
  522. package/docs/concepts/agent.md +10 -10
  523. package/docs/concepts/architecture.md +1 -1
  524. package/docs/concepts/channel-routing.md +2 -2
  525. package/docs/concepts/compaction.md +5 -5
  526. package/docs/concepts/context.md +6 -6
  527. package/docs/concepts/group-messages.md +5 -5
  528. package/docs/concepts/groups.md +5 -41
  529. package/docs/concepts/markdown-formatting.md +3 -3
  530. package/docs/concepts/memory.md +12 -12
  531. package/docs/concepts/messages.md +4 -4
  532. package/docs/concepts/model-failover.md +11 -11
  533. package/docs/concepts/model-providers.md +22 -22
  534. package/docs/concepts/models.md +26 -26
  535. package/docs/concepts/multi-agent.md +5 -5
  536. package/docs/concepts/oauth.md +55 -28
  537. package/docs/concepts/presence.md +2 -2
  538. package/docs/concepts/retry.md +1 -1
  539. package/docs/concepts/session-pruning.md +1 -1
  540. package/docs/concepts/session-tool.md +4 -4
  541. package/docs/concepts/session.md +11 -11
  542. package/docs/concepts/streaming.md +3 -3
  543. package/docs/concepts/system-prompt.md +11 -11
  544. package/docs/concepts/timezone.md +2 -2
  545. package/docs/concepts/typebox.md +2 -2
  546. package/docs/concepts/typing-indicators.md +2 -2
  547. package/docs/concepts/usage-tracking.md +3 -3
  548. package/docs/date-time.md +2 -2
  549. package/docs/debug/node-issue.md +4 -4
  550. package/docs/debugging.md +9 -9
  551. package/docs/diagnostics/flags.md +5 -5
  552. package/docs/docs.json +7 -37
  553. package/docs/environment.md +3 -3
  554. package/docs/experiments/plans/cron-add-hardening.md +1 -1
  555. package/docs/experiments/plans/openresponses-gateway.md +2 -2
  556. package/docs/experiments/research/memory.md +6 -6
  557. package/docs/gateway/authentication.md +54 -30
  558. package/docs/gateway/background-process.md +1 -1
  559. package/docs/gateway/bonjour.md +21 -21
  560. package/docs/gateway/bridge-protocol.md +2 -2
  561. package/docs/gateway/cli-backends.md +12 -13
  562. package/docs/gateway/configuration-examples.md +10 -10
  563. package/docs/gateway/configuration.md +107 -120
  564. package/docs/gateway/discovery.md +6 -6
  565. package/docs/gateway/doctor.md +21 -21
  566. package/docs/gateway/gateway-lock.md +1 -1
  567. package/docs/gateway/health.md +9 -9
  568. package/docs/gateway/heartbeat.md +5 -5
  569. package/docs/gateway/index.md +51 -51
  570. package/docs/gateway/local-models.md +2 -2
  571. package/docs/gateway/logging.md +8 -8
  572. package/docs/gateway/multiple-gateways.md +19 -19
  573. package/docs/gateway/openai-http-api.md +10 -10
  574. package/docs/gateway/openresponses-http-api.md +10 -10
  575. package/docs/gateway/pairing.md +5 -5
  576. package/docs/gateway/protocol.md +4 -5
  577. package/docs/gateway/remote-gateway-readme.md +8 -8
  578. package/docs/gateway/remote.md +4 -4
  579. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +7 -10
  580. package/docs/gateway/sandboxing.md +5 -7
  581. package/docs/gateway/{security/index.md → security.md} +63 -143
  582. package/docs/gateway/tailscale.md +35 -16
  583. package/docs/gateway/tools-invoke-http-api.md +3 -3
  584. package/docs/gateway/troubleshooting.md +106 -101
  585. package/docs/help/faq.md +312 -303
  586. package/docs/help/troubleshooting.md +15 -15
  587. package/docs/hooks/soul-evil.md +2 -2
  588. package/docs/hooks.md +44 -44
  589. package/docs/index.md +33 -33
  590. package/docs/install/ansible.md +35 -35
  591. package/docs/install/development-channels.md +10 -10
  592. package/docs/install/docker.md +27 -27
  593. package/docs/install/index.md +27 -28
  594. package/docs/install/installer.md +21 -21
  595. package/docs/install/nix.md +16 -16
  596. package/docs/install/node.md +6 -7
  597. package/docs/install/uninstall.md +21 -21
  598. package/docs/install/updating.md +47 -48
  599. package/docs/logging.md +58 -58
  600. package/docs/multi-agent-sandbox-tools.md +5 -5
  601. package/docs/network.md +1 -1
  602. package/docs/nodes/audio.md +2 -2
  603. package/docs/nodes/camera.md +18 -18
  604. package/docs/nodes/images.md +4 -4
  605. package/docs/nodes/index.md +50 -50
  606. package/docs/nodes/location-command.md +2 -2
  607. package/docs/nodes/media-understanding.md +5 -5
  608. package/docs/nodes/talk.md +1 -1
  609. package/docs/nodes/voicewake.md +1 -1
  610. package/docs/perplexity.md +2 -2
  611. package/docs/platforms/android.md +13 -13
  612. package/docs/platforms/exe-dev.md +23 -23
  613. package/docs/platforms/fly.md +18 -129
  614. package/docs/platforms/hetzner.md +20 -20
  615. package/docs/platforms/index.md +8 -8
  616. package/docs/platforms/ios.md +13 -13
  617. package/docs/platforms/linux.md +11 -11
  618. package/docs/platforms/mac/bundled-gateway.md +11 -11
  619. package/docs/platforms/mac/canvas.md +14 -14
  620. package/docs/platforms/mac/child-process.md +1 -1
  621. package/docs/platforms/mac/dev-setup.md +10 -10
  622. package/docs/platforms/mac/health.md +2 -2
  623. package/docs/platforms/mac/icon.md +1 -1
  624. package/docs/platforms/mac/logging.md +4 -4
  625. package/docs/platforms/mac/menu-bar.md +1 -1
  626. package/docs/platforms/mac/peekaboo.md +9 -9
  627. package/docs/platforms/mac/permissions.md +1 -1
  628. package/docs/platforms/mac/release.md +18 -18
  629. package/docs/platforms/mac/remote.md +14 -14
  630. package/docs/platforms/mac/signing.md +6 -6
  631. package/docs/platforms/mac/skills.md +2 -2
  632. package/docs/platforms/mac/webchat.md +1 -1
  633. package/docs/platforms/mac/xpc.md +4 -4
  634. package/docs/platforms/macos-vm.md +27 -27
  635. package/docs/platforms/macos.md +14 -14
  636. package/docs/platforms/windows.md +11 -11
  637. package/docs/plugin.md +57 -57
  638. package/docs/plugins/agent-tools.md +1 -1
  639. package/docs/plugins/manifest.md +4 -4
  640. package/docs/plugins/voice-call.md +12 -15
  641. package/docs/plugins/zalouser.md +9 -9
  642. package/docs/prose.md +9 -9
  643. package/docs/providers/anthropic.md +27 -23
  644. package/docs/providers/deepgram.md +2 -2
  645. package/docs/providers/github-copilot.md +11 -11
  646. package/docs/providers/glm.md +4 -4
  647. package/docs/providers/index.md +3 -7
  648. package/docs/providers/minimax.md +9 -9
  649. package/docs/providers/models.md +3 -3
  650. package/docs/providers/moonshot.md +2 -2
  651. package/docs/providers/ollama.md +11 -11
  652. package/docs/providers/openai.md +13 -9
  653. package/docs/providers/opencode.md +3 -3
  654. package/docs/providers/openrouter.md +3 -3
  655. package/docs/providers/qwen.md +6 -6
  656. package/docs/providers/synthetic.md +4 -4
  657. package/docs/providers/venice.md +21 -21
  658. package/docs/providers/vercel-ai-gateway.md +3 -4
  659. package/docs/providers/zai.md +5 -5
  660. package/docs/railway.mdx +5 -5
  661. package/docs/refactor/plugin-sdk.md +10 -10
  662. package/docs/refactor/strict-config.md +11 -11
  663. package/docs/reference/AGENTS.default.md +10 -10
  664. package/docs/reference/RELEASING.md +27 -27
  665. package/docs/reference/api-usage-costs.md +6 -6
  666. package/docs/reference/device-models.md +7 -7
  667. package/docs/reference/rpc.md +3 -3
  668. package/docs/reference/session-management-compaction.md +17 -17
  669. package/docs/reference/templates/AGENTS.dev.md +1 -1
  670. package/docs/reference/templates/BOOT.md +1 -1
  671. package/docs/reference/templates/TOOLS.dev.md +1 -1
  672. package/docs/reference/templates/USER.dev.md +2 -2
  673. package/docs/reference/test.md +2 -2
  674. package/docs/reference/transcript-hygiene.md +1 -1
  675. package/docs/scripts.md +1 -1
  676. package/docs/start/clawd.md +27 -27
  677. package/docs/start/getting-started.md +23 -29
  678. package/docs/start/hubs.md +2 -2
  679. package/docs/start/lore.md +38 -74
  680. package/docs/start/onboarding.md +4 -4
  681. package/docs/start/pairing.md +8 -8
  682. package/docs/start/setup.md +15 -28
  683. package/docs/start/showcase.md +32 -32
  684. package/docs/start/wizard.md +21 -24
  685. package/docs/testing.md +10 -10
  686. package/docs/token-use.md +7 -7
  687. package/docs/tools/agent-send.md +10 -10
  688. package/docs/tools/browser-linux-troubleshooting.md +8 -8
  689. package/docs/tools/browser-login.md +4 -4
  690. package/docs/tools/browser.md +241 -135
  691. package/docs/tools/chrome-extension.md +48 -31
  692. package/docs/tools/clawdhub.md +7 -7
  693. package/docs/tools/creating-skills.md +4 -4
  694. package/docs/tools/elevated.md +0 -1
  695. package/docs/tools/exec-approvals.md +2 -5
  696. package/docs/tools/exec.md +3 -14
  697. package/docs/tools/firecrawl.md +2 -2
  698. package/docs/tools/index.md +15 -18
  699. package/docs/tools/llm-task.md +1 -1
  700. package/docs/tools/lobster.md +11 -23
  701. package/docs/tools/skills-config.md +1 -1
  702. package/docs/tools/skills.md +21 -29
  703. package/docs/tools/slash-commands.md +8 -10
  704. package/docs/tools/web.md +6 -6
  705. package/docs/tts.md +9 -9
  706. package/docs/tui.md +7 -7
  707. package/docs/vps.md +1 -6
  708. package/docs/web/control-ui.md +12 -13
  709. package/docs/web/dashboard.md +4 -8
  710. package/docs/web/index.md +5 -6
  711. package/docs/web/webchat.md +1 -1
  712. package/extensions/bluebubbles/index.ts +2 -2
  713. package/extensions/bluebubbles/package.json +5 -5
  714. package/extensions/bluebubbles/src/accounts.ts +8 -8
  715. package/extensions/bluebubbles/src/actions.test.ts +22 -22
  716. package/extensions/bluebubbles/src/actions.ts +5 -5
  717. package/extensions/bluebubbles/src/attachments.ts +2 -2
  718. package/extensions/bluebubbles/src/channel.ts +16 -16
  719. package/extensions/bluebubbles/src/chat.ts +2 -2
  720. package/extensions/bluebubbles/src/media-send.ts +2 -2
  721. package/extensions/bluebubbles/src/monitor.test.ts +49 -55
  722. package/extensions/bluebubbles/src/monitor.ts +5 -180
  723. package/extensions/bluebubbles/src/onboarding.ts +7 -7
  724. package/extensions/bluebubbles/src/reactions.ts +2 -2
  725. package/extensions/bluebubbles/src/send.ts +2 -2
  726. package/extensions/copilot-proxy/package.json +4 -4
  727. package/extensions/diagnostics-otel/index.ts +2 -2
  728. package/extensions/diagnostics-otel/package.json +4 -4
  729. package/extensions/diagnostics-otel/src/service.test.ts +12 -12
  730. package/extensions/diagnostics-otel/src/service.ts +84 -84
  731. package/extensions/discord/index.ts +2 -2
  732. package/extensions/discord/package.json +4 -4
  733. package/extensions/google-antigravity-auth/index.ts +1 -8
  734. package/extensions/google-antigravity-auth/package.json +4 -4
  735. package/extensions/google-gemini-cli-auth/oauth.ts +2 -2
  736. package/extensions/google-gemini-cli-auth/package.json +4 -4
  737. package/extensions/googlechat/index.ts +3 -3
  738. package/extensions/googlechat/package.json +7 -7
  739. package/extensions/googlechat/src/accounts.ts +8 -8
  740. package/extensions/googlechat/src/actions.ts +6 -6
  741. package/extensions/googlechat/src/api.ts +1 -1
  742. package/extensions/googlechat/src/channel.ts +21 -21
  743. package/extensions/googlechat/src/monitor.ts +8 -8
  744. package/extensions/googlechat/src/onboarding.ts +10 -10
  745. package/extensions/imessage/index.ts +2 -2
  746. package/extensions/imessage/package.json +4 -4
  747. package/extensions/line/index.ts +2 -2
  748. package/extensions/line/package.json +6 -6
  749. package/extensions/line/src/card-command.ts +2 -2
  750. package/extensions/line/src/channel.logout.test.ts +4 -4
  751. package/extensions/line/src/channel.sendPayload.test.ts +8 -8
  752. package/extensions/line/src/channel.ts +4 -4
  753. package/extensions/llm-task/index.ts +2 -2
  754. package/extensions/llm-task/package.json +4 -4
  755. package/extensions/llm-task/src/llm-task-tool.ts +5 -5
  756. package/extensions/lobster/index.ts +2 -2
  757. package/extensions/lobster/package.json +3 -3
  758. package/extensions/lobster/src/lobster-tool.test.ts +6 -26
  759. package/extensions/lobster/src/lobster-tool.ts +6 -24
  760. package/extensions/matrix/CHANGELOG.md +9 -9
  761. package/extensions/matrix/index.ts +2 -2
  762. package/extensions/matrix/package.json +7 -7
  763. package/extensions/matrix/src/matrix/actions/messages.ts +1 -1
  764. package/extensions/matrix/src/matrix/actions/reactions.ts +1 -1
  765. package/extensions/matrix/src/matrix/actions/room.ts +3 -3
  766. package/extensions/matrix/src/matrix/actions/summary.ts +1 -1
  767. package/extensions/matrix/src/matrix/actions/types.ts +1 -1
  768. package/extensions/matrix/src/matrix/active-client.ts +1 -1
  769. package/extensions/matrix/src/matrix/client/config.ts +2 -2
  770. package/extensions/matrix/src/matrix/client/create-client.ts +2 -2
  771. package/extensions/matrix/src/matrix/client/logging.ts +1 -1
  772. package/extensions/matrix/src/matrix/client/shared.ts +3 -3
  773. package/extensions/matrix/src/matrix/deps.ts +4 -4
  774. package/extensions/matrix/src/matrix/monitor/auto-join.ts +2 -2
  775. package/extensions/matrix/src/matrix/monitor/direct.ts +1 -1
  776. package/extensions/matrix/src/matrix/monitor/events.ts +1 -1
  777. package/extensions/matrix/src/matrix/monitor/handler.ts +5 -5
  778. package/extensions/matrix/src/matrix/monitor/index.ts +1 -1
  779. package/extensions/matrix/src/matrix/monitor/location.ts +1 -1
  780. package/extensions/matrix/src/matrix/monitor/media.test.ts +2 -2
  781. package/extensions/matrix/src/matrix/monitor/media.ts +3 -3
  782. package/extensions/matrix/src/matrix/monitor/replies.ts +1 -1
  783. package/extensions/matrix/src/matrix/monitor/room-info.ts +1 -1
  784. package/extensions/matrix/src/matrix/monitor/threads.ts +1 -1
  785. package/extensions/matrix/src/matrix/monitor/types.ts +1 -1
  786. package/extensions/matrix/src/matrix/probe.ts +1 -1
  787. package/extensions/matrix/src/matrix/send/client.ts +2 -2
  788. package/extensions/matrix/src/matrix/send/media.ts +1 -1
  789. package/extensions/matrix/src/matrix/send/targets.test.ts +1 -1
  790. package/extensions/matrix/src/matrix/send/targets.ts +1 -1
  791. package/extensions/matrix/src/matrix/send/types.ts +2 -2
  792. package/extensions/matrix/src/matrix/send.test.ts +2 -2
  793. package/extensions/matrix/src/matrix/send.ts +3 -3
  794. package/extensions/matrix/src/onboarding.ts +2 -2
  795. package/extensions/matrix/src/types.ts +1 -1
  796. package/extensions/mattermost/index.ts +2 -2
  797. package/extensions/mattermost/package.json +5 -5
  798. package/extensions/mattermost/src/mattermost/accounts.ts +8 -8
  799. package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
  800. package/extensions/mattermost/src/mattermost/monitor.ts +2 -2
  801. package/extensions/mattermost/src/onboarding-helpers.ts +3 -3
  802. package/extensions/mattermost/src/onboarding.ts +3 -3
  803. package/extensions/memory-core/index.ts +2 -2
  804. package/extensions/memory-core/package.json +5 -5
  805. package/extensions/memory-lancedb/index.test.ts +2 -2
  806. package/extensions/memory-lancedb/index.ts +3 -3
  807. package/extensions/memory-lancedb/package.json +4 -4
  808. package/extensions/msteams/CHANGELOG.md +7 -7
  809. package/extensions/msteams/index.ts +2 -2
  810. package/extensions/msteams/package.json +6 -6
  811. package/extensions/msteams/src/channel.directory.test.ts +2 -2
  812. package/extensions/msteams/src/channel.ts +2 -2
  813. package/extensions/msteams/src/conversation-store-fs.test.ts +1 -1
  814. package/extensions/msteams/src/graph-upload.ts +4 -4
  815. package/extensions/msteams/src/monitor-handler.ts +2 -2
  816. package/extensions/msteams/src/monitor.ts +2 -2
  817. package/extensions/msteams/src/onboarding.ts +9 -9
  818. package/extensions/msteams/src/policy.ts +3 -48
  819. package/extensions/msteams/src/polls-store.test.ts +1 -1
  820. package/extensions/msteams/src/polls.test.ts +2 -2
  821. package/extensions/msteams/src/polls.ts +8 -8
  822. package/extensions/msteams/src/reply-dispatcher.ts +35 -35
  823. package/extensions/msteams/src/send-context.ts +2 -2
  824. package/extensions/msteams/src/send.ts +4 -4
  825. package/extensions/nextcloud-talk/index.ts +2 -2
  826. package/extensions/nextcloud-talk/package.json +5 -5
  827. package/extensions/nextcloud-talk/src/channel.ts +7 -7
  828. package/extensions/nextcloud-talk/src/inbound.ts +7 -7
  829. package/extensions/nextcloud-talk/src/onboarding.ts +1 -1
  830. package/extensions/nostr/CHANGELOG.md +4 -4
  831. package/extensions/nostr/index.ts +5 -5
  832. package/extensions/nostr/package.json +6 -6
  833. package/extensions/nostr/src/channel.ts +1 -1
  834. package/extensions/nostr/src/nostr-state-store.test.ts +1 -1
  835. package/extensions/nostr/src/types.ts +4 -4
  836. package/extensions/open-prose/index.ts +2 -2
  837. package/extensions/open-prose/package.json +3 -3
  838. package/extensions/open-prose/skills/prose/SKILL.md +5 -5
  839. package/extensions/open-prose/skills/prose/prose.md +4 -4
  840. package/extensions/signal/index.ts +2 -2
  841. package/extensions/signal/package.json +4 -4
  842. package/extensions/slack/index.ts +2 -2
  843. package/extensions/slack/package.json +4 -4
  844. package/extensions/telegram/index.ts +2 -2
  845. package/extensions/telegram/package.json +4 -4
  846. package/extensions/telegram/src/channel.ts +2 -2
  847. package/extensions/tlon/README.md +1 -1
  848. package/extensions/tlon/index.ts +2 -2
  849. package/extensions/tlon/package.json +5 -5
  850. package/extensions/tlon/src/channel.ts +13 -13
  851. package/extensions/tlon/src/monitor/index.ts +3 -3
  852. package/extensions/tlon/src/onboarding.ts +3 -3
  853. package/extensions/tlon/src/types.ts +3 -3
  854. package/extensions/tlon/src/urbit/send.ts +6 -19
  855. package/extensions/voice-call/CHANGELOG.md +12 -13
  856. package/extensions/voice-call/README.md +2 -3
  857. package/extensions/voice-call/clawdbot.plugin.json +3 -3
  858. package/extensions/voice-call/index.ts +9 -11
  859. package/extensions/voice-call/package.json +4 -4
  860. package/extensions/voice-call/src/cli.ts +1 -1
  861. package/extensions/voice-call/src/config.ts +4 -61
  862. package/extensions/voice-call/src/core-bridge.ts +8 -10
  863. package/extensions/voice-call/src/manager.test.ts +2 -2
  864. package/extensions/voice-call/src/providers/twilio/webhook.ts +1 -2
  865. package/extensions/voice-call/src/providers/twilio.ts +2 -2
  866. package/extensions/voice-call/src/response-generator.ts +1 -1
  867. package/extensions/voice-call/src/runtime.ts +15 -26
  868. package/extensions/voice-call/src/types.ts +0 -1
  869. package/extensions/voice-call/src/webhook-security.test.ts +0 -52
  870. package/extensions/voice-call/src/webhook-security.ts +5 -16
  871. package/extensions/voice-call/src/webhook.ts +0 -1
  872. package/extensions/whatsapp/index.ts +2 -2
  873. package/extensions/whatsapp/package.json +4 -4
  874. package/extensions/zalo/CHANGELOG.md +9 -9
  875. package/extensions/zalo/index.ts +2 -2
  876. package/extensions/zalo/package.json +6 -6
  877. package/extensions/zalo/src/accounts.ts +8 -8
  878. package/extensions/zalo/src/actions.ts +4 -4
  879. package/extensions/zalo/src/channel.directory.test.ts +2 -2
  880. package/extensions/zalo/src/channel.ts +18 -18
  881. package/extensions/zalo/src/monitor.ts +9 -9
  882. package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
  883. package/extensions/zalo/src/onboarding.ts +25 -25
  884. package/extensions/zalo/src/send.ts +2 -2
  885. package/extensions/zalouser/CHANGELOG.md +4 -4
  886. package/extensions/zalouser/index.ts +2 -2
  887. package/extensions/zalouser/package.json +6 -6
  888. package/extensions/zalouser/src/accounts.ts +9 -9
  889. package/extensions/zalouser/src/channel.ts +25 -25
  890. package/extensions/zalouser/src/monitor.ts +4 -4
  891. package/extensions/zalouser/src/onboarding.ts +30 -30
  892. package/extensions/zalouser/src/status-issues.ts +1 -1
  893. package/package.json +18 -17
  894. package/skills/1password/SKILL.md +3 -3
  895. package/skills/apple-notes/SKILL.md +2 -2
  896. package/skills/apple-reminders/SKILL.md +1 -1
  897. package/skills/bear-notes/SKILL.md +1 -1
  898. package/skills/bird/SKILL.md +1 -1
  899. package/skills/blogwatcher/SKILL.md +1 -1
  900. package/skills/blucli/SKILL.md +1 -1
  901. package/skills/bluebubbles/SKILL.md +1 -1
  902. package/skills/camsnap/SKILL.md +1 -1
  903. package/skills/canvas/SKILL.md +15 -15
  904. package/skills/clawdhub/SKILL.md +2 -2
  905. package/skills/coding-agent/SKILL.md +6 -6
  906. package/skills/discord/SKILL.md +5 -6
  907. package/skills/eightctl/SKILL.md +1 -1
  908. package/skills/food-order/SKILL.md +1 -1
  909. package/skills/gemini/SKILL.md +1 -1
  910. package/skills/gifgrep/SKILL.md +1 -1
  911. package/skills/github/SKILL.md +0 -1
  912. package/skills/gog/SKILL.md +1 -1
  913. package/skills/goplaces/SKILL.md +1 -1
  914. package/skills/himalaya/SKILL.md +1 -1
  915. package/skills/imsg/SKILL.md +1 -1
  916. package/skills/local-places/SKILL.md +1 -1
  917. package/skills/mcporter/SKILL.md +1 -1
  918. package/skills/model-usage/SKILL.md +1 -1
  919. package/skills/nano-banana-pro/SKILL.md +5 -10
  920. package/skills/nano-banana-pro/scripts/generate_image.py +27 -42
  921. package/skills/nano-pdf/SKILL.md +1 -1
  922. package/skills/notion/SKILL.md +1 -1
  923. package/skills/obsidian/SKILL.md +1 -1
  924. package/skills/openai-image-gen/SKILL.md +1 -1
  925. package/skills/openai-whisper/SKILL.md +1 -1
  926. package/skills/openai-whisper-api/SKILL.md +2 -2
  927. package/skills/openhue/SKILL.md +1 -1
  928. package/skills/oracle/SKILL.md +1 -1
  929. package/skills/ordercli/SKILL.md +1 -1
  930. package/skills/peekaboo/SKILL.md +1 -1
  931. package/skills/sag/SKILL.md +1 -1
  932. package/skills/session-logs/SKILL.md +1 -1
  933. package/skills/sherpa-onnx-tts/SKILL.md +2 -2
  934. package/skills/slack/SKILL.md +3 -4
  935. package/skills/songsee/SKILL.md +1 -1
  936. package/skills/sonoscli/SKILL.md +1 -1
  937. package/skills/spotify-player/SKILL.md +1 -1
  938. package/skills/summarize/SKILL.md +1 -1
  939. package/skills/things-mac/SKILL.md +3 -3
  940. package/skills/tmux/SKILL.md +7 -7
  941. package/skills/tmux/scripts/find-sessions.sh +1 -1
  942. package/skills/trello/SKILL.md +2 -2
  943. package/skills/video-frames/SKILL.md +1 -1
  944. package/skills/voice-call/SKILL.md +4 -4
  945. package/skills/wacli/SKILL.md +2 -2
  946. package/skills/weather/SKILL.md +1 -1
  947. package/LICENSE +0 -21
  948. package/dist/agents/moltbot-tools.js +0 -121
  949. package/dist/agents/pi-extensions/compaction-safeguard-runtime.js +0 -20
  950. package/dist/browser/control-service.js +0 -72
  951. package/dist/browser/routes/dispatcher.js +0 -86
  952. package/dist/browser/routes/types.js +0 -1
  953. package/dist/cli/cli-name.js +0 -26
  954. package/dist/compat/legacy-names.js +0 -5
  955. package/dist/control-ui/assets/index-CIRDm-Lu.css +0 -1
  956. package/dist/control-ui/assets/index-HlBhZmfj.js.map +0 -1
  957. package/dist/discord/monitor/presence-cache.js +0 -38
  958. package/dist/gateway/server-methods/browser.js +0 -204
  959. package/dist/infra/fs-safe.js +0 -76
  960. package/dist/infra/moltbot-root.js +0 -57
  961. package/dist/line/signature.js +0 -11
  962. package/dist/security/external-content.js +0 -143
  963. package/dist/security/windows-acl.js +0 -162
  964. package/dist/telegram/api-logging.js +0 -24
  965. package/dist/telegram/network-config.js +0 -23
  966. package/dist/telegram/network-errors.js +0 -103
  967. package/dist/telegram/sticker-cache.js +0 -202
  968. package/docs/channels/line.md +0 -183
  969. package/docs/channels/twitch.md +0 -366
  970. package/docs/gateway/security/formal-verification.md +0 -107
  971. package/docs/install/migrating.md +0 -190
  972. package/docs/northflank.mdx +0 -53
  973. package/docs/platforms/digitalocean.md +0 -243
  974. package/docs/platforms/gcp.md +0 -498
  975. package/docs/platforms/oracle.md +0 -291
  976. package/docs/platforms/raspberry-pi.md +0 -354
  977. package/docs/providers/claude-max-api-proxy.md +0 -145
  978. package/docs/render.mdx +0 -158
  979. package/docs/security/formal-verification.md +0 -107
  980. package/extensions/googlechat/node_modules/.bin/poolbot +0 -21
  981. package/extensions/line/node_modules/.bin/poolbot +0 -21
  982. package/extensions/matrix/node_modules/.bin/poolbot +0 -21
  983. package/extensions/memory-core/node_modules/.bin/poolbot +0 -21
  984. package/extensions/msteams/node_modules/.bin/poolbot +0 -21
  985. package/extensions/nostr/node_modules/.bin/poolbot +0 -21
  986. package/extensions/twitch/CHANGELOG.md +0 -21
  987. package/extensions/twitch/README.md +0 -89
  988. package/extensions/twitch/clawdbot.plugin.json +0 -9
  989. package/extensions/twitch/index.ts +0 -20
  990. package/extensions/twitch/node_modules/.bin/poolbot +0 -21
  991. package/extensions/twitch/package.json +0 -20
  992. package/extensions/twitch/src/access-control.test.ts +0 -489
  993. package/extensions/twitch/src/access-control.ts +0 -154
  994. package/extensions/twitch/src/actions.ts +0 -173
  995. package/extensions/twitch/src/client-manager-registry.ts +0 -115
  996. package/extensions/twitch/src/config-schema.ts +0 -82
  997. package/extensions/twitch/src/config.test.ts +0 -88
  998. package/extensions/twitch/src/config.ts +0 -116
  999. package/extensions/twitch/src/monitor.ts +0 -257
  1000. package/extensions/twitch/src/onboarding.test.ts +0 -311
  1001. package/extensions/twitch/src/onboarding.ts +0 -411
  1002. package/extensions/twitch/src/outbound.test.ts +0 -373
  1003. package/extensions/twitch/src/outbound.ts +0 -186
  1004. package/extensions/twitch/src/plugin.test.ts +0 -39
  1005. package/extensions/twitch/src/plugin.ts +0 -274
  1006. package/extensions/twitch/src/probe.test.ts +0 -198
  1007. package/extensions/twitch/src/probe.ts +0 -118
  1008. package/extensions/twitch/src/resolver.ts +0 -137
  1009. package/extensions/twitch/src/runtime.ts +0 -14
  1010. package/extensions/twitch/src/send.test.ts +0 -289
  1011. package/extensions/twitch/src/send.ts +0 -136
  1012. package/extensions/twitch/src/status.test.ts +0 -270
  1013. package/extensions/twitch/src/status.ts +0 -176
  1014. package/extensions/twitch/src/token.test.ts +0 -171
  1015. package/extensions/twitch/src/token.ts +0 -87
  1016. package/extensions/twitch/src/twitch-client.test.ts +0 -574
  1017. package/extensions/twitch/src/twitch-client.ts +0 -277
  1018. package/extensions/twitch/src/types.ts +0 -141
  1019. package/extensions/twitch/src/utils/markdown.ts +0 -92
  1020. package/extensions/twitch/src/utils/twitch.ts +0 -78
  1021. package/extensions/twitch/test/setup.ts +0 -7
  1022. package/extensions/voice-call/src/config.test.ts +0 -204
  1023. package/extensions/zalo/node_modules/.bin/poolbot +0 -21
  1024. package/extensions/zalouser/node_modules/.bin/poolbot +0 -21
@@ -1,6 +1,5 @@
1
1
  import { resolveTelegramReactionLevel } from "../../telegram/reaction-level.js";
2
- import { deleteMessageTelegram, editMessageTelegram, reactMessageTelegram, sendMessageTelegram, sendStickerTelegram, } from "../../telegram/send.js";
3
- import { getCacheStats, searchStickers } from "../../telegram/sticker-cache.js";
2
+ import { deleteMessageTelegram, reactMessageTelegram, sendMessageTelegram, } from "../../telegram/send.js";
4
3
  import { resolveTelegramToken } from "../../telegram/token.js";
5
4
  import { resolveTelegramInlineButtonsScope, resolveTelegramTargetChatType, } from "../../telegram/inline-buttons.js";
6
5
  import { createActionGate, jsonResult, readNumberParam, readReactionParams, readStringOrNumberParam, readStringParam, } from "./common.js";
@@ -131,7 +130,6 @@ export async function handleTelegramAction(params, cfg) {
131
130
  replyToMessageId: replyToMessageId ?? undefined,
132
131
  messageThreadId: messageThreadId ?? undefined,
133
132
  asVoice: typeof params.asVoice === "boolean" ? params.asVoice : undefined,
134
- silent: typeof params.silent === "boolean" ? params.silent : undefined,
135
133
  });
136
134
  return jsonResult({
137
135
  ok: true,
@@ -160,95 +158,5 @@ export async function handleTelegramAction(params, cfg) {
160
158
  });
161
159
  return jsonResult({ ok: true, deleted: true });
162
160
  }
163
- if (action === "editMessage") {
164
- if (!isActionEnabled("editMessage")) {
165
- throw new Error("Telegram editMessage is disabled.");
166
- }
167
- const chatId = readStringOrNumberParam(params, "chatId", {
168
- required: true,
169
- });
170
- const messageId = readNumberParam(params, "messageId", {
171
- required: true,
172
- integer: true,
173
- });
174
- const content = readStringParam(params, "content", {
175
- required: true,
176
- allowEmpty: false,
177
- });
178
- const buttons = readTelegramButtons(params);
179
- if (buttons) {
180
- const inlineButtonsScope = resolveTelegramInlineButtonsScope({
181
- cfg,
182
- accountId: accountId ?? undefined,
183
- });
184
- if (inlineButtonsScope === "off") {
185
- throw new Error('Telegram inline buttons are disabled. Set channels.telegram.capabilities.inlineButtons to "dm", "group", "all", or "allowlist".');
186
- }
187
- }
188
- const token = resolveTelegramToken(cfg, { accountId }).token;
189
- if (!token) {
190
- throw new Error("Telegram bot token missing. Set TELEGRAM_BOT_TOKEN or channels.telegram.botToken.");
191
- }
192
- const result = await editMessageTelegram(chatId ?? "", messageId ?? 0, content, {
193
- token,
194
- accountId: accountId ?? undefined,
195
- buttons,
196
- });
197
- return jsonResult({
198
- ok: true,
199
- messageId: result.messageId,
200
- chatId: result.chatId,
201
- });
202
- }
203
- if (action === "sendSticker") {
204
- if (!isActionEnabled("sticker", false)) {
205
- throw new Error("Telegram sticker actions are disabled. Set channels.telegram.actions.sticker to true.");
206
- }
207
- const to = readStringParam(params, "to", { required: true });
208
- const fileId = readStringParam(params, "fileId", { required: true });
209
- const replyToMessageId = readNumberParam(params, "replyToMessageId", {
210
- integer: true,
211
- });
212
- const messageThreadId = readNumberParam(params, "messageThreadId", {
213
- integer: true,
214
- });
215
- const token = resolveTelegramToken(cfg, { accountId }).token;
216
- if (!token) {
217
- throw new Error("Telegram bot token missing. Set TELEGRAM_BOT_TOKEN or channels.telegram.botToken.");
218
- }
219
- const result = await sendStickerTelegram(to, fileId, {
220
- token,
221
- accountId: accountId ?? undefined,
222
- replyToMessageId: replyToMessageId ?? undefined,
223
- messageThreadId: messageThreadId ?? undefined,
224
- });
225
- return jsonResult({
226
- ok: true,
227
- messageId: result.messageId,
228
- chatId: result.chatId,
229
- });
230
- }
231
- if (action === "searchSticker") {
232
- if (!isActionEnabled("sticker", false)) {
233
- throw new Error("Telegram sticker actions are disabled. Set channels.telegram.actions.sticker to true.");
234
- }
235
- const query = readStringParam(params, "query", { required: true });
236
- const limit = readNumberParam(params, "limit", { integer: true }) ?? 5;
237
- const results = searchStickers(query, limit);
238
- return jsonResult({
239
- ok: true,
240
- count: results.length,
241
- stickers: results.map((s) => ({
242
- fileId: s.fileId,
243
- emoji: s.emoji,
244
- description: s.description,
245
- setName: s.setName,
246
- })),
247
- });
248
- }
249
- if (action === "stickerCacheStats") {
250
- const stats = getCacheStats();
251
- return jsonResult({ ok: true, ...stats });
252
- }
253
161
  throw new Error(`Unsupported Telegram action: ${action}`);
254
162
  }
@@ -1,5 +1,5 @@
1
1
  import { Type } from "@sinclair/typebox";
2
- import { closeDispatcher, createPinnedDispatcher, resolvePinnedHostname, SsrFBlockedError, } from "../../infra/net/ssrf.js";
2
+ import { assertPublicHostname, SsrFBlockedError } from "../../infra/net/ssrf.js";
3
3
  import { stringEnum } from "../schema/typebox.js";
4
4
  import { jsonResult, readNumberParam, readStringParam } from "./common.js";
5
5
  import { DEFAULT_CACHE_TTL_MINUTES, DEFAULT_TIMEOUT_SECONDS, normalizeCacheKey, readCache, readResponseText, resolveCacheTtlMs, resolveTimeoutSeconds, withTimeout, writeCache, } from "./web-shared.js";
@@ -120,49 +120,36 @@ async function fetchWithRedirects(params) {
120
120
  if (!["http:", "https:"].includes(parsedUrl.protocol)) {
121
121
  throw new Error("Invalid URL: must be http or https");
122
122
  }
123
- const pinned = await resolvePinnedHostname(parsedUrl.hostname);
124
- const dispatcher = createPinnedDispatcher(pinned);
125
- let res;
126
- try {
127
- res = await fetch(parsedUrl.toString(), {
128
- method: "GET",
129
- headers: {
130
- Accept: "*/*",
131
- "User-Agent": params.userAgent,
132
- "Accept-Language": "en-US,en;q=0.9",
133
- },
134
- signal,
135
- redirect: "manual",
136
- dispatcher,
137
- });
138
- }
139
- catch (err) {
140
- await closeDispatcher(dispatcher);
141
- throw err;
142
- }
123
+ await assertPublicHostname(parsedUrl.hostname);
124
+ const res = await fetch(parsedUrl.toString(), {
125
+ method: "GET",
126
+ headers: {
127
+ Accept: "*/*",
128
+ "User-Agent": params.userAgent,
129
+ "Accept-Language": "en-US,en;q=0.9",
130
+ },
131
+ signal,
132
+ redirect: "manual",
133
+ });
143
134
  if (isRedirectStatus(res.status)) {
144
135
  const location = res.headers.get("location");
145
136
  if (!location) {
146
- await closeDispatcher(dispatcher);
147
137
  throw new Error(`Redirect missing location header (${res.status})`);
148
138
  }
149
139
  redirectCount += 1;
150
140
  if (redirectCount > params.maxRedirects) {
151
- await closeDispatcher(dispatcher);
152
141
  throw new Error(`Too many redirects (limit: ${params.maxRedirects})`);
153
142
  }
154
143
  const nextUrl = new URL(location, parsedUrl).toString();
155
144
  if (visited.has(nextUrl)) {
156
- await closeDispatcher(dispatcher);
157
145
  throw new Error("Redirect loop detected");
158
146
  }
159
147
  visited.add(nextUrl);
160
148
  void res.body?.cancel();
161
- await closeDispatcher(dispatcher);
162
149
  currentUrl = nextUrl;
163
150
  continue;
164
151
  }
165
- return { response: res, finalUrl: currentUrl, dispatcher };
152
+ return { response: res, finalUrl: currentUrl };
166
153
  }
167
154
  }
168
155
  function formatWebFetchErrorDetail(params) {
@@ -236,7 +223,6 @@ async function runWebFetch(params) {
236
223
  }
237
224
  const start = Date.now();
238
225
  let res;
239
- let dispatcher = null;
240
226
  let finalUrl = params.url;
241
227
  try {
242
228
  const result = await fetchWithRedirects({
@@ -247,7 +233,6 @@ async function runWebFetch(params) {
247
233
  });
248
234
  res = result.response;
249
235
  finalUrl = result.finalUrl;
250
- dispatcher = result.dispatcher;
251
236
  }
252
237
  catch (error) {
253
238
  if (error instanceof SsrFBlockedError) {
@@ -286,111 +271,106 @@ async function runWebFetch(params) {
286
271
  }
287
272
  throw error;
288
273
  }
289
- try {
290
- if (!res.ok) {
291
- if (params.firecrawlEnabled && params.firecrawlApiKey) {
292
- const firecrawl = await fetchFirecrawlContent({
293
- url: params.url,
294
- extractMode: params.extractMode,
295
- apiKey: params.firecrawlApiKey,
296
- baseUrl: params.firecrawlBaseUrl,
297
- onlyMainContent: params.firecrawlOnlyMainContent,
298
- maxAgeMs: params.firecrawlMaxAgeMs,
299
- proxy: params.firecrawlProxy,
300
- storeInCache: params.firecrawlStoreInCache,
301
- timeoutSeconds: params.firecrawlTimeoutSeconds,
302
- });
303
- const truncated = truncateText(firecrawl.text, params.maxChars);
304
- const payload = {
305
- url: params.url,
306
- finalUrl: firecrawl.finalUrl || finalUrl,
307
- status: firecrawl.status ?? res.status,
308
- contentType: "text/markdown",
309
- title: firecrawl.title,
310
- extractMode: params.extractMode,
311
- extractor: "firecrawl",
312
- truncated: truncated.truncated,
313
- length: truncated.text.length,
314
- fetchedAt: new Date().toISOString(),
315
- tookMs: Date.now() - start,
316
- text: truncated.text,
317
- warning: firecrawl.warning,
318
- };
319
- writeCache(FETCH_CACHE, cacheKey, payload, params.cacheTtlMs);
320
- return payload;
321
- }
322
- const rawDetail = await readResponseText(res);
323
- const detail = formatWebFetchErrorDetail({
324
- detail: rawDetail,
325
- contentType: res.headers.get("content-type"),
326
- maxChars: DEFAULT_ERROR_MAX_CHARS,
274
+ if (!res.ok) {
275
+ if (params.firecrawlEnabled && params.firecrawlApiKey) {
276
+ const firecrawl = await fetchFirecrawlContent({
277
+ url: params.url,
278
+ extractMode: params.extractMode,
279
+ apiKey: params.firecrawlApiKey,
280
+ baseUrl: params.firecrawlBaseUrl,
281
+ onlyMainContent: params.firecrawlOnlyMainContent,
282
+ maxAgeMs: params.firecrawlMaxAgeMs,
283
+ proxy: params.firecrawlProxy,
284
+ storeInCache: params.firecrawlStoreInCache,
285
+ timeoutSeconds: params.firecrawlTimeoutSeconds,
327
286
  });
328
- throw new Error(`Web fetch failed (${res.status}): ${detail || res.statusText}`);
287
+ const truncated = truncateText(firecrawl.text, params.maxChars);
288
+ const payload = {
289
+ url: params.url,
290
+ finalUrl: firecrawl.finalUrl || finalUrl,
291
+ status: firecrawl.status ?? res.status,
292
+ contentType: "text/markdown",
293
+ title: firecrawl.title,
294
+ extractMode: params.extractMode,
295
+ extractor: "firecrawl",
296
+ truncated: truncated.truncated,
297
+ length: truncated.text.length,
298
+ fetchedAt: new Date().toISOString(),
299
+ tookMs: Date.now() - start,
300
+ text: truncated.text,
301
+ warning: firecrawl.warning,
302
+ };
303
+ writeCache(FETCH_CACHE, cacheKey, payload, params.cacheTtlMs);
304
+ return payload;
329
305
  }
330
- const contentType = res.headers.get("content-type") ?? "application/octet-stream";
331
- const body = await readResponseText(res);
332
- let title;
333
- let extractor = "raw";
334
- let text = body;
335
- if (contentType.includes("text/html")) {
336
- if (params.readabilityEnabled) {
337
- const readable = await extractReadableContent({
338
- html: body,
339
- url: finalUrl,
340
- extractMode: params.extractMode,
341
- });
342
- if (readable?.text) {
343
- text = readable.text;
344
- title = readable.title;
345
- extractor = "readability";
306
+ const rawDetail = await readResponseText(res);
307
+ const detail = formatWebFetchErrorDetail({
308
+ detail: rawDetail,
309
+ contentType: res.headers.get("content-type"),
310
+ maxChars: DEFAULT_ERROR_MAX_CHARS,
311
+ });
312
+ throw new Error(`Web fetch failed (${res.status}): ${detail || res.statusText}`);
313
+ }
314
+ const contentType = res.headers.get("content-type") ?? "application/octet-stream";
315
+ const body = await readResponseText(res);
316
+ let title;
317
+ let extractor = "raw";
318
+ let text = body;
319
+ if (contentType.includes("text/html")) {
320
+ if (params.readabilityEnabled) {
321
+ const readable = await extractReadableContent({
322
+ html: body,
323
+ url: finalUrl,
324
+ extractMode: params.extractMode,
325
+ });
326
+ if (readable?.text) {
327
+ text = readable.text;
328
+ title = readable.title;
329
+ extractor = "readability";
330
+ }
331
+ else {
332
+ const firecrawl = await tryFirecrawlFallback({ ...params, url: finalUrl });
333
+ if (firecrawl) {
334
+ text = firecrawl.text;
335
+ title = firecrawl.title;
336
+ extractor = "firecrawl";
346
337
  }
347
338
  else {
348
- const firecrawl = await tryFirecrawlFallback({ ...params, url: finalUrl });
349
- if (firecrawl) {
350
- text = firecrawl.text;
351
- title = firecrawl.title;
352
- extractor = "firecrawl";
353
- }
354
- else {
355
- throw new Error("Web fetch extraction failed: Readability and Firecrawl returned no content.");
356
- }
339
+ throw new Error("Web fetch extraction failed: Readability and Firecrawl returned no content.");
357
340
  }
358
341
  }
359
- else {
360
- throw new Error("Web fetch extraction failed: Readability disabled and Firecrawl unavailable.");
361
- }
362
342
  }
363
- else if (contentType.includes("application/json")) {
364
- try {
365
- text = JSON.stringify(JSON.parse(body), null, 2);
366
- extractor = "json";
367
- }
368
- catch {
369
- text = body;
370
- extractor = "raw";
371
- }
343
+ else {
344
+ throw new Error("Web fetch extraction failed: Readability disabled and Firecrawl unavailable.");
372
345
  }
373
- const truncated = truncateText(text, params.maxChars);
374
- const payload = {
375
- url: params.url,
376
- finalUrl,
377
- status: res.status,
378
- contentType,
379
- title,
380
- extractMode: params.extractMode,
381
- extractor,
382
- truncated: truncated.truncated,
383
- length: truncated.text.length,
384
- fetchedAt: new Date().toISOString(),
385
- tookMs: Date.now() - start,
386
- text: truncated.text,
387
- };
388
- writeCache(FETCH_CACHE, cacheKey, payload, params.cacheTtlMs);
389
- return payload;
390
346
  }
391
- finally {
392
- await closeDispatcher(dispatcher);
347
+ else if (contentType.includes("application/json")) {
348
+ try {
349
+ text = JSON.stringify(JSON.parse(body), null, 2);
350
+ extractor = "json";
351
+ }
352
+ catch {
353
+ text = body;
354
+ extractor = "raw";
355
+ }
393
356
  }
357
+ const truncated = truncateText(text, params.maxChars);
358
+ const payload = {
359
+ url: params.url,
360
+ finalUrl,
361
+ status: res.status,
362
+ contentType,
363
+ title,
364
+ extractMode: params.extractMode,
365
+ extractor,
366
+ truncated: truncated.truncated,
367
+ length: truncated.text.length,
368
+ fetchedAt: new Date().toISOString(),
369
+ tookMs: Date.now() - start,
370
+ text: truncated.text,
371
+ };
372
+ writeCache(FETCH_CACHE, cacheKey, payload, params.cacheTtlMs);
373
+ return payload;
394
374
  }
395
375
  async function tryFirecrawlFallback(params) {
396
376
  if (!params.firecrawlEnabled || !params.firecrawlApiKey)
@@ -57,13 +57,13 @@ function missingSearchKeyPayload(provider) {
57
57
  return {
58
58
  error: "missing_perplexity_api_key",
59
59
  message: "web_search (perplexity) needs an API key. Set PERPLEXITY_API_KEY or OPENROUTER_API_KEY in the Gateway environment, or configure tools.web.search.perplexity.apiKey.",
60
- docs: "https://docs.molt.bot/tools/web",
60
+ docs: "https://docs.clawd.bot/tools/web",
61
61
  };
62
62
  }
63
63
  return {
64
64
  error: "missing_brave_api_key",
65
- message: `web_search needs a Brave Search API key. Run \`${formatCliCommand("moltbot configure --section web")}\` to store it, or set BRAVE_API_KEY in the Gateway environment.`,
66
- docs: "https://docs.molt.bot/tools/web",
65
+ message: `web_search needs a Brave Search API key. Run \`${formatCliCommand("clawdbot configure --section web")}\` to store it, or set BRAVE_API_KEY in the Gateway environment.`,
66
+ docs: "https://docs.clawd.bot/tools/web",
67
67
  };
68
68
  }
69
69
  function resolveSearchProvider(search) {
@@ -189,8 +189,8 @@ async function runPerplexitySearch(params) {
189
189
  headers: {
190
190
  "Content-Type": "application/json",
191
191
  Authorization: `Bearer ${params.apiKey}`,
192
- "HTTP-Referer": "https://molt.bot",
193
- "X-Title": "Moltbot Web Search",
192
+ "HTTP-Referer": "https://clawdbot.com",
193
+ "X-Title": "Clawdbot Web Search",
194
194
  },
195
195
  body: JSON.stringify({
196
196
  model: params.model,
@@ -319,7 +319,7 @@ export function createWebSearchTool(options) {
319
319
  return jsonResult({
320
320
  error: "unsupported_freshness",
321
321
  message: "freshness is only supported by the Brave web_search provider.",
322
- docs: "https://docs.molt.bot/tools/web",
322
+ docs: "https://docs.clawd.bot/tools/web",
323
323
  });
324
324
  }
325
325
  const freshness = rawFreshness ? normalizeFreshness(rawFreshness) : undefined;
@@ -327,7 +327,7 @@ export function createWebSearchTool(options) {
327
327
  return jsonResult({
328
328
  error: "invalid_freshness",
329
329
  message: "freshness must be one of pd, pw, pm, py, or a range like YYYY-MM-DDtoYYYY-MM-DD.",
330
- docs: "https://docs.molt.bot/tools/web",
330
+ docs: "https://docs.clawd.bot/tools/web",
331
331
  });
332
332
  }
333
333
  const result = await runWebSearch({
@@ -20,8 +20,6 @@ export const DEFAULT_IDENTITY_FILENAME = "IDENTITY.md";
20
20
  export const DEFAULT_USER_FILENAME = "USER.md";
21
21
  export const DEFAULT_HEARTBEAT_FILENAME = "HEARTBEAT.md";
22
22
  export const DEFAULT_BOOTSTRAP_FILENAME = "BOOTSTRAP.md";
23
- export const DEFAULT_MEMORY_FILENAME = "MEMORY.md";
24
- export const DEFAULT_MEMORY_ALT_FILENAME = "memory.md";
25
23
  const TEMPLATE_DIR = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../docs/reference/templates");
26
24
  function stripFrontMatter(content) {
27
25
  if (!content.startsWith("---"))
@@ -143,39 +141,6 @@ export async function ensureAgentWorkspace(params) {
143
141
  bootstrapPath,
144
142
  };
145
143
  }
146
- async function resolveMemoryBootstrapEntries(resolvedDir) {
147
- const candidates = [
148
- DEFAULT_MEMORY_FILENAME,
149
- DEFAULT_MEMORY_ALT_FILENAME,
150
- ];
151
- const entries = [];
152
- for (const name of candidates) {
153
- const filePath = path.join(resolvedDir, name);
154
- try {
155
- await fs.access(filePath);
156
- entries.push({ name, filePath });
157
- }
158
- catch {
159
- // optional
160
- }
161
- }
162
- if (entries.length <= 1)
163
- return entries;
164
- const seen = new Set();
165
- const deduped = [];
166
- for (const entry of entries) {
167
- let key = entry.filePath;
168
- try {
169
- key = await fs.realpath(entry.filePath);
170
- }
171
- catch { }
172
- if (seen.has(key))
173
- continue;
174
- seen.add(key);
175
- deduped.push(entry);
176
- }
177
- return deduped;
178
- }
179
144
  export async function loadWorkspaceBootstrapFiles(dir) {
180
145
  const resolvedDir = resolveUserPath(dir);
181
146
  const entries = [
@@ -208,7 +173,6 @@ export async function loadWorkspaceBootstrapFiles(dir) {
208
173
  filePath: path.join(resolvedDir, DEFAULT_BOOTSTRAP_FILENAME),
209
174
  },
210
175
  ];
211
- entries.push(...(await resolveMemoryBootstrapEntries(resolvedDir)));
212
176
  const result = [];
213
177
  for (const entry of entries) {
214
178
  try {