@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: "Run multiple Clawdbot Gateways on one host (isolation, ports, and profiles)"
2
+ summary: "Run multiple Pool Bot Gateways on one host (isolation, ports, and profiles)"
3
3
  read_when:
4
4
  - Running more than one Gateway on the same machine
5
5
  - You need isolated config/state/ports per Gateway
@@ -23,18 +23,18 @@ Profiles auto-scope `CLAWDBOT_STATE_DIR` + `CLAWDBOT_CONFIG_PATH` and suffix ser
23
23
 
24
24
  ```bash
25
25
  # main
26
- clawdbot --profile main setup
27
- clawdbot --profile main gateway --port 18789
26
+ poolbot --profile main setup
27
+ poolbot --profile main gateway --port 18789
28
28
 
29
29
  # rescue
30
- clawdbot --profile rescue setup
31
- clawdbot --profile rescue gateway --port 19001
30
+ poolbot --profile rescue setup
31
+ poolbot --profile rescue gateway --port 19001
32
32
  ```
33
33
 
34
34
  Per-profile services:
35
35
  ```bash
36
- clawdbot --profile main gateway install
37
- clawdbot --profile rescue gateway install
36
+ poolbot --profile main gateway install
37
+ poolbot --profile rescue gateway install
38
38
  ```
39
39
 
40
40
  ## Rescue-bot guide
@@ -54,11 +54,11 @@ Port spacing: leave at least 20 ports between base ports so the derived browser/
54
54
  ```bash
55
55
  # Main bot (existing or fresh, without --profile param)
56
56
  # Runs on port 18789 + Chrome CDC/Canvas/... Ports
57
- clawdbot onboard
58
- clawdbot gateway install
57
+ poolbot onboard
58
+ poolbot gateway install
59
59
 
60
60
  # Rescue bot (isolated profile + ports)
61
- clawdbot --profile rescue onboard
61
+ poolbot --profile rescue onboard
62
62
  # Notes:
63
63
  # - workspace name will be postfixed with -rescue per default
64
64
  # - Port should be at least 18789 + 20 Ports,
@@ -66,14 +66,14 @@ clawdbot --profile rescue onboard
66
66
  # - rest of the onboarding is the same as normal
67
67
 
68
68
  # To install the service (if not happened automatically during onboarding)
69
- clawdbot --profile rescue gateway install
69
+ poolbot --profile rescue gateway install
70
70
  ```
71
71
 
72
72
  ## Port mapping (derived)
73
73
 
74
74
  Base port = `gateway.port` (or `CLAWDBOT_GATEWAY_PORT` / `--port`).
75
75
 
76
- - `browser.controlUrl port = base + 2`
76
+ - browser control service port = base + 2 (loopback only)
77
77
  - `canvasHost.port = base + 4`
78
78
  - Browser profile CDP ports auto-allocate from `browser.controlPort + 9 .. + 108`
79
79
 
@@ -81,27 +81,27 @@ If you override any of these in config or env, you must keep them unique per ins
81
81
 
82
82
  ## Browser/CDP notes (common footgun)
83
83
 
84
- - Do **not** pin `browser.controlUrl` or `browser.cdpUrl` to the same values on multiple instances.
85
- - Each instance needs its own browser control port and CDP range.
84
+ - Do **not** pin `browser.cdpUrl` to the same values on multiple instances.
85
+ - Each instance needs its own browser control port and CDP range (derived from its gateway port).
86
86
  - If you need explicit CDP ports, set `browser.profiles.<name>.cdpPort` per instance.
87
87
  - Remote Chrome: use `browser.profiles.<name>.cdpUrl` (per profile, per instance).
88
88
 
89
89
  ## Manual env example
90
90
 
91
91
  ```bash
92
- CLAWDBOT_CONFIG_PATH=~/.clawdbot/main.json \
93
- CLAWDBOT_STATE_DIR=~/.clawdbot-main \
94
- clawdbot gateway --port 18789
92
+ CLAWDBOT_CONFIG_PATH=~/.poolbot/main.json \
93
+ CLAWDBOT_STATE_DIR=~/.poolbot-main \
94
+ poolbot gateway --port 18789
95
95
 
96
- CLAWDBOT_CONFIG_PATH=~/.clawdbot/rescue.json \
97
- CLAWDBOT_STATE_DIR=~/.clawdbot-rescue \
98
- clawdbot gateway --port 19001
96
+ CLAWDBOT_CONFIG_PATH=~/.poolbot/rescue.json \
97
+ CLAWDBOT_STATE_DIR=~/.poolbot-rescue \
98
+ poolbot gateway --port 19001
99
99
  ```
100
100
 
101
101
  ## Quick checks
102
102
 
103
103
  ```bash
104
- clawdbot --profile main status
105
- clawdbot --profile rescue status
106
- clawdbot --profile rescue browser status
104
+ poolbot --profile main status
105
+ poolbot --profile rescue status
106
+ poolbot --profile rescue browser status
107
107
  ```
@@ -5,14 +5,14 @@ read_when:
5
5
  ---
6
6
  # OpenAI Chat Completions (HTTP)
7
7
 
8
- Clawdbot’s Gateway can serve a small OpenAI-compatible Chat Completions endpoint.
8
+ Pool Bot’s Gateway can serve a small OpenAI-compatible Chat Completions endpoint.
9
9
 
10
10
  This endpoint is **disabled by default**. Enable it in config first.
11
11
 
12
12
  - `POST /v1/chat/completions`
13
13
  - Same port as the Gateway (WS + HTTP multiplex): `http://<gateway-host>:<port>/v1/chat/completions`
14
14
 
15
- Under the hood, requests are executed as a normal Gateway agent run (same codepath as `clawdbot agent`), so routing/permissions/config match your Gateway.
15
+ Under the hood, requests are executed as a normal Gateway agent run (same codepath as `poolbot agent`), so routing/permissions/config match your Gateway.
16
16
 
17
17
  ## Authentication
18
18
 
@@ -28,15 +28,15 @@ Notes:
28
28
 
29
29
  No custom headers required: encode the agent id in the OpenAI `model` field:
30
30
 
31
- - `model: "clawdbot:<agentId>"` (example: `"clawdbot:main"`, `"clawdbot:beta"`)
31
+ - `model: "poolbot:<agentId>"` (example: `"poolbot:main"`, `"poolbot:beta"`)
32
32
  - `model: "agent:<agentId>"` (alias)
33
33
 
34
- Or target a specific Clawdbot agent by header:
34
+ Or target a specific Pool Bot agent by header:
35
35
 
36
- - `x-clawdbot-agent-id: <agentId>` (default: `main`)
36
+ - `x-poolbot-agent-id: <agentId>` (default: `main`)
37
37
 
38
38
  Advanced:
39
- - `x-clawdbot-session-key: <sessionKey>` to fully control session routing.
39
+ - `x-poolbot-session-key: <sessionKey>` to fully control session routing.
40
40
 
41
41
  ## Enabling the endpoint
42
42
 
@@ -91,9 +91,9 @@ Non-streaming:
91
91
  curl -sS http://127.0.0.1:18789/v1/chat/completions \
92
92
  -H 'Authorization: Bearer YOUR_TOKEN' \
93
93
  -H 'Content-Type: application/json' \
94
- -H 'x-clawdbot-agent-id: main' \
94
+ -H 'x-poolbot-agent-id: main' \
95
95
  -d '{
96
- "model": "clawdbot",
96
+ "model": "poolbot",
97
97
  "messages": [{"role":"user","content":"hi"}]
98
98
  }'
99
99
  ```
@@ -103,9 +103,9 @@ Streaming:
103
103
  curl -N http://127.0.0.1:18789/v1/chat/completions \
104
104
  -H 'Authorization: Bearer YOUR_TOKEN' \
105
105
  -H 'Content-Type: application/json' \
106
- -H 'x-clawdbot-agent-id: main' \
106
+ -H 'x-poolbot-agent-id: main' \
107
107
  -d '{
108
- "model": "clawdbot",
108
+ "model": "poolbot",
109
109
  "stream": true,
110
110
  "messages": [{"role":"user","content":"hi"}]
111
111
  }'
@@ -6,7 +6,7 @@ read_when:
6
6
  ---
7
7
  # OpenResponses API (HTTP)
8
8
 
9
- Clawdbot’s Gateway can serve an OpenResponses-compatible `POST /v1/responses` endpoint.
9
+ Pool Bot’s Gateway can serve an OpenResponses-compatible `POST /v1/responses` endpoint.
10
10
 
11
11
  This endpoint is **disabled by default**. Enable it in config first.
12
12
 
@@ -14,7 +14,7 @@ This endpoint is **disabled by default**. Enable it in config first.
14
14
  - Same port as the Gateway (WS + HTTP multiplex): `http://<gateway-host>:<port>/v1/responses`
15
15
 
16
16
  Under the hood, requests are executed as a normal Gateway agent run (same codepath as
17
- `clawdbot agent`), so routing/permissions/config match your Gateway.
17
+ `poolbot agent`), so routing/permissions/config match your Gateway.
18
18
 
19
19
  ## Authentication
20
20
 
@@ -30,15 +30,15 @@ Notes:
30
30
 
31
31
  No custom headers required: encode the agent id in the OpenResponses `model` field:
32
32
 
33
- - `model: "clawdbot:<agentId>"` (example: `"clawdbot:main"`, `"clawdbot:beta"`)
33
+ - `model: "poolbot:<agentId>"` (example: `"poolbot:main"`, `"poolbot:beta"`)
34
34
  - `model: "agent:<agentId>"` (alias)
35
35
 
36
- Or target a specific Clawdbot agent by header:
36
+ Or target a specific Pool Bot agent by header:
37
37
 
38
- - `x-clawdbot-agent-id: <agentId>` (default: `main`)
38
+ - `x-poolbot-agent-id: <agentId>` (default: `main`)
39
39
 
40
40
  Advanced:
41
- - `x-clawdbot-session-key: <sessionKey>` to fully control session routing.
41
+ - `x-poolbot-session-key: <sessionKey>` to fully control session routing.
42
42
 
43
43
  ## Enabling the endpoint
44
44
 
@@ -277,9 +277,9 @@ Non-streaming:
277
277
  curl -sS http://127.0.0.1:18789/v1/responses \
278
278
  -H 'Authorization: Bearer YOUR_TOKEN' \
279
279
  -H 'Content-Type: application/json' \
280
- -H 'x-clawdbot-agent-id: main' \
280
+ -H 'x-poolbot-agent-id: main' \
281
281
  -d '{
282
- "model": "clawdbot",
282
+ "model": "poolbot",
283
283
  "input": "hi"
284
284
  }'
285
285
  ```
@@ -289,9 +289,9 @@ Streaming:
289
289
  curl -N http://127.0.0.1:18789/v1/responses \
290
290
  -H 'Authorization: Bearer YOUR_TOKEN' \
291
291
  -H 'Content-Type: application/json' \
292
- -H 'x-clawdbot-agent-id: main' \
292
+ -H 'x-poolbot-agent-id: main' \
293
293
  -d '{
294
- "model": "clawdbot",
294
+ "model": "poolbot",
295
295
  "stream": true,
296
296
  "input": "hi"
297
297
  }'
@@ -35,11 +35,11 @@ Pending requests expire automatically after **5 minutes**.
35
35
  ## CLI workflow (headless friendly)
36
36
 
37
37
  ```bash
38
- clawdbot nodes pending
39
- clawdbot nodes approve <requestId>
40
- clawdbot nodes reject <requestId>
41
- clawdbot nodes status
42
- clawdbot nodes rename --node <id|name|ip> --name "Living Room iPad"
38
+ poolbot nodes pending
39
+ poolbot nodes approve <requestId>
40
+ poolbot nodes reject <requestId>
41
+ poolbot nodes status
42
+ poolbot nodes rename --node <id|name|ip> --name "Living Room iPad"
43
43
  ```
44
44
 
45
45
  `nodes status` shows paired/connected nodes and their capabilities.
@@ -74,10 +74,10 @@ If silent approval fails, it falls back to the normal “Approve/Reject” promp
74
74
 
75
75
  ## Storage (local, private)
76
76
 
77
- Pairing state is stored under the Gateway state directory (default `~/.clawdbot`):
77
+ Pairing state is stored under the Gateway state directory (default `~/.poolbot`):
78
78
 
79
- - `~/.clawdbot/nodes/paired.json`
80
- - `~/.clawdbot/nodes/pending.json`
79
+ - `~/.poolbot/nodes/paired.json`
80
+ - `~/.poolbot/nodes/pending.json`
81
81
 
82
82
  If you override `CLAWDBOT_STATE_DIR`, the `nodes/` folder moves with it.
83
83
 
@@ -9,7 +9,7 @@ read_when:
9
9
  # Gateway protocol (WebSocket)
10
10
 
11
11
  The Gateway WS protocol is the **single control plane + node transport** for
12
- Clawdbot. All clients (CLI, web UI, macOS app, iOS/Android nodes, headless
12
+ Pool Bot. All clients (CLI, web UI, macOS app, iOS/Android nodes, headless
13
13
  nodes) connect over WebSocket and declare their **role** + **scope** at
14
14
  handshake time.
15
15
 
@@ -53,7 +53,7 @@ Client → Gateway:
53
53
  "permissions": {},
54
54
  "auth": { "token": "…" },
55
55
  "locale": "en-US",
56
- "userAgent": "clawdbot-cli/1.2.3",
56
+ "userAgent": "poolbot-cli/1.2.3",
57
57
  "device": {
58
58
  "id": "device_fingerprint",
59
59
  "publicKey": "…",
@@ -111,7 +111,7 @@ When a device token is issued, `hello-ok` also includes:
111
111
  "permissions": { "camera.capture": true, "screen.record": false },
112
112
  "auth": { "token": "…" },
113
113
  "locale": "en-US",
114
- "userAgent": "clawdbot-ios/1.2.3",
114
+ "userAgent": "poolbot-ios/1.2.3",
115
115
  "device": {
116
116
  "id": "device_fingerprint",
117
117
  "publicKey": "…",
@@ -198,7 +198,8 @@ The Gateway treats these as **claims** and enforces server-side allowlists.
198
198
  - **Local** connects include loopback and the gateway host’s own tailnet address
199
199
  (so same‑host tailnet binds can still auto‑approve).
200
200
  - All WS clients must include `device` identity during `connect` (operator + node).
201
- Control UI can omit it **only** when `gateway.controlUi.allowInsecureAuth` is enabled.
201
+ Control UI can omit it **only** when `gateway.controlUi.allowInsecureAuth` is enabled
202
+ (or `gateway.controlUi.dangerouslyDisableDeviceAuth` for break-glass use).
202
203
  - Non-local connections must sign the server-provided `connect.challenge` nonce.
203
204
 
204
205
  ## TLS + pinning
@@ -1,11 +1,11 @@
1
1
  ---
2
- summary: "SSH tunnel setup for Clawdbot.app connecting to a remote gateway"
2
+ summary: "SSH tunnel setup for Pool Bot.app connecting to a remote gateway"
3
3
  read_when: "Connecting the macOS app to a remote gateway over SSH"
4
4
  ---
5
5
 
6
- # Running Clawdbot.app with a Remote Gateway
6
+ # Running Pool Bot.app with a Remote Gateway
7
7
 
8
- Clawdbot.app uses SSH tunneling to connect to a remote gateway. This guide shows you how to set it up.
8
+ Pool Bot.app uses SSH tunneling to connect to a remote gateway. This guide shows you how to set it up.
9
9
 
10
10
  ## Overview
11
11
 
@@ -13,7 +13,7 @@ Clawdbot.app uses SSH tunneling to connect to a remote gateway. This guide shows
13
13
  ┌─────────────────────────────────────────────────────────────┐
14
14
  │ Client Machine │
15
15
  │ │
16
- Clawdbot.app ──► ws://127.0.0.1:18789 (local port) │
16
+ Pool Bot.app ──► ws://127.0.0.1:18789 (local port) │
17
17
  │ │ │
18
18
  │ ▼ │
19
19
  │ SSH Tunnel ────────────────────────────────────────────────│
@@ -65,11 +65,11 @@ launchctl setenv CLAWDBOT_GATEWAY_TOKEN "<your-token>"
65
65
  ssh -N remote-gateway &
66
66
  ```
67
67
 
68
- ### Step 5: Restart Clawdbot.app
68
+ ### Step 5: Restart Pool Bot.app
69
69
 
70
70
  ```bash
71
- # Quit Clawdbot.app (⌘Q), then reopen:
72
- open /path/to/Clawdbot.app
71
+ # Quit Pool Bot.app (⌘Q), then reopen:
72
+ open /path/to/Pool Bot.app
73
73
  ```
74
74
 
75
75
  The app will now connect to the remote gateway through the SSH tunnel.
@@ -82,7 +82,7 @@ To have the SSH tunnel start automatically when you log in, create a Launch Agen
82
82
 
83
83
  ### Create the PLIST file
84
84
 
85
- Save this as `~/Library/LaunchAgents/com.clawdbot.ssh-tunnel.plist`:
85
+ Save this as `~/Library/LaunchAgents/com.poolbot.ssh-tunnel.plist`:
86
86
 
87
87
  ```xml
88
88
  <?xml version="1.0" encoding="UTF-8"?>
@@ -90,7 +90,7 @@ Save this as `~/Library/LaunchAgents/com.clawdbot.ssh-tunnel.plist`:
90
90
  <plist version="1.0">
91
91
  <dict>
92
92
  <key>Label</key>
93
- <string>com.clawdbot.ssh-tunnel</string>
93
+ <string>com.poolbot.ssh-tunnel</string>
94
94
  <key>ProgramArguments</key>
95
95
  <array>
96
96
  <string>/usr/bin/ssh</string>
@@ -108,7 +108,7 @@ Save this as `~/Library/LaunchAgents/com.clawdbot.ssh-tunnel.plist`:
108
108
  ### Load the Launch Agent
109
109
 
110
110
  ```bash
111
- launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.clawdbot.ssh-tunnel.plist
111
+ launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.poolbot.ssh-tunnel.plist
112
112
  ```
113
113
 
114
114
  The tunnel will now:
@@ -130,13 +130,13 @@ lsof -i :18789
130
130
  **Restart the tunnel:**
131
131
 
132
132
  ```bash
133
- launchctl kickstart -k gui/$UID/com.clawdbot.ssh-tunnel
133
+ launchctl kickstart -k gui/$UID/com.poolbot.ssh-tunnel
134
134
  ```
135
135
 
136
136
  **Stop the tunnel:**
137
137
 
138
138
  ```bash
139
- launchctl bootout gui/$UID/com.clawdbot.ssh-tunnel
139
+ launchctl bootout gui/$UID/com.poolbot.ssh-tunnel
140
140
  ```
141
141
 
142
142
  ---
@@ -150,4 +150,4 @@ launchctl bootout gui/$UID/com.clawdbot.ssh-tunnel
150
150
  | `KeepAlive` | Automatically restarts tunnel if it crashes |
151
151
  | `RunAtLoad` | Starts tunnel when the agent loads |
152
152
 
153
- Clawdbot.app connects to `ws://127.0.0.1:18789` on your client machine. The SSH tunnel forwards that connection to port 18789 on the remote machine where the Gateway is running.
153
+ Pool Bot.app connects to `ws://127.0.0.1:18789` on your client machine. The SSH tunnel forwards that connection to port 18789 on the remote machine where the Gateway is running.
@@ -34,7 +34,7 @@ This is ideal when your laptop sleeps often but you want the agent always-on.
34
34
 
35
35
  The laptop does **not** run the agent. It connects remotely:
36
36
 
37
- - Use the macOS app’s **Remote over SSH** mode (Settings → General → “Clawdbot runs”).
37
+ - Use the macOS app’s **Remote over SSH** mode (Settings → General → “Pool Bot runs”).
38
38
  - The app opens and manages the tunnel, so WebChat + health checks “just work.”
39
39
 
40
40
  Runbook: [macOS remote access](/platforms/mac/remote).
@@ -71,8 +71,8 @@ ssh -N -L 18789:127.0.0.1:18789 user@host
71
71
  ```
72
72
 
73
73
  With the tunnel up:
74
- - `clawdbot health` and `clawdbot status --deep` now reach the remote gateway via `ws://127.0.0.1:18789`.
75
- - `clawdbot gateway {status,health,send,agent,call}` can also target the forwarded URL via `--url` when needed.
74
+ - `poolbot health` and `poolbot status --deep` now reach the remote gateway via `ws://127.0.0.1:18789`.
75
+ - `poolbot gateway {status,health,send,agent,call}` can also target the forwarded URL via `--url` when needed.
76
76
 
77
77
  Note: replace `18789` with your configured `gateway.port` (or `--port`/`CLAWDBOT_GATEWAY_PORT`).
78
78
 
@@ -117,6 +117,6 @@ Short version: **keep the Gateway loopback-only** unless you’re sure you need
117
117
  - `gateway.remote.tlsFingerprint` pins the remote TLS cert when using `wss://`.
118
118
  - **Tailscale Serve** can authenticate via identity headers when `gateway.auth.allowTailscale: true`.
119
119
  Set it to `false` if you want tokens/passwords instead.
120
- - Treat `browser.controlUrl` like an admin API: tailnet-only + token auth.
120
+ - Treat browser control like operator access: tailnet-only + deliberate node pairing.
121
121
 
122
122
  Deep dive: [Security](/gateway/security).
@@ -7,7 +7,7 @@ status: active
7
7
 
8
8
  # Sandbox vs Tool Policy vs Elevated
9
9
 
10
- Clawdbot has three related (but different) controls:
10
+ Pool Bot has three related (but different) controls:
11
11
 
12
12
  1. **Sandbox** (`agents.defaults.sandbox.*` / `agents.list[].sandbox.*`) decides **where tools run** (Docker vs host).
13
13
  2. **Tool policy** (`tools.*`, `tools.sandbox.tools.*`, `agents.list[].tools.*`) decides **which tools are available/allowed**.
@@ -15,13 +15,13 @@ Clawdbot has three related (but different) controls:
15
15
 
16
16
  ## Quick debug
17
17
 
18
- Use the inspector to see what Clawdbot is *actually* doing:
18
+ Use the inspector to see what Pool Bot is *actually* doing:
19
19
 
20
20
  ```bash
21
- clawdbot sandbox explain
22
- clawdbot sandbox explain --session agent:main:main
23
- clawdbot sandbox explain --agent work
24
- clawdbot sandbox explain --json
21
+ poolbot sandbox explain
22
+ poolbot sandbox explain --session agent:main:main
23
+ poolbot sandbox explain --agent work
24
+ poolbot sandbox explain --json
25
25
  ```
26
26
 
27
27
  It prints:
@@ -59,6 +59,8 @@ Two layers matter:
59
59
  Rules of thumb:
60
60
  - `deny` always wins.
61
61
  - If `allow` is non-empty, everything else is treated as blocked.
62
+ - Tool policy is the hard stop: `/exec` cannot override a denied `exec` tool.
63
+ - `/exec` only changes session defaults for authorized senders; it does not grant tool access.
62
64
  Provider tool keys accept either `provider` (e.g. `google-antigravity`) or `provider/model` (e.g. `openai/gpt-5.2`).
63
65
 
64
66
  ### Tool groups (shorthands)
@@ -86,7 +88,7 @@ Available groups:
86
88
  - `group:automation`: `cron`, `gateway`
87
89
  - `group:messaging`: `message`
88
90
  - `group:nodes`: `nodes`
89
- - `group:clawdbot`: all built-in Clawdbot tools (excludes provider plugins)
91
+ - `group:poolbot`: all built-in Pool Bot tools (excludes provider plugins)
90
92
 
91
93
  ## Elevated: exec-only “run on host”
92
94
 
@@ -95,6 +97,7 @@ Elevated does **not** grant extra tools; it only affects `exec`.
95
97
  - Use `/elevated full` to skip exec approvals for the session.
96
98
  - If you’re already running direct, elevated is effectively a no-op (still gated).
97
99
  - Elevated is **not** skill-scoped and does **not** override tool allow/deny.
100
+ - `/exec` is separate from elevated. It only adjusts per-session exec defaults for authorized senders.
98
101
 
99
102
  Gates:
100
103
  - Enablement: `tools.elevated.enabled` (and optionally `agents.list[].tools.elevated.enabled`)
@@ -1,5 +1,5 @@
1
1
  ---
2
- summary: "How Clawdbot sandboxing works: modes, scopes, workspace access, and images"
2
+ summary: "How Pool Bot sandboxing works: modes, scopes, workspace access, and images"
3
3
  title: Sandboxing
4
4
  read_when: "You want a dedicated explanation of sandboxing or need to tune agents.defaults.sandbox."
5
5
  status: active
@@ -7,7 +7,7 @@ status: active
7
7
 
8
8
  # Sandboxing
9
9
 
10
- Clawdbot can run **tools inside Docker containers** to reduce blast radius.
10
+ Pool Bot can run **tools inside Docker containers** to reduce blast radius.
11
11
  This is **optional** and controlled by configuration (`agents.defaults.sandbox` or
12
12
  `agents.list[].sandbox`). If sandboxing is off, tools run on the host.
13
13
  The Gateway stays on the host; tool execution runs in an isolated sandbox
@@ -46,13 +46,13 @@ Group/channel sessions use their own keys, so they count as non-main and will be
46
46
 
47
47
  ## Workspace access
48
48
  `agents.defaults.sandbox.workspaceAccess` controls **what the sandbox can see**:
49
- - `"none"` (default): tools see a sandbox workspace under `~/.clawdbot/sandboxes`.
49
+ - `"none"` (default): tools see a sandbox workspace under `~/.poolbot/sandboxes`.
50
50
  - `"ro"`: mounts the agent workspace read-only at `/agent` (disables `write`/`edit`/`apply_patch`).
51
51
  - `"rw"`: mounts the agent workspace read/write at `/workspace`.
52
52
 
53
53
  Inbound media is copied into the active sandbox workspace (`media/inbound/*`).
54
54
  Skills note: the `read` tool is sandbox-rooted. With `workspaceAccess: "none"`,
55
- Clawdbot mirrors eligible skills into the sandbox workspace (`.../skills`) so
55
+ Pool Bot mirrors eligible skills into the sandbox workspace (`.../skills`) so
56
56
  they can be read. With `"rw"`, workspace skills are readable from
57
57
  `/workspace/skills`.
58
58
 
@@ -98,7 +98,7 @@ Security notes:
98
98
  - See [Sandbox vs Tool Policy vs Elevated](/gateway/sandbox-vs-tool-policy-vs-elevated) for how binds interact with tool policy and elevated exec.
99
99
 
100
100
  ## Images + setup
101
- Default image: `clawdbot-sandbox:bookworm-slim`
101
+ Default image: `poolbot-sandbox:bookworm-slim`
102
102
 
103
103
  Build it once:
104
104
  ```bash
@@ -142,9 +142,11 @@ Tool allow/deny policies still apply before sandbox rules. If a tool is denied
142
142
  globally or per-agent, sandboxing doesn’t bring it back.
143
143
 
144
144
  `tools.elevated` is an explicit escape hatch that runs `exec` on the host.
145
+ `/exec` directives only apply for authorized senders and persist per session; to hard-disable
146
+ `exec`, use tool policy deny (see [Sandbox vs Tool Policy vs Elevated](/gateway/sandbox-vs-tool-policy-vs-elevated)).
145
147
 
146
148
  Debugging:
147
- - Use `clawdbot sandbox explain` to inspect effective sandbox mode, tool policy, and fix-it config keys.
149
+ - Use `poolbot sandbox explain` to inspect effective sandbox mode, tool policy, and fix-it config keys.
148
150
  - See [Sandbox vs Tool Policy vs Elevated](/gateway/sandbox-vs-tool-policy-vs-elevated) for the “why is this blocked?” mental model.
149
151
  Keep it locked down.
150
152
 
@@ -0,0 +1,107 @@
1
+ ---
2
+ title: Formal Verification (Security Models)
3
+ summary: Machine-checked security models for Pool Bot’s highest-risk paths.
4
+ permalink: /gateway/security/formal-verification/
5
+ ---
6
+
7
+ # Formal Verification (Security Models)
8
+
9
+ This page tracks Pool Bot’s **formal security models** (TLA+/TLC today; more as needed).
10
+
11
+ **Goal (north star):** provide a machine-checked argument that Pool Bot enforces its
12
+ intended security policy (authorization, session isolation, tool gating, and
13
+ misconfiguration safety), under explicit assumptions.
14
+
15
+ **What this is (today):** an executable, attacker-driven **security regression suite**:
16
+ - Each claim has a runnable model-check over a finite state space.
17
+ - Many claims have a paired **negative model** that produces a counterexample trace for a realistic bug class.
18
+
19
+ **What this is not (yet):** a proof that “Pool Bot is secure in all respects” or that the full TypeScript implementation is correct.
20
+
21
+ ## Where the models live
22
+
23
+ Models are maintained in a separate repo: [vignesh07/poolbot-formal-models](https://github.com/vignesh07/poolbot-formal-models).
24
+
25
+ ## Important caveats
26
+
27
+ - These are **models**, not the full TypeScript implementation. Drift between model and code is possible.
28
+ - Results are bounded by the state space explored by TLC; “green” does not imply security beyond the modeled assumptions and bounds.
29
+ - Some claims rely on explicit environmental assumptions (e.g., correct deployment, correct configuration inputs).
30
+
31
+ ## Reproducing results
32
+
33
+ Today, results are reproduced by cloning the models repo locally and running TLC (see below). A future iteration could offer:
34
+ - CI-run models with public artifacts (counterexample traces, run logs)
35
+ - a hosted “run this model” workflow for small, bounded checks
36
+
37
+ Getting started:
38
+
39
+ ```bash
40
+ git clone https://github.com/vignesh07/poolbot-formal-models
41
+ cd poolbot-formal-models
42
+
43
+ # Java 11+ required (TLC runs on the JVM).
44
+ # The repo vendors a pinned `tla2tools.jar` (TLA+ tools) and provides `bin/tlc` + Make targets.
45
+
46
+ make <target>
47
+ ```
48
+
49
+ ### Gateway exposure and open gateway misconfiguration
50
+
51
+ **Claim:** binding beyond loopback without auth can make remote compromise possible / increases exposure; token/password blocks unauth attackers (per the model assumptions).
52
+
53
+ - Green runs:
54
+ - `make gateway-exposure-v2`
55
+ - `make gateway-exposure-v2-protected`
56
+ - Red (expected):
57
+ - `make gateway-exposure-v2-negative`
58
+
59
+ See also: `docs/gateway-exposure-matrix.md` in the models repo.
60
+
61
+ ### Nodes.run pipeline (highest-risk capability)
62
+
63
+ **Claim:** `nodes.run` requires (a) node command allowlist plus declared commands and (b) live approval when configured; approvals are tokenized to prevent replay (in the model).
64
+
65
+ - Green runs:
66
+ - `make nodes-pipeline`
67
+ - `make approvals-token`
68
+ - Red (expected):
69
+ - `make nodes-pipeline-negative`
70
+ - `make approvals-token-negative`
71
+
72
+ ### Pairing store (DM gating)
73
+
74
+ **Claim:** pairing requests respect TTL and pending-request caps.
75
+
76
+ - Green runs:
77
+ - `make pairing`
78
+ - `make pairing-cap`
79
+ - Red (expected):
80
+ - `make pairing-negative`
81
+ - `make pairing-cap-negative`
82
+
83
+ ### Ingress gating (mentions + control-command bypass)
84
+
85
+ **Claim:** in group contexts requiring mention, an unauthorized “control command” cannot bypass mention gating.
86
+
87
+ - Green:
88
+ - `make ingress-gating`
89
+ - Red (expected):
90
+ - `make ingress-gating-negative`
91
+
92
+ ### Routing/session-key isolation
93
+
94
+ **Claim:** DMs from distinct peers do not collapse into the same session unless explicitly linked/configured.
95
+
96
+ - Green:
97
+ - `make routing-isolation`
98
+ - Red (expected):
99
+ - `make routing-isolation-negative`
100
+
101
+ ## Roadmap
102
+
103
+ Next models to deepen fidelity:
104
+ - Pairing store concurrency/locking/idempotency
105
+ - Provider-specific ingress preflight modeling
106
+ - Routing identity-links + dmScope variants + binding precedence
107
+ - Gateway auth conformance (proxy/tailscale specifics)