@poolzin/pool-bot 2026.1.26 → 2026.1.29

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 (1155) hide show
  1. package/CHANGELOG.md +50 -1118
  2. package/LICENSE +21 -0
  3. package/README.md +47 -37
  4. package/assets/chrome-extension/README.md +2 -2
  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 -6
  8. package/assets/chrome-extension/options.js +1 -1
  9. package/dist/acp/client.js +5 -5
  10. package/dist/acp/server.js +1 -1
  11. package/dist/acp/types.js +2 -2
  12. package/dist/agents/agent-paths.js +3 -3
  13. package/dist/agents/auth-health.js +2 -6
  14. package/dist/agents/auth-profiles/doctor.js +1 -1
  15. package/dist/agents/auth-profiles/external-cli-sync.js +5 -150
  16. package/dist/agents/auth-profiles/oauth.js +26 -7
  17. package/dist/agents/auth-profiles/paths.js +3 -3
  18. package/dist/agents/auth-profiles/store.js +5 -13
  19. package/dist/agents/bash-tools.shared.js +8 -1
  20. package/dist/agents/cli-backends.js +8 -0
  21. package/dist/agents/cli-runner/helpers.js +3 -3
  22. package/dist/agents/cli-runner.js +2 -2
  23. package/dist/agents/compaction.js +3 -0
  24. package/dist/agents/context.js +4 -4
  25. package/dist/agents/docs-path.js +3 -3
  26. package/dist/agents/identity.js +1 -1
  27. package/dist/agents/memory-search.js +7 -2
  28. package/dist/agents/minimax-vlm.js +1 -1
  29. package/dist/agents/model-auth.js +1 -1
  30. package/dist/agents/model-catalog.js +4 -4
  31. package/dist/agents/model-fallback.js +22 -0
  32. package/dist/agents/model-selection.js +1 -1
  33. package/dist/agents/models-config.js +3 -3
  34. package/dist/agents/models-config.providers.js +4 -4
  35. package/dist/agents/pi-embedded-helpers/openai.js +1 -1
  36. package/dist/agents/pi-embedded-runner/cache-ttl.js +1 -1
  37. package/dist/agents/pi-embedded-runner/compact.js +8 -8
  38. package/dist/agents/pi-embedded-runner/extensions.js +5 -0
  39. package/dist/agents/pi-embedded-runner/model.js +2 -2
  40. package/dist/agents/pi-embedded-runner/run/attempt.js +10 -6
  41. package/dist/agents/pi-embedded-runner/run.js +4 -4
  42. package/dist/agents/pi-embedded-runner/sandbox-info.js +1 -4
  43. package/dist/agents/pi-embedded-runner/utils.js +1 -1
  44. package/dist/agents/pi-embedded-utils.js +7 -1
  45. package/dist/agents/pi-extensions/compaction-safeguard-runtime.js +20 -0
  46. package/dist/agents/pi-extensions/compaction-safeguard.js +32 -3
  47. package/dist/agents/pi-tools.js +25 -15
  48. package/dist/agents/pi-tools.policy.js +34 -1
  49. package/dist/agents/pi-tools.read.js +2 -2
  50. package/dist/agents/{clawdbot-tools.js → poolbot-tools.js} +2 -5
  51. package/dist/agents/sandbox/browser.js +5 -7
  52. package/dist/agents/sandbox/config.js +0 -12
  53. package/dist/agents/sandbox/constants.js +8 -8
  54. package/dist/agents/sandbox/context.js +3 -3
  55. package/dist/agents/sandbox/docker.js +8 -8
  56. package/dist/agents/sandbox/runtime-status.js +1 -1
  57. package/dist/agents/session-transcript-repair.js +1 -1
  58. package/dist/agents/session-write-lock.js +68 -0
  59. package/dist/agents/skills/config.js +9 -8
  60. package/dist/agents/skills/env-overrides.js +1 -1
  61. package/dist/agents/skills/frontmatter.js +15 -14
  62. package/dist/agents/skills/workspace.js +7 -7
  63. package/dist/agents/skills-install.js +1 -1
  64. package/dist/agents/skills-status.js +12 -12
  65. package/dist/agents/subagent-registry.store.js +2 -2
  66. package/dist/agents/system-prompt.js +22 -33
  67. package/dist/agents/tool-images.js +1 -1
  68. package/dist/agents/tool-policy.js +8 -2
  69. package/dist/agents/tools/browser-tool.js +19 -79
  70. package/dist/agents/tools/browser-tool.schema.js +1 -2
  71. package/dist/agents/tools/cron-tool.js +44 -1
  72. package/dist/agents/tools/discord-actions-guild.js +5 -1
  73. package/dist/agents/tools/image-tool.js +2 -2
  74. package/dist/agents/tools/message-tool.js +1 -0
  75. package/dist/agents/tools/sessions-send-helpers.js +17 -2
  76. package/dist/agents/tools/telegram-actions.js +93 -1
  77. package/dist/agents/tools/web-fetch.js +123 -103
  78. package/dist/agents/tools/web-search.js +7 -7
  79. package/dist/agents/workspace.js +36 -0
  80. package/dist/auto-reply/commands-registry.data.js +68 -3
  81. package/dist/auto-reply/commands-registry.js +14 -11
  82. package/dist/auto-reply/reply/agent-runner-execution.js +21 -3
  83. package/dist/auto-reply/reply/agent-runner-memory.js +5 -0
  84. package/dist/auto-reply/reply/bash-command.js +2 -2
  85. package/dist/auto-reply/reply/commands-context-report.js +2 -2
  86. package/dist/auto-reply/reply/commands-info.js +50 -5
  87. package/dist/auto-reply/reply/commands-session.js +4 -4
  88. package/dist/auto-reply/reply/commands-tts.js +61 -63
  89. package/dist/auto-reply/reply/directive-handling.shared.js +1 -1
  90. package/dist/auto-reply/reply/dispatch-from-config.js +65 -1
  91. package/dist/auto-reply/reply/followup-runner.js +5 -0
  92. package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
  93. package/dist/auto-reply/reply/get-reply-run.js +4 -0
  94. package/dist/auto-reply/reply/groups.js +1 -1
  95. package/dist/auto-reply/reply/history.js +23 -0
  96. package/dist/auto-reply/reply/reply-elevated.js +1 -1
  97. package/dist/auto-reply/reply/session-updates.js +6 -1
  98. package/dist/auto-reply/reply/stage-sandbox-media.js +1 -1
  99. package/dist/auto-reply/status.js +142 -50
  100. package/dist/browser/bridge-server.js +1 -3
  101. package/dist/browser/client-actions-core.js +13 -7
  102. package/dist/browser/client-actions-observe.js +14 -8
  103. package/dist/browser/client-actions-state.js +21 -15
  104. package/dist/browser/client-fetch.js +74 -61
  105. package/dist/browser/client.js +19 -21
  106. package/dist/browser/config.js +13 -26
  107. package/dist/browser/constants.js +1 -1
  108. package/dist/browser/control-service.js +72 -0
  109. package/dist/browser/extension-relay.js +3 -3
  110. package/dist/browser/pw-session.js +41 -4
  111. package/dist/browser/pw-tools-core.downloads.js +1 -1
  112. package/dist/browser/pw-tools-core.interactions.js +5 -5
  113. package/dist/browser/pw-tools-core.responses.js +1 -1
  114. package/dist/browser/routes/agent.act.js +13 -0
  115. package/dist/browser/routes/agent.debug.js +1 -1
  116. package/dist/browser/routes/basic.js +0 -1
  117. package/dist/browser/routes/dispatcher.js +86 -0
  118. package/dist/browser/server-context.js +3 -3
  119. package/dist/browser/server.js +7 -9
  120. package/dist/build-info.json +3 -3
  121. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  122. package/dist/canvas-host/a2ui/a2ui.bundle.js +1620 -1618
  123. package/dist/canvas-host/a2ui/index.html +28 -28
  124. package/dist/canvas-host/a2ui.js +27 -21
  125. package/dist/canvas-host/server.js +66 -32
  126. package/dist/channels/plugins/actions/discord/handle-action.guild-admin.js +5 -1
  127. package/dist/channels/plugins/actions/telegram.js +60 -7
  128. package/dist/channels/plugins/catalog.js +6 -4
  129. package/dist/channels/plugins/group-mentions.js +48 -1
  130. package/dist/channels/plugins/helpers.js +2 -2
  131. package/dist/channels/plugins/message-action-names.js +1 -0
  132. package/dist/channels/plugins/onboarding/imessage.js +1 -1
  133. package/dist/channels/plugins/onboarding/signal.js +2 -2
  134. package/dist/channels/plugins/onboarding/slack.js +4 -4
  135. package/dist/channels/plugins/onboarding/telegram.js +17 -9
  136. package/dist/channels/plugins/onboarding/whatsapp.js +4 -4
  137. package/dist/channels/plugins/outbound/telegram.js +38 -0
  138. package/dist/channels/plugins/pairing-message.js +1 -1
  139. package/dist/channels/plugins/status-issues/bluebubbles.js +1 -1
  140. package/dist/channels/plugins/status-issues/whatsapp.js +2 -2
  141. package/dist/channels/registry.js +1 -1
  142. package/dist/cli/acp-cli.js +2 -2
  143. package/dist/cli/argv.js +14 -7
  144. package/dist/cli/banner.js +3 -1
  145. package/dist/cli/browser-cli-actions-input/register.element.js +72 -44
  146. package/dist/cli/browser-cli-actions-input/register.files-downloads.js +55 -35
  147. package/dist/cli/browser-cli-actions-input/register.form-wait-eval.js +41 -28
  148. package/dist/cli/browser-cli-actions-input/register.navigation.js +23 -14
  149. package/dist/cli/browser-cli-actions-input/shared.js +10 -3
  150. package/dist/cli/browser-cli-actions-observe.js +29 -21
  151. package/dist/cli/browser-cli-debug.js +49 -35
  152. package/dist/cli/browser-cli-examples.js +29 -29
  153. package/dist/cli/browser-cli-extension.js +8 -8
  154. package/dist/cli/browser-cli-inspect.js +23 -17
  155. package/dist/cli/browser-cli-manage.js +106 -56
  156. package/dist/cli/browser-cli-shared.js +34 -1
  157. package/dist/cli/browser-cli-state.cookies-storage.js +53 -39
  158. package/dist/cli/browser-cli-state.js +90 -64
  159. package/dist/cli/browser-cli.js +4 -5
  160. package/dist/cli/channels-cli.js +1 -1
  161. package/dist/cli/cli-name.js +26 -0
  162. package/dist/cli/command-format.js +11 -7
  163. package/dist/cli/config-cli.js +2 -2
  164. package/dist/cli/cron-cli/register.js +1 -1
  165. package/dist/cli/daemon-cli/install.js +1 -1
  166. package/dist/cli/daemon-cli/register.js +1 -1
  167. package/dist/cli/daemon-cli/shared.js +5 -3
  168. package/dist/cli/daemon-cli/status.print.js +6 -6
  169. package/dist/cli/directory-cli.js +1 -1
  170. package/dist/cli/dns-cli.js +7 -7
  171. package/dist/cli/docs-cli.js +2 -2
  172. package/dist/cli/exec-approvals-cli.js +2 -2
  173. package/dist/cli/gateway-cli/dev.js +4 -4
  174. package/dist/cli/gateway-cli/register.js +1 -1
  175. package/dist/cli/gateway-cli/run.js +11 -8
  176. package/dist/cli/gateway-cli/shared.js +4 -4
  177. package/dist/cli/hooks-cli.js +3 -3
  178. package/dist/cli/logs-cli.js +3 -3
  179. package/dist/cli/memory-cli.js +1 -1
  180. package/dist/cli/models-cli.js +2 -2
  181. package/dist/cli/node-cli/daemon.js +2 -2
  182. package/dist/cli/node-cli/register.js +1 -1
  183. package/dist/cli/nodes-camera.js +3 -1
  184. package/dist/cli/nodes-canvas.js +3 -1
  185. package/dist/cli/nodes-cli/register.canvas.js +1 -1
  186. package/dist/cli/nodes-cli/register.js +1 -1
  187. package/dist/cli/nodes-screen.js +1 -1
  188. package/dist/cli/pairing-cli.js +3 -3
  189. package/dist/cli/plugin-registry.js +2 -2
  190. package/dist/cli/plugins-cli.js +3 -3
  191. package/dist/cli/profile.js +2 -2
  192. package/dist/cli/program/config-guard.js +1 -1
  193. package/dist/cli/program/help.js +15 -16
  194. package/dist/cli/program/message/register.send.js +2 -1
  195. package/dist/cli/program/preaction.js +4 -2
  196. package/dist/cli/program/register.agent.js +12 -12
  197. package/dist/cli/program/register.configure.js +1 -1
  198. package/dist/cli/program/register.maintenance.js +4 -4
  199. package/dist/cli/program/register.message.js +5 -5
  200. package/dist/cli/program/register.onboard.js +5 -3
  201. package/dist/cli/program/register.setup.js +2 -2
  202. package/dist/cli/program/register.status-health-sessions.js +13 -13
  203. package/dist/cli/run-main.js +11 -4
  204. package/dist/cli/sandbox-cli.js +19 -19
  205. package/dist/cli/security-cli.js +18 -8
  206. package/dist/cli/skills-cli.js +3 -3
  207. package/dist/cli/system-cli.js +1 -1
  208. package/dist/cli/tagline.js +1 -1
  209. package/dist/cli/tui-cli.js +1 -1
  210. package/dist/cli/update-cli.js +58 -42
  211. package/dist/cli/webhooks-cli.js +6 -6
  212. package/dist/commands/agent-via-gateway.js +1 -1
  213. package/dist/commands/agent.js +2 -1
  214. package/dist/commands/agents.command-shared.js +1 -1
  215. package/dist/commands/agents.commands.add.js +2 -3
  216. package/dist/commands/agents.commands.list.js +1 -1
  217. package/dist/commands/auth-choice-options.js +4 -54
  218. package/dist/commands/auth-choice.apply.anthropic.js +6 -109
  219. package/dist/commands/auth-choice.apply.openai.js +1 -33
  220. package/dist/commands/auth-choice.apply.plugin-provider.js +2 -2
  221. package/dist/commands/channels/list.js +2 -2
  222. package/dist/commands/channels/shared.js +1 -1
  223. package/dist/commands/channels/status.js +1 -1
  224. package/dist/commands/chutes-oauth.js +1 -1
  225. package/dist/commands/configure.channels.js +4 -4
  226. package/dist/commands/configure.gateway-auth.js +1 -8
  227. package/dist/commands/configure.gateway.js +1 -10
  228. package/dist/commands/configure.wizard.js +11 -11
  229. package/dist/commands/daemon-install-helpers.js +1 -1
  230. package/dist/commands/dashboard.js +1 -1
  231. package/dist/commands/docs.js +5 -5
  232. package/dist/commands/doctor-auth.js +122 -3
  233. package/dist/commands/doctor-config-flow.js +7 -7
  234. package/dist/commands/doctor-format.js +2 -2
  235. package/dist/commands/doctor-gateway-daemon-flow.js +1 -1
  236. package/dist/commands/doctor-gateway-services.js +3 -3
  237. package/dist/commands/doctor-platform-notes.js +1 -1
  238. package/dist/commands/doctor-security.js +48 -1
  239. package/dist/commands/doctor-state-integrity.js +3 -3
  240. package/dist/commands/doctor-ui.js +2 -2
  241. package/dist/commands/doctor-update.js +4 -4
  242. package/dist/commands/doctor-workspace-status.js +2 -2
  243. package/dist/commands/doctor-workspace.js +4 -4
  244. package/dist/commands/doctor.js +13 -12
  245. package/dist/commands/gateway-status.js +2 -2
  246. package/dist/commands/models/auth.js +23 -22
  247. package/dist/commands/models/list.probe.js +2 -2
  248. package/dist/commands/models/list.registry.js +4 -4
  249. package/dist/commands/models/list.status-command.js +8 -9
  250. package/dist/commands/onboard-auth.credentials.js +2 -2
  251. package/dist/commands/onboard-channels.js +3 -3
  252. package/dist/commands/onboard-helpers.js +4 -4
  253. package/dist/commands/onboard-hooks.js +4 -4
  254. package/dist/commands/onboard-non-interactive/local/auth-choice.js +38 -34
  255. package/dist/commands/onboard-non-interactive/local/gateway-config.js +7 -4
  256. package/dist/commands/onboard-non-interactive/local.js +1 -1
  257. package/dist/commands/onboard-non-interactive/remote.js +1 -1
  258. package/dist/commands/onboard-non-interactive.js +1 -1
  259. package/dist/commands/onboard-remote.js +2 -2
  260. package/dist/commands/onboard-skills.js +2 -2
  261. package/dist/commands/onboard.js +25 -4
  262. package/dist/commands/onboarding/plugin-install.js +2 -2
  263. package/dist/commands/reset.js +3 -3
  264. package/dist/commands/sandbox-display.js +1 -1
  265. package/dist/commands/sandbox-explain.js +2 -2
  266. package/dist/commands/setup.js +2 -2
  267. package/dist/commands/signal-install.js +2 -2
  268. package/dist/commands/status-all/diagnosis.js +1 -1
  269. package/dist/commands/status-all/report-lines.js +1 -1
  270. package/dist/commands/status-all.js +3 -3
  271. package/dist/commands/status.command.js +9 -9
  272. package/dist/commands/status.update.js +3 -3
  273. package/dist/commands/uninstall.js +4 -4
  274. package/dist/compat/legacy-names.js +5 -0
  275. package/dist/config/config.js +1 -1
  276. package/dist/config/group-policy.js +69 -0
  277. package/dist/config/io.js +17 -5
  278. package/dist/config/legacy.migrations.part-3.js +3 -0
  279. package/dist/config/logging.js +3 -3
  280. package/dist/config/paths.js +44 -14
  281. package/dist/config/schema.js +23 -11
  282. package/dist/config/sessions/transcript.js +1 -1
  283. package/dist/config/types.js +1 -1
  284. package/dist/config/types.poolbot.js +1 -0
  285. package/dist/config/validation.js +2 -2
  286. package/dist/config/version.js +4 -4
  287. package/dist/config/zod-schema.agent-defaults.js +1 -0
  288. package/dist/config/zod-schema.agent-runtime.js +39 -7
  289. package/dist/config/zod-schema.hooks.js +2 -0
  290. package/dist/config/zod-schema.js +9 -3
  291. package/dist/config/zod-schema.providers-core.js +23 -0
  292. package/dist/config/zod-schema.providers-whatsapp.js +3 -0
  293. package/dist/control-ui/assets/index-CIRDm-Lu.css +1 -0
  294. package/dist/control-ui/assets/{index-Cl-Y9zqE.js → index-CmNMuoem.js} +620 -578
  295. package/dist/control-ui/assets/index-CmNMuoem.js.map +1 -0
  296. package/dist/control-ui/index.html +4 -4
  297. package/dist/cron/isolated-agent/run.js +38 -3
  298. package/dist/daemon/constants.js +16 -16
  299. package/dist/daemon/inspect.js +12 -12
  300. package/dist/daemon/paths.js +1 -1
  301. package/dist/daemon/program-args.js +1 -1
  302. package/dist/daemon/systemd-hints.js +1 -1
  303. package/dist/daemon/systemd-unit.js +1 -1
  304. package/dist/discord/monitor/listeners.js +25 -1
  305. package/dist/discord/monitor/native-command.js +7 -5
  306. package/dist/discord/monitor/presence-cache.js +38 -0
  307. package/dist/discord/monitor/provider.js +21 -7
  308. package/dist/entry.js +4 -4
  309. package/dist/gateway/auth.js +52 -19
  310. package/dist/gateway/hooks-mapping.js +18 -4
  311. package/dist/gateway/hooks.js +5 -7
  312. package/dist/gateway/http-utils.js +3 -5
  313. package/dist/gateway/net.js +1 -1
  314. package/dist/gateway/openai-http.js +3 -3
  315. package/dist/gateway/openresponses-http.js +4 -4
  316. package/dist/gateway/protocol/client-info.js +5 -5
  317. package/dist/gateway/protocol/schema/logs-chat.js +1 -1
  318. package/dist/gateway/server/health-state.js +3 -3
  319. package/dist/gateway/server/hooks.js +1 -0
  320. package/dist/gateway/server/ws-connection/message-handler.js +44 -35
  321. package/dist/gateway/server-browser.js +14 -3
  322. package/dist/gateway/server-chat.js +28 -2
  323. package/dist/gateway/server-discovery-runtime.js +25 -17
  324. package/dist/gateway/server-discovery.js +5 -5
  325. package/dist/gateway/server-http.js +9 -3
  326. package/dist/gateway/server-methods/agent.js +2 -0
  327. package/dist/gateway/server-methods/browser.js +204 -0
  328. package/dist/gateway/server-methods/chat.js +5 -0
  329. package/dist/gateway/server-methods/config.js +8 -8
  330. package/dist/gateway/server-methods/logs.js +1 -1
  331. package/dist/gateway/server-methods/skills.js +3 -3
  332. package/dist/gateway/server-methods/update.js +2 -2
  333. package/dist/gateway/server-methods-list.js +1 -0
  334. package/dist/gateway/server-methods.js +3 -0
  335. package/dist/gateway/server-plugins.js +2 -2
  336. package/dist/gateway/server-restart-sentinel.js +10 -5
  337. package/dist/gateway/server-runtime-config.js +5 -2
  338. package/dist/gateway/server.impl.js +7 -6
  339. package/dist/gateway/session-utils.fs.js +1 -1
  340. package/dist/gateway/session-utils.js +31 -11
  341. package/dist/gateway/test-helpers.mocks.js +5 -5
  342. package/dist/gateway/test-helpers.server.js +30 -11
  343. package/dist/gateway/tools-invoke-http.js +15 -8
  344. package/dist/hooks/bundled/boot-md/HOOK.md +3 -3
  345. package/dist/hooks/bundled/command-logger/HOOK.md +12 -12
  346. package/dist/hooks/bundled/command-logger/handler.js +1 -1
  347. package/dist/hooks/bundled/session-memory/HOOK.md +4 -4
  348. package/dist/hooks/bundled/session-memory/handler.js +2 -2
  349. package/dist/hooks/bundled/soul-evil/HOOK.md +5 -5
  350. package/dist/hooks/bundled-dir.js +1 -1
  351. package/dist/hooks/config.js +8 -7
  352. package/dist/hooks/frontmatter.js +16 -15
  353. package/dist/hooks/gmail-ops.js +4 -4
  354. package/dist/hooks/hooks-status.js +13 -13
  355. package/dist/hooks/install.js +8 -7
  356. package/dist/hooks/internal-hooks.js +1 -1
  357. package/dist/hooks/llm-slug-generator.js +1 -1
  358. package/dist/hooks/loader.js +3 -3
  359. package/dist/hooks/plugin-hooks.js +8 -8
  360. package/dist/hooks/workspace.js +10 -9
  361. package/dist/imessage/monitor/monitor-provider.js +2 -2
  362. package/dist/index.js +4 -4
  363. package/dist/infra/agent-events.js +3 -0
  364. package/dist/infra/bonjour-discovery.js +9 -9
  365. package/dist/infra/bonjour.js +19 -12
  366. package/dist/infra/device-identity.js +1 -1
  367. package/dist/infra/dotenv.js +1 -1
  368. package/dist/infra/exec-approvals.js +2 -2
  369. package/dist/infra/fs-safe.js +76 -0
  370. package/dist/infra/gateway-lock.js +1 -1
  371. package/dist/infra/heartbeat-visibility.js +14 -0
  372. package/dist/infra/heartbeat-wake.js +2 -2
  373. package/dist/infra/machine-name.js +1 -1
  374. package/dist/infra/net/ssrf.js +77 -1
  375. package/dist/infra/outbound/message-action-spec.js +1 -0
  376. package/dist/infra/outbound/targets.js +1 -1
  377. package/dist/infra/path-env.js +7 -7
  378. package/dist/infra/{clawdbot-root.js → poolbot-root.js} +3 -2
  379. package/dist/infra/ports-format.js +2 -2
  380. package/dist/infra/ports.js +2 -2
  381. package/dist/infra/provider-usage.auth.js +2 -4
  382. package/dist/infra/provider-usage.fetch.claude.js +1 -1
  383. package/dist/infra/provider-usage.fetch.minimax.js +1 -1
  384. package/dist/infra/restart-sentinel.js +1 -1
  385. package/dist/infra/restart.js +1 -1
  386. package/dist/infra/retry-policy.js +4 -1
  387. package/dist/infra/runtime-guard.js +2 -2
  388. package/dist/infra/shell-env.js +1 -1
  389. package/dist/infra/skills-remote.js +3 -3
  390. package/dist/infra/tailscale.js +63 -1
  391. package/dist/infra/tls/gateway.js +1 -1
  392. package/dist/infra/unhandled-rejections.js +89 -2
  393. package/dist/infra/update-check.js +2 -4
  394. package/dist/infra/update-global.js +5 -5
  395. package/dist/infra/update-runner.js +32 -8
  396. package/dist/infra/update-startup.js +3 -3
  397. package/dist/infra/warnings.js +1 -1
  398. package/dist/infra/widearea-dns.js +10 -10
  399. package/dist/line/monitor.js +1 -5
  400. package/dist/line/signature.js +11 -0
  401. package/dist/line/webhook.js +2 -6
  402. package/dist/logging/logger.js +4 -4
  403. package/dist/macos/gateway-daemon.js +2 -2
  404. package/dist/macos/relay.js +4 -4
  405. package/dist/media/host.js +1 -1
  406. package/dist/media/image-ops.js +1 -1
  407. package/dist/media/input-files.js +40 -32
  408. package/dist/media/server.js +39 -15
  409. package/dist/media/store.js +72 -52
  410. package/dist/media-understanding/attachments.js +1 -1
  411. package/dist/media-understanding/providers/image.js +2 -2
  412. package/dist/media-understanding/runner.js +33 -1
  413. package/dist/memory/batch-gemini.js +1 -1
  414. package/dist/memory/batch-openai.js +1 -1
  415. package/dist/memory/embeddings.js +1 -1
  416. package/dist/node-host/runner.js +60 -56
  417. package/dist/pairing/pairing-messages.js +2 -2
  418. package/dist/plugin-sdk/index.js +1 -0
  419. package/dist/plugins/cli.js +2 -2
  420. package/dist/plugins/discovery.js +6 -5
  421. package/dist/plugins/install.js +8 -7
  422. package/dist/plugins/loader.js +10 -4
  423. package/dist/plugins/manifest-registry.js +2 -2
  424. package/dist/plugins/manifest.js +16 -1
  425. package/dist/plugins/providers.js +2 -2
  426. package/dist/plugins/registry.js +5 -5
  427. package/dist/plugins/runtime.js +1 -1
  428. package/dist/plugins/services.js +3 -3
  429. package/dist/plugins/status.js +2 -2
  430. package/dist/plugins/tools.js +2 -2
  431. package/dist/plugins/update.js +3 -3
  432. package/dist/providers/qwen-portal-oauth.js +1 -1
  433. package/dist/routing/session-key.js +17 -12
  434. package/dist/security/audit-extra.js +116 -69
  435. package/dist/security/audit-fs.js +78 -0
  436. package/dist/security/audit.js +121 -88
  437. package/dist/security/external-content.js +143 -0
  438. package/dist/security/fix.js +93 -8
  439. package/dist/security/windows-acl.js +162 -0
  440. package/dist/slack/monitor/media.js +32 -4
  441. package/dist/slack/monitor/message-handler/dispatch.js +2 -1
  442. package/dist/slack/monitor/slash.js +3 -3
  443. package/dist/slack/monitor.test-helpers.js +1 -1
  444. package/dist/telegram/api-logging.js +24 -0
  445. package/dist/telegram/bot/delivery.js +139 -22
  446. package/dist/telegram/bot-handlers.js +70 -8
  447. package/dist/telegram/bot-message-context.js +79 -21
  448. package/dist/telegram/bot-message-dispatch.js +64 -0
  449. package/dist/telegram/bot-native-commands.js +244 -94
  450. package/dist/telegram/bot.js +18 -2
  451. package/dist/telegram/fetch.js +25 -1
  452. package/dist/telegram/monitor.js +11 -3
  453. package/dist/telegram/network-config.js +23 -0
  454. package/dist/telegram/network-errors.js +103 -0
  455. package/dist/telegram/send.js +148 -4
  456. package/dist/telegram/sticker-cache.js +202 -0
  457. package/dist/telegram/webhook-set.js +13 -6
  458. package/dist/telegram/webhook.js +8 -3
  459. package/dist/terminal/links.js +1 -1
  460. package/dist/tts/tts.js +27 -22
  461. package/dist/tui/components/filterable-select-list.js +1 -1
  462. package/dist/tui/components/searchable-select-list.js +2 -1
  463. package/dist/tui/gateway-chat.js +1 -1
  464. package/dist/tui/tui.js +1 -1
  465. package/dist/utils.js +1 -1
  466. package/dist/version.js +1 -1
  467. package/dist/web/active-listener.js +1 -1
  468. package/dist/web/auth-store.js +1 -1
  469. package/dist/web/auto-reply/monitor/process-message.js +1 -1
  470. package/dist/web/auto-reply/monitor.js +1 -1
  471. package/dist/web/login.js +1 -1
  472. package/dist/web/session.js +2 -2
  473. package/dist/wizard/onboarding.finalize.js +24 -21
  474. package/dist/wizard/onboarding.gateway-config.js +1 -11
  475. package/dist/wizard/onboarding.js +22 -11
  476. package/docs/CNAME +1 -1
  477. package/docs/RELEASE_WORKFLOW.md +133 -0
  478. package/docs/RELEASE_WORKFOTS_COMPARISON.md +151 -0
  479. package/docs/WORKFOTS_OPTIMIZATION.md +138 -0
  480. package/docs/_config.yml +2 -2
  481. package/docs/_layouts/default.html +9 -9
  482. package/docs/adr/002-model-fallback-router.md +104 -0
  483. package/docs/assets/terminal.css +3 -0
  484. package/docs/assets/theme.js +1 -1
  485. package/docs/automation/auth-monitoring.md +7 -7
  486. package/docs/automation/cron-jobs.md +17 -17
  487. package/docs/automation/cron-vs-heartbeat.md +8 -8
  488. package/docs/automation/gmail-pubsub.md +23 -21
  489. package/docs/automation/poll.md +7 -7
  490. package/docs/automation/webhook.md +13 -8
  491. package/docs/bedrock.md +10 -10
  492. package/docs/brave-search.md +1 -1
  493. package/docs/broadcast-groups.md +4 -4
  494. package/docs/channels/bluebubbles.md +13 -12
  495. package/docs/channels/discord.md +21 -16
  496. package/docs/channels/googlechat.md +16 -16
  497. package/docs/channels/imessage.md +12 -12
  498. package/docs/channels/index.md +6 -4
  499. package/docs/channels/line.md +183 -0
  500. package/docs/channels/location.md +1 -1
  501. package/docs/channels/matrix.md +15 -15
  502. package/docs/channels/mattermost.md +8 -8
  503. package/docs/channels/msteams.md +30 -26
  504. package/docs/channels/nextcloud-talk.md +7 -7
  505. package/docs/channels/nostr.md +9 -9
  506. package/docs/channels/signal.md +9 -9
  507. package/docs/channels/slack.md +15 -13
  508. package/docs/channels/telegram.md +149 -20
  509. package/docs/channels/tlon.md +5 -5
  510. package/docs/channels/troubleshooting.md +2 -2
  511. package/docs/channels/twitch.md +366 -0
  512. package/docs/channels/whatsapp.md +25 -25
  513. package/docs/channels/zalo.md +8 -8
  514. package/docs/channels/zalouser.md +12 -12
  515. package/docs/cli/acp.md +24 -24
  516. package/docs/cli/agent.md +6 -6
  517. package/docs/cli/agents.md +9 -9
  518. package/docs/cli/approvals.md +14 -14
  519. package/docs/cli/browser.md +33 -35
  520. package/docs/cli/channels.md +21 -21
  521. package/docs/cli/config.md +15 -15
  522. package/docs/cli/configure.md +6 -6
  523. package/docs/cli/cron.md +5 -5
  524. package/docs/cli/dashboard.md +4 -4
  525. package/docs/cli/devices.md +13 -13
  526. package/docs/cli/directory.md +12 -12
  527. package/docs/cli/dns.md +5 -5
  528. package/docs/cli/docs.md +5 -5
  529. package/docs/cli/doctor.md +6 -6
  530. package/docs/cli/gateway.md +24 -24
  531. package/docs/cli/health.md +5 -5
  532. package/docs/cli/hooks.md +34 -34
  533. package/docs/cli/index.md +46 -52
  534. package/docs/cli/logs.md +6 -6
  535. package/docs/cli/memory.md +11 -11
  536. package/docs/cli/message.md +11 -11
  537. package/docs/cli/models.md +17 -17
  538. package/docs/cli/node.md +14 -14
  539. package/docs/cli/nodes.md +14 -14
  540. package/docs/cli/onboard.md +7 -6
  541. package/docs/cli/pairing.md +4 -4
  542. package/docs/cli/plugins.md +16 -16
  543. package/docs/cli/reset.md +5 -5
  544. package/docs/cli/sandbox.md +28 -28
  545. package/docs/cli/security.md +5 -5
  546. package/docs/cli/sessions.md +5 -5
  547. package/docs/cli/setup.md +6 -6
  548. package/docs/cli/skills.md +6 -6
  549. package/docs/cli/status.md +7 -7
  550. package/docs/cli/system.md +6 -6
  551. package/docs/cli/tui.md +5 -5
  552. package/docs/cli/uninstall.md +5 -5
  553. package/docs/cli/update.md +20 -20
  554. package/docs/cli/voicecall.md +9 -9
  555. package/docs/cli/webhooks.md +5 -5
  556. package/docs/concepts/agent-loop.md +5 -5
  557. package/docs/concepts/agent-workspace.md +20 -20
  558. package/docs/concepts/agent.md +12 -12
  559. package/docs/concepts/architecture.md +1 -1
  560. package/docs/concepts/channel-routing.md +4 -4
  561. package/docs/concepts/compaction.md +5 -5
  562. package/docs/concepts/context.md +6 -6
  563. package/docs/concepts/group-messages.md +6 -6
  564. package/docs/concepts/groups.md +41 -5
  565. package/docs/concepts/markdown-formatting.md +3 -3
  566. package/docs/concepts/memory.md +14 -14
  567. package/docs/concepts/messages.md +4 -4
  568. package/docs/concepts/model-failover.md +14 -14
  569. package/docs/concepts/model-providers.md +22 -22
  570. package/docs/concepts/models.md +27 -27
  571. package/docs/concepts/multi-agent.md +18 -18
  572. package/docs/concepts/oauth.md +31 -58
  573. package/docs/concepts/presence.md +2 -2
  574. package/docs/concepts/retry.md +1 -1
  575. package/docs/concepts/session-pruning.md +1 -1
  576. package/docs/concepts/session-tool.md +4 -4
  577. package/docs/concepts/session.md +14 -14
  578. package/docs/concepts/streaming.md +3 -3
  579. package/docs/concepts/system-prompt.md +11 -11
  580. package/docs/concepts/timezone.md +2 -2
  581. package/docs/concepts/typebox.md +2 -2
  582. package/docs/concepts/typing-indicators.md +2 -2
  583. package/docs/concepts/usage-tracking.md +3 -3
  584. package/docs/date-time.md +2 -2
  585. package/docs/debug/node-issue.md +4 -4
  586. package/docs/debugging.md +14 -14
  587. package/docs/diagnostics/flags.md +5 -5
  588. package/docs/docs.json +37 -7
  589. package/docs/environment.md +4 -4
  590. package/docs/experiments/plans/cron-add-hardening.md +1 -1
  591. package/docs/experiments/plans/openresponses-gateway.md +2 -2
  592. package/docs/experiments/research/memory.md +6 -6
  593. package/docs/gateway/authentication.md +33 -57
  594. package/docs/gateway/background-process.md +1 -1
  595. package/docs/gateway/bonjour.md +21 -21
  596. package/docs/gateway/bridge-protocol.md +2 -2
  597. package/docs/gateway/cli-backends.md +13 -12
  598. package/docs/gateway/configuration-examples.md +14 -14
  599. package/docs/gateway/configuration.md +145 -132
  600. package/docs/gateway/discovery.md +6 -6
  601. package/docs/gateway/doctor.md +26 -26
  602. package/docs/gateway/gateway-lock.md +1 -1
  603. package/docs/gateway/health.md +11 -11
  604. package/docs/gateway/heartbeat.md +5 -5
  605. package/docs/gateway/index.md +56 -56
  606. package/docs/gateway/local-models.md +2 -2
  607. package/docs/gateway/logging.md +8 -8
  608. package/docs/gateway/multiple-gateways.md +23 -23
  609. package/docs/gateway/openai-http-api.md +10 -10
  610. package/docs/gateway/openresponses-http-api.md +10 -10
  611. package/docs/gateway/pairing.md +8 -8
  612. package/docs/gateway/protocol.md +5 -4
  613. package/docs/gateway/remote-gateway-readme.md +13 -13
  614. package/docs/gateway/remote.md +4 -4
  615. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +10 -7
  616. package/docs/gateway/sandboxing.md +8 -6
  617. package/docs/gateway/security/formal-verification.md +107 -0
  618. package/docs/gateway/{security.md → security/index.md} +151 -71
  619. package/docs/gateway/tailscale.md +16 -35
  620. package/docs/gateway/tools-invoke-http-api.md +3 -3
  621. package/docs/gateway/troubleshooting.md +108 -113
  622. package/docs/help/faq.md +326 -335
  623. package/docs/help/troubleshooting.md +15 -15
  624. package/docs/hooks/soul-evil.md +2 -2
  625. package/docs/hooks.md +60 -60
  626. package/docs/index.md +35 -35
  627. package/docs/install/ansible.md +35 -35
  628. package/docs/install/development-channels.md +10 -10
  629. package/docs/install/docker.md +31 -31
  630. package/docs/install/index.md +28 -27
  631. package/docs/install/installer.md +21 -21
  632. package/docs/install/migrating.md +190 -0
  633. package/docs/install/nix.md +17 -17
  634. package/docs/install/node.md +7 -6
  635. package/docs/install/uninstall.md +29 -29
  636. package/docs/install/updating.md +50 -49
  637. package/docs/logging.md +58 -58
  638. package/docs/multi-agent-sandbox-tools.md +7 -7
  639. package/docs/network.md +1 -1
  640. package/docs/nodes/audio.md +2 -2
  641. package/docs/nodes/camera.md +18 -18
  642. package/docs/nodes/images.md +4 -4
  643. package/docs/nodes/index.md +55 -55
  644. package/docs/nodes/location-command.md +2 -2
  645. package/docs/nodes/media-understanding.md +5 -5
  646. package/docs/nodes/talk.md +1 -1
  647. package/docs/nodes/voicewake.md +2 -2
  648. package/docs/northflank.mdx +53 -0
  649. package/docs/perplexity.md +2 -2
  650. package/docs/platforms/android.md +13 -13
  651. package/docs/platforms/digitalocean.md +243 -0
  652. package/docs/platforms/exe-dev.md +23 -23
  653. package/docs/platforms/fly.md +129 -18
  654. package/docs/platforms/gcp.md +498 -0
  655. package/docs/platforms/hetzner.md +30 -30
  656. package/docs/platforms/index.md +9 -9
  657. package/docs/platforms/ios.md +13 -13
  658. package/docs/platforms/linux.md +11 -11
  659. package/docs/platforms/mac/bundled-gateway.md +14 -14
  660. package/docs/platforms/mac/canvas.md +14 -14
  661. package/docs/platforms/mac/child-process.md +9 -9
  662. package/docs/platforms/mac/dev-setup.md +11 -11
  663. package/docs/platforms/mac/health.md +2 -2
  664. package/docs/platforms/mac/icon.md +1 -1
  665. package/docs/platforms/mac/logging.md +7 -7
  666. package/docs/platforms/mac/menu-bar.md +1 -1
  667. package/docs/platforms/mac/peekaboo.md +9 -9
  668. package/docs/platforms/mac/permissions.md +3 -3
  669. package/docs/platforms/mac/release.md +20 -20
  670. package/docs/platforms/mac/remote.md +14 -14
  671. package/docs/platforms/mac/signing.md +7 -7
  672. package/docs/platforms/mac/skills.md +4 -4
  673. package/docs/platforms/mac/voice-overlay.md +2 -2
  674. package/docs/platforms/mac/webchat.md +2 -2
  675. package/docs/platforms/mac/xpc.md +4 -4
  676. package/docs/platforms/macos-vm.md +27 -27
  677. package/docs/platforms/macos.md +20 -20
  678. package/docs/platforms/oracle.md +291 -0
  679. package/docs/platforms/raspberry-pi.md +354 -0
  680. package/docs/platforms/windows.md +11 -11
  681. package/docs/plugin.md +64 -64
  682. package/docs/plugins/agent-tools.md +1 -1
  683. package/docs/plugins/manifest.md +4 -4
  684. package/docs/plugins/voice-call.md +15 -12
  685. package/docs/plugins/zalouser.md +9 -9
  686. package/docs/prose.md +9 -9
  687. package/docs/providers/anthropic.md +23 -27
  688. package/docs/providers/claude-max-api-proxy.md +145 -0
  689. package/docs/providers/deepgram.md +2 -2
  690. package/docs/providers/github-copilot.md +11 -11
  691. package/docs/providers/glm.md +4 -4
  692. package/docs/providers/index.md +7 -3
  693. package/docs/providers/minimax.md +9 -9
  694. package/docs/providers/models.md +3 -3
  695. package/docs/providers/moonshot.md +2 -2
  696. package/docs/providers/ollama.md +11 -11
  697. package/docs/providers/openai.md +9 -13
  698. package/docs/providers/opencode.md +3 -3
  699. package/docs/providers/openrouter.md +3 -3
  700. package/docs/providers/qwen.md +6 -6
  701. package/docs/providers/synthetic.md +4 -4
  702. package/docs/providers/venice.md +21 -21
  703. package/docs/providers/vercel-ai-gateway.md +5 -4
  704. package/docs/providers/zai.md +5 -5
  705. package/docs/railway.mdx +5 -5
  706. package/docs/refactor/exec-host.md +5 -5
  707. package/docs/refactor/plugin-sdk.md +12 -12
  708. package/docs/refactor/strict-config.md +11 -11
  709. package/docs/reference/AGENTS.default.md +10 -10
  710. package/docs/reference/RELEASING.md +27 -27
  711. package/docs/reference/api-usage-costs.md +6 -6
  712. package/docs/reference/device-models.md +7 -7
  713. package/docs/reference/rpc.md +3 -3
  714. package/docs/reference/session-management-compaction.md +19 -19
  715. package/docs/reference/templates/AGENTS.dev.md +1 -1
  716. package/docs/reference/templates/BOOT.md +1 -1
  717. package/docs/reference/templates/TOOLS.dev.md +1 -1
  718. package/docs/reference/templates/USER.dev.md +2 -2
  719. package/docs/reference/test.md +2 -2
  720. package/docs/reference/transcript-hygiene.md +1 -1
  721. package/docs/render.mdx +158 -0
  722. package/docs/scripts.md +1 -1
  723. package/docs/security/formal-verification.md +107 -0
  724. package/docs/start/getting-started.md +31 -25
  725. package/docs/start/hubs.md +2 -2
  726. package/docs/start/lore.md +74 -38
  727. package/docs/start/onboarding.md +7 -7
  728. package/docs/start/pairing.md +10 -10
  729. package/docs/start/{clawd.md → poolbot.md} +29 -29
  730. package/docs/start/setup.md +30 -17
  731. package/docs/start/showcase.md +32 -32
  732. package/docs/start/wizard.md +29 -26
  733. package/docs/testing.md +12 -12
  734. package/docs/token-use.md +7 -7
  735. package/docs/tools/agent-send.md +10 -10
  736. package/docs/tools/browser-linux-troubleshooting.md +10 -10
  737. package/docs/tools/browser-login.md +4 -4
  738. package/docs/tools/browser.md +135 -241
  739. package/docs/tools/chrome-extension.md +31 -48
  740. package/docs/tools/creating-skills.md +4 -4
  741. package/docs/tools/elevated.md +1 -0
  742. package/docs/tools/exec-approvals.md +8 -5
  743. package/docs/tools/exec.md +15 -4
  744. package/docs/tools/firecrawl.md +2 -2
  745. package/docs/tools/index.md +18 -15
  746. package/docs/tools/llm-task.md +1 -1
  747. package/docs/tools/lobster.md +23 -11
  748. package/docs/tools/{clawdhub.md → poolhub.md} +7 -7
  749. package/docs/tools/skills-config.md +2 -2
  750. package/docs/tools/skills.md +39 -31
  751. package/docs/tools/slash-commands.md +10 -8
  752. package/docs/tools/web.md +8 -8
  753. package/docs/tts.md +11 -11
  754. package/docs/tui.md +7 -7
  755. package/docs/vps.md +6 -1
  756. package/docs/web/control-ui.md +13 -12
  757. package/docs/web/dashboard.md +8 -4
  758. package/docs/web/index.md +6 -5
  759. package/docs/web/webchat.md +1 -1
  760. package/extensions/bluebubbles/index.ts +3 -3
  761. package/extensions/bluebubbles/package.json +5 -5
  762. package/extensions/bluebubbles/src/accounts.ts +9 -9
  763. package/extensions/bluebubbles/src/actions.test.ts +22 -22
  764. package/extensions/bluebubbles/src/actions.ts +6 -6
  765. package/extensions/bluebubbles/src/attachments.ts +2 -2
  766. package/extensions/bluebubbles/src/channel.ts +17 -17
  767. package/extensions/bluebubbles/src/chat.ts +2 -2
  768. package/extensions/bluebubbles/src/config-schema.ts +1 -1
  769. package/extensions/bluebubbles/src/media-send.ts +2 -2
  770. package/extensions/bluebubbles/src/monitor.test.ts +56 -50
  771. package/extensions/bluebubbles/src/monitor.ts +181 -6
  772. package/extensions/bluebubbles/src/onboarding.ts +9 -9
  773. package/extensions/bluebubbles/src/reactions.ts +2 -2
  774. package/extensions/bluebubbles/src/runtime.ts +1 -1
  775. package/extensions/bluebubbles/src/send.ts +2 -2
  776. package/extensions/copilot-proxy/README.md +2 -2
  777. package/extensions/copilot-proxy/index.ts +1 -1
  778. package/extensions/copilot-proxy/package.json +4 -4
  779. package/extensions/diagnostics-otel/index.ts +3 -3
  780. package/extensions/diagnostics-otel/package.json +4 -4
  781. package/extensions/diagnostics-otel/src/service.test.ts +15 -15
  782. package/extensions/diagnostics-otel/src/service.ts +85 -85
  783. package/extensions/discord/index.ts +3 -3
  784. package/extensions/discord/package.json +4 -4
  785. package/extensions/discord/src/channel.ts +1 -1
  786. package/extensions/discord/src/runtime.ts +1 -1
  787. package/extensions/google-antigravity-auth/README.md +2 -2
  788. package/extensions/google-antigravity-auth/index.ts +9 -2
  789. package/extensions/google-antigravity-auth/package.json +4 -4
  790. package/extensions/google-gemini-cli-auth/README.md +2 -2
  791. package/extensions/google-gemini-cli-auth/index.ts +1 -1
  792. package/extensions/google-gemini-cli-auth/oauth.ts +2 -2
  793. package/extensions/google-gemini-cli-auth/package.json +4 -4
  794. package/extensions/googlechat/index.ts +4 -4
  795. package/extensions/googlechat/node_modules/.bin/poolbot +21 -0
  796. package/extensions/googlechat/package.json +7 -7
  797. package/extensions/googlechat/src/accounts.ts +9 -9
  798. package/extensions/googlechat/src/actions.ts +8 -8
  799. package/extensions/googlechat/src/api.ts +1 -1
  800. package/extensions/googlechat/src/channel.ts +23 -23
  801. package/extensions/googlechat/src/monitor.ts +9 -9
  802. package/extensions/googlechat/src/onboarding.ts +11 -11
  803. package/extensions/googlechat/src/runtime.ts +1 -1
  804. package/extensions/googlechat/src/types.config.ts +1 -1
  805. package/extensions/imessage/index.ts +3 -3
  806. package/extensions/imessage/package.json +4 -4
  807. package/extensions/imessage/src/channel.ts +1 -1
  808. package/extensions/imessage/src/runtime.ts +1 -1
  809. package/extensions/line/index.ts +3 -3
  810. package/extensions/line/node_modules/.bin/poolbot +21 -0
  811. package/extensions/line/package.json +6 -6
  812. package/extensions/line/src/card-command.ts +3 -3
  813. package/extensions/line/src/channel.logout.test.ts +4 -4
  814. package/extensions/line/src/channel.sendPayload.test.ts +8 -8
  815. package/extensions/line/src/channel.ts +5 -5
  816. package/extensions/line/src/runtime.ts +1 -1
  817. package/extensions/llm-task/README.md +1 -1
  818. package/extensions/llm-task/index.ts +2 -2
  819. package/extensions/llm-task/package.json +4 -4
  820. package/extensions/llm-task/src/llm-task-tool.ts +5 -5
  821. package/extensions/lobster/index.ts +2 -2
  822. package/extensions/lobster/package.json +3 -3
  823. package/extensions/lobster/src/lobster-tool.test.ts +26 -6
  824. package/extensions/lobster/src/lobster-tool.ts +24 -6
  825. package/extensions/matrix/CHANGELOG.md +9 -9
  826. package/extensions/matrix/index.ts +3 -3
  827. package/extensions/matrix/node_modules/.bin/markdown-it +0 -0
  828. package/extensions/matrix/node_modules/.bin/poolbot +21 -0
  829. package/extensions/matrix/package.json +7 -7
  830. package/extensions/matrix/src/actions.ts +1 -1
  831. package/extensions/matrix/src/channel.directory.test.ts +1 -1
  832. package/extensions/matrix/src/channel.ts +1 -1
  833. package/extensions/matrix/src/config-schema.ts +1 -1
  834. package/extensions/matrix/src/directory-live.ts +1 -1
  835. package/extensions/matrix/src/group-mentions.ts +1 -1
  836. package/extensions/matrix/src/matrix/accounts.ts +1 -1
  837. package/extensions/matrix/src/matrix/actions/messages.ts +1 -1
  838. package/extensions/matrix/src/matrix/actions/reactions.ts +1 -1
  839. package/extensions/matrix/src/matrix/actions/room.ts +3 -3
  840. package/extensions/matrix/src/matrix/actions/summary.ts +1 -1
  841. package/extensions/matrix/src/matrix/actions/types.ts +1 -1
  842. package/extensions/matrix/src/matrix/active-client.ts +1 -1
  843. package/extensions/matrix/src/matrix/client/config.ts +2 -2
  844. package/extensions/matrix/src/matrix/client/create-client.ts +2 -2
  845. package/extensions/matrix/src/matrix/client/logging.ts +1 -1
  846. package/extensions/matrix/src/matrix/client/shared.ts +3 -3
  847. package/extensions/matrix/src/matrix/deps.ts +5 -5
  848. package/extensions/matrix/src/matrix/monitor/allowlist.ts +1 -1
  849. package/extensions/matrix/src/matrix/monitor/auto-join.ts +3 -3
  850. package/extensions/matrix/src/matrix/monitor/direct.ts +1 -1
  851. package/extensions/matrix/src/matrix/monitor/events.ts +2 -2
  852. package/extensions/matrix/src/matrix/monitor/handler.ts +8 -8
  853. package/extensions/matrix/src/matrix/monitor/index.ts +2 -2
  854. package/extensions/matrix/src/matrix/monitor/location.ts +2 -2
  855. package/extensions/matrix/src/matrix/monitor/media.test.ts +3 -3
  856. package/extensions/matrix/src/matrix/monitor/media.ts +3 -3
  857. package/extensions/matrix/src/matrix/monitor/replies.ts +2 -2
  858. package/extensions/matrix/src/matrix/monitor/room-info.ts +1 -1
  859. package/extensions/matrix/src/matrix/monitor/rooms.ts +1 -1
  860. package/extensions/matrix/src/matrix/monitor/threads.ts +1 -1
  861. package/extensions/matrix/src/matrix/monitor/types.ts +1 -1
  862. package/extensions/matrix/src/matrix/poll-types.ts +1 -1
  863. package/extensions/matrix/src/matrix/probe.ts +1 -1
  864. package/extensions/matrix/src/matrix/send/client.ts +2 -2
  865. package/extensions/matrix/src/matrix/send/media.ts +1 -1
  866. package/extensions/matrix/src/matrix/send/targets.test.ts +1 -1
  867. package/extensions/matrix/src/matrix/send/targets.ts +1 -1
  868. package/extensions/matrix/src/matrix/send/types.ts +2 -2
  869. package/extensions/matrix/src/matrix/send.test.ts +3 -3
  870. package/extensions/matrix/src/matrix/send.ts +4 -4
  871. package/extensions/matrix/src/onboarding.ts +3 -3
  872. package/extensions/matrix/src/outbound.ts +1 -1
  873. package/extensions/matrix/src/resolve-targets.ts +1 -1
  874. package/extensions/matrix/src/runtime.ts +1 -1
  875. package/extensions/matrix/src/tool-actions.ts +1 -1
  876. package/extensions/matrix/src/types.ts +1 -1
  877. package/extensions/mattermost/index.ts +3 -3
  878. package/extensions/mattermost/package.json +5 -5
  879. package/extensions/mattermost/src/channel.ts +1 -1
  880. package/extensions/mattermost/src/config-schema.ts +1 -1
  881. package/extensions/mattermost/src/group-mentions.ts +1 -1
  882. package/extensions/mattermost/src/mattermost/accounts.ts +9 -9
  883. package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
  884. package/extensions/mattermost/src/mattermost/monitor.ts +4 -4
  885. package/extensions/mattermost/src/onboarding-helpers.ts +4 -4
  886. package/extensions/mattermost/src/onboarding.ts +4 -4
  887. package/extensions/mattermost/src/runtime.ts +1 -1
  888. package/extensions/mattermost/src/types.ts +1 -1
  889. package/extensions/memory-core/index.ts +3 -3
  890. package/extensions/memory-core/node_modules/.bin/poolbot +21 -0
  891. package/extensions/memory-core/package.json +5 -5
  892. package/extensions/memory-lancedb/config.ts +2 -2
  893. package/extensions/memory-lancedb/index.test.ts +2 -2
  894. package/extensions/memory-lancedb/index.ts +4 -4
  895. package/extensions/memory-lancedb/node_modules/.bin/openai +0 -0
  896. package/extensions/memory-lancedb/package.json +4 -4
  897. package/extensions/memory-lancedb/{clawdbot.plugin.json → poolbot.plugin.json} +1 -1
  898. package/extensions/msteams/CHANGELOG.md +7 -7
  899. package/extensions/msteams/index.ts +3 -3
  900. package/extensions/msteams/node_modules/.bin/poolbot +21 -0
  901. package/extensions/msteams/package.json +6 -6
  902. package/extensions/msteams/src/attachments.test.ts +1 -1
  903. package/extensions/msteams/src/channel.directory.test.ts +2 -2
  904. package/extensions/msteams/src/channel.ts +3 -3
  905. package/extensions/msteams/src/conversation-store-fs.test.ts +3 -3
  906. package/extensions/msteams/src/directory-live.ts +1 -1
  907. package/extensions/msteams/src/graph-upload.ts +4 -4
  908. package/extensions/msteams/src/media-helpers.ts +1 -1
  909. package/extensions/msteams/src/messenger.test.ts +1 -1
  910. package/extensions/msteams/src/messenger.ts +1 -1
  911. package/extensions/msteams/src/monitor-handler/message-handler.ts +1 -1
  912. package/extensions/msteams/src/monitor-handler.ts +2 -2
  913. package/extensions/msteams/src/monitor.ts +3 -3
  914. package/extensions/msteams/src/onboarding.ts +11 -11
  915. package/extensions/msteams/src/outbound.ts +1 -1
  916. package/extensions/msteams/src/policy.test.ts +1 -1
  917. package/extensions/msteams/src/policy.ts +50 -5
  918. package/extensions/msteams/src/polls-store.test.ts +1 -1
  919. package/extensions/msteams/src/polls.test.ts +4 -4
  920. package/extensions/msteams/src/polls.ts +8 -8
  921. package/extensions/msteams/src/probe.test.ts +1 -1
  922. package/extensions/msteams/src/probe.ts +1 -1
  923. package/extensions/msteams/src/reply-dispatcher.ts +36 -36
  924. package/extensions/msteams/src/runtime.ts +1 -1
  925. package/extensions/msteams/src/send-context.ts +2 -2
  926. package/extensions/msteams/src/send.ts +5 -5
  927. package/extensions/msteams/src/token.ts +1 -1
  928. package/extensions/nextcloud-talk/index.ts +3 -3
  929. package/extensions/nextcloud-talk/package.json +5 -5
  930. package/extensions/nextcloud-talk/src/accounts.ts +1 -1
  931. package/extensions/nextcloud-talk/src/channel.ts +8 -8
  932. package/extensions/nextcloud-talk/src/config-schema.ts +1 -1
  933. package/extensions/nextcloud-talk/src/inbound.ts +8 -8
  934. package/extensions/nextcloud-talk/src/monitor.ts +1 -1
  935. package/extensions/nextcloud-talk/src/onboarding.ts +2 -2
  936. package/extensions/nextcloud-talk/src/policy.ts +2 -2
  937. package/extensions/nextcloud-talk/src/room-info.ts +1 -1
  938. package/extensions/nextcloud-talk/src/runtime.ts +1 -1
  939. package/extensions/nextcloud-talk/src/types.ts +1 -1
  940. package/extensions/nostr/CHANGELOG.md +4 -4
  941. package/extensions/nostr/README.md +3 -3
  942. package/extensions/nostr/index.ts +6 -6
  943. package/extensions/nostr/node_modules/.bin/poolbot +21 -0
  944. package/extensions/nostr/package.json +6 -6
  945. package/extensions/nostr/src/channel.ts +2 -2
  946. package/extensions/nostr/src/config-schema.ts +1 -1
  947. package/extensions/nostr/src/nostr-state-store.test.ts +3 -3
  948. package/extensions/nostr/src/runtime.ts +1 -1
  949. package/extensions/nostr/src/types.ts +4 -4
  950. package/extensions/open-prose/index.ts +2 -2
  951. package/extensions/open-prose/package.json +3 -3
  952. package/extensions/open-prose/skills/prose/SKILL.md +5 -5
  953. package/extensions/open-prose/skills/prose/prose.md +4 -4
  954. package/extensions/qwen-portal-auth/README.md +2 -2
  955. package/extensions/qwen-portal-auth/index.ts +1 -1
  956. package/extensions/signal/index.ts +3 -3
  957. package/extensions/signal/package.json +4 -4
  958. package/extensions/signal/src/channel.ts +1 -1
  959. package/extensions/signal/src/runtime.ts +1 -1
  960. package/extensions/slack/index.ts +3 -3
  961. package/extensions/slack/package.json +4 -4
  962. package/extensions/slack/src/channel.ts +1 -1
  963. package/extensions/slack/src/runtime.ts +1 -1
  964. package/extensions/telegram/index.ts +3 -3
  965. package/extensions/telegram/package.json +4 -4
  966. package/extensions/telegram/src/channel.ts +3 -3
  967. package/extensions/telegram/src/runtime.ts +1 -1
  968. package/extensions/tlon/README.md +1 -1
  969. package/extensions/tlon/index.ts +3 -3
  970. package/extensions/tlon/package.json +5 -5
  971. package/extensions/tlon/src/channel.ts +15 -15
  972. package/extensions/tlon/src/config-schema.ts +1 -1
  973. package/extensions/tlon/src/monitor/discovery.ts +1 -1
  974. package/extensions/tlon/src/monitor/history.ts +1 -1
  975. package/extensions/tlon/src/monitor/index.ts +3 -3
  976. package/extensions/tlon/src/onboarding.ts +4 -4
  977. package/extensions/tlon/src/runtime.ts +1 -1
  978. package/extensions/tlon/src/types.ts +3 -3
  979. package/extensions/tlon/src/urbit/send.ts +19 -6
  980. package/extensions/twitch/CHANGELOG.md +21 -0
  981. package/extensions/twitch/README.md +89 -0
  982. package/extensions/twitch/index.ts +20 -0
  983. package/extensions/twitch/node_modules/.bin/poolbot +21 -0
  984. package/extensions/twitch/package.json +20 -0
  985. package/extensions/twitch/poolbot.plugin.json +9 -0
  986. package/extensions/twitch/src/access-control.test.ts +489 -0
  987. package/extensions/twitch/src/access-control.ts +154 -0
  988. package/extensions/twitch/src/actions.ts +173 -0
  989. package/extensions/twitch/src/client-manager-registry.ts +115 -0
  990. package/extensions/twitch/src/config-schema.ts +82 -0
  991. package/extensions/twitch/src/config.test.ts +88 -0
  992. package/extensions/twitch/src/config.ts +116 -0
  993. package/extensions/twitch/src/monitor.ts +257 -0
  994. package/extensions/twitch/src/onboarding.test.ts +311 -0
  995. package/extensions/twitch/src/onboarding.ts +411 -0
  996. package/extensions/twitch/src/outbound.test.ts +373 -0
  997. package/extensions/twitch/src/outbound.ts +186 -0
  998. package/extensions/twitch/src/plugin.test.ts +39 -0
  999. package/extensions/twitch/src/plugin.ts +274 -0
  1000. package/extensions/twitch/src/probe.test.ts +198 -0
  1001. package/extensions/twitch/src/probe.ts +118 -0
  1002. package/extensions/twitch/src/resolver.ts +137 -0
  1003. package/extensions/twitch/src/runtime.ts +14 -0
  1004. package/extensions/twitch/src/send.test.ts +289 -0
  1005. package/extensions/twitch/src/send.ts +136 -0
  1006. package/extensions/twitch/src/status.test.ts +270 -0
  1007. package/extensions/twitch/src/status.ts +176 -0
  1008. package/extensions/twitch/src/token.test.ts +171 -0
  1009. package/extensions/twitch/src/token.ts +87 -0
  1010. package/extensions/twitch/src/twitch-client.test.ts +574 -0
  1011. package/extensions/twitch/src/twitch-client.ts +277 -0
  1012. package/extensions/twitch/src/types.ts +141 -0
  1013. package/extensions/twitch/src/utils/markdown.ts +92 -0
  1014. package/extensions/twitch/src/utils/twitch.ts +78 -0
  1015. package/extensions/twitch/test/setup.ts +7 -0
  1016. package/extensions/voice-call/CHANGELOG.md +13 -12
  1017. package/extensions/voice-call/README.md +15 -14
  1018. package/extensions/voice-call/index.ts +11 -9
  1019. package/extensions/voice-call/package.json +4 -4
  1020. package/extensions/voice-call/{clawdbot.plugin.json → poolbot.plugin.json} +3 -3
  1021. package/extensions/voice-call/src/cli.ts +1 -1
  1022. package/extensions/voice-call/src/config.test.ts +204 -0
  1023. package/extensions/voice-call/src/config.ts +61 -4
  1024. package/extensions/voice-call/src/core-bridge.ts +10 -8
  1025. package/extensions/voice-call/src/manager.test.ts +2 -2
  1026. package/extensions/voice-call/src/providers/twilio/webhook.ts +2 -1
  1027. package/extensions/voice-call/src/providers/twilio.ts +2 -2
  1028. package/extensions/voice-call/src/response-generator.ts +1 -1
  1029. package/extensions/voice-call/src/runtime.ts +26 -15
  1030. package/extensions/voice-call/src/types.ts +1 -0
  1031. package/extensions/voice-call/src/webhook-security.test.ts +52 -0
  1032. package/extensions/voice-call/src/webhook-security.ts +16 -5
  1033. package/extensions/voice-call/src/webhook.ts +1 -0
  1034. package/extensions/whatsapp/index.ts +3 -3
  1035. package/extensions/whatsapp/package.json +4 -4
  1036. package/extensions/whatsapp/src/channel.ts +1 -1
  1037. package/extensions/whatsapp/src/runtime.ts +1 -1
  1038. package/extensions/zalo/CHANGELOG.md +9 -9
  1039. package/extensions/zalo/README.md +3 -3
  1040. package/extensions/zalo/index.ts +3 -3
  1041. package/extensions/zalo/node_modules/.bin/poolbot +21 -0
  1042. package/extensions/zalo/package.json +6 -6
  1043. package/extensions/zalo/src/accounts.ts +9 -9
  1044. package/extensions/zalo/src/actions.ts +6 -6
  1045. package/extensions/zalo/src/channel.directory.test.ts +2 -2
  1046. package/extensions/zalo/src/channel.ts +20 -20
  1047. package/extensions/zalo/src/config-schema.ts +1 -1
  1048. package/extensions/zalo/src/monitor.ts +9 -9
  1049. package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
  1050. package/extensions/zalo/src/onboarding.ts +27 -27
  1051. package/extensions/zalo/src/runtime.ts +1 -1
  1052. package/extensions/zalo/src/send.ts +2 -2
  1053. package/extensions/zalo/src/status-issues.ts +1 -1
  1054. package/extensions/zalo/src/token.ts +1 -1
  1055. package/extensions/zalouser/CHANGELOG.md +4 -4
  1056. package/extensions/zalouser/README.md +17 -17
  1057. package/extensions/zalouser/index.ts +3 -3
  1058. package/extensions/zalouser/node_modules/.bin/poolbot +21 -0
  1059. package/extensions/zalouser/package.json +6 -6
  1060. package/extensions/zalouser/src/accounts.ts +10 -10
  1061. package/extensions/zalouser/src/channel.ts +27 -27
  1062. package/extensions/zalouser/src/config-schema.ts +1 -1
  1063. package/extensions/zalouser/src/monitor.ts +5 -5
  1064. package/extensions/zalouser/src/onboarding.ts +32 -32
  1065. package/extensions/zalouser/src/runtime.ts +1 -1
  1066. package/extensions/zalouser/src/status-issues.ts +2 -2
  1067. package/git-hooks/pre-commit +0 -0
  1068. package/package.json +78 -89
  1069. package/skills/1password/SKILL.md +3 -3
  1070. package/skills/apple-notes/SKILL.md +2 -2
  1071. package/skills/apple-reminders/SKILL.md +1 -1
  1072. package/skills/bear-notes/SKILL.md +1 -1
  1073. package/skills/bird/SKILL.md +1 -1
  1074. package/skills/blogwatcher/SKILL.md +1 -1
  1075. package/skills/blucli/SKILL.md +1 -1
  1076. package/skills/bluebubbles/SKILL.md +2 -2
  1077. package/skills/camsnap/SKILL.md +1 -1
  1078. package/skills/canvas/SKILL.md +15 -15
  1079. package/skills/coding-agent/SKILL.md +6 -6
  1080. package/skills/discord/SKILL.md +6 -5
  1081. package/skills/eightctl/SKILL.md +1 -1
  1082. package/skills/food-order/SKILL.md +1 -1
  1083. package/skills/gemini/SKILL.md +1 -1
  1084. package/skills/gifgrep/SKILL.md +1 -1
  1085. package/skills/github/SKILL.md +1 -0
  1086. package/skills/gog/SKILL.md +1 -1
  1087. package/skills/goplaces/SKILL.md +1 -1
  1088. package/skills/himalaya/SKILL.md +1 -1
  1089. package/skills/imsg/SKILL.md +1 -1
  1090. package/skills/local-places/SKILL.md +1 -1
  1091. package/skills/mcporter/SKILL.md +1 -1
  1092. package/skills/model-usage/SKILL.md +1 -1
  1093. package/skills/nano-banana-pro/SKILL.md +10 -5
  1094. package/skills/nano-banana-pro/scripts/generate_image.py +42 -27
  1095. package/skills/nano-pdf/SKILL.md +1 -1
  1096. package/skills/notion/SKILL.md +1 -1
  1097. package/skills/obsidian/SKILL.md +1 -1
  1098. package/skills/openai-image-gen/SKILL.md +1 -1
  1099. package/skills/openai-whisper/SKILL.md +1 -1
  1100. package/skills/openai-whisper-api/SKILL.md +2 -2
  1101. package/skills/openhue/SKILL.md +1 -1
  1102. package/skills/oracle/SKILL.md +1 -1
  1103. package/skills/ordercli/SKILL.md +1 -1
  1104. package/skills/peekaboo/SKILL.md +1 -1
  1105. package/skills/{clawdhub → poolhub}/SKILL.md +2 -2
  1106. package/skills/sag/SKILL.md +1 -1
  1107. package/skills/session-logs/SKILL.md +7 -7
  1108. package/skills/sherpa-onnx-tts/SKILL.md +6 -6
  1109. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -0
  1110. package/skills/slack/SKILL.md +4 -3
  1111. package/skills/songsee/SKILL.md +1 -1
  1112. package/skills/sonoscli/SKILL.md +1 -1
  1113. package/skills/spotify-player/SKILL.md +1 -1
  1114. package/skills/summarize/SKILL.md +1 -1
  1115. package/skills/things-mac/SKILL.md +3 -3
  1116. package/skills/tmux/SKILL.md +7 -7
  1117. package/skills/tmux/scripts/find-sessions.sh +1 -1
  1118. package/skills/tmux/scripts/wait-for-text.sh +0 -0
  1119. package/skills/trello/SKILL.md +2 -2
  1120. package/skills/video-frames/SKILL.md +1 -1
  1121. package/skills/voice-call/SKILL.md +4 -4
  1122. package/skills/wacli/SKILL.md +2 -2
  1123. package/skills/weather/SKILL.md +1 -1
  1124. package/dist/cli/browser-cli-serve.js +0 -91
  1125. package/dist/control-ui/assets/index-Cl-Y9zqE.js.map +0 -1
  1126. package/dist/control-ui/assets/index-DEPfFcOb.css +0 -1
  1127. package/docs/POOL-BOT.md +0 -119
  1128. /package/dist/{config/types.clawdbot.js → browser/routes/types.js} +0 -0
  1129. /package/docs/{whatsapp-clawd.jpg → whatsapp-poolbot.jpg} +0 -0
  1130. /package/extensions/bluebubbles/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1131. /package/extensions/copilot-proxy/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1132. /package/extensions/diagnostics-otel/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1133. /package/extensions/discord/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1134. /package/extensions/google-antigravity-auth/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1135. /package/extensions/google-gemini-cli-auth/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1136. /package/extensions/googlechat/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1137. /package/extensions/imessage/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1138. /package/extensions/line/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1139. /package/extensions/llm-task/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1140. /package/extensions/lobster/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1141. /package/extensions/matrix/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1142. /package/extensions/mattermost/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1143. /package/extensions/memory-core/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1144. /package/extensions/msteams/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1145. /package/extensions/nextcloud-talk/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1146. /package/extensions/nostr/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1147. /package/extensions/open-prose/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1148. /package/extensions/qwen-portal-auth/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1149. /package/extensions/signal/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1150. /package/extensions/slack/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1151. /package/extensions/telegram/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1152. /package/extensions/tlon/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1153. /package/extensions/whatsapp/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1154. /package/extensions/zalo/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1155. /package/extensions/zalouser/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
@@ -1,5 +1,5 @@
1
1
  ---
2
- summary: "Integrated browser control server + action commands"
2
+ summary: "Integrated browser control service + action commands"
3
3
  read_when:
4
4
  - Adding agent-controlled browser automation
5
5
  - Debugging why clawd is interfering with your own Chrome
@@ -8,9 +8,9 @@ read_when:
8
8
 
9
9
  # Browser (clawd-managed)
10
10
 
11
- Clawdbot can run a **dedicated Chrome/Brave/Edge/Chromium profile** that the agent controls.
11
+ Pool Bot can run a **dedicated Chrome/Brave/Edge/Chromium profile** that the agent controls.
12
12
  It is isolated from your personal browser and is managed through a small local
13
- control server.
13
+ control service inside the Gateway (loopback only).
14
14
 
15
15
  Beginner view:
16
16
  - Think of it as a **separate, agent-only browser**.
@@ -32,10 +32,10 @@ agent automation and verification.
32
32
  ## Quick start
33
33
 
34
34
  ```bash
35
- clawdbot browser --browser-profile clawd status
36
- clawdbot browser --browser-profile clawd start
37
- clawdbot browser --browser-profile clawd open https://example.com
38
- clawdbot browser --browser-profile clawd snapshot
35
+ poolbot browser --browser-profile clawd status
36
+ poolbot browser --browser-profile clawd start
37
+ poolbot browser --browser-profile clawd open https://example.com
38
+ poolbot browser --browser-profile clawd snapshot
39
39
  ```
40
40
 
41
41
  If you get “Browser disabled”, enable it in config (see below) and restart the
@@ -44,21 +44,20 @@ Gateway.
44
44
  ## Profiles: `clawd` vs `chrome`
45
45
 
46
46
  - `clawd`: managed, isolated browser (no extension required).
47
- - `chrome`: extension relay to your **system browser** (requires the Clawdbot
47
+ - `chrome`: extension relay to your **system browser** (requires the Pool Bot
48
48
  extension to be attached to a tab).
49
49
 
50
50
  Set `browser.defaultProfile: "clawd"` if you want managed mode by default.
51
51
 
52
52
  ## Configuration
53
53
 
54
- Browser settings live in `~/.clawdbot/clawdbot.json`.
54
+ Browser settings live in `~/.poolbot/poolbot.json`.
55
55
 
56
56
  ```json5
57
57
  {
58
58
  browser: {
59
59
  enabled: true, // default: true
60
- controlUrl: "http://127.0.0.1:18791",
61
- cdpUrl: "http://127.0.0.1:18792", // defaults to controlUrl + 1
60
+ // cdpUrl: "http://127.0.0.1:18792", // legacy single-profile override
62
61
  remoteCdpTimeoutMs: 1500, // remote CDP HTTP timeout (ms)
63
62
  remoteCdpHandshakeTimeoutMs: 3000, // remote CDP WebSocket handshake timeout (ms)
64
63
  defaultProfile: "chrome",
@@ -77,10 +76,11 @@ Browser settings live in `~/.clawdbot/clawdbot.json`.
77
76
  ```
78
77
 
79
78
  Notes:
80
- - `controlUrl` defaults to `http://127.0.0.1:18791`.
79
+ - The browser control service binds to loopback on a port derived from `gateway.port`
80
+ (default: `18791`, which is gateway + 2). The relay uses the next port (`18792`).
81
81
  - If you override the Gateway port (`gateway.port` or `CLAWDBOT_GATEWAY_PORT`),
82
- the default browser ports shift to stay in the same “family” (control = gateway + 2).
83
- - `cdpUrl` defaults to `controlUrl + 1` when unset.
82
+ the derived browser ports shift to stay in the same “family”.
83
+ - `cdpUrl` defaults to the relay port when unset.
84
84
  - `remoteCdpTimeoutMs` applies to remote (non-loopback) CDP reachability checks.
85
85
  - `remoteCdpHandshakeTimeoutMs` applies to remote CDP WebSocket reachability checks.
86
86
  - `attachOnly: true` means “never launch a local browser; only attach if it is already running.”
@@ -92,13 +92,13 @@ Notes:
92
92
  ## Use Brave (or another Chromium-based browser)
93
93
 
94
94
  If your **system default** browser is Chromium-based (Chrome/Brave/Edge/etc),
95
- Clawdbot uses it automatically. Set `browser.executablePath` to override
95
+ Pool Bot uses it automatically. Set `browser.executablePath` to override
96
96
  auto-detection:
97
97
 
98
98
  CLI example:
99
99
 
100
100
  ```bash
101
- clawdbot config set browser.executablePath "/usr/bin/google-chrome"
101
+ poolbot config set browser.executablePath "/usr/bin/google-chrome"
102
102
  ```
103
103
 
104
104
  ```json5
@@ -126,51 +126,24 @@ clawdbot config set browser.executablePath "/usr/bin/google-chrome"
126
126
 
127
127
  ## Local vs remote control
128
128
 
129
- - **Local control (default):** `controlUrl` is loopback (`127.0.0.1`/`localhost`).
130
- The Gateway starts the control server and can launch a local browser.
131
- - **Remote control:** `controlUrl` is non-loopback. The Gateway **does not** start
132
- a local server; it assumes you are pointing at an existing server elsewhere.
129
+ - **Local control (default):** the Gateway starts the loopback control service and can launch a local browser.
130
+ - **Remote control (node host):** run a node host on the machine that has the browser; the Gateway proxies browser actions to it.
133
131
  - **Remote CDP:** set `browser.profiles.<name>.cdpUrl` (or `browser.cdpUrl`) to
134
- attach to a remote Chromium-based browser. In this case, Clawdbot will not launch a local browser.
135
-
136
- ## Remote browser (control server)
137
-
138
- You can run the **browser control server** on another machine and point your
139
- Gateway at it with a remote `controlUrl`. This lets the agent drive a browser
140
- outside the host (lab box, VM, remote desktop, etc.).
141
-
142
- Key points:
143
- - The **control server** speaks to Chromium-based browsers (Chrome/Brave/Edge/Chromium) via **CDP**.
144
- - The **Gateway** only needs the HTTP control URL.
145
- - Profiles are resolved on the **control server** side.
146
-
147
- Example:
148
- ```json5
149
- {
150
- browser: {
151
- enabled: true,
152
- controlUrl: "http://10.0.0.42:18791",
153
- defaultProfile: "work"
154
- }
155
- }
156
- ```
157
-
158
- Use `profiles.<name>.cdpUrl` for **remote CDP** if you want the Gateway to talk
159
- directly to a Chromium-based browser instance without a remote control server.
132
+ attach to a remote Chromium-based browser. In this case, Pool Bot will not launch a local browser.
160
133
 
161
134
  Remote CDP URLs can include auth:
162
135
  - Query tokens (e.g., `https://provider.example?token=<token>`)
163
136
  - HTTP Basic auth (e.g., `https://user:pass@provider.example`)
164
137
 
165
- Clawdbot preserves the auth when calling `/json/*` endpoints and when connecting
138
+ Pool Bot preserves the auth when calling `/json/*` endpoints and when connecting
166
139
  to the CDP WebSocket. Prefer environment variables or secrets managers for
167
140
  tokens instead of committing them to config files.
168
141
 
169
- ### Node browser proxy (zero-config default)
142
+ ## Node browser proxy (zero-config default)
170
143
 
171
- If you run a **node host** on the machine that has your browser, Clawdbot can
172
- auto-route browser tool calls to that node without any custom `controlUrl`
173
- setup. This is the default path for remote gateways.
144
+ If you run a **node host** on the machine that has your browser, Pool Bot can
145
+ auto-route browser tool calls to that node without any extra browser config.
146
+ This is the default path for remote gateways.
174
147
 
175
148
  Notes:
176
149
  - The node host exposes its local browser control server via a **proxy command**.
@@ -179,10 +152,10 @@ Notes:
179
152
  - On the node: `nodeHost.browserProxy.enabled=false`
180
153
  - On the gateway: `gateway.nodes.browser.mode="off"`
181
154
 
182
- ### Browserless (hosted remote CDP)
155
+ ## Browserless (hosted remote CDP)
183
156
 
184
157
  [Browserless](https://browserless.io) is a hosted Chromium service that exposes
185
- CDP endpoints over HTTPS. You can point a Clawdbot browser profile at a
158
+ CDP endpoints over HTTPS. You can point a Pool Bot browser profile at a
186
159
  Browserless region endpoint and authenticate with your API key.
187
160
 
188
161
  Example:
@@ -207,98 +180,20 @@ Notes:
207
180
  - Replace `<BROWSERLESS_API_KEY>` with your real Browserless token.
208
181
  - Choose the region endpoint that matches your Browserless account (see their docs).
209
182
 
210
- ### Running the control server on the browser machine
211
-
212
- Run a standalone browser control server (recommended when your Gateway is remote):
213
-
214
- ```bash
215
- # on the machine that runs Chrome/Brave/Edge
216
- clawdbot browser serve --bind <browser-host> --port 18791 --token <token>
217
- ```
218
-
219
- Then point your Gateway at it:
220
-
221
- ```json5
222
- {
223
- browser: {
224
- enabled: true,
225
- controlUrl: "http://<browser-host>:18791",
226
-
227
- // Option A (recommended): keep token in env on the Gateway
228
- // (avoid writing secrets into config files)
229
- // controlToken: "<token>"
230
- }
231
- }
232
- ```
233
-
234
- And set the auth token in the Gateway environment:
235
-
236
- ```bash
237
- export CLAWDBOT_BROWSER_CONTROL_TOKEN="<token>"
238
- ```
239
-
240
- Option B: store the token in the Gateway config instead (same shared token):
241
-
242
- ```json5
243
- {
244
- browser: {
245
- enabled: true,
246
- controlUrl: "http://<browser-host>:18791",
247
- controlToken: "<token>"
248
- }
249
- }
250
- ```
251
-
252
183
  ## Security
253
184
 
254
- This section covers the **browser control server** (`browser.controlUrl`) used for agent browser automation.
255
-
256
185
  Key ideas:
257
- - Treat the browser control server like an admin API: **private network only**.
258
- - Use **token auth** always when the server is reachable off-machine.
259
- - Prefer **Tailnet-only** connectivity over LAN exposure.
260
-
261
- ### Tokens (what is shared with what?)
186
+ - Browser control is loopback-only; access flows through the Gateway’s auth or node pairing.
187
+ - Keep the Gateway and any node hosts on a private network (Tailscale); avoid public exposure.
188
+ - Treat remote CDP URLs/tokens as secrets; prefer env vars or a secrets manager.
262
189
 
263
- - `browser.controlToken` / `CLAWDBOT_BROWSER_CONTROL_TOKEN` is **only** for authenticating browser control HTTP requests to `browser.controlUrl`.
264
- - It is **not** the Gateway token (`gateway.auth.token`) and **not** a node pairing token.
265
- - You *can* reuse the same string value, but it’s better to keep them separate to reduce blast radius.
266
-
267
- ### Binding (don’t expose to your LAN by accident)
268
-
269
- Recommended:
270
- - Keep `clawdbot browser serve` bound to loopback (`127.0.0.1`) and publish it via Tailscale.
271
- - Or bind to a Tailnet IP only (never `0.0.0.0`) and require a token.
272
-
273
- Avoid:
274
- - `--bind 0.0.0.0` (LAN-visible). Even with token auth, traffic is plain HTTP unless you also add TLS.
275
-
276
- ### TLS / HTTPS (recommended approach: terminate in front)
277
-
278
- Best practice here: keep `clawdbot browser serve` on HTTP and terminate TLS in front.
279
-
280
- If you’re already using Tailscale, you have two good options:
281
-
282
- 1) **Tailnet-only, still HTTP** (transport is encrypted by Tailscale):
283
- - Keep `controlUrl` as `http://…` but ensure it’s only reachable over your tailnet.
284
-
285
- 2) **Serve HTTPS via Tailscale** (nice UX: `https://…` URL):
286
-
287
- ```bash
288
- # on the browser machine
289
- clawdbot browser serve --bind 127.0.0.1 --port 18791 --token <token>
290
- tailscale serve https / http://127.0.0.1:18791
291
- ```
292
-
293
- Then set your Gateway config `browser.controlUrl` to the HTTPS URL (MagicDNS/ts.net) and keep using the same token.
294
-
295
- Notes:
296
- - Do **not** use Tailscale Funnel for this unless you explicitly want to make the endpoint public.
297
- - For Tailnet setup/background, see [Gateway web surfaces](/web/index) and the [Gateway CLI](/cli/gateway).
190
+ Remote CDP tips:
191
+ - Prefer HTTPS endpoints and short-lived tokens where possible.
192
+ - Avoid embedding long-lived tokens directly in config files.
298
193
 
299
194
  ## Profiles (multi-browser)
300
195
 
301
- Clawdbot supports multiple named profiles (routing configs). Profiles can be:
196
+ Pool Bot supports multiple named profiles (routing configs). Profiles can be:
302
197
  - **clawd-managed**: a dedicated Chromium-based browser instance with its own user data directory + CDP port
303
198
  - **remote**: an explicit CDP URL (Chromium-based browser running elsewhere)
304
199
  - **extension relay**: your existing Chrome tab(s) via the local relay + Chrome extension
@@ -313,18 +208,17 @@ All control endpoints accept `?profile=<name>`; the CLI uses `--browser-profile`
313
208
 
314
209
  ## Chrome extension relay (use your existing Chrome)
315
210
 
316
- Clawdbot can also drive **your existing Chrome tabs** (no separate “clawd” Chrome instance) via a local CDP relay + a Chrome extension.
211
+ Pool Bot can also drive **your existing Chrome tabs** (no separate “clawd” Chrome instance) via a local CDP relay + a Chrome extension.
317
212
 
318
213
  Full guide: [Chrome extension](/tools/chrome-extension)
319
214
 
320
215
  Flow:
321
- - You run a **browser control server** (Gateway on the same machine, or `clawdbot browser serve`).
216
+ - The Gateway runs locally (same machine) or a node host runs on the browser machine.
322
217
  - A local **relay server** listens at a loopback `cdpUrl` (default: `http://127.0.0.1:18792`).
323
- - You click the **Clawdbot Browser Relay** extension icon on a tab to attach (it does not auto-attach).
218
+ - You click the **Pool Bot Browser Relay** extension icon on a tab to attach (it does not auto-attach).
324
219
  - The agent controls that tab via the normal `browser` tool, by selecting the right profile.
325
220
 
326
- If the Gateway runs on the same machine as Chrome (default setup), you usually **do not** need `clawdbot browser serve`.
327
- Use `browser serve` only when the Gateway runs elsewhere (remote mode).
221
+ If the Gateway runs elsewhere, run a node host on the browser machine so the Gateway can proxy browser actions.
328
222
 
329
223
  ### Sandboxed sessions
330
224
 
@@ -338,21 +232,21 @@ Chrome extension relay takeover requires host browser control, so either:
338
232
  1) Load the extension (dev/unpacked):
339
233
 
340
234
  ```bash
341
- clawdbot browser extension install
235
+ poolbot browser extension install
342
236
  ```
343
237
 
344
238
  - Chrome → `chrome://extensions` → enable “Developer mode”
345
- - “Load unpacked” → select the directory printed by `clawdbot browser extension path`
239
+ - “Load unpacked” → select the directory printed by `poolbot browser extension path`
346
240
  - Pin the extension, then click it on the tab you want to control (badge shows `ON`).
347
241
 
348
242
  2) Use it:
349
- - CLI: `clawdbot browser --browser-profile chrome tabs`
243
+ - CLI: `poolbot browser --browser-profile chrome tabs`
350
244
  - Agent tool: `browser` with `profile="chrome"`
351
245
 
352
246
  Optional: if you want a different name or relay port, create your own profile:
353
247
 
354
248
  ```bash
355
- clawdbot browser create-profile \
249
+ poolbot browser create-profile \
356
250
  --name my-chrome \
357
251
  --driver extension \
358
252
  --cdp-url http://127.0.0.1:18792 \
@@ -371,7 +265,7 @@ Notes:
371
265
 
372
266
  ## Browser selection
373
267
 
374
- When launching locally, Clawdbot picks the first available:
268
+ When launching locally, Pool Bot picks the first available:
375
269
  1. Chrome
376
270
  2. Brave
377
271
  3. Edge
@@ -387,8 +281,7 @@ Platforms:
387
281
 
388
282
  ## Control API (optional)
389
283
 
390
- If you want to integrate directly, the browser control server exposes a small
391
- HTTP API:
284
+ For local integrations only, the Gateway exposes a small loopback HTTP API:
392
285
 
393
286
  - Status/start/stop: `GET /`, `POST /start`, `POST /stop`
394
287
  - Tabs: `GET /tabs`, `POST /tabs/open`, `POST /tabs/focus`, `DELETE /tabs/:targetId`
@@ -414,7 +307,7 @@ For the Chrome extension relay driver, ARIA snapshots and screenshots require Pl
414
307
 
415
308
  If you see `Playwright is not available in this gateway build`, install the full
416
309
  Playwright package (not `playwright-core`) and restart the gateway, or reinstall
417
- Clawdbot with browser support.
310
+ Pool Bot with browser support.
418
311
 
419
312
  ## How it works (internal)
420
313
 
@@ -434,76 +327,76 @@ All commands accept `--browser-profile <name>` to target a specific profile.
434
327
  All commands also accept `--json` for machine-readable output (stable payloads).
435
328
 
436
329
  Basics:
437
- - `clawdbot browser status`
438
- - `clawdbot browser start`
439
- - `clawdbot browser stop`
440
- - `clawdbot browser tabs`
441
- - `clawdbot browser tab`
442
- - `clawdbot browser tab new`
443
- - `clawdbot browser tab select 2`
444
- - `clawdbot browser tab close 2`
445
- - `clawdbot browser open https://example.com`
446
- - `clawdbot browser focus abcd1234`
447
- - `clawdbot browser close abcd1234`
330
+ - `poolbot browser status`
331
+ - `poolbot browser start`
332
+ - `poolbot browser stop`
333
+ - `poolbot browser tabs`
334
+ - `poolbot browser tab`
335
+ - `poolbot browser tab new`
336
+ - `poolbot browser tab select 2`
337
+ - `poolbot browser tab close 2`
338
+ - `poolbot browser open https://example.com`
339
+ - `poolbot browser focus abcd1234`
340
+ - `poolbot browser close abcd1234`
448
341
 
449
342
  Inspection:
450
- - `clawdbot browser screenshot`
451
- - `clawdbot browser screenshot --full-page`
452
- - `clawdbot browser screenshot --ref 12`
453
- - `clawdbot browser screenshot --ref e12`
454
- - `clawdbot browser snapshot`
455
- - `clawdbot browser snapshot --format aria --limit 200`
456
- - `clawdbot browser snapshot --interactive --compact --depth 6`
457
- - `clawdbot browser snapshot --efficient`
458
- - `clawdbot browser snapshot --labels`
459
- - `clawdbot browser snapshot --selector "#main" --interactive`
460
- - `clawdbot browser snapshot --frame "iframe#main" --interactive`
461
- - `clawdbot browser console --level error`
462
- - `clawdbot browser errors --clear`
463
- - `clawdbot browser requests --filter api --clear`
464
- - `clawdbot browser pdf`
465
- - `clawdbot browser responsebody "**/api" --max-chars 5000`
343
+ - `poolbot browser screenshot`
344
+ - `poolbot browser screenshot --full-page`
345
+ - `poolbot browser screenshot --ref 12`
346
+ - `poolbot browser screenshot --ref e12`
347
+ - `poolbot browser snapshot`
348
+ - `poolbot browser snapshot --format aria --limit 200`
349
+ - `poolbot browser snapshot --interactive --compact --depth 6`
350
+ - `poolbot browser snapshot --efficient`
351
+ - `poolbot browser snapshot --labels`
352
+ - `poolbot browser snapshot --selector "#main" --interactive`
353
+ - `poolbot browser snapshot --frame "iframe#main" --interactive`
354
+ - `poolbot browser console --level error`
355
+ - `poolbot browser errors --clear`
356
+ - `poolbot browser requests --filter api --clear`
357
+ - `poolbot browser pdf`
358
+ - `poolbot browser responsebody "**/api" --max-chars 5000`
466
359
 
467
360
  Actions:
468
- - `clawdbot browser navigate https://example.com`
469
- - `clawdbot browser resize 1280 720`
470
- - `clawdbot browser click 12 --double`
471
- - `clawdbot browser click e12 --double`
472
- - `clawdbot browser type 23 "hello" --submit`
473
- - `clawdbot browser press Enter`
474
- - `clawdbot browser hover 44`
475
- - `clawdbot browser scrollintoview e12`
476
- - `clawdbot browser drag 10 11`
477
- - `clawdbot browser select 9 OptionA OptionB`
478
- - `clawdbot browser download e12 /tmp/report.pdf`
479
- - `clawdbot browser waitfordownload /tmp/report.pdf`
480
- - `clawdbot browser upload /tmp/file.pdf`
481
- - `clawdbot browser fill --fields '[{"ref":"1","type":"text","value":"Ada"}]'`
482
- - `clawdbot browser dialog --accept`
483
- - `clawdbot browser wait --text "Done"`
484
- - `clawdbot browser wait "#main" --url "**/dash" --load networkidle --fn "window.ready===true"`
485
- - `clawdbot browser evaluate --fn '(el) => el.textContent' --ref 7`
486
- - `clawdbot browser highlight e12`
487
- - `clawdbot browser trace start`
488
- - `clawdbot browser trace stop`
361
+ - `poolbot browser navigate https://example.com`
362
+ - `poolbot browser resize 1280 720`
363
+ - `poolbot browser click 12 --double`
364
+ - `poolbot browser click e12 --double`
365
+ - `poolbot browser type 23 "hello" --submit`
366
+ - `poolbot browser press Enter`
367
+ - `poolbot browser hover 44`
368
+ - `poolbot browser scrollintoview e12`
369
+ - `poolbot browser drag 10 11`
370
+ - `poolbot browser select 9 OptionA OptionB`
371
+ - `poolbot browser download e12 /tmp/report.pdf`
372
+ - `poolbot browser waitfordownload /tmp/report.pdf`
373
+ - `poolbot browser upload /tmp/file.pdf`
374
+ - `poolbot browser fill --fields '[{"ref":"1","type":"text","value":"Ada"}]'`
375
+ - `poolbot browser dialog --accept`
376
+ - `poolbot browser wait --text "Done"`
377
+ - `poolbot browser wait "#main" --url "**/dash" --load networkidle --fn "window.ready===true"`
378
+ - `poolbot browser evaluate --fn '(el) => el.textContent' --ref 7`
379
+ - `poolbot browser highlight e12`
380
+ - `poolbot browser trace start`
381
+ - `poolbot browser trace stop`
489
382
 
490
383
  State:
491
- - `clawdbot browser cookies`
492
- - `clawdbot browser cookies set session abc123 --url "https://example.com"`
493
- - `clawdbot browser cookies clear`
494
- - `clawdbot browser storage local get`
495
- - `clawdbot browser storage local set theme dark`
496
- - `clawdbot browser storage session clear`
497
- - `clawdbot browser set offline on`
498
- - `clawdbot browser set headers --json '{"X-Debug":"1"}'`
499
- - `clawdbot browser set credentials user pass`
500
- - `clawdbot browser set credentials --clear`
501
- - `clawdbot browser set geo 37.7749 -122.4194 --origin "https://example.com"`
502
- - `clawdbot browser set geo --clear`
503
- - `clawdbot browser set media dark`
504
- - `clawdbot browser set timezone America/New_York`
505
- - `clawdbot browser set locale en-US`
506
- - `clawdbot browser set device "iPhone 14"`
384
+ - `poolbot browser cookies`
385
+ - `poolbot browser cookies set session abc123 --url "https://example.com"`
386
+ - `poolbot browser cookies clear`
387
+ - `poolbot browser storage local get`
388
+ - `poolbot browser storage local set theme dark`
389
+ - `poolbot browser storage session clear`
390
+ - `poolbot browser set offline on`
391
+ - `poolbot browser set headers --json '{"X-Debug":"1"}'`
392
+ - `poolbot browser set credentials user pass`
393
+ - `poolbot browser set credentials --clear`
394
+ - `poolbot browser set geo 37.7749 -122.4194 --origin "https://example.com"`
395
+ - `poolbot browser set geo --clear`
396
+ - `poolbot browser set media dark`
397
+ - `poolbot browser set timezone America/New_York`
398
+ - `poolbot browser set locale en-US`
399
+ - `poolbot browser set device "iPhone 14"`
507
400
 
508
401
  Notes:
509
402
  - `upload` and `dialog` are **arming** calls; run them before the click/press
@@ -523,16 +416,16 @@ Notes:
523
416
 
524
417
  ## Snapshots and refs
525
418
 
526
- Clawdbot supports two “snapshot” styles:
419
+ Pool Bot supports two “snapshot” styles:
527
420
 
528
- - **AI snapshot (numeric refs)**: `clawdbot browser snapshot` (default; `--format ai`)
421
+ - **AI snapshot (numeric refs)**: `poolbot browser snapshot` (default; `--format ai`)
529
422
  - Output: a text snapshot that includes numeric refs.
530
- - Actions: `clawdbot browser click 12`, `clawdbot browser type 23 "hello"`.
423
+ - Actions: `poolbot browser click 12`, `poolbot browser type 23 "hello"`.
531
424
  - Internally, the ref is resolved via Playwright’s `aria-ref`.
532
425
 
533
- - **Role snapshot (role refs like `e12`)**: `clawdbot browser snapshot --interactive` (or `--compact`, `--depth`, `--selector`, `--frame`)
426
+ - **Role snapshot (role refs like `e12`)**: `poolbot browser snapshot --interactive` (or `--compact`, `--depth`, `--selector`, `--frame`)
534
427
  - Output: a role-based list/tree with `[ref=e12]` (and optional `[nth=1]`).
535
- - Actions: `clawdbot browser click e12`, `clawdbot browser highlight e12`.
428
+ - Actions: `poolbot browser click e12`, `poolbot browser highlight e12`.
536
429
  - Internally, the ref is resolved via `getByRole(...)` (plus `nth()` for duplicates).
537
430
  - Add `--labels` to include a viewport screenshot with overlayed `e12` labels.
538
431
 
@@ -545,18 +438,18 @@ Ref behavior:
545
438
  You can wait on more than just time/text:
546
439
 
547
440
  - Wait for URL (globs supported by Playwright):
548
- - `clawdbot browser wait --url "**/dash"`
441
+ - `poolbot browser wait --url "**/dash"`
549
442
  - Wait for load state:
550
- - `clawdbot browser wait --load networkidle`
443
+ - `poolbot browser wait --load networkidle`
551
444
  - Wait for a JS predicate:
552
- - `clawdbot browser wait --fn "window.ready===true"`
445
+ - `poolbot browser wait --fn "window.ready===true"`
553
446
  - Wait for a selector to become visible:
554
- - `clawdbot browser wait "#main"`
447
+ - `poolbot browser wait "#main"`
555
448
 
556
449
  These can be combined:
557
450
 
558
451
  ```bash
559
- clawdbot browser wait "#main" \
452
+ poolbot browser wait "#main" \
560
453
  --url "**/dash" \
561
454
  --load networkidle \
562
455
  --fn "window.ready===true" \
@@ -567,16 +460,16 @@ clawdbot browser wait "#main" \
567
460
 
568
461
  When an action fails (e.g. “not visible”, “strict mode violation”, “covered”):
569
462
 
570
- 1. `clawdbot browser snapshot --interactive`
463
+ 1. `poolbot browser snapshot --interactive`
571
464
  2. Use `click <ref>` / `type <ref>` (prefer role refs in interactive mode)
572
- 3. If it still fails: `clawdbot browser highlight <ref>` to see what Playwright is targeting
465
+ 3. If it still fails: `poolbot browser highlight <ref>` to see what Playwright is targeting
573
466
  4. If the page behaves oddly:
574
- - `clawdbot browser errors --clear`
575
- - `clawdbot browser requests --filter api --clear`
467
+ - `poolbot browser errors --clear`
468
+ - `poolbot browser requests --filter api --clear`
576
469
  5. For deep debugging: record a trace:
577
- - `clawdbot browser trace start`
470
+ - `poolbot browser trace start`
578
471
  - reproduce the issue
579
- - `clawdbot browser trace stop` (prints `TRACE:<path>`)
472
+ - `poolbot browser trace stop` (prints `TRACE:<path>`)
580
473
 
581
474
  ## JSON output
582
475
 
@@ -585,10 +478,10 @@ When an action fails (e.g. “not visible”, “strict mode violation”, “co
585
478
  Examples:
586
479
 
587
480
  ```bash
588
- clawdbot browser status --json
589
- clawdbot browser snapshot --interactive --json
590
- clawdbot browser requests --filter api --json
591
- clawdbot browser cookies --json
481
+ poolbot browser status --json
482
+ poolbot browser snapshot --interactive --json
483
+ poolbot browser requests --filter api --json
484
+ poolbot browser cookies --json
592
485
  ```
593
486
 
594
487
  Role snapshots in JSON include `refs` plus a small `stats` block (lines/chars/refs/interactive) so tools can reason about payload size and density.
@@ -612,8 +505,11 @@ These are useful for “make the site behave like X” workflows:
612
505
  ## Security & privacy
613
506
 
614
507
  - The clawd browser profile may contain logged-in sessions; treat it as sensitive.
508
+ - `browser act kind=evaluate` / `poolbot browser evaluate` and `wait --fn`
509
+ execute arbitrary JavaScript in the page context. Prompt injection can steer
510
+ this. Disable it with `browser.evaluateEnabled=false` if you do not need it.
615
511
  - For logins and anti-bot notes (X/Twitter, etc.), see [Browser login + X/Twitter posting](/tools/browser-login).
616
- - Keep control URLs loopback-only unless you intentionally expose the server.
512
+ - Keep the Gateway/node host private (loopback or tailnet-only).
617
513
  - Remote CDP endpoints are powerful; tunnel and protect them.
618
514
 
619
515
  ## Troubleshooting
@@ -631,12 +527,10 @@ How it maps:
631
527
  - `browser act` uses the snapshot `ref` IDs to click/type/drag/select.
632
528
  - `browser screenshot` captures pixels (full page or element).
633
529
  - `browser` accepts:
634
- - `profile` to choose a named browser profile (host or remote control server).
635
- - `target` (`sandbox` | `host` | `custom`) to select where the browser lives.
636
- - `controlUrl` sets `target: "custom"` implicitly (remote control server).
530
+ - `profile` to choose a named browser profile (clawd, chrome, or remote CDP).
531
+ - `target` (`sandbox` | `host` | `node`) to select where the browser lives.
637
532
  - In sandboxed sessions, `target: "host"` requires `agents.defaults.sandbox.browser.allowHostControl=true`.
638
533
  - If `target` is omitted: sandboxed sessions default to `sandbox`, non-sandbox sessions default to `host`.
639
- - Sandbox allowlists can restrict `target: "custom"` to specific URLs/hosts/ports.
640
- - Defaults: allowlists unset (no restriction), and sandbox host control is disabled.
534
+ - If a browser-capable node is connected, the tool may auto-route to it unless you pin `target="host"` or `target="node"`.
641
535
 
642
536
  This keeps the agent deterministic and avoids brittle selectors.