@poolzin/pool-bot 2026.1.26 → 2026.1.30

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 (1186) hide show
  1. package/CHANGELOG.md +76 -1116
  2. package/LICENSE +21 -0
  3. package/README.md +58 -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 +24 -35
  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/memory-tool.js +2 -1
  75. package/dist/agents/tools/message-tool.js +1 -0
  76. package/dist/agents/tools/sessions-send-helpers.js +17 -2
  77. package/dist/agents/tools/telegram-actions.js +93 -1
  78. package/dist/agents/tools/web-fetch.js +123 -103
  79. package/dist/agents/tools/web-search.js +7 -7
  80. package/dist/agents/workspace.js +36 -0
  81. package/dist/auto-reply/commands-registry.data.js +68 -3
  82. package/dist/auto-reply/commands-registry.js +14 -11
  83. package/dist/auto-reply/reply/agent-runner-execution.js +21 -3
  84. package/dist/auto-reply/reply/agent-runner-memory.js +5 -0
  85. package/dist/auto-reply/reply/bash-command.js +2 -2
  86. package/dist/auto-reply/reply/commands-context-report.js +2 -2
  87. package/dist/auto-reply/reply/commands-info.js +50 -5
  88. package/dist/auto-reply/reply/commands-session.js +4 -4
  89. package/dist/auto-reply/reply/commands-tts.js +61 -63
  90. package/dist/auto-reply/reply/directive-handling.shared.js +1 -1
  91. package/dist/auto-reply/reply/dispatch-from-config.js +65 -1
  92. package/dist/auto-reply/reply/followup-runner.js +5 -0
  93. package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
  94. package/dist/auto-reply/reply/get-reply-run.js +4 -0
  95. package/dist/auto-reply/reply/groups.js +1 -1
  96. package/dist/auto-reply/reply/history.js +23 -0
  97. package/dist/auto-reply/reply/reply-elevated.js +1 -1
  98. package/dist/auto-reply/reply/session-updates.js +6 -1
  99. package/dist/auto-reply/reply/stage-sandbox-media.js +1 -1
  100. package/dist/auto-reply/status.js +142 -50
  101. package/dist/browser/bridge-server.js +1 -3
  102. package/dist/browser/client-actions-core.js +13 -7
  103. package/dist/browser/client-actions-observe.js +14 -8
  104. package/dist/browser/client-actions-state.js +21 -15
  105. package/dist/browser/client-fetch.js +74 -61
  106. package/dist/browser/client.js +19 -21
  107. package/dist/browser/config.js +13 -26
  108. package/dist/browser/constants.js +1 -1
  109. package/dist/browser/control-service.js +72 -0
  110. package/dist/browser/extension-relay.js +3 -3
  111. package/dist/browser/pw-session.js +41 -4
  112. package/dist/browser/pw-tools-core.downloads.js +1 -1
  113. package/dist/browser/pw-tools-core.interactions.js +5 -5
  114. package/dist/browser/pw-tools-core.responses.js +1 -1
  115. package/dist/browser/routes/agent.act.js +13 -0
  116. package/dist/browser/routes/agent.debug.js +1 -1
  117. package/dist/browser/routes/basic.js +0 -1
  118. package/dist/browser/routes/dispatcher.js +86 -0
  119. package/dist/browser/server-context.js +3 -3
  120. package/dist/browser/server.js +7 -9
  121. package/dist/build-info.json +3 -3
  122. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  123. package/dist/canvas-host/a2ui/a2ui.bundle.js +1620 -1618
  124. package/dist/canvas-host/a2ui/index.html +28 -28
  125. package/dist/canvas-host/a2ui.js +27 -21
  126. package/dist/canvas-host/server.js +66 -32
  127. package/dist/channels/plugins/actions/discord/handle-action.guild-admin.js +5 -1
  128. package/dist/channels/plugins/actions/telegram.js +60 -7
  129. package/dist/channels/plugins/catalog.js +6 -4
  130. package/dist/channels/plugins/group-mentions.js +48 -1
  131. package/dist/channels/plugins/helpers.js +2 -2
  132. package/dist/channels/plugins/message-action-names.js +1 -0
  133. package/dist/channels/plugins/onboarding/imessage.js +1 -1
  134. package/dist/channels/plugins/onboarding/signal.js +2 -2
  135. package/dist/channels/plugins/onboarding/slack.js +4 -4
  136. package/dist/channels/plugins/onboarding/telegram.js +17 -9
  137. package/dist/channels/plugins/onboarding/whatsapp.js +4 -4
  138. package/dist/channels/plugins/outbound/telegram.js +38 -0
  139. package/dist/channels/plugins/pairing-message.js +1 -1
  140. package/dist/channels/plugins/status-issues/bluebubbles.js +1 -1
  141. package/dist/channels/plugins/status-issues/whatsapp.js +2 -2
  142. package/dist/channels/registry.js +1 -1
  143. package/dist/cli/acp-cli.js +2 -2
  144. package/dist/cli/argv.js +14 -7
  145. package/dist/cli/banner.js +3 -1
  146. package/dist/cli/browser-cli-actions-input/register.element.js +72 -44
  147. package/dist/cli/browser-cli-actions-input/register.files-downloads.js +55 -35
  148. package/dist/cli/browser-cli-actions-input/register.form-wait-eval.js +41 -28
  149. package/dist/cli/browser-cli-actions-input/register.navigation.js +23 -14
  150. package/dist/cli/browser-cli-actions-input/shared.js +10 -3
  151. package/dist/cli/browser-cli-actions-observe.js +29 -21
  152. package/dist/cli/browser-cli-debug.js +49 -35
  153. package/dist/cli/browser-cli-examples.js +29 -29
  154. package/dist/cli/browser-cli-extension.js +8 -8
  155. package/dist/cli/browser-cli-inspect.js +23 -17
  156. package/dist/cli/browser-cli-manage.js +106 -56
  157. package/dist/cli/browser-cli-shared.js +34 -1
  158. package/dist/cli/browser-cli-state.cookies-storage.js +53 -39
  159. package/dist/cli/browser-cli-state.js +90 -64
  160. package/dist/cli/browser-cli.js +4 -5
  161. package/dist/cli/channels-cli.js +1 -1
  162. package/dist/cli/cli-name.js +26 -0
  163. package/dist/cli/command-format.js +11 -7
  164. package/dist/cli/config-cli.js +2 -2
  165. package/dist/cli/cron-cli/register.js +1 -1
  166. package/dist/cli/daemon-cli/install.js +1 -1
  167. package/dist/cli/daemon-cli/register.js +1 -1
  168. package/dist/cli/daemon-cli/shared.js +5 -3
  169. package/dist/cli/daemon-cli/status.print.js +6 -6
  170. package/dist/cli/directory-cli.js +1 -1
  171. package/dist/cli/dns-cli.js +7 -7
  172. package/dist/cli/docs-cli.js +2 -2
  173. package/dist/cli/exec-approvals-cli.js +2 -2
  174. package/dist/cli/gateway-cli/dev.js +4 -4
  175. package/dist/cli/gateway-cli/register.js +1 -1
  176. package/dist/cli/gateway-cli/run.js +11 -8
  177. package/dist/cli/gateway-cli/shared.js +4 -4
  178. package/dist/cli/hooks-cli.js +3 -3
  179. package/dist/cli/logs-cli.js +3 -3
  180. package/dist/cli/memory-cli.js +1 -1
  181. package/dist/cli/models-cli.js +2 -2
  182. package/dist/cli/node-cli/daemon.js +2 -2
  183. package/dist/cli/node-cli/register.js +1 -1
  184. package/dist/cli/nodes-camera.js +3 -1
  185. package/dist/cli/nodes-canvas.js +3 -1
  186. package/dist/cli/nodes-cli/register.canvas.js +1 -1
  187. package/dist/cli/nodes-cli/register.js +1 -1
  188. package/dist/cli/nodes-screen.js +1 -1
  189. package/dist/cli/pairing-cli.js +3 -3
  190. package/dist/cli/plugin-registry.js +2 -2
  191. package/dist/cli/plugins-cli.js +3 -3
  192. package/dist/cli/profile.js +2 -2
  193. package/dist/cli/program/command-registry.js +5 -0
  194. package/dist/cli/program/config-guard.js +1 -1
  195. package/dist/cli/program/help.js +15 -16
  196. package/dist/cli/program/message/register.send.js +2 -1
  197. package/dist/cli/program/preaction.js +4 -2
  198. package/dist/cli/program/register.agent.js +12 -12
  199. package/dist/cli/program/register.completion.js +355 -0
  200. package/dist/cli/program/register.configure.js +1 -1
  201. package/dist/cli/program/register.maintenance.js +4 -4
  202. package/dist/cli/program/register.message.js +5 -5
  203. package/dist/cli/program/register.onboard.js +5 -3
  204. package/dist/cli/program/register.setup.js +2 -2
  205. package/dist/cli/program/register.status-health-sessions.js +13 -13
  206. package/dist/cli/run-main.js +11 -4
  207. package/dist/cli/sandbox-cli.js +19 -19
  208. package/dist/cli/security-cli.js +18 -8
  209. package/dist/cli/skills-cli.js +3 -3
  210. package/dist/cli/system-cli.js +1 -1
  211. package/dist/cli/tagline.js +1 -1
  212. package/dist/cli/tui-cli.js +1 -1
  213. package/dist/cli/update-cli.js +58 -42
  214. package/dist/cli/webhooks-cli.js +6 -6
  215. package/dist/commands/agent-via-gateway.js +1 -1
  216. package/dist/commands/agent.js +2 -1
  217. package/dist/commands/agents.command-shared.js +1 -1
  218. package/dist/commands/agents.commands.add.js +2 -3
  219. package/dist/commands/agents.commands.list.js +1 -1
  220. package/dist/commands/auth-choice-options.js +4 -54
  221. package/dist/commands/auth-choice.apply.anthropic.js +6 -109
  222. package/dist/commands/auth-choice.apply.openai.js +1 -33
  223. package/dist/commands/auth-choice.apply.plugin-provider.js +2 -2
  224. package/dist/commands/channels/list.js +2 -2
  225. package/dist/commands/channels/shared.js +1 -1
  226. package/dist/commands/channels/status.js +1 -1
  227. package/dist/commands/chutes-oauth.js +1 -1
  228. package/dist/commands/configure.channels.js +4 -4
  229. package/dist/commands/configure.gateway-auth.js +1 -8
  230. package/dist/commands/configure.gateway.js +1 -10
  231. package/dist/commands/configure.wizard.js +11 -11
  232. package/dist/commands/daemon-install-helpers.js +1 -1
  233. package/dist/commands/dashboard.js +1 -1
  234. package/dist/commands/docs.js +5 -5
  235. package/dist/commands/doctor-auth.js +122 -3
  236. package/dist/commands/doctor-config-flow.js +7 -7
  237. package/dist/commands/doctor-format.js +2 -2
  238. package/dist/commands/doctor-gateway-daemon-flow.js +1 -1
  239. package/dist/commands/doctor-gateway-services.js +3 -3
  240. package/dist/commands/doctor-platform-notes.js +1 -1
  241. package/dist/commands/doctor-security.js +48 -1
  242. package/dist/commands/doctor-state-integrity.js +3 -3
  243. package/dist/commands/doctor-ui.js +2 -2
  244. package/dist/commands/doctor-update.js +4 -4
  245. package/dist/commands/doctor-workspace-status.js +2 -2
  246. package/dist/commands/doctor-workspace.js +4 -4
  247. package/dist/commands/doctor.js +13 -12
  248. package/dist/commands/gateway-status.js +2 -2
  249. package/dist/commands/models/auth.js +23 -22
  250. package/dist/commands/models/list.probe.js +2 -2
  251. package/dist/commands/models/list.registry.js +4 -4
  252. package/dist/commands/models/list.status-command.js +8 -9
  253. package/dist/commands/onboard-auth.credentials.js +2 -2
  254. package/dist/commands/onboard-channels.js +3 -3
  255. package/dist/commands/onboard-helpers.js +4 -4
  256. package/dist/commands/onboard-hooks.js +4 -4
  257. package/dist/commands/onboard-non-interactive/local/auth-choice.js +38 -34
  258. package/dist/commands/onboard-non-interactive/local/gateway-config.js +7 -4
  259. package/dist/commands/onboard-non-interactive/local.js +1 -1
  260. package/dist/commands/onboard-non-interactive/remote.js +1 -1
  261. package/dist/commands/onboard-non-interactive.js +1 -1
  262. package/dist/commands/onboard-remote.js +2 -2
  263. package/dist/commands/onboard-skills.js +2 -2
  264. package/dist/commands/onboard.js +25 -4
  265. package/dist/commands/onboarding/plugin-install.js +2 -2
  266. package/dist/commands/reset.js +3 -3
  267. package/dist/commands/sandbox-display.js +1 -1
  268. package/dist/commands/sandbox-explain.js +2 -2
  269. package/dist/commands/setup.js +2 -2
  270. package/dist/commands/signal-install.js +2 -2
  271. package/dist/commands/status-all/diagnosis.js +1 -1
  272. package/dist/commands/status-all/report-lines.js +1 -1
  273. package/dist/commands/status-all.js +3 -3
  274. package/dist/commands/status.command.js +9 -9
  275. package/dist/commands/status.update.js +3 -3
  276. package/dist/commands/uninstall.js +4 -4
  277. package/dist/compat/legacy-names.js +5 -0
  278. package/dist/config/config.js +1 -1
  279. package/dist/config/group-policy.js +69 -0
  280. package/dist/config/io.js +17 -5
  281. package/dist/config/legacy.migrations.part-3.js +3 -0
  282. package/dist/config/logging.js +3 -3
  283. package/dist/config/paths.js +44 -14
  284. package/dist/config/schema.js +23 -11
  285. package/dist/config/sessions/transcript.js +1 -1
  286. package/dist/config/types.js +1 -1
  287. package/dist/config/types.poolbot.js +1 -0
  288. package/dist/config/validation.js +2 -2
  289. package/dist/config/version.js +4 -4
  290. package/dist/config/zod-schema.agent-defaults.js +1 -0
  291. package/dist/config/zod-schema.agent-runtime.js +39 -7
  292. package/dist/config/zod-schema.hooks.js +2 -0
  293. package/dist/config/zod-schema.js +9 -3
  294. package/dist/config/zod-schema.providers-core.js +23 -0
  295. package/dist/config/zod-schema.providers-whatsapp.js +3 -0
  296. package/dist/control-ui/assets/index-CIRDm-Lu.css +1 -0
  297. package/dist/control-ui/assets/{index-Cl-Y9zqE.js → index-CmNMuoem.js} +620 -578
  298. package/dist/control-ui/assets/index-CmNMuoem.js.map +1 -0
  299. package/dist/control-ui/index.html +4 -4
  300. package/dist/cron/isolated-agent/run.js +38 -3
  301. package/dist/daemon/constants.js +16 -16
  302. package/dist/daemon/inspect.js +12 -12
  303. package/dist/daemon/paths.js +1 -1
  304. package/dist/daemon/program-args.js +1 -1
  305. package/dist/daemon/systemd-hints.js +1 -1
  306. package/dist/daemon/systemd-unit.js +1 -1
  307. package/dist/discord/monitor/listeners.js +25 -1
  308. package/dist/discord/monitor/native-command.js +7 -5
  309. package/dist/discord/monitor/presence-cache.js +38 -0
  310. package/dist/discord/monitor/provider.js +21 -7
  311. package/dist/entry.js +4 -4
  312. package/dist/gateway/auth.js +52 -19
  313. package/dist/gateway/hooks/index.js +53 -0
  314. package/dist/gateway/hooks/lifecycle-hooks-integration.js +256 -0
  315. package/dist/gateway/hooks/lifecycle-hooks.js +236 -0
  316. package/dist/gateway/hooks/progressive-disclosure-details.js +237 -0
  317. package/dist/gateway/hooks/progressive-disclosure-index.js +354 -0
  318. package/dist/gateway/hooks/progressive-disclosure-timeline.js +231 -0
  319. package/dist/gateway/hooks/progressive-disclosure-types.js +65 -0
  320. package/dist/gateway/hooks/progressive-disclosure.js +242 -0
  321. package/dist/gateway/hooks/tool-usage-capture.js +253 -0
  322. package/dist/gateway/hooks/tool-usage-storage.js +144 -0
  323. package/dist/gateway/hooks-mapping.js +18 -4
  324. package/dist/gateway/hooks.js +5 -7
  325. package/dist/gateway/http-utils.js +3 -5
  326. package/dist/gateway/net.js +1 -1
  327. package/dist/gateway/openai-http.js +3 -3
  328. package/dist/gateway/openresponses-http.js +4 -4
  329. package/dist/gateway/protocol/client-info.js +5 -5
  330. package/dist/gateway/protocol/schema/logs-chat.js +1 -1
  331. package/dist/gateway/server/health-state.js +3 -3
  332. package/dist/gateway/server/hooks.js +1 -0
  333. package/dist/gateway/server/ws-connection/message-handler.js +44 -35
  334. package/dist/gateway/server-browser.js +14 -3
  335. package/dist/gateway/server-chat.js +28 -2
  336. package/dist/gateway/server-discovery-runtime.js +25 -17
  337. package/dist/gateway/server-discovery.js +5 -5
  338. package/dist/gateway/server-http.js +9 -3
  339. package/dist/gateway/server-methods/agent.js +2 -0
  340. package/dist/gateway/server-methods/browser.js +204 -0
  341. package/dist/gateway/server-methods/chat.js +5 -0
  342. package/dist/gateway/server-methods/config.js +8 -8
  343. package/dist/gateway/server-methods/logs.js +1 -1
  344. package/dist/gateway/server-methods/nodes.js +2 -0
  345. package/dist/gateway/server-methods/skills.js +3 -3
  346. package/dist/gateway/server-methods/update.js +2 -2
  347. package/dist/gateway/server-methods-list.js +1 -0
  348. package/dist/gateway/server-methods.js +3 -0
  349. package/dist/gateway/server-plugins.js +2 -2
  350. package/dist/gateway/server-restart-sentinel.js +10 -5
  351. package/dist/gateway/server-runtime-config.js +5 -2
  352. package/dist/gateway/server.impl.js +11 -6
  353. package/dist/gateway/session-utils.fs.js +1 -1
  354. package/dist/gateway/session-utils.js +31 -11
  355. package/dist/gateway/test-helpers.mocks.js +5 -5
  356. package/dist/gateway/test-helpers.server.js +30 -11
  357. package/dist/gateway/tools-invoke-http.js +15 -8
  358. package/dist/hooks/bundled/boot-md/HOOK.md +3 -3
  359. package/dist/hooks/bundled/command-logger/HOOK.md +12 -12
  360. package/dist/hooks/bundled/command-logger/handler.js +1 -1
  361. package/dist/hooks/bundled/session-memory/HOOK.md +4 -4
  362. package/dist/hooks/bundled/session-memory/handler.js +2 -2
  363. package/dist/hooks/bundled/soul-evil/HOOK.md +5 -5
  364. package/dist/hooks/bundled-dir.js +1 -1
  365. package/dist/hooks/config.js +8 -7
  366. package/dist/hooks/frontmatter.js +16 -15
  367. package/dist/hooks/gmail-ops.js +4 -4
  368. package/dist/hooks/hooks-status.js +13 -13
  369. package/dist/hooks/install.js +8 -7
  370. package/dist/hooks/internal-hooks.js +1 -1
  371. package/dist/hooks/llm-slug-generator.js +1 -1
  372. package/dist/hooks/loader.js +3 -3
  373. package/dist/hooks/plugin-hooks.js +8 -8
  374. package/dist/hooks/workspace.js +10 -9
  375. package/dist/imessage/monitor/monitor-provider.js +16 -3
  376. package/dist/index.js +4 -4
  377. package/dist/infra/agent-events.js +3 -0
  378. package/dist/infra/bonjour-discovery.js +9 -9
  379. package/dist/infra/bonjour.js +19 -12
  380. package/dist/infra/device-identity.js +1 -1
  381. package/dist/infra/dotenv.js +1 -1
  382. package/dist/infra/exec-approvals.js +2 -2
  383. package/dist/infra/fs-safe.js +76 -0
  384. package/dist/infra/gateway-lock.js +1 -1
  385. package/dist/infra/heartbeat-visibility.js +14 -0
  386. package/dist/infra/heartbeat-wake.js +2 -2
  387. package/dist/infra/machine-name.js +1 -1
  388. package/dist/infra/net/ssrf.js +77 -1
  389. package/dist/infra/outbound/message-action-spec.js +1 -0
  390. package/dist/infra/outbound/targets.js +1 -1
  391. package/dist/infra/path-env.js +7 -7
  392. package/dist/infra/{clawdbot-root.js → poolbot-root.js} +3 -2
  393. package/dist/infra/ports-format.js +2 -2
  394. package/dist/infra/ports.js +2 -2
  395. package/dist/infra/provider-usage.auth.js +2 -4
  396. package/dist/infra/provider-usage.fetch.claude.js +1 -1
  397. package/dist/infra/provider-usage.fetch.minimax.js +1 -1
  398. package/dist/infra/restart-sentinel.js +1 -1
  399. package/dist/infra/restart.js +1 -1
  400. package/dist/infra/retry-policy.js +4 -1
  401. package/dist/infra/runtime-guard.js +2 -2
  402. package/dist/infra/shell-env.js +1 -1
  403. package/dist/infra/skills-remote.js +3 -3
  404. package/dist/infra/tailscale.js +63 -1
  405. package/dist/infra/tls/gateway.js +1 -1
  406. package/dist/infra/unhandled-rejections.js +89 -2
  407. package/dist/infra/update-check.js +2 -4
  408. package/dist/infra/update-global.js +5 -5
  409. package/dist/infra/update-runner.js +32 -8
  410. package/dist/infra/update-startup.js +3 -3
  411. package/dist/infra/warnings.js +1 -1
  412. package/dist/infra/widearea-dns.js +10 -10
  413. package/dist/line/monitor.js +1 -5
  414. package/dist/line/signature.js +11 -0
  415. package/dist/line/webhook.js +2 -6
  416. package/dist/logging/logger.js +4 -4
  417. package/dist/macos/gateway-daemon.js +2 -2
  418. package/dist/macos/relay.js +4 -4
  419. package/dist/media/host.js +1 -1
  420. package/dist/media/image-ops.js +1 -1
  421. package/dist/media/input-files.js +40 -32
  422. package/dist/media/server.js +39 -15
  423. package/dist/media/store.js +109 -53
  424. package/dist/media-understanding/attachments.js +1 -1
  425. package/dist/media-understanding/providers/image.js +2 -2
  426. package/dist/media-understanding/runner.js +33 -1
  427. package/dist/memory/batch-gemini.js +1 -1
  428. package/dist/memory/batch-openai.js +1 -1
  429. package/dist/memory/embeddings.js +1 -1
  430. package/dist/memory/index.js +5 -0
  431. package/dist/memory/manager.js +25 -2
  432. package/dist/node-host/runner.js +60 -56
  433. package/dist/pairing/pairing-messages.js +2 -2
  434. package/dist/plugin-sdk/index.js +1 -0
  435. package/dist/plugins/cli.js +2 -2
  436. package/dist/plugins/discovery.js +6 -5
  437. package/dist/plugins/install.js +8 -7
  438. package/dist/plugins/loader.js +10 -4
  439. package/dist/plugins/manifest-registry.js +2 -2
  440. package/dist/plugins/manifest.js +16 -1
  441. package/dist/plugins/providers.js +2 -2
  442. package/dist/plugins/registry.js +5 -5
  443. package/dist/plugins/runtime.js +1 -1
  444. package/dist/plugins/services.js +3 -3
  445. package/dist/plugins/status.js +2 -2
  446. package/dist/plugins/tools.js +2 -2
  447. package/dist/plugins/update.js +3 -3
  448. package/dist/providers/qwen-portal-oauth.js +1 -1
  449. package/dist/routing/session-key.js +17 -12
  450. package/dist/security/audit-extra.js +116 -69
  451. package/dist/security/audit-fs.js +78 -0
  452. package/dist/security/audit.js +121 -88
  453. package/dist/security/external-content.js +143 -0
  454. package/dist/security/fix.js +93 -8
  455. package/dist/security/windows-acl.js +162 -0
  456. package/dist/slack/monitor/media.js +32 -4
  457. package/dist/slack/monitor/message-handler/dispatch.js +2 -1
  458. package/dist/slack/monitor/slash.js +3 -3
  459. package/dist/slack/monitor.test-helpers.js +1 -1
  460. package/dist/telegram/api-logging.js +24 -0
  461. package/dist/telegram/bot/delivery.js +139 -22
  462. package/dist/telegram/bot-handlers.js +70 -8
  463. package/dist/telegram/bot-message-context.js +79 -21
  464. package/dist/telegram/bot-message-dispatch.js +64 -0
  465. package/dist/telegram/bot-native-commands.js +244 -94
  466. package/dist/telegram/bot.js +18 -2
  467. package/dist/telegram/fetch.js +25 -1
  468. package/dist/telegram/monitor.js +11 -3
  469. package/dist/telegram/network-config.js +23 -0
  470. package/dist/telegram/network-errors.js +103 -0
  471. package/dist/telegram/send.js +148 -4
  472. package/dist/telegram/sticker-cache.js +202 -0
  473. package/dist/telegram/webhook-set.js +13 -6
  474. package/dist/telegram/webhook.js +8 -3
  475. package/dist/terminal/links.js +1 -1
  476. package/dist/tts/tts.js +27 -22
  477. package/dist/tui/components/filterable-select-list.js +1 -1
  478. package/dist/tui/components/searchable-select-list.js +2 -1
  479. package/dist/tui/gateway-chat.js +1 -1
  480. package/dist/tui/tui.js +1 -1
  481. package/dist/utils.js +1 -1
  482. package/dist/version.js +1 -1
  483. package/dist/web/active-listener.js +1 -1
  484. package/dist/web/auth-store.js +1 -1
  485. package/dist/web/auto-reply/monitor/process-message.js +1 -1
  486. package/dist/web/auto-reply/monitor.js +1 -1
  487. package/dist/web/login.js +1 -1
  488. package/dist/web/session.js +2 -2
  489. package/dist/wizard/onboarding.finalize.js +24 -21
  490. package/dist/wizard/onboarding.gateway-config.js +1 -11
  491. package/dist/wizard/onboarding.js +22 -11
  492. package/docs/CNAME +1 -1
  493. package/docs/RELEASE_WORKFLOW.md +133 -0
  494. package/docs/RELEASE_WORKFOTS_COMPARISON.md +151 -0
  495. package/docs/WHATSAPP-HEARTBEAT-TROUBLESHOOTING.md +319 -0
  496. package/docs/WORKFOTS_OPTIMIZATION.md +138 -0
  497. package/docs/_config.yml +2 -2
  498. package/docs/_layouts/default.html +9 -9
  499. package/docs/adr/002-model-fallback-router.md +104 -0
  500. package/docs/assets/terminal.css +3 -0
  501. package/docs/assets/theme.js +1 -1
  502. package/docs/automation/auth-monitoring.md +7 -7
  503. package/docs/automation/cron-jobs.md +17 -17
  504. package/docs/automation/cron-vs-heartbeat.md +8 -8
  505. package/docs/automation/gmail-pubsub.md +23 -21
  506. package/docs/automation/poll.md +7 -7
  507. package/docs/automation/webhook.md +13 -8
  508. package/docs/bedrock.md +10 -10
  509. package/docs/brave-search.md +1 -1
  510. package/docs/broadcast-groups.md +4 -4
  511. package/docs/channels/bluebubbles.md +13 -12
  512. package/docs/channels/discord.md +21 -16
  513. package/docs/channels/googlechat.md +16 -16
  514. package/docs/channels/imessage.md +12 -12
  515. package/docs/channels/index.md +6 -4
  516. package/docs/channels/line.md +183 -0
  517. package/docs/channels/location.md +1 -1
  518. package/docs/channels/matrix.md +15 -15
  519. package/docs/channels/mattermost.md +8 -8
  520. package/docs/channels/msteams.md +30 -26
  521. package/docs/channels/nextcloud-talk.md +7 -7
  522. package/docs/channels/nostr.md +9 -9
  523. package/docs/channels/signal.md +9 -9
  524. package/docs/channels/slack.md +15 -13
  525. package/docs/channels/telegram.md +149 -20
  526. package/docs/channels/tlon.md +5 -5
  527. package/docs/channels/troubleshooting.md +2 -2
  528. package/docs/channels/twitch.md +366 -0
  529. package/docs/channels/whatsapp.md +25 -25
  530. package/docs/channels/zalo.md +8 -8
  531. package/docs/channels/zalouser.md +12 -12
  532. package/docs/cli/acp.md +24 -24
  533. package/docs/cli/agent.md +6 -6
  534. package/docs/cli/agents.md +9 -9
  535. package/docs/cli/approvals.md +14 -14
  536. package/docs/cli/browser.md +33 -35
  537. package/docs/cli/channels.md +21 -21
  538. package/docs/cli/config.md +15 -15
  539. package/docs/cli/configure.md +6 -6
  540. package/docs/cli/cron.md +5 -5
  541. package/docs/cli/dashboard.md +4 -4
  542. package/docs/cli/devices.md +13 -13
  543. package/docs/cli/directory.md +12 -12
  544. package/docs/cli/dns.md +5 -5
  545. package/docs/cli/docs.md +5 -5
  546. package/docs/cli/doctor.md +6 -6
  547. package/docs/cli/gateway.md +24 -24
  548. package/docs/cli/health.md +5 -5
  549. package/docs/cli/hooks.md +34 -34
  550. package/docs/cli/index.md +46 -52
  551. package/docs/cli/logs.md +6 -6
  552. package/docs/cli/memory.md +11 -11
  553. package/docs/cli/message.md +11 -11
  554. package/docs/cli/models.md +17 -17
  555. package/docs/cli/node.md +14 -14
  556. package/docs/cli/nodes.md +14 -14
  557. package/docs/cli/onboard.md +7 -6
  558. package/docs/cli/pairing.md +4 -4
  559. package/docs/cli/plugins.md +16 -16
  560. package/docs/cli/reset.md +5 -5
  561. package/docs/cli/sandbox.md +28 -28
  562. package/docs/cli/security.md +5 -5
  563. package/docs/cli/sessions.md +5 -5
  564. package/docs/cli/setup.md +6 -6
  565. package/docs/cli/skills.md +6 -6
  566. package/docs/cli/status.md +7 -7
  567. package/docs/cli/system.md +6 -6
  568. package/docs/cli/tui.md +5 -5
  569. package/docs/cli/uninstall.md +5 -5
  570. package/docs/cli/update.md +20 -20
  571. package/docs/cli/voicecall.md +9 -9
  572. package/docs/cli/webhooks.md +5 -5
  573. package/docs/concepts/agent-loop.md +5 -5
  574. package/docs/concepts/agent-workspace.md +20 -20
  575. package/docs/concepts/agent.md +12 -12
  576. package/docs/concepts/architecture.md +1 -1
  577. package/docs/concepts/channel-routing.md +4 -4
  578. package/docs/concepts/compaction.md +5 -5
  579. package/docs/concepts/context.md +6 -6
  580. package/docs/concepts/group-messages.md +6 -6
  581. package/docs/concepts/groups.md +41 -5
  582. package/docs/concepts/markdown-formatting.md +3 -3
  583. package/docs/concepts/memory.md +14 -14
  584. package/docs/concepts/messages.md +4 -4
  585. package/docs/concepts/model-failover.md +14 -14
  586. package/docs/concepts/model-providers.md +22 -22
  587. package/docs/concepts/models.md +27 -27
  588. package/docs/concepts/multi-agent.md +18 -18
  589. package/docs/concepts/oauth.md +31 -58
  590. package/docs/concepts/presence.md +2 -2
  591. package/docs/concepts/retry.md +1 -1
  592. package/docs/concepts/session-pruning.md +1 -1
  593. package/docs/concepts/session-tool.md +4 -4
  594. package/docs/concepts/session.md +14 -14
  595. package/docs/concepts/streaming.md +3 -3
  596. package/docs/concepts/system-prompt.md +11 -11
  597. package/docs/concepts/timezone.md +2 -2
  598. package/docs/concepts/typebox.md +2 -2
  599. package/docs/concepts/typing-indicators.md +2 -2
  600. package/docs/concepts/usage-tracking.md +3 -3
  601. package/docs/date-time.md +2 -2
  602. package/docs/debug/node-issue.md +4 -4
  603. package/docs/debugging.md +14 -14
  604. package/docs/diagnostics/flags.md +5 -5
  605. package/docs/docs.json +37 -7
  606. package/docs/environment.md +4 -4
  607. package/docs/experiments/plans/cron-add-hardening.md +1 -1
  608. package/docs/experiments/plans/openresponses-gateway.md +2 -2
  609. package/docs/experiments/research/memory.md +6 -6
  610. package/docs/gateway/authentication.md +33 -57
  611. package/docs/gateway/background-process.md +1 -1
  612. package/docs/gateway/bonjour.md +21 -21
  613. package/docs/gateway/bridge-protocol.md +2 -2
  614. package/docs/gateway/cli-backends.md +13 -12
  615. package/docs/gateway/configuration-examples.md +14 -14
  616. package/docs/gateway/configuration.md +145 -132
  617. package/docs/gateway/discovery.md +6 -6
  618. package/docs/gateway/doctor.md +26 -26
  619. package/docs/gateway/gateway-lock.md +1 -1
  620. package/docs/gateway/health.md +11 -11
  621. package/docs/gateway/heartbeat.md +5 -5
  622. package/docs/gateway/index.md +56 -56
  623. package/docs/gateway/local-models.md +2 -2
  624. package/docs/gateway/logging.md +8 -8
  625. package/docs/gateway/multiple-gateways.md +23 -23
  626. package/docs/gateway/openai-http-api.md +10 -10
  627. package/docs/gateway/openresponses-http-api.md +10 -10
  628. package/docs/gateway/pairing.md +8 -8
  629. package/docs/gateway/protocol.md +5 -4
  630. package/docs/gateway/remote-gateway-readme.md +13 -13
  631. package/docs/gateway/remote.md +4 -4
  632. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +10 -7
  633. package/docs/gateway/sandboxing.md +8 -6
  634. package/docs/gateway/security/formal-verification.md +107 -0
  635. package/docs/gateway/{security.md → security/index.md} +151 -71
  636. package/docs/gateway/tailscale.md +16 -35
  637. package/docs/gateway/tools-invoke-http-api.md +3 -3
  638. package/docs/gateway/troubleshooting.md +108 -113
  639. package/docs/help/faq.md +326 -335
  640. package/docs/help/troubleshooting.md +15 -15
  641. package/docs/hooks/soul-evil.md +2 -2
  642. package/docs/hooks.md +60 -60
  643. package/docs/index.md +35 -35
  644. package/docs/install/ansible.md +35 -35
  645. package/docs/install/development-channels.md +10 -10
  646. package/docs/install/docker.md +31 -31
  647. package/docs/install/index.md +28 -27
  648. package/docs/install/installer.md +21 -21
  649. package/docs/install/migrating.md +190 -0
  650. package/docs/install/nix.md +17 -17
  651. package/docs/install/node.md +7 -6
  652. package/docs/install/uninstall.md +29 -29
  653. package/docs/install/updating.md +50 -49
  654. package/docs/logging.md +58 -58
  655. package/docs/multi-agent-sandbox-tools.md +7 -7
  656. package/docs/network.md +1 -1
  657. package/docs/nodes/audio.md +2 -2
  658. package/docs/nodes/camera.md +18 -18
  659. package/docs/nodes/images.md +4 -4
  660. package/docs/nodes/index.md +55 -55
  661. package/docs/nodes/location-command.md +2 -2
  662. package/docs/nodes/media-understanding.md +5 -5
  663. package/docs/nodes/talk.md +1 -1
  664. package/docs/nodes/voicewake.md +2 -2
  665. package/docs/northflank.mdx +53 -0
  666. package/docs/perplexity.md +2 -2
  667. package/docs/platforms/android.md +13 -13
  668. package/docs/platforms/digitalocean.md +243 -0
  669. package/docs/platforms/exe-dev.md +23 -23
  670. package/docs/platforms/fly.md +129 -18
  671. package/docs/platforms/gcp.md +498 -0
  672. package/docs/platforms/hetzner.md +30 -30
  673. package/docs/platforms/index.md +9 -9
  674. package/docs/platforms/ios.md +13 -13
  675. package/docs/platforms/linux.md +11 -11
  676. package/docs/platforms/mac/bundled-gateway.md +14 -14
  677. package/docs/platforms/mac/canvas.md +14 -14
  678. package/docs/platforms/mac/child-process.md +9 -9
  679. package/docs/platforms/mac/dev-setup.md +11 -11
  680. package/docs/platforms/mac/health.md +2 -2
  681. package/docs/platforms/mac/icon.md +1 -1
  682. package/docs/platforms/mac/logging.md +7 -7
  683. package/docs/platforms/mac/menu-bar.md +1 -1
  684. package/docs/platforms/mac/peekaboo.md +9 -9
  685. package/docs/platforms/mac/permissions.md +3 -3
  686. package/docs/platforms/mac/release.md +20 -20
  687. package/docs/platforms/mac/remote.md +14 -14
  688. package/docs/platforms/mac/signing.md +7 -7
  689. package/docs/platforms/mac/skills.md +4 -4
  690. package/docs/platforms/mac/voice-overlay.md +2 -2
  691. package/docs/platforms/mac/webchat.md +2 -2
  692. package/docs/platforms/mac/xpc.md +4 -4
  693. package/docs/platforms/macos-vm.md +27 -27
  694. package/docs/platforms/macos.md +20 -20
  695. package/docs/platforms/oracle.md +291 -0
  696. package/docs/platforms/raspberry-pi.md +354 -0
  697. package/docs/platforms/windows.md +11 -11
  698. package/docs/plugin.md +64 -64
  699. package/docs/plugins/agent-tools.md +1 -1
  700. package/docs/plugins/manifest.md +4 -4
  701. package/docs/plugins/voice-call.md +15 -12
  702. package/docs/plugins/zalouser.md +9 -9
  703. package/docs/prose.md +9 -9
  704. package/docs/providers/anthropic.md +23 -27
  705. package/docs/providers/claude-max-api-proxy.md +145 -0
  706. package/docs/providers/deepgram.md +2 -2
  707. package/docs/providers/github-copilot.md +11 -11
  708. package/docs/providers/glm.md +4 -4
  709. package/docs/providers/index.md +7 -3
  710. package/docs/providers/minimax.md +9 -9
  711. package/docs/providers/models.md +3 -3
  712. package/docs/providers/moonshot.md +2 -2
  713. package/docs/providers/ollama.md +11 -11
  714. package/docs/providers/openai.md +9 -13
  715. package/docs/providers/opencode.md +3 -3
  716. package/docs/providers/openrouter.md +3 -3
  717. package/docs/providers/qwen.md +6 -6
  718. package/docs/providers/synthetic.md +4 -4
  719. package/docs/providers/venice.md +21 -21
  720. package/docs/providers/vercel-ai-gateway.md +5 -4
  721. package/docs/providers/zai.md +5 -5
  722. package/docs/railway.mdx +5 -5
  723. package/docs/refactor/exec-host.md +5 -5
  724. package/docs/refactor/plugin-sdk.md +12 -12
  725. package/docs/refactor/strict-config.md +11 -11
  726. package/docs/reference/AGENTS.default.md +10 -10
  727. package/docs/reference/RELEASING.md +27 -27
  728. package/docs/reference/api-usage-costs.md +6 -6
  729. package/docs/reference/device-models.md +7 -7
  730. package/docs/reference/rpc.md +3 -3
  731. package/docs/reference/session-management-compaction.md +19 -19
  732. package/docs/reference/templates/AGENTS.dev.md +1 -1
  733. package/docs/reference/templates/BOOT.md +1 -1
  734. package/docs/reference/templates/TOOLS.dev.md +1 -1
  735. package/docs/reference/templates/USER.dev.md +2 -2
  736. package/docs/reference/test.md +2 -2
  737. package/docs/reference/transcript-hygiene.md +1 -1
  738. package/docs/render.mdx +158 -0
  739. package/docs/scripts.md +1 -1
  740. package/docs/security/formal-verification.md +107 -0
  741. package/docs/start/getting-started.md +31 -25
  742. package/docs/start/hubs.md +2 -2
  743. package/docs/start/lore.md +74 -38
  744. package/docs/start/onboarding.md +7 -7
  745. package/docs/start/pairing.md +10 -10
  746. package/docs/start/{clawd.md → poolbot.md} +29 -29
  747. package/docs/start/setup.md +30 -17
  748. package/docs/start/showcase.md +32 -32
  749. package/docs/start/wizard.md +29 -26
  750. package/docs/testing.md +12 -12
  751. package/docs/token-use.md +7 -7
  752. package/docs/tools/agent-send.md +10 -10
  753. package/docs/tools/browser-linux-troubleshooting.md +10 -10
  754. package/docs/tools/browser-login.md +4 -4
  755. package/docs/tools/browser.md +135 -241
  756. package/docs/tools/chrome-extension.md +31 -48
  757. package/docs/tools/creating-skills.md +4 -4
  758. package/docs/tools/elevated.md +1 -0
  759. package/docs/tools/exec-approvals.md +8 -5
  760. package/docs/tools/exec.md +15 -4
  761. package/docs/tools/firecrawl.md +2 -2
  762. package/docs/tools/index.md +18 -15
  763. package/docs/tools/llm-task.md +1 -1
  764. package/docs/tools/lobster.md +23 -11
  765. package/docs/tools/{clawdhub.md → poolhub.md} +7 -7
  766. package/docs/tools/skills-config.md +2 -2
  767. package/docs/tools/skills.md +39 -31
  768. package/docs/tools/slash-commands.md +10 -8
  769. package/docs/tools/web.md +8 -8
  770. package/docs/tts.md +11 -11
  771. package/docs/tui.md +7 -7
  772. package/docs/vps.md +6 -1
  773. package/docs/web/control-ui.md +13 -12
  774. package/docs/web/dashboard.md +8 -4
  775. package/docs/web/index.md +6 -5
  776. package/docs/web/webchat.md +1 -1
  777. package/extensions/bluebubbles/index.ts +3 -3
  778. package/extensions/bluebubbles/package.json +5 -5
  779. package/extensions/bluebubbles/src/accounts.ts +9 -9
  780. package/extensions/bluebubbles/src/actions.test.ts +22 -22
  781. package/extensions/bluebubbles/src/actions.ts +6 -6
  782. package/extensions/bluebubbles/src/attachments.ts +2 -2
  783. package/extensions/bluebubbles/src/channel.ts +17 -17
  784. package/extensions/bluebubbles/src/chat.ts +2 -2
  785. package/extensions/bluebubbles/src/config-schema.ts +1 -1
  786. package/extensions/bluebubbles/src/media-send.ts +2 -2
  787. package/extensions/bluebubbles/src/monitor.test.ts +56 -50
  788. package/extensions/bluebubbles/src/monitor.ts +181 -6
  789. package/extensions/bluebubbles/src/onboarding.ts +9 -9
  790. package/extensions/bluebubbles/src/reactions.ts +2 -2
  791. package/extensions/bluebubbles/src/runtime.ts +1 -1
  792. package/extensions/bluebubbles/src/send.ts +2 -2
  793. package/extensions/copilot-proxy/README.md +2 -2
  794. package/extensions/copilot-proxy/index.ts +1 -1
  795. package/extensions/copilot-proxy/package.json +4 -4
  796. package/extensions/diagnostics-otel/index.ts +3 -3
  797. package/extensions/diagnostics-otel/package.json +4 -4
  798. package/extensions/diagnostics-otel/src/service.test.ts +15 -15
  799. package/extensions/diagnostics-otel/src/service.ts +85 -85
  800. package/extensions/discord/index.ts +3 -3
  801. package/extensions/discord/package.json +4 -4
  802. package/extensions/discord/src/channel.ts +1 -1
  803. package/extensions/discord/src/runtime.ts +1 -1
  804. package/extensions/google-antigravity-auth/README.md +2 -2
  805. package/extensions/google-antigravity-auth/index.ts +9 -2
  806. package/extensions/google-antigravity-auth/package.json +4 -4
  807. package/extensions/google-gemini-cli-auth/README.md +2 -2
  808. package/extensions/google-gemini-cli-auth/index.ts +1 -1
  809. package/extensions/google-gemini-cli-auth/oauth.ts +2 -2
  810. package/extensions/google-gemini-cli-auth/package.json +4 -4
  811. package/extensions/googlechat/index.ts +4 -4
  812. package/extensions/googlechat/node_modules/.bin/poolbot +21 -0
  813. package/extensions/googlechat/package.json +7 -7
  814. package/extensions/googlechat/src/accounts.ts +9 -9
  815. package/extensions/googlechat/src/actions.ts +8 -8
  816. package/extensions/googlechat/src/api.ts +1 -1
  817. package/extensions/googlechat/src/channel.ts +23 -23
  818. package/extensions/googlechat/src/monitor.ts +9 -9
  819. package/extensions/googlechat/src/onboarding.ts +11 -11
  820. package/extensions/googlechat/src/runtime.ts +1 -1
  821. package/extensions/googlechat/src/types.config.ts +1 -1
  822. package/extensions/imessage/index.ts +3 -3
  823. package/extensions/imessage/package.json +4 -4
  824. package/extensions/imessage/src/channel.ts +1 -1
  825. package/extensions/imessage/src/runtime.ts +1 -1
  826. package/extensions/line/index.ts +3 -3
  827. package/extensions/line/node_modules/.bin/poolbot +21 -0
  828. package/extensions/line/package.json +6 -6
  829. package/extensions/line/src/card-command.ts +3 -3
  830. package/extensions/line/src/channel.logout.test.ts +4 -4
  831. package/extensions/line/src/channel.sendPayload.test.ts +8 -8
  832. package/extensions/line/src/channel.ts +5 -5
  833. package/extensions/line/src/runtime.ts +1 -1
  834. package/extensions/llm-task/README.md +1 -1
  835. package/extensions/llm-task/index.ts +2 -2
  836. package/extensions/llm-task/package.json +4 -4
  837. package/extensions/llm-task/src/llm-task-tool.ts +5 -5
  838. package/extensions/lobster/index.ts +2 -2
  839. package/extensions/lobster/package.json +3 -3
  840. package/extensions/lobster/src/lobster-tool.test.ts +26 -6
  841. package/extensions/lobster/src/lobster-tool.ts +24 -6
  842. package/extensions/matrix/CHANGELOG.md +9 -9
  843. package/extensions/matrix/index.ts +3 -3
  844. package/extensions/matrix/node_modules/.bin/markdown-it +0 -0
  845. package/extensions/matrix/node_modules/.bin/poolbot +21 -0
  846. package/extensions/matrix/package.json +7 -7
  847. package/extensions/matrix/src/actions.ts +1 -1
  848. package/extensions/matrix/src/channel.directory.test.ts +1 -1
  849. package/extensions/matrix/src/channel.ts +1 -1
  850. package/extensions/matrix/src/config-schema.ts +1 -1
  851. package/extensions/matrix/src/directory-live.ts +1 -1
  852. package/extensions/matrix/src/group-mentions.ts +1 -1
  853. package/extensions/matrix/src/matrix/accounts.ts +1 -1
  854. package/extensions/matrix/src/matrix/actions/messages.ts +1 -1
  855. package/extensions/matrix/src/matrix/actions/reactions.ts +1 -1
  856. package/extensions/matrix/src/matrix/actions/room.ts +3 -3
  857. package/extensions/matrix/src/matrix/actions/summary.ts +1 -1
  858. package/extensions/matrix/src/matrix/actions/types.ts +1 -1
  859. package/extensions/matrix/src/matrix/active-client.ts +1 -1
  860. package/extensions/matrix/src/matrix/client/config.ts +2 -2
  861. package/extensions/matrix/src/matrix/client/create-client.ts +2 -2
  862. package/extensions/matrix/src/matrix/client/logging.ts +1 -1
  863. package/extensions/matrix/src/matrix/client/shared.ts +3 -3
  864. package/extensions/matrix/src/matrix/deps.ts +5 -5
  865. package/extensions/matrix/src/matrix/monitor/allowlist.ts +1 -1
  866. package/extensions/matrix/src/matrix/monitor/auto-join.ts +3 -3
  867. package/extensions/matrix/src/matrix/monitor/direct.ts +1 -1
  868. package/extensions/matrix/src/matrix/monitor/events.ts +2 -2
  869. package/extensions/matrix/src/matrix/monitor/handler.ts +8 -8
  870. package/extensions/matrix/src/matrix/monitor/index.ts +2 -2
  871. package/extensions/matrix/src/matrix/monitor/location.ts +2 -2
  872. package/extensions/matrix/src/matrix/monitor/media.test.ts +3 -3
  873. package/extensions/matrix/src/matrix/monitor/media.ts +3 -3
  874. package/extensions/matrix/src/matrix/monitor/replies.ts +2 -2
  875. package/extensions/matrix/src/matrix/monitor/room-info.ts +1 -1
  876. package/extensions/matrix/src/matrix/monitor/rooms.ts +1 -1
  877. package/extensions/matrix/src/matrix/monitor/threads.ts +1 -1
  878. package/extensions/matrix/src/matrix/monitor/types.ts +1 -1
  879. package/extensions/matrix/src/matrix/poll-types.ts +1 -1
  880. package/extensions/matrix/src/matrix/probe.ts +1 -1
  881. package/extensions/matrix/src/matrix/send/client.ts +2 -2
  882. package/extensions/matrix/src/matrix/send/media.ts +1 -1
  883. package/extensions/matrix/src/matrix/send/targets.test.ts +1 -1
  884. package/extensions/matrix/src/matrix/send/targets.ts +1 -1
  885. package/extensions/matrix/src/matrix/send/types.ts +2 -2
  886. package/extensions/matrix/src/matrix/send.test.ts +3 -3
  887. package/extensions/matrix/src/matrix/send.ts +4 -4
  888. package/extensions/matrix/src/onboarding.ts +3 -3
  889. package/extensions/matrix/src/outbound.ts +1 -1
  890. package/extensions/matrix/src/resolve-targets.ts +1 -1
  891. package/extensions/matrix/src/runtime.ts +1 -1
  892. package/extensions/matrix/src/tool-actions.ts +1 -1
  893. package/extensions/matrix/src/types.ts +1 -1
  894. package/extensions/mattermost/index.ts +3 -3
  895. package/extensions/mattermost/package.json +5 -5
  896. package/extensions/mattermost/src/channel.ts +1 -1
  897. package/extensions/mattermost/src/config-schema.ts +1 -1
  898. package/extensions/mattermost/src/group-mentions.ts +1 -1
  899. package/extensions/mattermost/src/mattermost/accounts.ts +9 -9
  900. package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
  901. package/extensions/mattermost/src/mattermost/monitor.ts +4 -4
  902. package/extensions/mattermost/src/onboarding-helpers.ts +4 -4
  903. package/extensions/mattermost/src/onboarding.ts +4 -4
  904. package/extensions/mattermost/src/runtime.ts +1 -1
  905. package/extensions/mattermost/src/types.ts +1 -1
  906. package/extensions/memory-core/index.ts +3 -3
  907. package/extensions/memory-core/node_modules/.bin/poolbot +21 -0
  908. package/extensions/memory-core/package.json +5 -5
  909. package/extensions/memory-lancedb/config.ts +2 -2
  910. package/extensions/memory-lancedb/index.test.ts +2 -2
  911. package/extensions/memory-lancedb/index.ts +4 -4
  912. package/extensions/memory-lancedb/node_modules/.bin/openai +0 -0
  913. package/extensions/memory-lancedb/package.json +4 -4
  914. package/extensions/memory-lancedb/{clawdbot.plugin.json → poolbot.plugin.json} +1 -1
  915. package/extensions/msteams/CHANGELOG.md +7 -7
  916. package/extensions/msteams/index.ts +3 -3
  917. package/extensions/msteams/node_modules/.bin/poolbot +21 -0
  918. package/extensions/msteams/package.json +6 -6
  919. package/extensions/msteams/src/attachments.test.ts +1 -1
  920. package/extensions/msteams/src/channel.directory.test.ts +2 -2
  921. package/extensions/msteams/src/channel.ts +3 -3
  922. package/extensions/msteams/src/conversation-store-fs.test.ts +3 -3
  923. package/extensions/msteams/src/directory-live.ts +1 -1
  924. package/extensions/msteams/src/graph-upload.ts +4 -4
  925. package/extensions/msteams/src/media-helpers.ts +1 -1
  926. package/extensions/msteams/src/messenger.test.ts +1 -1
  927. package/extensions/msteams/src/messenger.ts +1 -1
  928. package/extensions/msteams/src/monitor-handler/message-handler.ts +1 -1
  929. package/extensions/msteams/src/monitor-handler.ts +2 -2
  930. package/extensions/msteams/src/monitor.ts +3 -3
  931. package/extensions/msteams/src/onboarding.ts +11 -11
  932. package/extensions/msteams/src/outbound.ts +1 -1
  933. package/extensions/msteams/src/policy.test.ts +1 -1
  934. package/extensions/msteams/src/policy.ts +50 -5
  935. package/extensions/msteams/src/polls-store.test.ts +1 -1
  936. package/extensions/msteams/src/polls.test.ts +4 -4
  937. package/extensions/msteams/src/polls.ts +8 -8
  938. package/extensions/msteams/src/probe.test.ts +1 -1
  939. package/extensions/msteams/src/probe.ts +1 -1
  940. package/extensions/msteams/src/reply-dispatcher.ts +36 -36
  941. package/extensions/msteams/src/runtime.ts +1 -1
  942. package/extensions/msteams/src/send-context.ts +2 -2
  943. package/extensions/msteams/src/send.ts +5 -5
  944. package/extensions/msteams/src/token.ts +1 -1
  945. package/extensions/nextcloud-talk/index.ts +3 -3
  946. package/extensions/nextcloud-talk/package.json +5 -5
  947. package/extensions/nextcloud-talk/src/accounts.ts +1 -1
  948. package/extensions/nextcloud-talk/src/channel.ts +8 -8
  949. package/extensions/nextcloud-talk/src/config-schema.ts +1 -1
  950. package/extensions/nextcloud-talk/src/inbound.ts +8 -8
  951. package/extensions/nextcloud-talk/src/monitor.ts +1 -1
  952. package/extensions/nextcloud-talk/src/onboarding.ts +2 -2
  953. package/extensions/nextcloud-talk/src/policy.ts +2 -2
  954. package/extensions/nextcloud-talk/src/room-info.ts +1 -1
  955. package/extensions/nextcloud-talk/src/runtime.ts +1 -1
  956. package/extensions/nextcloud-talk/src/types.ts +1 -1
  957. package/extensions/nostr/CHANGELOG.md +4 -4
  958. package/extensions/nostr/README.md +3 -3
  959. package/extensions/nostr/index.ts +6 -6
  960. package/extensions/nostr/node_modules/.bin/poolbot +21 -0
  961. package/extensions/nostr/package.json +6 -6
  962. package/extensions/nostr/src/channel.ts +2 -2
  963. package/extensions/nostr/src/config-schema.ts +1 -1
  964. package/extensions/nostr/src/nostr-state-store.test.ts +3 -3
  965. package/extensions/nostr/src/runtime.ts +1 -1
  966. package/extensions/nostr/src/types.ts +4 -4
  967. package/extensions/open-prose/index.ts +2 -2
  968. package/extensions/open-prose/package.json +3 -3
  969. package/extensions/open-prose/skills/prose/SKILL.md +5 -5
  970. package/extensions/open-prose/skills/prose/prose.md +4 -4
  971. package/extensions/qwen-portal-auth/README.md +2 -2
  972. package/extensions/qwen-portal-auth/index.ts +1 -1
  973. package/extensions/signal/index.ts +3 -3
  974. package/extensions/signal/package.json +4 -4
  975. package/extensions/signal/src/channel.ts +1 -1
  976. package/extensions/signal/src/runtime.ts +1 -1
  977. package/extensions/slack/index.ts +3 -3
  978. package/extensions/slack/package.json +4 -4
  979. package/extensions/slack/src/channel.ts +1 -1
  980. package/extensions/slack/src/runtime.ts +1 -1
  981. package/extensions/telegram/index.ts +3 -3
  982. package/extensions/telegram/package.json +4 -4
  983. package/extensions/telegram/src/channel.ts +3 -3
  984. package/extensions/telegram/src/runtime.ts +1 -1
  985. package/extensions/tlon/README.md +1 -1
  986. package/extensions/tlon/index.ts +3 -3
  987. package/extensions/tlon/package.json +5 -5
  988. package/extensions/tlon/src/channel.ts +15 -15
  989. package/extensions/tlon/src/config-schema.ts +1 -1
  990. package/extensions/tlon/src/monitor/discovery.ts +1 -1
  991. package/extensions/tlon/src/monitor/history.ts +1 -1
  992. package/extensions/tlon/src/monitor/index.ts +3 -3
  993. package/extensions/tlon/src/onboarding.ts +4 -4
  994. package/extensions/tlon/src/runtime.ts +1 -1
  995. package/extensions/tlon/src/types.ts +3 -3
  996. package/extensions/tlon/src/urbit/send.ts +19 -6
  997. package/extensions/twitch/CHANGELOG.md +21 -0
  998. package/extensions/twitch/README.md +89 -0
  999. package/extensions/twitch/index.ts +20 -0
  1000. package/extensions/twitch/node_modules/.bin/poolbot +21 -0
  1001. package/extensions/twitch/package.json +20 -0
  1002. package/extensions/twitch/poolbot.plugin.json +9 -0
  1003. package/extensions/twitch/src/access-control.test.ts +489 -0
  1004. package/extensions/twitch/src/access-control.ts +154 -0
  1005. package/extensions/twitch/src/actions.ts +173 -0
  1006. package/extensions/twitch/src/client-manager-registry.ts +115 -0
  1007. package/extensions/twitch/src/config-schema.ts +82 -0
  1008. package/extensions/twitch/src/config.test.ts +88 -0
  1009. package/extensions/twitch/src/config.ts +116 -0
  1010. package/extensions/twitch/src/monitor.ts +257 -0
  1011. package/extensions/twitch/src/onboarding.test.ts +311 -0
  1012. package/extensions/twitch/src/onboarding.ts +411 -0
  1013. package/extensions/twitch/src/outbound.test.ts +373 -0
  1014. package/extensions/twitch/src/outbound.ts +186 -0
  1015. package/extensions/twitch/src/plugin.test.ts +39 -0
  1016. package/extensions/twitch/src/plugin.ts +274 -0
  1017. package/extensions/twitch/src/probe.test.ts +198 -0
  1018. package/extensions/twitch/src/probe.ts +118 -0
  1019. package/extensions/twitch/src/resolver.ts +137 -0
  1020. package/extensions/twitch/src/runtime.ts +14 -0
  1021. package/extensions/twitch/src/send.test.ts +289 -0
  1022. package/extensions/twitch/src/send.ts +136 -0
  1023. package/extensions/twitch/src/status.test.ts +270 -0
  1024. package/extensions/twitch/src/status.ts +176 -0
  1025. package/extensions/twitch/src/token.test.ts +171 -0
  1026. package/extensions/twitch/src/token.ts +87 -0
  1027. package/extensions/twitch/src/twitch-client.test.ts +574 -0
  1028. package/extensions/twitch/src/twitch-client.ts +277 -0
  1029. package/extensions/twitch/src/types.ts +141 -0
  1030. package/extensions/twitch/src/utils/markdown.ts +92 -0
  1031. package/extensions/twitch/src/utils/twitch.ts +78 -0
  1032. package/extensions/twitch/test/setup.ts +7 -0
  1033. package/extensions/voice-call/CHANGELOG.md +13 -12
  1034. package/extensions/voice-call/README.md +15 -14
  1035. package/extensions/voice-call/index.ts +11 -9
  1036. package/extensions/voice-call/package.json +4 -4
  1037. package/extensions/voice-call/{clawdbot.plugin.json → poolbot.plugin.json} +3 -3
  1038. package/extensions/voice-call/src/cli.ts +1 -1
  1039. package/extensions/voice-call/src/config.test.ts +204 -0
  1040. package/extensions/voice-call/src/config.ts +61 -4
  1041. package/extensions/voice-call/src/core-bridge.ts +10 -8
  1042. package/extensions/voice-call/src/manager.test.ts +2 -2
  1043. package/extensions/voice-call/src/providers/twilio/webhook.ts +2 -1
  1044. package/extensions/voice-call/src/providers/twilio.ts +2 -2
  1045. package/extensions/voice-call/src/response-generator.ts +1 -1
  1046. package/extensions/voice-call/src/runtime.ts +26 -15
  1047. package/extensions/voice-call/src/types.ts +1 -0
  1048. package/extensions/voice-call/src/webhook-security.test.ts +52 -0
  1049. package/extensions/voice-call/src/webhook-security.ts +16 -5
  1050. package/extensions/voice-call/src/webhook.ts +1 -0
  1051. package/extensions/whatsapp/index.ts +3 -3
  1052. package/extensions/whatsapp/package.json +4 -4
  1053. package/extensions/whatsapp/src/channel.ts +1 -1
  1054. package/extensions/whatsapp/src/runtime.ts +1 -1
  1055. package/extensions/zalo/CHANGELOG.md +9 -9
  1056. package/extensions/zalo/README.md +3 -3
  1057. package/extensions/zalo/index.ts +3 -3
  1058. package/extensions/zalo/node_modules/.bin/poolbot +21 -0
  1059. package/extensions/zalo/package.json +6 -6
  1060. package/extensions/zalo/src/accounts.ts +9 -9
  1061. package/extensions/zalo/src/actions.ts +6 -6
  1062. package/extensions/zalo/src/channel.directory.test.ts +2 -2
  1063. package/extensions/zalo/src/channel.ts +20 -20
  1064. package/extensions/zalo/src/config-schema.ts +1 -1
  1065. package/extensions/zalo/src/monitor.ts +9 -9
  1066. package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
  1067. package/extensions/zalo/src/onboarding.ts +27 -27
  1068. package/extensions/zalo/src/runtime.ts +1 -1
  1069. package/extensions/zalo/src/send.ts +2 -2
  1070. package/extensions/zalo/src/status-issues.ts +1 -1
  1071. package/extensions/zalo/src/token.ts +1 -1
  1072. package/extensions/zalouser/CHANGELOG.md +4 -4
  1073. package/extensions/zalouser/README.md +17 -17
  1074. package/extensions/zalouser/index.ts +3 -3
  1075. package/extensions/zalouser/node_modules/.bin/poolbot +21 -0
  1076. package/extensions/zalouser/package.json +6 -6
  1077. package/extensions/zalouser/src/accounts.ts +10 -10
  1078. package/extensions/zalouser/src/channel.ts +27 -27
  1079. package/extensions/zalouser/src/config-schema.ts +1 -1
  1080. package/extensions/zalouser/src/monitor.ts +5 -5
  1081. package/extensions/zalouser/src/onboarding.ts +32 -32
  1082. package/extensions/zalouser/src/runtime.ts +1 -1
  1083. package/extensions/zalouser/src/status-issues.ts +2 -2
  1084. package/git-hooks/pre-commit +0 -0
  1085. package/package.json +78 -89
  1086. package/skills/1password/SKILL.md +3 -3
  1087. package/skills/apple-notes/SKILL.md +2 -2
  1088. package/skills/apple-reminders/SKILL.md +1 -1
  1089. package/skills/bear-notes/SKILL.md +1 -1
  1090. package/skills/bird/SKILL.md +1 -1
  1091. package/skills/blogwatcher/SKILL.md +1 -1
  1092. package/skills/blucli/SKILL.md +1 -1
  1093. package/skills/bluebubbles/SKILL.md +2 -2
  1094. package/skills/camsnap/SKILL.md +1 -1
  1095. package/skills/canvas/SKILL.md +15 -15
  1096. package/skills/coding-agent/SKILL.md +6 -6
  1097. package/skills/discord/SKILL.md +6 -5
  1098. package/skills/eightctl/SKILL.md +1 -1
  1099. package/skills/food-order/SKILL.md +1 -1
  1100. package/skills/gemini/SKILL.md +1 -1
  1101. package/skills/gifgrep/SKILL.md +1 -1
  1102. package/skills/github/SKILL.md +1 -0
  1103. package/skills/gog/SKILL.md +1 -1
  1104. package/skills/goplaces/SKILL.md +1 -1
  1105. package/skills/himalaya/SKILL.md +1 -1
  1106. package/skills/imsg/SKILL.md +1 -1
  1107. package/skills/local-places/SKILL.md +1 -1
  1108. package/skills/mcporter/SKILL.md +1 -1
  1109. package/skills/model-usage/SKILL.md +1 -1
  1110. package/skills/nano-banana-pro/SKILL.md +10 -5
  1111. package/skills/nano-banana-pro/scripts/generate_image.py +42 -27
  1112. package/skills/nano-pdf/SKILL.md +1 -1
  1113. package/skills/notion/SKILL.md +1 -1
  1114. package/skills/obsidian/SKILL.md +1 -1
  1115. package/skills/openai-image-gen/SKILL.md +1 -1
  1116. package/skills/openai-whisper/SKILL.md +1 -1
  1117. package/skills/openai-whisper-api/SKILL.md +2 -2
  1118. package/skills/openhue/SKILL.md +1 -1
  1119. package/skills/oracle/SKILL.md +1 -1
  1120. package/skills/ordercli/SKILL.md +1 -1
  1121. package/skills/peekaboo/SKILL.md +1 -1
  1122. package/skills/{clawdhub → poolhub}/SKILL.md +2 -2
  1123. package/skills/sag/SKILL.md +1 -1
  1124. package/skills/session-logs/SKILL.md +7 -7
  1125. package/skills/sherpa-onnx-tts/SKILL.md +6 -6
  1126. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -0
  1127. package/skills/slack/SKILL.md +4 -3
  1128. package/skills/songsee/SKILL.md +1 -1
  1129. package/skills/sonoscli/SKILL.md +1 -1
  1130. package/skills/spotify-player/SKILL.md +1 -1
  1131. package/skills/summarize/SKILL.md +1 -1
  1132. package/skills/things-mac/SKILL.md +3 -3
  1133. package/skills/tmux/SKILL.md +7 -7
  1134. package/skills/tmux/scripts/find-sessions.sh +1 -1
  1135. package/skills/tmux/scripts/wait-for-text.sh +0 -0
  1136. package/skills/trello/SKILL.md +2 -2
  1137. package/skills/video-frames/SKILL.md +1 -1
  1138. package/skills/voice-call/SKILL.md +4 -4
  1139. package/skills/wacli/SKILL.md +2 -2
  1140. package/skills/weather/SKILL.md +1 -1
  1141. package/skills/webgpu-threejs-tsl/REFERENCE.md +283 -0
  1142. package/skills/webgpu-threejs-tsl/SKILL.md +91 -0
  1143. package/skills/webgpu-threejs-tsl/docs/compute-shaders.md +404 -0
  1144. package/skills/webgpu-threejs-tsl/docs/core-concepts.md +453 -0
  1145. package/skills/webgpu-threejs-tsl/docs/materials.md +353 -0
  1146. package/skills/webgpu-threejs-tsl/docs/post-processing.md +434 -0
  1147. package/skills/webgpu-threejs-tsl/docs/wgsl-integration.md +324 -0
  1148. package/skills/webgpu-threejs-tsl/examples/basic-setup.js +87 -0
  1149. package/skills/webgpu-threejs-tsl/examples/custom-material.js +170 -0
  1150. package/skills/webgpu-threejs-tsl/examples/earth-shader.js +292 -0
  1151. package/skills/webgpu-threejs-tsl/examples/particle-system.js +259 -0
  1152. package/skills/webgpu-threejs-tsl/examples/post-processing.js +199 -0
  1153. package/skills/webgpu-threejs-tsl/templates/compute-shader.js +305 -0
  1154. package/skills/webgpu-threejs-tsl/templates/webgpu-project.js +276 -0
  1155. package/dist/cli/browser-cli-serve.js +0 -91
  1156. package/dist/control-ui/assets/index-Cl-Y9zqE.js.map +0 -1
  1157. package/dist/control-ui/assets/index-DEPfFcOb.css +0 -1
  1158. package/docs/POOL-BOT.md +0 -119
  1159. /package/dist/{config/types.clawdbot.js → browser/routes/types.js} +0 -0
  1160. /package/docs/{whatsapp-clawd.jpg → whatsapp-poolbot.jpg} +0 -0
  1161. /package/extensions/bluebubbles/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1162. /package/extensions/copilot-proxy/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1163. /package/extensions/diagnostics-otel/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1164. /package/extensions/discord/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1165. /package/extensions/google-antigravity-auth/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1166. /package/extensions/google-gemini-cli-auth/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1167. /package/extensions/googlechat/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1168. /package/extensions/imessage/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1169. /package/extensions/line/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1170. /package/extensions/llm-task/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1171. /package/extensions/lobster/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1172. /package/extensions/matrix/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1173. /package/extensions/mattermost/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1174. /package/extensions/memory-core/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1175. /package/extensions/msteams/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1176. /package/extensions/nextcloud-talk/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1177. /package/extensions/nostr/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1178. /package/extensions/open-prose/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1179. /package/extensions/qwen-portal-auth/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1180. /package/extensions/signal/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1181. /package/extensions/slack/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1182. /package/extensions/telegram/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1183. /package/extensions/tlon/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1184. /package/extensions/whatsapp/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1185. /package/extensions/zalo/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
  1186. /package/extensions/zalouser/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
@@ -1,9 +1,9 @@
1
- import { resolveClawdbotPackageRoot } from "../infra/clawdbot-root.js";
1
+ import { resolvePoolBotPackageRoot } from "../infra/poolbot-root.js";
2
2
  import { checkUpdateStatus, compareSemverStrings, } from "../infra/update-check.js";
3
3
  import { formatCliCommand } from "../cli/command-format.js";
4
4
  import { VERSION } from "../version.js";
5
5
  export async function getUpdateCheckResult(params) {
6
- const root = await resolveClawdbotPackageRoot({
6
+ const root = await resolvePoolBotPackageRoot({
7
7
  moduleUrl: import.meta.url,
8
8
  argv1: process.argv[1],
9
9
  cwd: process.cwd(),
@@ -43,7 +43,7 @@ export function formatUpdateAvailableHint(update) {
43
43
  details.push(`npm ${availability.latestVersion}`);
44
44
  }
45
45
  const suffix = details.length > 0 ? ` (${details.join(" · ")})` : "";
46
- return `Update available${suffix}. Run: ${formatCliCommand("clawdbot update")}`;
46
+ return `Update available${suffix}. Run: ${formatCliCommand("poolbot update")}`;
47
47
  }
48
48
  export function formatUpdateOneLiner(update) {
49
49
  const parts = [];
@@ -59,9 +59,9 @@ async function stopAndUninstallService(runtime) {
59
59
  async function removeMacApp(runtime, dryRun) {
60
60
  if (process.platform !== "darwin")
61
61
  return;
62
- await removePath("/Applications/Clawdbot.app", runtime, {
62
+ await removePath("/Applications/Moltbot.app", runtime, {
63
63
  dryRun,
64
- label: "/Applications/Clawdbot.app",
64
+ label: "/Applications/Moltbot.app",
65
65
  });
66
66
  }
67
67
  export async function uninstallCommand(runtime, opts) {
@@ -86,12 +86,12 @@ export async function uninstallCommand(runtime, opts) {
86
86
  label: "Gateway service",
87
87
  hint: "launchd / systemd / schtasks",
88
88
  },
89
- { value: "state", label: "State + config", hint: "~/.clawdbot" },
89
+ { value: "state", label: "State + config", hint: "~/.poolbot" },
90
90
  { value: "workspace", label: "Workspace", hint: "agent files" },
91
91
  {
92
92
  value: "app",
93
93
  label: "macOS app",
94
- hint: "/Applications/Clawdbot.app",
94
+ hint: "/Applications/Moltbot.app",
95
95
  },
96
96
  ],
97
97
  initialValues: ["service", "state", "workspace"],
@@ -0,0 +1,5 @@
1
+ export const LEGACY_PROJECT_NAME = "poolbot";
2
+ export const LEGACY_MANIFEST_KEY = LEGACY_PROJECT_NAME;
3
+ export const LEGACY_PLUGIN_MANIFEST_FILENAME = `${LEGACY_PROJECT_NAME}.plugin.json`;
4
+ export const LEGACY_CANVAS_HANDLER_NAME = `${LEGACY_PROJECT_NAME}CanvasA2UIAction`;
5
+ export const LEGACY_MACOS_APP_SOURCES_DIR = "apps/macos/Sources/Clawdbot";
@@ -4,4 +4,4 @@ export * from "./paths.js";
4
4
  export * from "./runtime-overrides.js";
5
5
  export * from "./types.js";
6
6
  export { validateConfigObject, validateConfigObjectWithPlugins } from "./validation.js";
7
- export { ClawdbotSchema } from "./zod-schema.js";
7
+ export { PoolBotSchema } from "./zod-schema.js";
@@ -1,4 +1,55 @@
1
1
  import { normalizeAccountId } from "../routing/session-key.js";
2
+ function normalizeSenderKey(value) {
3
+ const trimmed = value.trim();
4
+ if (!trimmed)
5
+ return "";
6
+ const withoutAt = trimmed.startsWith("@") ? trimmed.slice(1) : trimmed;
7
+ return withoutAt.toLowerCase();
8
+ }
9
+ export function resolveToolsBySender(params) {
10
+ const toolsBySender = params.toolsBySender;
11
+ if (!toolsBySender)
12
+ return undefined;
13
+ const entries = Object.entries(toolsBySender);
14
+ if (entries.length === 0)
15
+ return undefined;
16
+ const normalized = new Map();
17
+ let wildcard;
18
+ for (const [rawKey, policy] of entries) {
19
+ if (!policy)
20
+ continue;
21
+ const key = normalizeSenderKey(rawKey);
22
+ if (!key)
23
+ continue;
24
+ if (key === "*") {
25
+ wildcard = policy;
26
+ continue;
27
+ }
28
+ if (!normalized.has(key)) {
29
+ normalized.set(key, policy);
30
+ }
31
+ }
32
+ const candidates = [];
33
+ const pushCandidate = (value) => {
34
+ const trimmed = value?.trim();
35
+ if (!trimmed)
36
+ return;
37
+ candidates.push(trimmed);
38
+ };
39
+ pushCandidate(params.senderId);
40
+ pushCandidate(params.senderE164);
41
+ pushCandidate(params.senderUsername);
42
+ pushCandidate(params.senderName);
43
+ for (const candidate of candidates) {
44
+ const key = normalizeSenderKey(candidate);
45
+ if (!key)
46
+ continue;
47
+ const match = normalized.get(key);
48
+ if (match)
49
+ return match;
50
+ }
51
+ return wildcard;
52
+ }
2
53
  function resolveChannelGroups(cfg, channel, accountId) {
3
54
  const normalizedAccountId = normalizeAccountId(accountId);
4
55
  const channelConfig = cfg.channels?.[channel];
@@ -46,8 +97,26 @@ export function resolveChannelGroupRequireMention(params) {
46
97
  }
47
98
  export function resolveChannelGroupToolsPolicy(params) {
48
99
  const { groupConfig, defaultConfig } = resolveChannelGroupPolicy(params);
100
+ const groupSenderPolicy = resolveToolsBySender({
101
+ toolsBySender: groupConfig?.toolsBySender,
102
+ senderId: params.senderId,
103
+ senderName: params.senderName,
104
+ senderUsername: params.senderUsername,
105
+ senderE164: params.senderE164,
106
+ });
107
+ if (groupSenderPolicy)
108
+ return groupSenderPolicy;
49
109
  if (groupConfig?.tools)
50
110
  return groupConfig.tools;
111
+ const defaultSenderPolicy = resolveToolsBySender({
112
+ toolsBySender: defaultConfig?.toolsBySender,
113
+ senderId: params.senderId,
114
+ senderName: params.senderName,
115
+ senderUsername: params.senderUsername,
116
+ senderE164: params.senderE164,
117
+ });
118
+ if (defaultSenderPolicy)
119
+ return defaultSenderPolicy;
51
120
  if (defaultConfig?.tools)
52
121
  return defaultConfig.tools;
53
122
  return undefined;
package/dist/config/io.js CHANGED
@@ -12,10 +12,10 @@ import { collectConfigEnvVars } from "./env-vars.js";
12
12
  import { ConfigIncludeError, resolveConfigIncludes } from "./includes.js";
13
13
  import { findLegacyConfigIssues } from "./legacy.js";
14
14
  import { normalizeConfigPaths } from "./normalize-paths.js";
15
- import { resolveConfigPath, resolveStateDir } from "./paths.js";
15
+ import { resolveConfigPath, resolveDefaultConfigCandidates, resolveStateDir } from "./paths.js";
16
16
  import { applyConfigOverrides } from "./runtime-overrides.js";
17
17
  import { validateConfigObjectWithPlugins } from "./validation.js";
18
- import { compareClawdbotVersions } from "./version.js";
18
+ import { compareMoltbotVersions } from "./version.js";
19
19
  // Re-export for backwards compatibility
20
20
  export { CircularIncludeError, ConfigIncludeError } from "./includes.js";
21
21
  export { MissingEnvVarError } from "./env-substitution.js";
@@ -103,11 +103,11 @@ function warnIfConfigFromFuture(cfg, logger) {
103
103
  const touched = cfg.meta?.lastTouchedVersion;
104
104
  if (!touched)
105
105
  return;
106
- const cmp = compareClawdbotVersions(VERSION, touched);
106
+ const cmp = compareMoltbotVersions(VERSION, touched);
107
107
  if (cmp === null)
108
108
  return;
109
109
  if (cmp < 0) {
110
- logger.warn(`Config was last written by a newer Clawdbot (${touched}); current version is ${VERSION}.`);
110
+ logger.warn(`Config was last written by a newer Moltbot (${touched}); current version is ${VERSION}.`);
111
111
  }
112
112
  }
113
113
  function applyConfigEnv(cfg, env) {
@@ -143,7 +143,11 @@ export function parseConfigJson5(raw, json5 = JSON5) {
143
143
  }
144
144
  export function createConfigIO(overrides = {}) {
145
145
  const deps = normalizeDeps(overrides);
146
- const configPath = resolveConfigPathForDeps(deps);
146
+ const requestedConfigPath = resolveConfigPathForDeps(deps);
147
+ const candidatePaths = deps.configPath
148
+ ? [requestedConfigPath]
149
+ : resolveDefaultConfigCandidates(deps.env, deps.homedir);
150
+ const configPath = candidatePaths.find((candidate) => deps.fs.existsSync(candidate)) ?? requestedConfigPath;
147
151
  function loadConfig() {
148
152
  try {
149
153
  if (!deps.fs.existsSync(configPath)) {
@@ -165,6 +169,10 @@ export function createConfigIO(overrides = {}) {
165
169
  readFile: (p) => deps.fs.readFileSync(p, "utf-8"),
166
170
  parseJson: (raw) => deps.json5.parse(raw),
167
171
  });
172
+ // Apply config.env to process.env BEFORE substitution so ${VAR} can reference config-defined vars
173
+ if (resolved && typeof resolved === "object" && "env" in resolved) {
174
+ applyConfigEnv(resolved, deps.env);
175
+ }
168
176
  // Substitute ${VAR} env var references
169
177
  const substituted = resolveConfigEnvVars(resolved, deps.env);
170
178
  const resolvedConfig = substituted;
@@ -296,6 +304,10 @@ export function createConfigIO(overrides = {}) {
296
304
  legacyIssues: [],
297
305
  };
298
306
  }
307
+ // Apply config.env to process.env BEFORE substitution so ${VAR} can reference config-defined vars
308
+ if (resolved && typeof resolved === "object" && "env" in resolved) {
309
+ applyConfigEnv(resolved, deps.env);
310
+ }
299
311
  // Substitute ${VAR} env var references
300
312
  let substituted;
301
313
  try {
@@ -1,4 +1,6 @@
1
1
  import { ensureAgentEntry, ensureRecord, getAgentsList, getRecord, isRecord, mergeMissing, resolveDefaultAgentIdFromRaw, } from "./legacy.shared.js";
2
+ // NOTE: tools.alsoAllow was introduced after legacy migrations; no legacy migration needed.
3
+ // tools.alsoAllow legacy migration intentionally omitted (field not shipped in prod).
2
4
  export const LEGACY_CONFIG_MIGRATIONS_PART_3 = [
3
5
  {
4
6
  id: "auth.anthropic-claude-cli-mode-oauth",
@@ -17,6 +19,7 @@ export const LEGACY_CONFIG_MIGRATIONS_PART_3 = [
17
19
  changes.push('Updated auth.profiles["anthropic:claude-cli"].mode → "oauth".');
18
20
  },
19
21
  },
22
+ // tools.alsoAllow migration removed (field not shipped in prod; enforce via schema instead).
20
23
  {
21
24
  id: "tools.bash->tools.exec",
22
25
  describe: "Move tools.bash to tools.exec",
@@ -1,10 +1,10 @@
1
1
  import { displayPath } from "../utils.js";
2
- import { CONFIG_PATH_CLAWDBOT } from "./paths.js";
3
- export function formatConfigPath(path = CONFIG_PATH_CLAWDBOT) {
2
+ import { CONFIG_PATH } from "./paths.js";
3
+ export function formatConfigPath(path = CONFIG_PATH) {
4
4
  return displayPath(path);
5
5
  }
6
6
  export function logConfigUpdated(runtime, opts = {}) {
7
- const path = formatConfigPath(opts.path ?? CONFIG_PATH_CLAWDBOT);
7
+ const path = formatConfigPath(opts.path ?? CONFIG_PATH);
8
8
  const suffix = opts.suffix ? ` ${opts.suffix}` : "";
9
9
  runtime.log(`Updated ${path}${suffix}`);
10
10
  }
@@ -11,16 +11,25 @@ export function resolveIsNixMode(env = process.env) {
11
11
  return env.CLAWDBOT_NIX_MODE === "1";
12
12
  }
13
13
  export const isNixMode = resolveIsNixMode();
14
+ const LEGACY_STATE_DIRNAME = ".poolbot";
15
+ const NEW_STATE_DIRNAME = ".poolbot";
16
+ const CONFIG_FILENAME = "poolbot.json";
17
+ function legacyStateDir(homedir = os.homedir) {
18
+ return path.join(homedir(), LEGACY_STATE_DIRNAME);
19
+ }
20
+ function newStateDir(homedir = os.homedir) {
21
+ return path.join(homedir(), NEW_STATE_DIRNAME);
22
+ }
14
23
  /**
15
24
  * State directory for mutable data (sessions, logs, caches).
16
- * Can be overridden via CLAWDBOT_STATE_DIR environment variable.
17
- * Default: ~/.clawdbot
25
+ * Can be overridden via MOLTBOT_STATE_DIR (preferred) or CLAWDBOT_STATE_DIR (legacy).
26
+ * Default: ~/.poolbot (legacy default for compatibility)
18
27
  */
19
28
  export function resolveStateDir(env = process.env, homedir = os.homedir) {
20
- const override = env.CLAWDBOT_STATE_DIR?.trim();
29
+ const override = env.MOLTBOT_STATE_DIR?.trim() || env.CLAWDBOT_STATE_DIR?.trim();
21
30
  if (override)
22
31
  return resolveUserPath(override);
23
- return path.join(homedir(), ".clawdbot");
32
+ return legacyStateDir(homedir);
24
33
  }
25
34
  function resolveUserPath(input) {
26
35
  const trimmed = input.trim();
@@ -32,28 +41,49 @@ function resolveUserPath(input) {
32
41
  }
33
42
  return path.resolve(trimmed);
34
43
  }
35
- export const STATE_DIR_CLAWDBOT = resolveStateDir();
44
+ export const STATE_DIR = resolveStateDir();
36
45
  /**
37
46
  * Config file path (JSON5).
38
- * Can be overridden via CLAWDBOT_CONFIG_PATH environment variable.
39
- * Default: ~/.clawdbot/clawdbot.json (or $CLAWDBOT_STATE_DIR/clawdbot.json)
47
+ * Can be overridden via MOLTBOT_CONFIG_PATH (preferred) or CLAWDBOT_CONFIG_PATH (legacy).
48
+ * Default: ~/.poolbot/poolbot.json (or $*_STATE_DIR/poolbot.json)
40
49
  */
41
50
  export function resolveConfigPath(env = process.env, stateDir = resolveStateDir(env, os.homedir)) {
42
- const override = env.CLAWDBOT_CONFIG_PATH?.trim();
51
+ const override = env.MOLTBOT_CONFIG_PATH?.trim() || env.CLAWDBOT_CONFIG_PATH?.trim();
43
52
  if (override)
44
53
  return resolveUserPath(override);
45
- return path.join(stateDir, "clawdbot.json");
54
+ return path.join(stateDir, CONFIG_FILENAME);
55
+ }
56
+ export const CONFIG_PATH = resolveConfigPath();
57
+ /**
58
+ * Resolve default config path candidates across new + legacy locations.
59
+ * Order: explicit config path → state-dir-derived paths → new default → legacy default.
60
+ */
61
+ export function resolveDefaultConfigCandidates(env = process.env, homedir = os.homedir) {
62
+ const explicit = env.MOLTBOT_CONFIG_PATH?.trim() || env.CLAWDBOT_CONFIG_PATH?.trim();
63
+ if (explicit)
64
+ return [resolveUserPath(explicit)];
65
+ const candidates = [];
66
+ const poolbotStateDir = env.MOLTBOT_STATE_DIR?.trim();
67
+ if (poolbotStateDir) {
68
+ candidates.push(path.join(resolveUserPath(poolbotStateDir), CONFIG_FILENAME));
69
+ }
70
+ const legacyStateDirOverride = env.CLAWDBOT_STATE_DIR?.trim();
71
+ if (legacyStateDirOverride) {
72
+ candidates.push(path.join(resolveUserPath(legacyStateDirOverride), CONFIG_FILENAME));
73
+ }
74
+ candidates.push(path.join(newStateDir(homedir), CONFIG_FILENAME));
75
+ candidates.push(path.join(legacyStateDir(homedir), CONFIG_FILENAME));
76
+ return candidates;
46
77
  }
47
- export const CONFIG_PATH_CLAWDBOT = resolveConfigPath();
48
78
  export const DEFAULT_GATEWAY_PORT = 18789;
49
79
  /**
50
80
  * Gateway lock directory (ephemeral).
51
- * Default: os.tmpdir()/clawdbot-<uid> (uid suffix when available).
81
+ * Default: os.tmpdir()/poolbot-<uid> (uid suffix when available).
52
82
  */
53
83
  export function resolveGatewayLockDir(tmpdir = os.tmpdir) {
54
84
  const base = tmpdir();
55
85
  const uid = typeof process.getuid === "function" ? process.getuid() : undefined;
56
- const suffix = uid != null ? `clawdbot-${uid}` : "clawdbot";
86
+ const suffix = uid != null ? `poolbot-${uid}` : "poolbot";
57
87
  return path.join(base, suffix);
58
88
  }
59
89
  const OAUTH_FILENAME = "oauth.json";
@@ -62,8 +92,8 @@ const OAUTH_FILENAME = "oauth.json";
62
92
  *
63
93
  * Precedence:
64
94
  * - `CLAWDBOT_OAUTH_DIR` (explicit override)
65
- * - `CLAWDBOT_STATE_DIR/credentials` (canonical server/default)
66
- * - `~/.clawdbot/credentials` (legacy default)
95
+ * - `$*_STATE_DIR/credentials` (canonical server/default)
96
+ * - `~/.poolbot/credentials` (legacy default)
67
97
  */
68
98
  export function resolveOAuthDir(env = process.env, stateDir = resolveStateDir(env, os.homedir)) {
69
99
  const override = env.CLAWDBOT_OAUTH_DIR?.trim();
@@ -1,6 +1,6 @@
1
1
  import { CHANNEL_IDS } from "../channels/registry.js";
2
2
  import { VERSION } from "../version.js";
3
- import { ClawdbotSchema } from "./zod-schema.js";
3
+ import { PoolBotSchema } from "./zod-schema.js";
4
4
  const GROUP_LABELS = {
5
5
  wizard: "Wizard",
6
6
  update: "Update",
@@ -119,7 +119,9 @@ const FIELD_LABELS = {
119
119
  "tools.links.models": "Link Understanding Models",
120
120
  "tools.links.scope": "Link Understanding Scope",
121
121
  "tools.profile": "Tool Profile",
122
+ "tools.alsoAllow": "Tool Allowlist Additions",
122
123
  "agents.list[].tools.profile": "Agent Tool Profile",
124
+ "agents.list[].tools.alsoAllow": "Agent Tool Allowlist Additions",
123
125
  "tools.byProvider": "Tool Policy by Provider",
124
126
  "agents.list[].tools.byProvider": "Agent Tool Policy by Provider",
125
127
  "tools.exec.applyPatch.enabled": "Enable apply_patch",
@@ -153,6 +155,7 @@ const FIELD_LABELS = {
153
155
  "tools.web.fetch.userAgent": "Web Fetch User-Agent",
154
156
  "gateway.controlUi.basePath": "Control UI Base Path",
155
157
  "gateway.controlUi.allowInsecureAuth": "Allow Insecure Control UI Auth",
158
+ "gateway.controlUi.dangerouslyDisableDeviceAuth": "Dangerously Disable Control UI Device Auth",
156
159
  "gateway.http.endpoints.chatCompletions.enabled": "OpenAI Chat Completions Endpoint",
157
160
  "gateway.reload.mode": "Config Reload Mode",
158
161
  "gateway.reload.debounceMs": "Config Reload Debounce (ms)",
@@ -228,7 +231,7 @@ const FIELD_LABELS = {
228
231
  "ui.seamColor": "Accent Color",
229
232
  "ui.assistant.name": "Assistant Name",
230
233
  "ui.assistant.avatar": "Assistant Avatar",
231
- "browser.controlUrl": "Browser Control URL",
234
+ "browser.evaluateEnabled": "Browser Evaluate Enabled",
232
235
  "browser.snapshotDefaults": "Browser Snapshot Defaults",
233
236
  "browser.snapshotDefaults.mode": "Browser Snapshot Mode",
234
237
  "browser.remoteCdpTimeoutMs": "Remote CDP Timeout (ms)",
@@ -259,6 +262,7 @@ const FIELD_LABELS = {
259
262
  "channels.telegram.retry.minDelayMs": "Telegram Retry Min Delay (ms)",
260
263
  "channels.telegram.retry.maxDelayMs": "Telegram Retry Max Delay (ms)",
261
264
  "channels.telegram.retry.jitter": "Telegram Retry Jitter",
265
+ "channels.telegram.network.autoSelectFamily": "Telegram autoSelectFamily",
262
266
  "channels.telegram.timeoutSeconds": "Telegram API Timeout (seconds)",
263
267
  "channels.telegram.capabilities.inlineButtons": "Telegram Inline Buttons",
264
268
  "channels.whatsapp.dmPolicy": "WhatsApp DM Policy",
@@ -273,6 +277,8 @@ const FIELD_LABELS = {
273
277
  "channels.discord.retry.maxDelayMs": "Discord Retry Max Delay (ms)",
274
278
  "channels.discord.retry.jitter": "Discord Retry Jitter",
275
279
  "channels.discord.maxLinesPerMessage": "Discord Max Lines Per Message",
280
+ "channels.discord.intents.presence": "Discord Presence Intent",
281
+ "channels.discord.intents.guildMembers": "Discord Guild Members Intent",
276
282
  "channels.slack.dm.policy": "Slack DM Policy",
277
283
  "channels.slack.allowBots": "Slack Allow Bot Messages",
278
284
  "channels.discord.token": "Discord Bot Token",
@@ -290,6 +296,7 @@ const FIELD_LABELS = {
290
296
  "channels.signal.account": "Signal Account",
291
297
  "channels.imessage.cliPath": "iMessage CLI Path",
292
298
  "agents.list[].identity.avatar": "Agent Avatar",
299
+ "discovery.mdns.mode": "mDNS Discovery Mode",
293
300
  "plugins.enabled": "Enable Plugins",
294
301
  "plugins.allow": "Plugin Allowlist",
295
302
  "plugins.deny": "Plugin Denylist",
@@ -308,7 +315,7 @@ const FIELD_LABELS = {
308
315
  "plugins.installs.*.installedAt": "Plugin Install Time",
309
316
  };
310
317
  const FIELD_HELP = {
311
- "meta.lastTouchedVersion": "Auto-set when Clawdbot writes the config.",
318
+ "meta.lastTouchedVersion": "Auto-set when Moltbot writes the config.",
312
319
  "meta.lastTouchedAt": "ISO timestamp of the last config write (auto-set).",
313
320
  "update.channel": 'Update channel for git + npm installs ("stable", "beta", or "dev").',
314
321
  "update.checkOnStart": "Check for npm updates when the gateway starts (default: true).",
@@ -317,10 +324,12 @@ const FIELD_HELP = {
317
324
  "gateway.remote.sshTarget": "Remote gateway over SSH (tunnels the gateway port to localhost). Format: user@host or user@host:port.",
318
325
  "gateway.remote.sshIdentity": "Optional SSH identity file path (passed to ssh -i).",
319
326
  "agents.list[].identity.avatar": "Avatar image path (relative to the agent workspace only) or a remote URL/data URL.",
320
- "gateway.auth.token": "Recommended for all gateways; required for non-loopback binds.",
327
+ "discovery.mdns.mode": 'mDNS broadcast mode ("minimal" default, "full" includes cliPath/sshPort, "off" disables mDNS).',
328
+ "gateway.auth.token": "Required by default for gateway access (unless using Tailscale Serve identity); required for non-loopback binds.",
321
329
  "gateway.auth.password": "Required for Tailscale funnel.",
322
- "gateway.controlUi.basePath": "Optional URL prefix where the Control UI is served (e.g. /clawdbot).",
330
+ "gateway.controlUi.basePath": "Optional URL prefix where the Control UI is served (e.g. /poolbot).",
323
331
  "gateway.controlUi.allowInsecureAuth": "Allow Control UI auth over insecure HTTP (token-only; not recommended).",
332
+ "gateway.controlUi.dangerouslyDisableDeviceAuth": "DANGEROUS. Disable Control UI device identity checks (token/password only).",
324
333
  "gateway.http.endpoints.chatCompletions.enabled": "Enable the OpenAI-compatible `POST /v1/chat/completions` endpoint (default: false).",
325
334
  "gateway.reload.mode": 'Hot reload strategy for config changes ("hybrid" recommended).',
326
335
  "gateway.reload.debounceMs": "Debounce window (ms) before applying config changes.",
@@ -404,7 +413,7 @@ const FIELD_HELP = {
404
413
  "agents.defaults.memorySearch.remote.batch.timeoutMinutes": "Timeout in minutes for batch indexing (default: 60).",
405
414
  "agents.defaults.memorySearch.local.modelPath": "Local GGUF model path or hf: URI (node-llama-cpp).",
406
415
  "agents.defaults.memorySearch.fallback": 'Fallback provider when embeddings fail ("openai", "gemini", "local", or "none").',
407
- "agents.defaults.memorySearch.store.path": "SQLite index path (default: ~/.clawdbot/memory/{agentId}.sqlite).",
416
+ "agents.defaults.memorySearch.store.path": "SQLite index path (default: ~/.poolbot/memory/{agentId}.sqlite).",
408
417
  "agents.defaults.memorySearch.store.vector.enabled": "Enable sqlite-vec extension for vector search (default: true).",
409
418
  "agents.defaults.memorySearch.store.vector.extensionPath": "Optional override path to sqlite-vec extension library (.dylib/.so/.dll).",
410
419
  "agents.defaults.memorySearch.query.hybrid.enabled": "Enable hybrid BM25 + vector search for memory (default: true).",
@@ -426,11 +435,11 @@ const FIELD_HELP = {
426
435
  "plugins.entries": "Per-plugin settings keyed by plugin id (enable/disable + config payloads).",
427
436
  "plugins.entries.*.enabled": "Overrides plugin enable/disable for this entry (restart required).",
428
437
  "plugins.entries.*.config": "Plugin-defined config payload (schema is provided by the plugin).",
429
- "plugins.installs": "CLI-managed install metadata (used by `clawdbot plugins update` to locate install sources).",
438
+ "plugins.installs": "CLI-managed install metadata (used by `poolbot plugins update` to locate install sources).",
430
439
  "plugins.installs.*.source": 'Install source ("npm", "archive", or "path").',
431
440
  "plugins.installs.*.spec": "Original npm spec used for install (if source is npm).",
432
441
  "plugins.installs.*.sourcePath": "Original archive/path used for install (if any).",
433
- "plugins.installs.*.installPath": "Resolved install directory (usually ~/.clawdbot/extensions/<id>).",
442
+ "plugins.installs.*.installPath": "Resolved install directory (usually ~/.poolbot/extensions/<id>).",
434
443
  "plugins.installs.*.version": "Version recorded at install time (if available).",
435
444
  "plugins.installs.*.installedAt": "ISO timestamp of last install/update.",
436
445
  "agents.list.*.identity.avatar": "Agent avatar (workspace-relative path, http(s) URL, or data URI).",
@@ -481,6 +490,7 @@ const FIELD_HELP = {
481
490
  "channels.telegram.retry.minDelayMs": "Minimum retry delay in ms for Telegram outbound calls.",
482
491
  "channels.telegram.retry.maxDelayMs": "Maximum retry delay cap in ms for Telegram outbound calls.",
483
492
  "channels.telegram.retry.jitter": "Jitter factor (0-1) applied to Telegram retry delays.",
493
+ "channels.telegram.network.autoSelectFamily": "Override Node autoSelectFamily for Telegram (true=enable, false=disable).",
484
494
  "channels.telegram.timeoutSeconds": "Max seconds before Telegram API requests are aborted (default: 500 per grammY).",
485
495
  "channels.whatsapp.dmPolicy": 'Direct message access control ("pairing" recommended). "open" requires channels.whatsapp.allowFrom=["*"].',
486
496
  "channels.whatsapp.selfChatMode": "Same-phone setup (bot uses your personal WhatsApp number).",
@@ -494,13 +504,15 @@ const FIELD_HELP = {
494
504
  "channels.discord.retry.maxDelayMs": "Maximum retry delay cap in ms for Discord outbound calls.",
495
505
  "channels.discord.retry.jitter": "Jitter factor (0-1) applied to Discord retry delays.",
496
506
  "channels.discord.maxLinesPerMessage": "Soft max line count per Discord message (default: 17).",
507
+ "channels.discord.intents.presence": "Enable the Guild Presences privileged intent. Must also be enabled in the Discord Developer Portal. Allows tracking user activities (e.g. Spotify). Default: false.",
508
+ "channels.discord.intents.guildMembers": "Enable the Guild Members privileged intent. Must also be enabled in the Discord Developer Portal. Default: false.",
497
509
  "channels.slack.dm.policy": 'Direct message access control ("pairing" recommended). "open" requires channels.slack.dm.allowFrom=["*"].',
498
510
  };
499
511
  const FIELD_PLACEHOLDERS = {
500
512
  "gateway.remote.url": "ws://host:18789",
501
513
  "gateway.remote.tlsFingerprint": "sha256:ab12cd34…",
502
514
  "gateway.remote.sshTarget": "user@host",
503
- "gateway.controlUi.basePath": "/clawdbot",
515
+ "gateway.controlUi.basePath": "/poolbot",
504
516
  "channels.mattermost.baseUrl": "https://chat.example.com",
505
517
  "agents.list[].identity.avatar": "avatars/clawd.png",
506
518
  };
@@ -750,11 +762,11 @@ function stripChannelSchema(schema) {
750
762
  function buildBaseConfigSchema() {
751
763
  if (cachedBase)
752
764
  return cachedBase;
753
- const schema = ClawdbotSchema.toJSONSchema({
765
+ const schema = PoolBotSchema.toJSONSchema({
754
766
  target: "draft-07",
755
767
  unrepresentable: "any",
756
768
  });
757
- schema.title = "ClawdbotConfig";
769
+ schema.title = "PoolBotConfig";
758
770
  const hints = applySensitiveHints(buildBaseHints());
759
771
  const next = {
760
772
  schema: stripChannelSchema(schema),
@@ -81,7 +81,7 @@ export async function appendAssistantMessageToSessionTranscript(params) {
81
81
  role: "assistant",
82
82
  content: [{ type: "text", text: mirrorText }],
83
83
  api: "openai-responses",
84
- provider: "clawdbot",
84
+ provider: "poolbot",
85
85
  model: "delivery-mirror",
86
86
  usage: {
87
87
  input: 0,
@@ -6,7 +6,7 @@ export * from "./types.auth.js";
6
6
  export * from "./types.base.js";
7
7
  export * from "./types.browser.js";
8
8
  export * from "./types.channels.js";
9
- export * from "./types.clawdbot.js";
9
+ export * from "./types.poolbot.js";
10
10
  export * from "./types.cron.js";
11
11
  export * from "./types.discord.js";
12
12
  export * from "./types.googlechat.js";
@@ -0,0 +1 @@
1
+ export {};
@@ -7,7 +7,7 @@ import { validateJsonSchemaValue } from "../plugins/schema-validator.js";
7
7
  import { findDuplicateAgentDirs, formatDuplicateAgentDirError } from "./agent-dirs.js";
8
8
  import { applyAgentDefaults, applyModelDefaults, applySessionDefaults } from "./defaults.js";
9
9
  import { findLegacyConfigIssues } from "./legacy.js";
10
- import { ClawdbotSchema } from "./zod-schema.js";
10
+ import { PoolBotSchema } from "./zod-schema.js";
11
11
  const AVATAR_SCHEME_RE = /^[a-z][a-z0-9+.-]*:/i;
12
12
  const AVATAR_DATA_RE = /^data:/i;
13
13
  const AVATAR_HTTP_RE = /^https?:\/\//i;
@@ -74,7 +74,7 @@ export function validateConfigObject(raw) {
74
74
  })),
75
75
  };
76
76
  }
77
- const validated = ClawdbotSchema.safeParse(raw);
77
+ const validated = PoolBotSchema.safeParse(raw);
78
78
  if (!validated.success) {
79
79
  return {
80
80
  ok: false,
@@ -1,5 +1,5 @@
1
1
  const VERSION_RE = /^v?(\d+)\.(\d+)\.(\d+)(?:-(\d+))?/;
2
- export function parseClawdbotVersion(raw) {
2
+ export function parseMoltbotVersion(raw) {
3
3
  if (!raw)
4
4
  return null;
5
5
  const match = raw.trim().match(VERSION_RE);
@@ -13,9 +13,9 @@ export function parseClawdbotVersion(raw) {
13
13
  revision: revision ? Number.parseInt(revision, 10) : 0,
14
14
  };
15
15
  }
16
- export function compareClawdbotVersions(a, b) {
17
- const parsedA = parseClawdbotVersion(a);
18
- const parsedB = parseClawdbotVersion(b);
16
+ export function compareMoltbotVersions(a, b) {
17
+ const parsedA = parseMoltbotVersion(a);
18
+ const parsedB = parseMoltbotVersion(b);
19
19
  if (!parsedA || !parsedB)
20
20
  return null;
21
21
  if (parsedA.major !== parsedB.major)
@@ -75,6 +75,7 @@ export const AgentDefaultsSchema = z
75
75
  .object({
76
76
  mode: z.union([z.literal("default"), z.literal("safeguard")]).optional(),
77
77
  reserveTokensFloor: z.number().int().nonnegative().optional(),
78
+ maxHistoryShare: z.number().min(0.1).max(0.9).optional(),
78
79
  memoryFlush: z
79
80
  .object({
80
81
  enabled: z.boolean().optional(),
@@ -119,9 +119,6 @@ export const SandboxBrowserSchema = z
119
119
  headless: z.boolean().optional(),
120
120
  enableNoVnc: z.boolean().optional(),
121
121
  allowHostControl: z.boolean().optional(),
122
- allowedControlUrls: z.array(z.string()).optional(),
123
- allowedControlHosts: z.array(z.string()).optional(),
124
- allowedControlPorts: z.array(z.number().int().positive()).optional(),
125
122
  autoStart: z.boolean().optional(),
126
123
  autoStartTimeoutMs: z.number().int().positive().optional(),
127
124
  })
@@ -134,13 +131,21 @@ export const SandboxPruneSchema = z
134
131
  })
135
132
  .strict()
136
133
  .optional();
137
- export const ToolPolicySchema = z
134
+ const ToolPolicyBaseSchema = z
138
135
  .object({
139
136
  allow: z.array(z.string()).optional(),
137
+ alsoAllow: z.array(z.string()).optional(),
140
138
  deny: z.array(z.string()).optional(),
141
139
  })
142
- .strict()
143
- .optional();
140
+ .strict();
141
+ export const ToolPolicySchema = ToolPolicyBaseSchema.superRefine((value, ctx) => {
142
+ if (value.allow && value.allow.length > 0 && value.alsoAllow && value.alsoAllow.length > 0) {
143
+ ctx.addIssue({
144
+ code: z.ZodIssueCode.custom,
145
+ message: "tools policy cannot set both allow and alsoAllow in the same scope (merge alsoAllow into allow, or remove allow and use profile + alsoAllow)",
146
+ });
147
+ }
148
+ }).optional();
144
149
  export const ToolsWebSearchSchema = z
145
150
  .object({
146
151
  enabled: z.boolean().optional(),
@@ -184,10 +189,19 @@ export const ToolProfileSchema = z
184
189
  export const ToolPolicyWithProfileSchema = z
185
190
  .object({
186
191
  allow: z.array(z.string()).optional(),
192
+ alsoAllow: z.array(z.string()).optional(),
187
193
  deny: z.array(z.string()).optional(),
188
194
  profile: ToolProfileSchema,
189
195
  })
190
- .strict();
196
+ .strict()
197
+ .superRefine((value, ctx) => {
198
+ if (value.allow && value.allow.length > 0 && value.alsoAllow && value.alsoAllow.length > 0) {
199
+ ctx.addIssue({
200
+ code: z.ZodIssueCode.custom,
201
+ message: "tools.byProvider policy cannot set both allow and alsoAllow in the same scope (merge alsoAllow into allow, or remove allow and use profile + alsoAllow)",
202
+ });
203
+ }
204
+ });
191
205
  // Provider docking: allowlists keyed by provider id (no schema updates when adding providers).
192
206
  export const ElevatedAllowFromSchema = z
193
207
  .record(z.string(), z.array(z.union([z.string(), z.number()])))
@@ -210,6 +224,7 @@ export const AgentToolsSchema = z
210
224
  .object({
211
225
  profile: ToolProfileSchema,
212
226
  allow: z.array(z.string()).optional(),
227
+ alsoAllow: z.array(z.string()).optional(),
213
228
  deny: z.array(z.string()).optional(),
214
229
  byProvider: z.record(z.string(), ToolPolicyWithProfileSchema).optional(),
215
230
  elevated: z
@@ -250,6 +265,14 @@ export const AgentToolsSchema = z
250
265
  .optional(),
251
266
  })
252
267
  .strict()
268
+ .superRefine((value, ctx) => {
269
+ if (value.allow && value.allow.length > 0 && value.alsoAllow && value.alsoAllow.length > 0) {
270
+ ctx.addIssue({
271
+ code: z.ZodIssueCode.custom,
272
+ message: "agent tools cannot set both allow and alsoAllow in the same scope (merge alsoAllow into allow, or remove allow and use profile + alsoAllow)",
273
+ });
274
+ }
275
+ })
253
276
  .optional();
254
277
  export const MemorySearchSchema = z
255
278
  .object({
@@ -402,6 +425,7 @@ export const ToolsSchema = z
402
425
  .object({
403
426
  profile: ToolProfileSchema,
404
427
  allow: z.array(z.string()).optional(),
428
+ alsoAllow: z.array(z.string()).optional(),
405
429
  deny: z.array(z.string()).optional(),
406
430
  byProvider: z.record(z.string(), ToolPolicyWithProfileSchema).optional(),
407
431
  web: ToolsWebSchema,
@@ -484,4 +508,12 @@ export const ToolsSchema = z
484
508
  .optional(),
485
509
  })
486
510
  .strict()
511
+ .superRefine((value, ctx) => {
512
+ if (value.allow && value.allow.length > 0 && value.alsoAllow && value.alsoAllow.length > 0) {
513
+ ctx.addIssue({
514
+ code: z.ZodIssueCode.custom,
515
+ message: "tools cannot set both allow and alsoAllow in the same scope (merge alsoAllow into allow, or remove allow and use profile + alsoAllow)",
516
+ });
517
+ }
518
+ })
487
519
  .optional();