@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.
- package/CHANGELOG.md +76 -1116
- package/LICENSE +21 -0
- package/README.md +58 -37
- package/assets/chrome-extension/README.md +2 -2
- package/assets/chrome-extension/background.js +5 -5
- package/assets/chrome-extension/manifest.json +3 -3
- package/assets/chrome-extension/options.html +5 -6
- package/assets/chrome-extension/options.js +1 -1
- package/dist/acp/client.js +5 -5
- package/dist/acp/server.js +1 -1
- package/dist/acp/types.js +2 -2
- package/dist/agents/agent-paths.js +3 -3
- package/dist/agents/auth-health.js +2 -6
- package/dist/agents/auth-profiles/doctor.js +1 -1
- package/dist/agents/auth-profiles/external-cli-sync.js +5 -150
- package/dist/agents/auth-profiles/oauth.js +26 -7
- package/dist/agents/auth-profiles/paths.js +3 -3
- package/dist/agents/auth-profiles/store.js +5 -13
- package/dist/agents/bash-tools.shared.js +8 -1
- package/dist/agents/cli-backends.js +8 -0
- package/dist/agents/cli-runner/helpers.js +3 -3
- package/dist/agents/cli-runner.js +2 -2
- package/dist/agents/compaction.js +3 -0
- package/dist/agents/context.js +4 -4
- package/dist/agents/docs-path.js +3 -3
- package/dist/agents/identity.js +1 -1
- package/dist/agents/memory-search.js +7 -2
- package/dist/agents/minimax-vlm.js +1 -1
- package/dist/agents/model-auth.js +1 -1
- package/dist/agents/model-catalog.js +4 -4
- package/dist/agents/model-fallback.js +22 -0
- package/dist/agents/model-selection.js +1 -1
- package/dist/agents/models-config.js +3 -3
- package/dist/agents/models-config.providers.js +4 -4
- package/dist/agents/pi-embedded-helpers/openai.js +1 -1
- package/dist/agents/pi-embedded-runner/cache-ttl.js +1 -1
- package/dist/agents/pi-embedded-runner/compact.js +8 -8
- package/dist/agents/pi-embedded-runner/extensions.js +5 -0
- package/dist/agents/pi-embedded-runner/model.js +2 -2
- package/dist/agents/pi-embedded-runner/run/attempt.js +10 -6
- package/dist/agents/pi-embedded-runner/run.js +4 -4
- package/dist/agents/pi-embedded-runner/sandbox-info.js +1 -4
- package/dist/agents/pi-embedded-runner/utils.js +1 -1
- package/dist/agents/pi-embedded-utils.js +7 -1
- package/dist/agents/pi-extensions/compaction-safeguard-runtime.js +20 -0
- package/dist/agents/pi-extensions/compaction-safeguard.js +32 -3
- package/dist/agents/pi-tools.js +25 -15
- package/dist/agents/pi-tools.policy.js +34 -1
- package/dist/agents/pi-tools.read.js +2 -2
- package/dist/agents/{clawdbot-tools.js → poolbot-tools.js} +2 -5
- package/dist/agents/sandbox/browser.js +5 -7
- package/dist/agents/sandbox/config.js +0 -12
- package/dist/agents/sandbox/constants.js +8 -8
- package/dist/agents/sandbox/context.js +3 -3
- package/dist/agents/sandbox/docker.js +8 -8
- package/dist/agents/sandbox/runtime-status.js +1 -1
- package/dist/agents/session-transcript-repair.js +1 -1
- package/dist/agents/session-write-lock.js +68 -0
- package/dist/agents/skills/config.js +9 -8
- package/dist/agents/skills/env-overrides.js +1 -1
- package/dist/agents/skills/frontmatter.js +15 -14
- package/dist/agents/skills/workspace.js +7 -7
- package/dist/agents/skills-install.js +1 -1
- package/dist/agents/skills-status.js +12 -12
- package/dist/agents/subagent-registry.store.js +2 -2
- package/dist/agents/system-prompt.js +24 -35
- package/dist/agents/tool-images.js +1 -1
- package/dist/agents/tool-policy.js +8 -2
- package/dist/agents/tools/browser-tool.js +19 -79
- package/dist/agents/tools/browser-tool.schema.js +1 -2
- package/dist/agents/tools/cron-tool.js +44 -1
- package/dist/agents/tools/discord-actions-guild.js +5 -1
- package/dist/agents/tools/image-tool.js +2 -2
- package/dist/agents/tools/memory-tool.js +2 -1
- package/dist/agents/tools/message-tool.js +1 -0
- package/dist/agents/tools/sessions-send-helpers.js +17 -2
- package/dist/agents/tools/telegram-actions.js +93 -1
- package/dist/agents/tools/web-fetch.js +123 -103
- package/dist/agents/tools/web-search.js +7 -7
- package/dist/agents/workspace.js +36 -0
- package/dist/auto-reply/commands-registry.data.js +68 -3
- package/dist/auto-reply/commands-registry.js +14 -11
- package/dist/auto-reply/reply/agent-runner-execution.js +21 -3
- package/dist/auto-reply/reply/agent-runner-memory.js +5 -0
- package/dist/auto-reply/reply/bash-command.js +2 -2
- package/dist/auto-reply/reply/commands-context-report.js +2 -2
- package/dist/auto-reply/reply/commands-info.js +50 -5
- package/dist/auto-reply/reply/commands-session.js +4 -4
- package/dist/auto-reply/reply/commands-tts.js +61 -63
- package/dist/auto-reply/reply/directive-handling.shared.js +1 -1
- package/dist/auto-reply/reply/dispatch-from-config.js +65 -1
- package/dist/auto-reply/reply/followup-runner.js +5 -0
- package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
- package/dist/auto-reply/reply/get-reply-run.js +4 -0
- package/dist/auto-reply/reply/groups.js +1 -1
- package/dist/auto-reply/reply/history.js +23 -0
- package/dist/auto-reply/reply/reply-elevated.js +1 -1
- package/dist/auto-reply/reply/session-updates.js +6 -1
- package/dist/auto-reply/reply/stage-sandbox-media.js +1 -1
- package/dist/auto-reply/status.js +142 -50
- package/dist/browser/bridge-server.js +1 -3
- package/dist/browser/client-actions-core.js +13 -7
- package/dist/browser/client-actions-observe.js +14 -8
- package/dist/browser/client-actions-state.js +21 -15
- package/dist/browser/client-fetch.js +74 -61
- package/dist/browser/client.js +19 -21
- package/dist/browser/config.js +13 -26
- package/dist/browser/constants.js +1 -1
- package/dist/browser/control-service.js +72 -0
- package/dist/browser/extension-relay.js +3 -3
- package/dist/browser/pw-session.js +41 -4
- package/dist/browser/pw-tools-core.downloads.js +1 -1
- package/dist/browser/pw-tools-core.interactions.js +5 -5
- package/dist/browser/pw-tools-core.responses.js +1 -1
- package/dist/browser/routes/agent.act.js +13 -0
- package/dist/browser/routes/agent.debug.js +1 -1
- package/dist/browser/routes/basic.js +0 -1
- package/dist/browser/routes/dispatcher.js +86 -0
- package/dist/browser/server-context.js +3 -3
- package/dist/browser/server.js +7 -9
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +1620 -1618
- package/dist/canvas-host/a2ui/index.html +28 -28
- package/dist/canvas-host/a2ui.js +27 -21
- package/dist/canvas-host/server.js +66 -32
- package/dist/channels/plugins/actions/discord/handle-action.guild-admin.js +5 -1
- package/dist/channels/plugins/actions/telegram.js +60 -7
- package/dist/channels/plugins/catalog.js +6 -4
- package/dist/channels/plugins/group-mentions.js +48 -1
- package/dist/channels/plugins/helpers.js +2 -2
- package/dist/channels/plugins/message-action-names.js +1 -0
- package/dist/channels/plugins/onboarding/imessage.js +1 -1
- package/dist/channels/plugins/onboarding/signal.js +2 -2
- package/dist/channels/plugins/onboarding/slack.js +4 -4
- package/dist/channels/plugins/onboarding/telegram.js +17 -9
- package/dist/channels/plugins/onboarding/whatsapp.js +4 -4
- package/dist/channels/plugins/outbound/telegram.js +38 -0
- package/dist/channels/plugins/pairing-message.js +1 -1
- package/dist/channels/plugins/status-issues/bluebubbles.js +1 -1
- package/dist/channels/plugins/status-issues/whatsapp.js +2 -2
- package/dist/channels/registry.js +1 -1
- package/dist/cli/acp-cli.js +2 -2
- package/dist/cli/argv.js +14 -7
- package/dist/cli/banner.js +3 -1
- package/dist/cli/browser-cli-actions-input/register.element.js +72 -44
- package/dist/cli/browser-cli-actions-input/register.files-downloads.js +55 -35
- package/dist/cli/browser-cli-actions-input/register.form-wait-eval.js +41 -28
- package/dist/cli/browser-cli-actions-input/register.navigation.js +23 -14
- package/dist/cli/browser-cli-actions-input/shared.js +10 -3
- package/dist/cli/browser-cli-actions-observe.js +29 -21
- package/dist/cli/browser-cli-debug.js +49 -35
- package/dist/cli/browser-cli-examples.js +29 -29
- package/dist/cli/browser-cli-extension.js +8 -8
- package/dist/cli/browser-cli-inspect.js +23 -17
- package/dist/cli/browser-cli-manage.js +106 -56
- package/dist/cli/browser-cli-shared.js +34 -1
- package/dist/cli/browser-cli-state.cookies-storage.js +53 -39
- package/dist/cli/browser-cli-state.js +90 -64
- package/dist/cli/browser-cli.js +4 -5
- package/dist/cli/channels-cli.js +1 -1
- package/dist/cli/cli-name.js +26 -0
- package/dist/cli/command-format.js +11 -7
- package/dist/cli/config-cli.js +2 -2
- package/dist/cli/cron-cli/register.js +1 -1
- package/dist/cli/daemon-cli/install.js +1 -1
- package/dist/cli/daemon-cli/register.js +1 -1
- package/dist/cli/daemon-cli/shared.js +5 -3
- package/dist/cli/daemon-cli/status.print.js +6 -6
- package/dist/cli/directory-cli.js +1 -1
- package/dist/cli/dns-cli.js +7 -7
- package/dist/cli/docs-cli.js +2 -2
- package/dist/cli/exec-approvals-cli.js +2 -2
- package/dist/cli/gateway-cli/dev.js +4 -4
- package/dist/cli/gateway-cli/register.js +1 -1
- package/dist/cli/gateway-cli/run.js +11 -8
- package/dist/cli/gateway-cli/shared.js +4 -4
- package/dist/cli/hooks-cli.js +3 -3
- package/dist/cli/logs-cli.js +3 -3
- package/dist/cli/memory-cli.js +1 -1
- package/dist/cli/models-cli.js +2 -2
- package/dist/cli/node-cli/daemon.js +2 -2
- package/dist/cli/node-cli/register.js +1 -1
- package/dist/cli/nodes-camera.js +3 -1
- package/dist/cli/nodes-canvas.js +3 -1
- package/dist/cli/nodes-cli/register.canvas.js +1 -1
- package/dist/cli/nodes-cli/register.js +1 -1
- package/dist/cli/nodes-screen.js +1 -1
- package/dist/cli/pairing-cli.js +3 -3
- package/dist/cli/plugin-registry.js +2 -2
- package/dist/cli/plugins-cli.js +3 -3
- package/dist/cli/profile.js +2 -2
- package/dist/cli/program/command-registry.js +5 -0
- package/dist/cli/program/config-guard.js +1 -1
- package/dist/cli/program/help.js +15 -16
- package/dist/cli/program/message/register.send.js +2 -1
- package/dist/cli/program/preaction.js +4 -2
- package/dist/cli/program/register.agent.js +12 -12
- package/dist/cli/program/register.completion.js +355 -0
- package/dist/cli/program/register.configure.js +1 -1
- package/dist/cli/program/register.maintenance.js +4 -4
- package/dist/cli/program/register.message.js +5 -5
- package/dist/cli/program/register.onboard.js +5 -3
- package/dist/cli/program/register.setup.js +2 -2
- package/dist/cli/program/register.status-health-sessions.js +13 -13
- package/dist/cli/run-main.js +11 -4
- package/dist/cli/sandbox-cli.js +19 -19
- package/dist/cli/security-cli.js +18 -8
- package/dist/cli/skills-cli.js +3 -3
- package/dist/cli/system-cli.js +1 -1
- package/dist/cli/tagline.js +1 -1
- package/dist/cli/tui-cli.js +1 -1
- package/dist/cli/update-cli.js +58 -42
- package/dist/cli/webhooks-cli.js +6 -6
- package/dist/commands/agent-via-gateway.js +1 -1
- package/dist/commands/agent.js +2 -1
- package/dist/commands/agents.command-shared.js +1 -1
- package/dist/commands/agents.commands.add.js +2 -3
- package/dist/commands/agents.commands.list.js +1 -1
- package/dist/commands/auth-choice-options.js +4 -54
- package/dist/commands/auth-choice.apply.anthropic.js +6 -109
- package/dist/commands/auth-choice.apply.openai.js +1 -33
- package/dist/commands/auth-choice.apply.plugin-provider.js +2 -2
- package/dist/commands/channels/list.js +2 -2
- package/dist/commands/channels/shared.js +1 -1
- package/dist/commands/channels/status.js +1 -1
- package/dist/commands/chutes-oauth.js +1 -1
- package/dist/commands/configure.channels.js +4 -4
- package/dist/commands/configure.gateway-auth.js +1 -8
- package/dist/commands/configure.gateway.js +1 -10
- package/dist/commands/configure.wizard.js +11 -11
- package/dist/commands/daemon-install-helpers.js +1 -1
- package/dist/commands/dashboard.js +1 -1
- package/dist/commands/docs.js +5 -5
- package/dist/commands/doctor-auth.js +122 -3
- package/dist/commands/doctor-config-flow.js +7 -7
- package/dist/commands/doctor-format.js +2 -2
- package/dist/commands/doctor-gateway-daemon-flow.js +1 -1
- package/dist/commands/doctor-gateway-services.js +3 -3
- package/dist/commands/doctor-platform-notes.js +1 -1
- package/dist/commands/doctor-security.js +48 -1
- package/dist/commands/doctor-state-integrity.js +3 -3
- package/dist/commands/doctor-ui.js +2 -2
- package/dist/commands/doctor-update.js +4 -4
- package/dist/commands/doctor-workspace-status.js +2 -2
- package/dist/commands/doctor-workspace.js +4 -4
- package/dist/commands/doctor.js +13 -12
- package/dist/commands/gateway-status.js +2 -2
- package/dist/commands/models/auth.js +23 -22
- package/dist/commands/models/list.probe.js +2 -2
- package/dist/commands/models/list.registry.js +4 -4
- package/dist/commands/models/list.status-command.js +8 -9
- package/dist/commands/onboard-auth.credentials.js +2 -2
- package/dist/commands/onboard-channels.js +3 -3
- package/dist/commands/onboard-helpers.js +4 -4
- package/dist/commands/onboard-hooks.js +4 -4
- package/dist/commands/onboard-non-interactive/local/auth-choice.js +38 -34
- package/dist/commands/onboard-non-interactive/local/gateway-config.js +7 -4
- package/dist/commands/onboard-non-interactive/local.js +1 -1
- package/dist/commands/onboard-non-interactive/remote.js +1 -1
- package/dist/commands/onboard-non-interactive.js +1 -1
- package/dist/commands/onboard-remote.js +2 -2
- package/dist/commands/onboard-skills.js +2 -2
- package/dist/commands/onboard.js +25 -4
- package/dist/commands/onboarding/plugin-install.js +2 -2
- package/dist/commands/reset.js +3 -3
- package/dist/commands/sandbox-display.js +1 -1
- package/dist/commands/sandbox-explain.js +2 -2
- package/dist/commands/setup.js +2 -2
- package/dist/commands/signal-install.js +2 -2
- package/dist/commands/status-all/diagnosis.js +1 -1
- package/dist/commands/status-all/report-lines.js +1 -1
- package/dist/commands/status-all.js +3 -3
- package/dist/commands/status.command.js +9 -9
- package/dist/commands/status.update.js +3 -3
- package/dist/commands/uninstall.js +4 -4
- package/dist/compat/legacy-names.js +5 -0
- package/dist/config/config.js +1 -1
- package/dist/config/group-policy.js +69 -0
- package/dist/config/io.js +17 -5
- package/dist/config/legacy.migrations.part-3.js +3 -0
- package/dist/config/logging.js +3 -3
- package/dist/config/paths.js +44 -14
- package/dist/config/schema.js +23 -11
- package/dist/config/sessions/transcript.js +1 -1
- package/dist/config/types.js +1 -1
- package/dist/config/types.poolbot.js +1 -0
- package/dist/config/validation.js +2 -2
- package/dist/config/version.js +4 -4
- package/dist/config/zod-schema.agent-defaults.js +1 -0
- package/dist/config/zod-schema.agent-runtime.js +39 -7
- package/dist/config/zod-schema.hooks.js +2 -0
- package/dist/config/zod-schema.js +9 -3
- package/dist/config/zod-schema.providers-core.js +23 -0
- package/dist/config/zod-schema.providers-whatsapp.js +3 -0
- package/dist/control-ui/assets/index-CIRDm-Lu.css +1 -0
- package/dist/control-ui/assets/{index-Cl-Y9zqE.js → index-CmNMuoem.js} +620 -578
- package/dist/control-ui/assets/index-CmNMuoem.js.map +1 -0
- package/dist/control-ui/index.html +4 -4
- package/dist/cron/isolated-agent/run.js +38 -3
- package/dist/daemon/constants.js +16 -16
- package/dist/daemon/inspect.js +12 -12
- package/dist/daemon/paths.js +1 -1
- package/dist/daemon/program-args.js +1 -1
- package/dist/daemon/systemd-hints.js +1 -1
- package/dist/daemon/systemd-unit.js +1 -1
- package/dist/discord/monitor/listeners.js +25 -1
- package/dist/discord/monitor/native-command.js +7 -5
- package/dist/discord/monitor/presence-cache.js +38 -0
- package/dist/discord/monitor/provider.js +21 -7
- package/dist/entry.js +4 -4
- package/dist/gateway/auth.js +52 -19
- package/dist/gateway/hooks/index.js +53 -0
- package/dist/gateway/hooks/lifecycle-hooks-integration.js +256 -0
- package/dist/gateway/hooks/lifecycle-hooks.js +236 -0
- package/dist/gateway/hooks/progressive-disclosure-details.js +237 -0
- package/dist/gateway/hooks/progressive-disclosure-index.js +354 -0
- package/dist/gateway/hooks/progressive-disclosure-timeline.js +231 -0
- package/dist/gateway/hooks/progressive-disclosure-types.js +65 -0
- package/dist/gateway/hooks/progressive-disclosure.js +242 -0
- package/dist/gateway/hooks/tool-usage-capture.js +253 -0
- package/dist/gateway/hooks/tool-usage-storage.js +144 -0
- package/dist/gateway/hooks-mapping.js +18 -4
- package/dist/gateway/hooks.js +5 -7
- package/dist/gateway/http-utils.js +3 -5
- package/dist/gateway/net.js +1 -1
- package/dist/gateway/openai-http.js +3 -3
- package/dist/gateway/openresponses-http.js +4 -4
- package/dist/gateway/protocol/client-info.js +5 -5
- package/dist/gateway/protocol/schema/logs-chat.js +1 -1
- package/dist/gateway/server/health-state.js +3 -3
- package/dist/gateway/server/hooks.js +1 -0
- package/dist/gateway/server/ws-connection/message-handler.js +44 -35
- package/dist/gateway/server-browser.js +14 -3
- package/dist/gateway/server-chat.js +28 -2
- package/dist/gateway/server-discovery-runtime.js +25 -17
- package/dist/gateway/server-discovery.js +5 -5
- package/dist/gateway/server-http.js +9 -3
- package/dist/gateway/server-methods/agent.js +2 -0
- package/dist/gateway/server-methods/browser.js +204 -0
- package/dist/gateway/server-methods/chat.js +5 -0
- package/dist/gateway/server-methods/config.js +8 -8
- package/dist/gateway/server-methods/logs.js +1 -1
- package/dist/gateway/server-methods/nodes.js +2 -0
- package/dist/gateway/server-methods/skills.js +3 -3
- package/dist/gateway/server-methods/update.js +2 -2
- package/dist/gateway/server-methods-list.js +1 -0
- package/dist/gateway/server-methods.js +3 -0
- package/dist/gateway/server-plugins.js +2 -2
- package/dist/gateway/server-restart-sentinel.js +10 -5
- package/dist/gateway/server-runtime-config.js +5 -2
- package/dist/gateway/server.impl.js +11 -6
- package/dist/gateway/session-utils.fs.js +1 -1
- package/dist/gateway/session-utils.js +31 -11
- package/dist/gateway/test-helpers.mocks.js +5 -5
- package/dist/gateway/test-helpers.server.js +30 -11
- package/dist/gateway/tools-invoke-http.js +15 -8
- package/dist/hooks/bundled/boot-md/HOOK.md +3 -3
- package/dist/hooks/bundled/command-logger/HOOK.md +12 -12
- package/dist/hooks/bundled/command-logger/handler.js +1 -1
- package/dist/hooks/bundled/session-memory/HOOK.md +4 -4
- package/dist/hooks/bundled/session-memory/handler.js +2 -2
- package/dist/hooks/bundled/soul-evil/HOOK.md +5 -5
- package/dist/hooks/bundled-dir.js +1 -1
- package/dist/hooks/config.js +8 -7
- package/dist/hooks/frontmatter.js +16 -15
- package/dist/hooks/gmail-ops.js +4 -4
- package/dist/hooks/hooks-status.js +13 -13
- package/dist/hooks/install.js +8 -7
- package/dist/hooks/internal-hooks.js +1 -1
- package/dist/hooks/llm-slug-generator.js +1 -1
- package/dist/hooks/loader.js +3 -3
- package/dist/hooks/plugin-hooks.js +8 -8
- package/dist/hooks/workspace.js +10 -9
- package/dist/imessage/monitor/monitor-provider.js +16 -3
- package/dist/index.js +4 -4
- package/dist/infra/agent-events.js +3 -0
- package/dist/infra/bonjour-discovery.js +9 -9
- package/dist/infra/bonjour.js +19 -12
- package/dist/infra/device-identity.js +1 -1
- package/dist/infra/dotenv.js +1 -1
- package/dist/infra/exec-approvals.js +2 -2
- package/dist/infra/fs-safe.js +76 -0
- package/dist/infra/gateway-lock.js +1 -1
- package/dist/infra/heartbeat-visibility.js +14 -0
- package/dist/infra/heartbeat-wake.js +2 -2
- package/dist/infra/machine-name.js +1 -1
- package/dist/infra/net/ssrf.js +77 -1
- package/dist/infra/outbound/message-action-spec.js +1 -0
- package/dist/infra/outbound/targets.js +1 -1
- package/dist/infra/path-env.js +7 -7
- package/dist/infra/{clawdbot-root.js → poolbot-root.js} +3 -2
- package/dist/infra/ports-format.js +2 -2
- package/dist/infra/ports.js +2 -2
- package/dist/infra/provider-usage.auth.js +2 -4
- package/dist/infra/provider-usage.fetch.claude.js +1 -1
- package/dist/infra/provider-usage.fetch.minimax.js +1 -1
- package/dist/infra/restart-sentinel.js +1 -1
- package/dist/infra/restart.js +1 -1
- package/dist/infra/retry-policy.js +4 -1
- package/dist/infra/runtime-guard.js +2 -2
- package/dist/infra/shell-env.js +1 -1
- package/dist/infra/skills-remote.js +3 -3
- package/dist/infra/tailscale.js +63 -1
- package/dist/infra/tls/gateway.js +1 -1
- package/dist/infra/unhandled-rejections.js +89 -2
- package/dist/infra/update-check.js +2 -4
- package/dist/infra/update-global.js +5 -5
- package/dist/infra/update-runner.js +32 -8
- package/dist/infra/update-startup.js +3 -3
- package/dist/infra/warnings.js +1 -1
- package/dist/infra/widearea-dns.js +10 -10
- package/dist/line/monitor.js +1 -5
- package/dist/line/signature.js +11 -0
- package/dist/line/webhook.js +2 -6
- package/dist/logging/logger.js +4 -4
- package/dist/macos/gateway-daemon.js +2 -2
- package/dist/macos/relay.js +4 -4
- package/dist/media/host.js +1 -1
- package/dist/media/image-ops.js +1 -1
- package/dist/media/input-files.js +40 -32
- package/dist/media/server.js +39 -15
- package/dist/media/store.js +109 -53
- package/dist/media-understanding/attachments.js +1 -1
- package/dist/media-understanding/providers/image.js +2 -2
- package/dist/media-understanding/runner.js +33 -1
- package/dist/memory/batch-gemini.js +1 -1
- package/dist/memory/batch-openai.js +1 -1
- package/dist/memory/embeddings.js +1 -1
- package/dist/memory/index.js +5 -0
- package/dist/memory/manager.js +25 -2
- package/dist/node-host/runner.js +60 -56
- package/dist/pairing/pairing-messages.js +2 -2
- package/dist/plugin-sdk/index.js +1 -0
- package/dist/plugins/cli.js +2 -2
- package/dist/plugins/discovery.js +6 -5
- package/dist/plugins/install.js +8 -7
- package/dist/plugins/loader.js +10 -4
- package/dist/plugins/manifest-registry.js +2 -2
- package/dist/plugins/manifest.js +16 -1
- package/dist/plugins/providers.js +2 -2
- package/dist/plugins/registry.js +5 -5
- package/dist/plugins/runtime.js +1 -1
- package/dist/plugins/services.js +3 -3
- package/dist/plugins/status.js +2 -2
- package/dist/plugins/tools.js +2 -2
- package/dist/plugins/update.js +3 -3
- package/dist/providers/qwen-portal-oauth.js +1 -1
- package/dist/routing/session-key.js +17 -12
- package/dist/security/audit-extra.js +116 -69
- package/dist/security/audit-fs.js +78 -0
- package/dist/security/audit.js +121 -88
- package/dist/security/external-content.js +143 -0
- package/dist/security/fix.js +93 -8
- package/dist/security/windows-acl.js +162 -0
- package/dist/slack/monitor/media.js +32 -4
- package/dist/slack/monitor/message-handler/dispatch.js +2 -1
- package/dist/slack/monitor/slash.js +3 -3
- package/dist/slack/monitor.test-helpers.js +1 -1
- package/dist/telegram/api-logging.js +24 -0
- package/dist/telegram/bot/delivery.js +139 -22
- package/dist/telegram/bot-handlers.js +70 -8
- package/dist/telegram/bot-message-context.js +79 -21
- package/dist/telegram/bot-message-dispatch.js +64 -0
- package/dist/telegram/bot-native-commands.js +244 -94
- package/dist/telegram/bot.js +18 -2
- package/dist/telegram/fetch.js +25 -1
- package/dist/telegram/monitor.js +11 -3
- package/dist/telegram/network-config.js +23 -0
- package/dist/telegram/network-errors.js +103 -0
- package/dist/telegram/send.js +148 -4
- package/dist/telegram/sticker-cache.js +202 -0
- package/dist/telegram/webhook-set.js +13 -6
- package/dist/telegram/webhook.js +8 -3
- package/dist/terminal/links.js +1 -1
- package/dist/tts/tts.js +27 -22
- package/dist/tui/components/filterable-select-list.js +1 -1
- package/dist/tui/components/searchable-select-list.js +2 -1
- package/dist/tui/gateway-chat.js +1 -1
- package/dist/tui/tui.js +1 -1
- package/dist/utils.js +1 -1
- package/dist/version.js +1 -1
- package/dist/web/active-listener.js +1 -1
- package/dist/web/auth-store.js +1 -1
- package/dist/web/auto-reply/monitor/process-message.js +1 -1
- package/dist/web/auto-reply/monitor.js +1 -1
- package/dist/web/login.js +1 -1
- package/dist/web/session.js +2 -2
- package/dist/wizard/onboarding.finalize.js +24 -21
- package/dist/wizard/onboarding.gateway-config.js +1 -11
- package/dist/wizard/onboarding.js +22 -11
- package/docs/CNAME +1 -1
- package/docs/RELEASE_WORKFLOW.md +133 -0
- package/docs/RELEASE_WORKFOTS_COMPARISON.md +151 -0
- package/docs/WHATSAPP-HEARTBEAT-TROUBLESHOOTING.md +319 -0
- package/docs/WORKFOTS_OPTIMIZATION.md +138 -0
- package/docs/_config.yml +2 -2
- package/docs/_layouts/default.html +9 -9
- package/docs/adr/002-model-fallback-router.md +104 -0
- package/docs/assets/terminal.css +3 -0
- package/docs/assets/theme.js +1 -1
- package/docs/automation/auth-monitoring.md +7 -7
- package/docs/automation/cron-jobs.md +17 -17
- package/docs/automation/cron-vs-heartbeat.md +8 -8
- package/docs/automation/gmail-pubsub.md +23 -21
- package/docs/automation/poll.md +7 -7
- package/docs/automation/webhook.md +13 -8
- package/docs/bedrock.md +10 -10
- package/docs/brave-search.md +1 -1
- package/docs/broadcast-groups.md +4 -4
- package/docs/channels/bluebubbles.md +13 -12
- package/docs/channels/discord.md +21 -16
- package/docs/channels/googlechat.md +16 -16
- package/docs/channels/imessage.md +12 -12
- package/docs/channels/index.md +6 -4
- package/docs/channels/line.md +183 -0
- package/docs/channels/location.md +1 -1
- package/docs/channels/matrix.md +15 -15
- package/docs/channels/mattermost.md +8 -8
- package/docs/channels/msteams.md +30 -26
- package/docs/channels/nextcloud-talk.md +7 -7
- package/docs/channels/nostr.md +9 -9
- package/docs/channels/signal.md +9 -9
- package/docs/channels/slack.md +15 -13
- package/docs/channels/telegram.md +149 -20
- package/docs/channels/tlon.md +5 -5
- package/docs/channels/troubleshooting.md +2 -2
- package/docs/channels/twitch.md +366 -0
- package/docs/channels/whatsapp.md +25 -25
- package/docs/channels/zalo.md +8 -8
- package/docs/channels/zalouser.md +12 -12
- package/docs/cli/acp.md +24 -24
- package/docs/cli/agent.md +6 -6
- package/docs/cli/agents.md +9 -9
- package/docs/cli/approvals.md +14 -14
- package/docs/cli/browser.md +33 -35
- package/docs/cli/channels.md +21 -21
- package/docs/cli/config.md +15 -15
- package/docs/cli/configure.md +6 -6
- package/docs/cli/cron.md +5 -5
- package/docs/cli/dashboard.md +4 -4
- package/docs/cli/devices.md +13 -13
- package/docs/cli/directory.md +12 -12
- package/docs/cli/dns.md +5 -5
- package/docs/cli/docs.md +5 -5
- package/docs/cli/doctor.md +6 -6
- package/docs/cli/gateway.md +24 -24
- package/docs/cli/health.md +5 -5
- package/docs/cli/hooks.md +34 -34
- package/docs/cli/index.md +46 -52
- package/docs/cli/logs.md +6 -6
- package/docs/cli/memory.md +11 -11
- package/docs/cli/message.md +11 -11
- package/docs/cli/models.md +17 -17
- package/docs/cli/node.md +14 -14
- package/docs/cli/nodes.md +14 -14
- package/docs/cli/onboard.md +7 -6
- package/docs/cli/pairing.md +4 -4
- package/docs/cli/plugins.md +16 -16
- package/docs/cli/reset.md +5 -5
- package/docs/cli/sandbox.md +28 -28
- package/docs/cli/security.md +5 -5
- package/docs/cli/sessions.md +5 -5
- package/docs/cli/setup.md +6 -6
- package/docs/cli/skills.md +6 -6
- package/docs/cli/status.md +7 -7
- package/docs/cli/system.md +6 -6
- package/docs/cli/tui.md +5 -5
- package/docs/cli/uninstall.md +5 -5
- package/docs/cli/update.md +20 -20
- package/docs/cli/voicecall.md +9 -9
- package/docs/cli/webhooks.md +5 -5
- package/docs/concepts/agent-loop.md +5 -5
- package/docs/concepts/agent-workspace.md +20 -20
- package/docs/concepts/agent.md +12 -12
- package/docs/concepts/architecture.md +1 -1
- package/docs/concepts/channel-routing.md +4 -4
- package/docs/concepts/compaction.md +5 -5
- package/docs/concepts/context.md +6 -6
- package/docs/concepts/group-messages.md +6 -6
- package/docs/concepts/groups.md +41 -5
- package/docs/concepts/markdown-formatting.md +3 -3
- package/docs/concepts/memory.md +14 -14
- package/docs/concepts/messages.md +4 -4
- package/docs/concepts/model-failover.md +14 -14
- package/docs/concepts/model-providers.md +22 -22
- package/docs/concepts/models.md +27 -27
- package/docs/concepts/multi-agent.md +18 -18
- package/docs/concepts/oauth.md +31 -58
- package/docs/concepts/presence.md +2 -2
- package/docs/concepts/retry.md +1 -1
- package/docs/concepts/session-pruning.md +1 -1
- package/docs/concepts/session-tool.md +4 -4
- package/docs/concepts/session.md +14 -14
- package/docs/concepts/streaming.md +3 -3
- package/docs/concepts/system-prompt.md +11 -11
- package/docs/concepts/timezone.md +2 -2
- package/docs/concepts/typebox.md +2 -2
- package/docs/concepts/typing-indicators.md +2 -2
- package/docs/concepts/usage-tracking.md +3 -3
- package/docs/date-time.md +2 -2
- package/docs/debug/node-issue.md +4 -4
- package/docs/debugging.md +14 -14
- package/docs/diagnostics/flags.md +5 -5
- package/docs/docs.json +37 -7
- package/docs/environment.md +4 -4
- package/docs/experiments/plans/cron-add-hardening.md +1 -1
- package/docs/experiments/plans/openresponses-gateway.md +2 -2
- package/docs/experiments/research/memory.md +6 -6
- package/docs/gateway/authentication.md +33 -57
- package/docs/gateway/background-process.md +1 -1
- package/docs/gateway/bonjour.md +21 -21
- package/docs/gateway/bridge-protocol.md +2 -2
- package/docs/gateway/cli-backends.md +13 -12
- package/docs/gateway/configuration-examples.md +14 -14
- package/docs/gateway/configuration.md +145 -132
- package/docs/gateway/discovery.md +6 -6
- package/docs/gateway/doctor.md +26 -26
- package/docs/gateway/gateway-lock.md +1 -1
- package/docs/gateway/health.md +11 -11
- package/docs/gateway/heartbeat.md +5 -5
- package/docs/gateway/index.md +56 -56
- package/docs/gateway/local-models.md +2 -2
- package/docs/gateway/logging.md +8 -8
- package/docs/gateway/multiple-gateways.md +23 -23
- package/docs/gateway/openai-http-api.md +10 -10
- package/docs/gateway/openresponses-http-api.md +10 -10
- package/docs/gateway/pairing.md +8 -8
- package/docs/gateway/protocol.md +5 -4
- package/docs/gateway/remote-gateway-readme.md +13 -13
- package/docs/gateway/remote.md +4 -4
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +10 -7
- package/docs/gateway/sandboxing.md +8 -6
- package/docs/gateway/security/formal-verification.md +107 -0
- package/docs/gateway/{security.md → security/index.md} +151 -71
- package/docs/gateway/tailscale.md +16 -35
- package/docs/gateway/tools-invoke-http-api.md +3 -3
- package/docs/gateway/troubleshooting.md +108 -113
- package/docs/help/faq.md +326 -335
- package/docs/help/troubleshooting.md +15 -15
- package/docs/hooks/soul-evil.md +2 -2
- package/docs/hooks.md +60 -60
- package/docs/index.md +35 -35
- package/docs/install/ansible.md +35 -35
- package/docs/install/development-channels.md +10 -10
- package/docs/install/docker.md +31 -31
- package/docs/install/index.md +28 -27
- package/docs/install/installer.md +21 -21
- package/docs/install/migrating.md +190 -0
- package/docs/install/nix.md +17 -17
- package/docs/install/node.md +7 -6
- package/docs/install/uninstall.md +29 -29
- package/docs/install/updating.md +50 -49
- package/docs/logging.md +58 -58
- package/docs/multi-agent-sandbox-tools.md +7 -7
- package/docs/network.md +1 -1
- package/docs/nodes/audio.md +2 -2
- package/docs/nodes/camera.md +18 -18
- package/docs/nodes/images.md +4 -4
- package/docs/nodes/index.md +55 -55
- package/docs/nodes/location-command.md +2 -2
- package/docs/nodes/media-understanding.md +5 -5
- package/docs/nodes/talk.md +1 -1
- package/docs/nodes/voicewake.md +2 -2
- package/docs/northflank.mdx +53 -0
- package/docs/perplexity.md +2 -2
- package/docs/platforms/android.md +13 -13
- package/docs/platforms/digitalocean.md +243 -0
- package/docs/platforms/exe-dev.md +23 -23
- package/docs/platforms/fly.md +129 -18
- package/docs/platforms/gcp.md +498 -0
- package/docs/platforms/hetzner.md +30 -30
- package/docs/platforms/index.md +9 -9
- package/docs/platforms/ios.md +13 -13
- package/docs/platforms/linux.md +11 -11
- package/docs/platforms/mac/bundled-gateway.md +14 -14
- package/docs/platforms/mac/canvas.md +14 -14
- package/docs/platforms/mac/child-process.md +9 -9
- package/docs/platforms/mac/dev-setup.md +11 -11
- package/docs/platforms/mac/health.md +2 -2
- package/docs/platforms/mac/icon.md +1 -1
- package/docs/platforms/mac/logging.md +7 -7
- package/docs/platforms/mac/menu-bar.md +1 -1
- package/docs/platforms/mac/peekaboo.md +9 -9
- package/docs/platforms/mac/permissions.md +3 -3
- package/docs/platforms/mac/release.md +20 -20
- package/docs/platforms/mac/remote.md +14 -14
- package/docs/platforms/mac/signing.md +7 -7
- package/docs/platforms/mac/skills.md +4 -4
- package/docs/platforms/mac/voice-overlay.md +2 -2
- package/docs/platforms/mac/webchat.md +2 -2
- package/docs/platforms/mac/xpc.md +4 -4
- package/docs/platforms/macos-vm.md +27 -27
- package/docs/platforms/macos.md +20 -20
- package/docs/platforms/oracle.md +291 -0
- package/docs/platforms/raspberry-pi.md +354 -0
- package/docs/platforms/windows.md +11 -11
- package/docs/plugin.md +64 -64
- package/docs/plugins/agent-tools.md +1 -1
- package/docs/plugins/manifest.md +4 -4
- package/docs/plugins/voice-call.md +15 -12
- package/docs/plugins/zalouser.md +9 -9
- package/docs/prose.md +9 -9
- package/docs/providers/anthropic.md +23 -27
- package/docs/providers/claude-max-api-proxy.md +145 -0
- package/docs/providers/deepgram.md +2 -2
- package/docs/providers/github-copilot.md +11 -11
- package/docs/providers/glm.md +4 -4
- package/docs/providers/index.md +7 -3
- package/docs/providers/minimax.md +9 -9
- package/docs/providers/models.md +3 -3
- package/docs/providers/moonshot.md +2 -2
- package/docs/providers/ollama.md +11 -11
- package/docs/providers/openai.md +9 -13
- package/docs/providers/opencode.md +3 -3
- package/docs/providers/openrouter.md +3 -3
- package/docs/providers/qwen.md +6 -6
- package/docs/providers/synthetic.md +4 -4
- package/docs/providers/venice.md +21 -21
- package/docs/providers/vercel-ai-gateway.md +5 -4
- package/docs/providers/zai.md +5 -5
- package/docs/railway.mdx +5 -5
- package/docs/refactor/exec-host.md +5 -5
- package/docs/refactor/plugin-sdk.md +12 -12
- package/docs/refactor/strict-config.md +11 -11
- package/docs/reference/AGENTS.default.md +10 -10
- package/docs/reference/RELEASING.md +27 -27
- package/docs/reference/api-usage-costs.md +6 -6
- package/docs/reference/device-models.md +7 -7
- package/docs/reference/rpc.md +3 -3
- package/docs/reference/session-management-compaction.md +19 -19
- package/docs/reference/templates/AGENTS.dev.md +1 -1
- package/docs/reference/templates/BOOT.md +1 -1
- package/docs/reference/templates/TOOLS.dev.md +1 -1
- package/docs/reference/templates/USER.dev.md +2 -2
- package/docs/reference/test.md +2 -2
- package/docs/reference/transcript-hygiene.md +1 -1
- package/docs/render.mdx +158 -0
- package/docs/scripts.md +1 -1
- package/docs/security/formal-verification.md +107 -0
- package/docs/start/getting-started.md +31 -25
- package/docs/start/hubs.md +2 -2
- package/docs/start/lore.md +74 -38
- package/docs/start/onboarding.md +7 -7
- package/docs/start/pairing.md +10 -10
- package/docs/start/{clawd.md → poolbot.md} +29 -29
- package/docs/start/setup.md +30 -17
- package/docs/start/showcase.md +32 -32
- package/docs/start/wizard.md +29 -26
- package/docs/testing.md +12 -12
- package/docs/token-use.md +7 -7
- package/docs/tools/agent-send.md +10 -10
- package/docs/tools/browser-linux-troubleshooting.md +10 -10
- package/docs/tools/browser-login.md +4 -4
- package/docs/tools/browser.md +135 -241
- package/docs/tools/chrome-extension.md +31 -48
- package/docs/tools/creating-skills.md +4 -4
- package/docs/tools/elevated.md +1 -0
- package/docs/tools/exec-approvals.md +8 -5
- package/docs/tools/exec.md +15 -4
- package/docs/tools/firecrawl.md +2 -2
- package/docs/tools/index.md +18 -15
- package/docs/tools/llm-task.md +1 -1
- package/docs/tools/lobster.md +23 -11
- package/docs/tools/{clawdhub.md → poolhub.md} +7 -7
- package/docs/tools/skills-config.md +2 -2
- package/docs/tools/skills.md +39 -31
- package/docs/tools/slash-commands.md +10 -8
- package/docs/tools/web.md +8 -8
- package/docs/tts.md +11 -11
- package/docs/tui.md +7 -7
- package/docs/vps.md +6 -1
- package/docs/web/control-ui.md +13 -12
- package/docs/web/dashboard.md +8 -4
- package/docs/web/index.md +6 -5
- package/docs/web/webchat.md +1 -1
- package/extensions/bluebubbles/index.ts +3 -3
- package/extensions/bluebubbles/package.json +5 -5
- package/extensions/bluebubbles/src/accounts.ts +9 -9
- package/extensions/bluebubbles/src/actions.test.ts +22 -22
- package/extensions/bluebubbles/src/actions.ts +6 -6
- package/extensions/bluebubbles/src/attachments.ts +2 -2
- package/extensions/bluebubbles/src/channel.ts +17 -17
- package/extensions/bluebubbles/src/chat.ts +2 -2
- package/extensions/bluebubbles/src/config-schema.ts +1 -1
- package/extensions/bluebubbles/src/media-send.ts +2 -2
- package/extensions/bluebubbles/src/monitor.test.ts +56 -50
- package/extensions/bluebubbles/src/monitor.ts +181 -6
- package/extensions/bluebubbles/src/onboarding.ts +9 -9
- package/extensions/bluebubbles/src/reactions.ts +2 -2
- package/extensions/bluebubbles/src/runtime.ts +1 -1
- package/extensions/bluebubbles/src/send.ts +2 -2
- package/extensions/copilot-proxy/README.md +2 -2
- package/extensions/copilot-proxy/index.ts +1 -1
- package/extensions/copilot-proxy/package.json +4 -4
- package/extensions/diagnostics-otel/index.ts +3 -3
- package/extensions/diagnostics-otel/package.json +4 -4
- package/extensions/diagnostics-otel/src/service.test.ts +15 -15
- package/extensions/diagnostics-otel/src/service.ts +85 -85
- package/extensions/discord/index.ts +3 -3
- package/extensions/discord/package.json +4 -4
- package/extensions/discord/src/channel.ts +1 -1
- package/extensions/discord/src/runtime.ts +1 -1
- package/extensions/google-antigravity-auth/README.md +2 -2
- package/extensions/google-antigravity-auth/index.ts +9 -2
- package/extensions/google-antigravity-auth/package.json +4 -4
- package/extensions/google-gemini-cli-auth/README.md +2 -2
- package/extensions/google-gemini-cli-auth/index.ts +1 -1
- package/extensions/google-gemini-cli-auth/oauth.ts +2 -2
- package/extensions/google-gemini-cli-auth/package.json +4 -4
- package/extensions/googlechat/index.ts +4 -4
- package/extensions/googlechat/node_modules/.bin/poolbot +21 -0
- package/extensions/googlechat/package.json +7 -7
- package/extensions/googlechat/src/accounts.ts +9 -9
- package/extensions/googlechat/src/actions.ts +8 -8
- package/extensions/googlechat/src/api.ts +1 -1
- package/extensions/googlechat/src/channel.ts +23 -23
- package/extensions/googlechat/src/monitor.ts +9 -9
- package/extensions/googlechat/src/onboarding.ts +11 -11
- package/extensions/googlechat/src/runtime.ts +1 -1
- package/extensions/googlechat/src/types.config.ts +1 -1
- package/extensions/imessage/index.ts +3 -3
- package/extensions/imessage/package.json +4 -4
- package/extensions/imessage/src/channel.ts +1 -1
- package/extensions/imessage/src/runtime.ts +1 -1
- package/extensions/line/index.ts +3 -3
- package/extensions/line/node_modules/.bin/poolbot +21 -0
- package/extensions/line/package.json +6 -6
- package/extensions/line/src/card-command.ts +3 -3
- package/extensions/line/src/channel.logout.test.ts +4 -4
- package/extensions/line/src/channel.sendPayload.test.ts +8 -8
- package/extensions/line/src/channel.ts +5 -5
- package/extensions/line/src/runtime.ts +1 -1
- package/extensions/llm-task/README.md +1 -1
- package/extensions/llm-task/index.ts +2 -2
- package/extensions/llm-task/package.json +4 -4
- package/extensions/llm-task/src/llm-task-tool.ts +5 -5
- package/extensions/lobster/index.ts +2 -2
- package/extensions/lobster/package.json +3 -3
- package/extensions/lobster/src/lobster-tool.test.ts +26 -6
- package/extensions/lobster/src/lobster-tool.ts +24 -6
- package/extensions/matrix/CHANGELOG.md +9 -9
- package/extensions/matrix/index.ts +3 -3
- package/extensions/matrix/node_modules/.bin/markdown-it +0 -0
- package/extensions/matrix/node_modules/.bin/poolbot +21 -0
- package/extensions/matrix/package.json +7 -7
- package/extensions/matrix/src/actions.ts +1 -1
- package/extensions/matrix/src/channel.directory.test.ts +1 -1
- package/extensions/matrix/src/channel.ts +1 -1
- package/extensions/matrix/src/config-schema.ts +1 -1
- package/extensions/matrix/src/directory-live.ts +1 -1
- package/extensions/matrix/src/group-mentions.ts +1 -1
- package/extensions/matrix/src/matrix/accounts.ts +1 -1
- package/extensions/matrix/src/matrix/actions/messages.ts +1 -1
- package/extensions/matrix/src/matrix/actions/reactions.ts +1 -1
- package/extensions/matrix/src/matrix/actions/room.ts +3 -3
- package/extensions/matrix/src/matrix/actions/summary.ts +1 -1
- package/extensions/matrix/src/matrix/actions/types.ts +1 -1
- package/extensions/matrix/src/matrix/active-client.ts +1 -1
- package/extensions/matrix/src/matrix/client/config.ts +2 -2
- package/extensions/matrix/src/matrix/client/create-client.ts +2 -2
- package/extensions/matrix/src/matrix/client/logging.ts +1 -1
- package/extensions/matrix/src/matrix/client/shared.ts +3 -3
- package/extensions/matrix/src/matrix/deps.ts +5 -5
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +3 -3
- package/extensions/matrix/src/matrix/monitor/direct.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/events.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/handler.ts +8 -8
- package/extensions/matrix/src/matrix/monitor/index.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/location.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/media.test.ts +3 -3
- package/extensions/matrix/src/matrix/monitor/media.ts +3 -3
- package/extensions/matrix/src/matrix/monitor/replies.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/room-info.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/rooms.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/threads.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/types.ts +1 -1
- package/extensions/matrix/src/matrix/poll-types.ts +1 -1
- package/extensions/matrix/src/matrix/probe.ts +1 -1
- package/extensions/matrix/src/matrix/send/client.ts +2 -2
- package/extensions/matrix/src/matrix/send/media.ts +1 -1
- package/extensions/matrix/src/matrix/send/targets.test.ts +1 -1
- package/extensions/matrix/src/matrix/send/targets.ts +1 -1
- package/extensions/matrix/src/matrix/send/types.ts +2 -2
- package/extensions/matrix/src/matrix/send.test.ts +3 -3
- package/extensions/matrix/src/matrix/send.ts +4 -4
- package/extensions/matrix/src/onboarding.ts +3 -3
- package/extensions/matrix/src/outbound.ts +1 -1
- package/extensions/matrix/src/resolve-targets.ts +1 -1
- package/extensions/matrix/src/runtime.ts +1 -1
- package/extensions/matrix/src/tool-actions.ts +1 -1
- package/extensions/matrix/src/types.ts +1 -1
- package/extensions/mattermost/index.ts +3 -3
- package/extensions/mattermost/package.json +5 -5
- package/extensions/mattermost/src/channel.ts +1 -1
- package/extensions/mattermost/src/config-schema.ts +1 -1
- package/extensions/mattermost/src/group-mentions.ts +1 -1
- package/extensions/mattermost/src/mattermost/accounts.ts +9 -9
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
- package/extensions/mattermost/src/mattermost/monitor.ts +4 -4
- package/extensions/mattermost/src/onboarding-helpers.ts +4 -4
- package/extensions/mattermost/src/onboarding.ts +4 -4
- package/extensions/mattermost/src/runtime.ts +1 -1
- package/extensions/mattermost/src/types.ts +1 -1
- package/extensions/memory-core/index.ts +3 -3
- package/extensions/memory-core/node_modules/.bin/poolbot +21 -0
- package/extensions/memory-core/package.json +5 -5
- package/extensions/memory-lancedb/config.ts +2 -2
- package/extensions/memory-lancedb/index.test.ts +2 -2
- package/extensions/memory-lancedb/index.ts +4 -4
- package/extensions/memory-lancedb/node_modules/.bin/openai +0 -0
- package/extensions/memory-lancedb/package.json +4 -4
- package/extensions/memory-lancedb/{clawdbot.plugin.json → poolbot.plugin.json} +1 -1
- package/extensions/msteams/CHANGELOG.md +7 -7
- package/extensions/msteams/index.ts +3 -3
- package/extensions/msteams/node_modules/.bin/poolbot +21 -0
- package/extensions/msteams/package.json +6 -6
- package/extensions/msteams/src/attachments.test.ts +1 -1
- package/extensions/msteams/src/channel.directory.test.ts +2 -2
- package/extensions/msteams/src/channel.ts +3 -3
- package/extensions/msteams/src/conversation-store-fs.test.ts +3 -3
- package/extensions/msteams/src/directory-live.ts +1 -1
- package/extensions/msteams/src/graph-upload.ts +4 -4
- package/extensions/msteams/src/media-helpers.ts +1 -1
- package/extensions/msteams/src/messenger.test.ts +1 -1
- package/extensions/msteams/src/messenger.ts +1 -1
- package/extensions/msteams/src/monitor-handler/message-handler.ts +1 -1
- package/extensions/msteams/src/monitor-handler.ts +2 -2
- package/extensions/msteams/src/monitor.ts +3 -3
- package/extensions/msteams/src/onboarding.ts +11 -11
- package/extensions/msteams/src/outbound.ts +1 -1
- package/extensions/msteams/src/policy.test.ts +1 -1
- package/extensions/msteams/src/policy.ts +50 -5
- package/extensions/msteams/src/polls-store.test.ts +1 -1
- package/extensions/msteams/src/polls.test.ts +4 -4
- package/extensions/msteams/src/polls.ts +8 -8
- package/extensions/msteams/src/probe.test.ts +1 -1
- package/extensions/msteams/src/probe.ts +1 -1
- package/extensions/msteams/src/reply-dispatcher.ts +36 -36
- package/extensions/msteams/src/runtime.ts +1 -1
- package/extensions/msteams/src/send-context.ts +2 -2
- package/extensions/msteams/src/send.ts +5 -5
- package/extensions/msteams/src/token.ts +1 -1
- package/extensions/nextcloud-talk/index.ts +3 -3
- package/extensions/nextcloud-talk/package.json +5 -5
- package/extensions/nextcloud-talk/src/accounts.ts +1 -1
- package/extensions/nextcloud-talk/src/channel.ts +8 -8
- package/extensions/nextcloud-talk/src/config-schema.ts +1 -1
- package/extensions/nextcloud-talk/src/inbound.ts +8 -8
- package/extensions/nextcloud-talk/src/monitor.ts +1 -1
- package/extensions/nextcloud-talk/src/onboarding.ts +2 -2
- package/extensions/nextcloud-talk/src/policy.ts +2 -2
- package/extensions/nextcloud-talk/src/room-info.ts +1 -1
- package/extensions/nextcloud-talk/src/runtime.ts +1 -1
- package/extensions/nextcloud-talk/src/types.ts +1 -1
- package/extensions/nostr/CHANGELOG.md +4 -4
- package/extensions/nostr/README.md +3 -3
- package/extensions/nostr/index.ts +6 -6
- package/extensions/nostr/node_modules/.bin/poolbot +21 -0
- package/extensions/nostr/package.json +6 -6
- package/extensions/nostr/src/channel.ts +2 -2
- package/extensions/nostr/src/config-schema.ts +1 -1
- package/extensions/nostr/src/nostr-state-store.test.ts +3 -3
- package/extensions/nostr/src/runtime.ts +1 -1
- package/extensions/nostr/src/types.ts +4 -4
- package/extensions/open-prose/index.ts +2 -2
- package/extensions/open-prose/package.json +3 -3
- package/extensions/open-prose/skills/prose/SKILL.md +5 -5
- package/extensions/open-prose/skills/prose/prose.md +4 -4
- package/extensions/qwen-portal-auth/README.md +2 -2
- package/extensions/qwen-portal-auth/index.ts +1 -1
- package/extensions/signal/index.ts +3 -3
- package/extensions/signal/package.json +4 -4
- package/extensions/signal/src/channel.ts +1 -1
- package/extensions/signal/src/runtime.ts +1 -1
- package/extensions/slack/index.ts +3 -3
- package/extensions/slack/package.json +4 -4
- package/extensions/slack/src/channel.ts +1 -1
- package/extensions/slack/src/runtime.ts +1 -1
- package/extensions/telegram/index.ts +3 -3
- package/extensions/telegram/package.json +4 -4
- package/extensions/telegram/src/channel.ts +3 -3
- package/extensions/telegram/src/runtime.ts +1 -1
- package/extensions/tlon/README.md +1 -1
- package/extensions/tlon/index.ts +3 -3
- package/extensions/tlon/package.json +5 -5
- package/extensions/tlon/src/channel.ts +15 -15
- package/extensions/tlon/src/config-schema.ts +1 -1
- package/extensions/tlon/src/monitor/discovery.ts +1 -1
- package/extensions/tlon/src/monitor/history.ts +1 -1
- package/extensions/tlon/src/monitor/index.ts +3 -3
- package/extensions/tlon/src/onboarding.ts +4 -4
- package/extensions/tlon/src/runtime.ts +1 -1
- package/extensions/tlon/src/types.ts +3 -3
- package/extensions/tlon/src/urbit/send.ts +19 -6
- package/extensions/twitch/CHANGELOG.md +21 -0
- package/extensions/twitch/README.md +89 -0
- package/extensions/twitch/index.ts +20 -0
- package/extensions/twitch/node_modules/.bin/poolbot +21 -0
- package/extensions/twitch/package.json +20 -0
- package/extensions/twitch/poolbot.plugin.json +9 -0
- package/extensions/twitch/src/access-control.test.ts +489 -0
- package/extensions/twitch/src/access-control.ts +154 -0
- package/extensions/twitch/src/actions.ts +173 -0
- package/extensions/twitch/src/client-manager-registry.ts +115 -0
- package/extensions/twitch/src/config-schema.ts +82 -0
- package/extensions/twitch/src/config.test.ts +88 -0
- package/extensions/twitch/src/config.ts +116 -0
- package/extensions/twitch/src/monitor.ts +257 -0
- package/extensions/twitch/src/onboarding.test.ts +311 -0
- package/extensions/twitch/src/onboarding.ts +411 -0
- package/extensions/twitch/src/outbound.test.ts +373 -0
- package/extensions/twitch/src/outbound.ts +186 -0
- package/extensions/twitch/src/plugin.test.ts +39 -0
- package/extensions/twitch/src/plugin.ts +274 -0
- package/extensions/twitch/src/probe.test.ts +198 -0
- package/extensions/twitch/src/probe.ts +118 -0
- package/extensions/twitch/src/resolver.ts +137 -0
- package/extensions/twitch/src/runtime.ts +14 -0
- package/extensions/twitch/src/send.test.ts +289 -0
- package/extensions/twitch/src/send.ts +136 -0
- package/extensions/twitch/src/status.test.ts +270 -0
- package/extensions/twitch/src/status.ts +176 -0
- package/extensions/twitch/src/token.test.ts +171 -0
- package/extensions/twitch/src/token.ts +87 -0
- package/extensions/twitch/src/twitch-client.test.ts +574 -0
- package/extensions/twitch/src/twitch-client.ts +277 -0
- package/extensions/twitch/src/types.ts +141 -0
- package/extensions/twitch/src/utils/markdown.ts +92 -0
- package/extensions/twitch/src/utils/twitch.ts +78 -0
- package/extensions/twitch/test/setup.ts +7 -0
- package/extensions/voice-call/CHANGELOG.md +13 -12
- package/extensions/voice-call/README.md +15 -14
- package/extensions/voice-call/index.ts +11 -9
- package/extensions/voice-call/package.json +4 -4
- package/extensions/voice-call/{clawdbot.plugin.json → poolbot.plugin.json} +3 -3
- package/extensions/voice-call/src/cli.ts +1 -1
- package/extensions/voice-call/src/config.test.ts +204 -0
- package/extensions/voice-call/src/config.ts +61 -4
- package/extensions/voice-call/src/core-bridge.ts +10 -8
- package/extensions/voice-call/src/manager.test.ts +2 -2
- package/extensions/voice-call/src/providers/twilio/webhook.ts +2 -1
- package/extensions/voice-call/src/providers/twilio.ts +2 -2
- package/extensions/voice-call/src/response-generator.ts +1 -1
- package/extensions/voice-call/src/runtime.ts +26 -15
- package/extensions/voice-call/src/types.ts +1 -0
- package/extensions/voice-call/src/webhook-security.test.ts +52 -0
- package/extensions/voice-call/src/webhook-security.ts +16 -5
- package/extensions/voice-call/src/webhook.ts +1 -0
- package/extensions/whatsapp/index.ts +3 -3
- package/extensions/whatsapp/package.json +4 -4
- package/extensions/whatsapp/src/channel.ts +1 -1
- package/extensions/whatsapp/src/runtime.ts +1 -1
- package/extensions/zalo/CHANGELOG.md +9 -9
- package/extensions/zalo/README.md +3 -3
- package/extensions/zalo/index.ts +3 -3
- package/extensions/zalo/node_modules/.bin/poolbot +21 -0
- package/extensions/zalo/package.json +6 -6
- package/extensions/zalo/src/accounts.ts +9 -9
- package/extensions/zalo/src/actions.ts +6 -6
- package/extensions/zalo/src/channel.directory.test.ts +2 -2
- package/extensions/zalo/src/channel.ts +20 -20
- package/extensions/zalo/src/config-schema.ts +1 -1
- package/extensions/zalo/src/monitor.ts +9 -9
- package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
- package/extensions/zalo/src/onboarding.ts +27 -27
- package/extensions/zalo/src/runtime.ts +1 -1
- package/extensions/zalo/src/send.ts +2 -2
- package/extensions/zalo/src/status-issues.ts +1 -1
- package/extensions/zalo/src/token.ts +1 -1
- package/extensions/zalouser/CHANGELOG.md +4 -4
- package/extensions/zalouser/README.md +17 -17
- package/extensions/zalouser/index.ts +3 -3
- package/extensions/zalouser/node_modules/.bin/poolbot +21 -0
- package/extensions/zalouser/package.json +6 -6
- package/extensions/zalouser/src/accounts.ts +10 -10
- package/extensions/zalouser/src/channel.ts +27 -27
- package/extensions/zalouser/src/config-schema.ts +1 -1
- package/extensions/zalouser/src/monitor.ts +5 -5
- package/extensions/zalouser/src/onboarding.ts +32 -32
- package/extensions/zalouser/src/runtime.ts +1 -1
- package/extensions/zalouser/src/status-issues.ts +2 -2
- package/git-hooks/pre-commit +0 -0
- package/package.json +78 -89
- package/skills/1password/SKILL.md +3 -3
- package/skills/apple-notes/SKILL.md +2 -2
- package/skills/apple-reminders/SKILL.md +1 -1
- package/skills/bear-notes/SKILL.md +1 -1
- package/skills/bird/SKILL.md +1 -1
- package/skills/blogwatcher/SKILL.md +1 -1
- package/skills/blucli/SKILL.md +1 -1
- package/skills/bluebubbles/SKILL.md +2 -2
- package/skills/camsnap/SKILL.md +1 -1
- package/skills/canvas/SKILL.md +15 -15
- package/skills/coding-agent/SKILL.md +6 -6
- package/skills/discord/SKILL.md +6 -5
- package/skills/eightctl/SKILL.md +1 -1
- package/skills/food-order/SKILL.md +1 -1
- package/skills/gemini/SKILL.md +1 -1
- package/skills/gifgrep/SKILL.md +1 -1
- package/skills/github/SKILL.md +1 -0
- package/skills/gog/SKILL.md +1 -1
- package/skills/goplaces/SKILL.md +1 -1
- package/skills/himalaya/SKILL.md +1 -1
- package/skills/imsg/SKILL.md +1 -1
- package/skills/local-places/SKILL.md +1 -1
- package/skills/mcporter/SKILL.md +1 -1
- package/skills/model-usage/SKILL.md +1 -1
- package/skills/nano-banana-pro/SKILL.md +10 -5
- package/skills/nano-banana-pro/scripts/generate_image.py +42 -27
- package/skills/nano-pdf/SKILL.md +1 -1
- package/skills/notion/SKILL.md +1 -1
- package/skills/obsidian/SKILL.md +1 -1
- package/skills/openai-image-gen/SKILL.md +1 -1
- package/skills/openai-whisper/SKILL.md +1 -1
- package/skills/openai-whisper-api/SKILL.md +2 -2
- package/skills/openhue/SKILL.md +1 -1
- package/skills/oracle/SKILL.md +1 -1
- package/skills/ordercli/SKILL.md +1 -1
- package/skills/peekaboo/SKILL.md +1 -1
- package/skills/{clawdhub → poolhub}/SKILL.md +2 -2
- package/skills/sag/SKILL.md +1 -1
- package/skills/session-logs/SKILL.md +7 -7
- package/skills/sherpa-onnx-tts/SKILL.md +6 -6
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -0
- package/skills/slack/SKILL.md +4 -3
- package/skills/songsee/SKILL.md +1 -1
- package/skills/sonoscli/SKILL.md +1 -1
- package/skills/spotify-player/SKILL.md +1 -1
- package/skills/summarize/SKILL.md +1 -1
- package/skills/things-mac/SKILL.md +3 -3
- package/skills/tmux/SKILL.md +7 -7
- package/skills/tmux/scripts/find-sessions.sh +1 -1
- package/skills/tmux/scripts/wait-for-text.sh +0 -0
- package/skills/trello/SKILL.md +2 -2
- package/skills/video-frames/SKILL.md +1 -1
- package/skills/voice-call/SKILL.md +4 -4
- package/skills/wacli/SKILL.md +2 -2
- package/skills/weather/SKILL.md +1 -1
- package/skills/webgpu-threejs-tsl/REFERENCE.md +283 -0
- package/skills/webgpu-threejs-tsl/SKILL.md +91 -0
- package/skills/webgpu-threejs-tsl/docs/compute-shaders.md +404 -0
- package/skills/webgpu-threejs-tsl/docs/core-concepts.md +453 -0
- package/skills/webgpu-threejs-tsl/docs/materials.md +353 -0
- package/skills/webgpu-threejs-tsl/docs/post-processing.md +434 -0
- package/skills/webgpu-threejs-tsl/docs/wgsl-integration.md +324 -0
- package/skills/webgpu-threejs-tsl/examples/basic-setup.js +87 -0
- package/skills/webgpu-threejs-tsl/examples/custom-material.js +170 -0
- package/skills/webgpu-threejs-tsl/examples/earth-shader.js +292 -0
- package/skills/webgpu-threejs-tsl/examples/particle-system.js +259 -0
- package/skills/webgpu-threejs-tsl/examples/post-processing.js +199 -0
- package/skills/webgpu-threejs-tsl/templates/compute-shader.js +305 -0
- package/skills/webgpu-threejs-tsl/templates/webgpu-project.js +276 -0
- package/dist/cli/browser-cli-serve.js +0 -91
- package/dist/control-ui/assets/index-Cl-Y9zqE.js.map +0 -1
- package/dist/control-ui/assets/index-DEPfFcOb.css +0 -1
- package/docs/POOL-BOT.md +0 -119
- /package/dist/{config/types.clawdbot.js → browser/routes/types.js} +0 -0
- /package/docs/{whatsapp-clawd.jpg → whatsapp-poolbot.jpg} +0 -0
- /package/extensions/bluebubbles/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/copilot-proxy/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/diagnostics-otel/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/discord/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/google-antigravity-auth/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/google-gemini-cli-auth/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/googlechat/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/imessage/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/line/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/llm-task/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/lobster/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/matrix/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/mattermost/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/memory-core/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/msteams/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/nextcloud-talk/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/nostr/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/open-prose/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/qwen-portal-auth/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/signal/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/slack/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/telegram/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/tlon/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/whatsapp/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/zalo/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
- /package/extensions/zalouser/{clawdbot.plugin.json → poolbot.plugin.json} +0 -0
package/docs/index.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Top-level overview of
|
|
2
|
+
summary: "Top-level overview of Pool Bot, features, and purpose"
|
|
3
3
|
read_when:
|
|
4
|
-
- Introducing
|
|
4
|
+
- Introducing Pool Bot to newcomers
|
|
5
5
|
---
|
|
6
|
-
#
|
|
6
|
+
# Pool Bot 🦞
|
|
7
7
|
|
|
8
8
|
> *"EXFOLIATE! EXFOLIATE!"* — A space lobster, probably
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
11
|
-
<img src="whatsapp-clawd.jpg" alt="
|
|
11
|
+
<img src="whatsapp-clawd.jpg" alt="Pool Bot" width="420" />
|
|
12
12
|
</p>
|
|
13
13
|
|
|
14
14
|
<p align="center">
|
|
@@ -18,23 +18,23 @@ read_when:
|
|
|
18
18
|
</p>
|
|
19
19
|
|
|
20
20
|
<p align="center">
|
|
21
|
-
<a href="https://github.com/
|
|
22
|
-
<a href="https://github.com/
|
|
21
|
+
<a href="https://github.com/poolbot/poolbot">GitHub</a> ·
|
|
22
|
+
<a href="https://github.com/poolbot/poolbot/releases">Releases</a> ·
|
|
23
23
|
<a href="/">Docs</a> ·
|
|
24
|
-
<a href="/start/clawd">
|
|
24
|
+
<a href="/start/clawd">Pool Bot assistant setup</a>
|
|
25
25
|
</p>
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
Pool Bot bridges WhatsApp (via WhatsApp Web / Baileys), Telegram (Bot API / grammY), Discord (Bot API / channels.discord.js), and iMessage (imsg CLI) to coding agents like [Pi](https://github.com/badlogic/pi-mono). Plugins add Mattermost (Bot API + WebSocket) and more.
|
|
28
|
+
Pool Bot also powers [Clawd](https://clawd.me), the space‑lobster assistant.
|
|
29
29
|
|
|
30
30
|
## Start here
|
|
31
31
|
|
|
32
32
|
- **New install from zero:** [Getting Started](/start/getting-started)
|
|
33
|
-
- **Guided setup (recommended):** [Wizard](/start/wizard) (`
|
|
33
|
+
- **Guided setup (recommended):** [Wizard](/start/wizard) (`poolbot onboard`)
|
|
34
34
|
- **Open the dashboard (local Gateway):** http://127.0.0.1:18789/ (or http://localhost:18789/)
|
|
35
35
|
|
|
36
36
|
If the Gateway is running on the same computer, that link opens the browser Control UI
|
|
37
|
-
immediately. If it fails, start the Gateway first: `
|
|
37
|
+
immediately. If it fails, start the Gateway first: `poolbot gateway`.
|
|
38
38
|
|
|
39
39
|
## Dashboard (browser Control UI)
|
|
40
40
|
|
|
@@ -52,27 +52,27 @@ WhatsApp / Telegram / Discord / iMessage (+ plugins)
|
|
|
52
52
|
│ Gateway │ ws://127.0.0.1:18789 (loopback-only)
|
|
53
53
|
│ (single source) │
|
|
54
54
|
│ │ http://<gateway-host>:18793
|
|
55
|
-
│ │ /
|
|
55
|
+
│ │ /__poolbot__/canvas/ (Canvas host)
|
|
56
56
|
└───────────┬───────────────┘
|
|
57
57
|
│
|
|
58
58
|
├─ Pi agent (RPC)
|
|
59
|
-
├─ CLI (
|
|
59
|
+
├─ CLI (poolbot …)
|
|
60
60
|
├─ Chat UI (SwiftUI)
|
|
61
|
-
├─ macOS app (
|
|
61
|
+
├─ macOS app (Pool Bot.app)
|
|
62
62
|
├─ iOS node via Gateway WS + pairing
|
|
63
63
|
└─ Android node via Gateway WS + pairing
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
Most operations flow through the **Gateway** (`
|
|
66
|
+
Most operations flow through the **Gateway** (`poolbot gateway`), a single long-running process that owns channel connections and the WebSocket control plane.
|
|
67
67
|
|
|
68
68
|
## Network model
|
|
69
69
|
|
|
70
70
|
- **One Gateway per host (recommended)**: it is the only process allowed to own the WhatsApp Web session. If you need a rescue bot or strict isolation, run multiple gateways with isolated profiles and ports; see [Multiple gateways](/gateway/multiple-gateways).
|
|
71
71
|
- **Loopback-first**: Gateway WS defaults to `ws://127.0.0.1:18789`.
|
|
72
72
|
- The wizard now generates a gateway token by default (even for loopback).
|
|
73
|
-
- For Tailnet access, run `
|
|
73
|
+
- For Tailnet access, run `poolbot gateway --bind tailnet --token ...` (token is required for non-loopback binds).
|
|
74
74
|
- **Nodes**: connect to the Gateway WebSocket (LAN/tailnet/SSH as needed); legacy TCP bridge is deprecated/removed.
|
|
75
|
-
- **Canvas host**: HTTP file server on `canvasHost.port` (default `18793`), serving `/
|
|
75
|
+
- **Canvas host**: HTTP file server on `canvasHost.port` (default `18793`), serving `/__poolbot__/canvas/` for node WebViews; see [Gateway configuration](/gateway/configuration) (`canvasHost`).
|
|
76
76
|
- **Remote use**: SSH tunnel or tailnet/VPN; see [Remote access](/gateway/remote) and [Discovery](/gateway/discovery).
|
|
77
77
|
|
|
78
78
|
## Features (high level)
|
|
@@ -102,53 +102,53 @@ Runtime requirement: **Node ≥ 22**.
|
|
|
102
102
|
|
|
103
103
|
```bash
|
|
104
104
|
# Recommended: global install (npm/pnpm)
|
|
105
|
-
npm install -g
|
|
106
|
-
# or: pnpm add -g
|
|
105
|
+
npm install -g poolbot@latest
|
|
106
|
+
# or: pnpm add -g poolbot@latest
|
|
107
107
|
|
|
108
108
|
# Onboard + install the service (launchd/systemd user service)
|
|
109
|
-
|
|
109
|
+
poolbot onboard --install-daemon
|
|
110
110
|
|
|
111
111
|
# Pair WhatsApp Web (shows QR)
|
|
112
|
-
|
|
112
|
+
poolbot channels login
|
|
113
113
|
|
|
114
114
|
# Gateway runs via the service after onboarding; manual run is still possible:
|
|
115
|
-
|
|
115
|
+
poolbot gateway --port 18789
|
|
116
116
|
```
|
|
117
117
|
|
|
118
|
-
Switching between npm and git installs later is easy: install the other flavor and run `
|
|
118
|
+
Switching between npm and git installs later is easy: install the other flavor and run `poolbot doctor` to update the gateway service entrypoint.
|
|
119
119
|
|
|
120
120
|
From source (development):
|
|
121
121
|
|
|
122
122
|
```bash
|
|
123
|
-
git clone https://github.com/
|
|
124
|
-
cd
|
|
123
|
+
git clone https://github.com/poolbot/poolbot.git
|
|
124
|
+
cd poolbot
|
|
125
125
|
pnpm install
|
|
126
126
|
pnpm ui:build # auto-installs UI deps on first run
|
|
127
127
|
pnpm build
|
|
128
|
-
|
|
128
|
+
poolbot onboard --install-daemon
|
|
129
129
|
```
|
|
130
130
|
|
|
131
|
-
If you don’t have a global install yet, run the onboarding step via `pnpm
|
|
131
|
+
If you don’t have a global install yet, run the onboarding step via `pnpm poolbot ...` from the repo.
|
|
132
132
|
|
|
133
133
|
Multi-instance quickstart (optional):
|
|
134
134
|
|
|
135
135
|
```bash
|
|
136
|
-
CLAWDBOT_CONFIG_PATH=~/.
|
|
137
|
-
CLAWDBOT_STATE_DIR=~/.
|
|
138
|
-
|
|
136
|
+
CLAWDBOT_CONFIG_PATH=~/.poolbot/a.json \
|
|
137
|
+
CLAWDBOT_STATE_DIR=~/.poolbot-a \
|
|
138
|
+
poolbot gateway --port 19001
|
|
139
139
|
```
|
|
140
140
|
|
|
141
141
|
Send a test message (requires a running Gateway):
|
|
142
142
|
|
|
143
143
|
```bash
|
|
144
|
-
|
|
144
|
+
poolbot message send --target +15555550123 --message "Hello from Pool Bot"
|
|
145
145
|
```
|
|
146
146
|
|
|
147
147
|
## Configuration (optional)
|
|
148
148
|
|
|
149
|
-
Config lives at `~/.
|
|
149
|
+
Config lives at `~/.poolbot/poolbot.json`.
|
|
150
150
|
|
|
151
|
-
- If you **do nothing**,
|
|
151
|
+
- If you **do nothing**, Pool Bot uses the bundled Pi binary in RPC mode with per-sender sessions.
|
|
152
152
|
- If you want to lock it down, start with `channels.whatsapp.allowFrom` and (for groups) mention rules.
|
|
153
153
|
|
|
154
154
|
Example:
|
|
@@ -177,7 +177,7 @@ Example:
|
|
|
177
177
|
- [Updating / rollback](/install/updating)
|
|
178
178
|
- [Pairing (DM + nodes)](/start/pairing)
|
|
179
179
|
- [Nix mode](/install/nix)
|
|
180
|
-
- [
|
|
180
|
+
- [Pool Bot assistant setup (Clawd)](/start/clawd)
|
|
181
181
|
- [Skills](/tools/skills)
|
|
182
182
|
- [Skills config](/tools/skills-config)
|
|
183
183
|
- [Workspace templates](/reference/templates/AGENTS)
|
|
@@ -214,7 +214,7 @@ Example:
|
|
|
214
214
|
|
|
215
215
|
## The name
|
|
216
216
|
|
|
217
|
-
**
|
|
217
|
+
**Pool Bot = CLAW + TARDIS** — because every space lobster needs a time-and-space machine.
|
|
218
218
|
|
|
219
219
|
---
|
|
220
220
|
|
package/docs/install/ansible.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Automated, hardened
|
|
2
|
+
summary: "Automated, hardened Pool Bot installation with Ansible, Tailscale VPN, and firewall isolation"
|
|
3
3
|
read_when:
|
|
4
4
|
- You want automated server deployment with security hardening
|
|
5
5
|
- You need firewall-isolated setup with VPN access
|
|
@@ -8,19 +8,19 @@ read_when:
|
|
|
8
8
|
|
|
9
9
|
# Ansible Installation
|
|
10
10
|
|
|
11
|
-
The recommended way to deploy
|
|
11
|
+
The recommended way to deploy Pool Bot to production servers is via **[poolbot-ansible](https://github.com/poolbot/poolbot-ansible)** — an automated installer with security-first architecture.
|
|
12
12
|
|
|
13
13
|
## Quick Start
|
|
14
14
|
|
|
15
15
|
One-command install:
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
curl -fsSL https://raw.githubusercontent.com/
|
|
18
|
+
curl -fsSL https://raw.githubusercontent.com/poolbot/poolbot-ansible/main/install.sh | bash
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
> **📦 Full guide: [github.com/
|
|
21
|
+
> **📦 Full guide: [github.com/poolbot/poolbot-ansible](https://github.com/poolbot/poolbot-ansible)**
|
|
22
22
|
>
|
|
23
|
-
> The
|
|
23
|
+
> The poolbot-ansible repo is the source of truth for Ansible deployment. This page is a quick overview.
|
|
24
24
|
|
|
25
25
|
## What You Get
|
|
26
26
|
|
|
@@ -46,22 +46,22 @@ The Ansible playbook installs and configures:
|
|
|
46
46
|
2. **UFW firewall** (SSH + Tailscale ports only)
|
|
47
47
|
3. **Docker CE + Compose V2** (for agent sandboxes)
|
|
48
48
|
4. **Node.js 22.x + pnpm** (runtime dependencies)
|
|
49
|
-
5. **
|
|
49
|
+
5. **Pool Bot** (host-based, not containerized)
|
|
50
50
|
6. **Systemd service** (auto-start with security hardening)
|
|
51
51
|
|
|
52
52
|
Note: The gateway runs **directly on the host** (not in Docker), but agent sandboxes use Docker for isolation. See [Sandboxing](/gateway/sandboxing) for details.
|
|
53
53
|
|
|
54
54
|
## Post-Install Setup
|
|
55
55
|
|
|
56
|
-
After installation completes, switch to the
|
|
56
|
+
After installation completes, switch to the poolbot user:
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
|
-
sudo -i -u
|
|
59
|
+
sudo -i -u poolbot
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
The post-install script will guide you through:
|
|
63
63
|
|
|
64
|
-
1. **Onboarding wizard**: Configure
|
|
64
|
+
1. **Onboarding wizard**: Configure Pool Bot settings
|
|
65
65
|
2. **Provider login**: Connect WhatsApp/Telegram/Discord/Signal
|
|
66
66
|
3. **Gateway testing**: Verify the installation
|
|
67
67
|
4. **Tailscale setup**: Connect to your VPN mesh
|
|
@@ -70,17 +70,17 @@ The post-install script will guide you through:
|
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
72
|
# Check service status
|
|
73
|
-
sudo systemctl status
|
|
73
|
+
sudo systemctl status poolbot
|
|
74
74
|
|
|
75
75
|
# View live logs
|
|
76
|
-
sudo journalctl -u
|
|
76
|
+
sudo journalctl -u poolbot -f
|
|
77
77
|
|
|
78
78
|
# Restart gateway
|
|
79
|
-
sudo systemctl restart
|
|
79
|
+
sudo systemctl restart poolbot
|
|
80
80
|
|
|
81
|
-
# Provider login (run as
|
|
82
|
-
sudo -i -u
|
|
83
|
-
|
|
81
|
+
# Provider login (run as poolbot user)
|
|
82
|
+
sudo -i -u poolbot
|
|
83
|
+
poolbot channels login
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
## Security Architecture
|
|
@@ -117,8 +117,8 @@ If you prefer manual control over the automation:
|
|
|
117
117
|
sudo apt update && sudo apt install -y ansible git
|
|
118
118
|
|
|
119
119
|
# 2. Clone repository
|
|
120
|
-
git clone https://github.com/
|
|
121
|
-
cd
|
|
120
|
+
git clone https://github.com/poolbot/poolbot-ansible.git
|
|
121
|
+
cd poolbot-ansible
|
|
122
122
|
|
|
123
123
|
# 3. Install Ansible collections
|
|
124
124
|
ansible-galaxy collection install -r requirements.yml
|
|
@@ -126,18 +126,18 @@ ansible-galaxy collection install -r requirements.yml
|
|
|
126
126
|
# 4. Run playbook
|
|
127
127
|
./run-playbook.sh
|
|
128
128
|
|
|
129
|
-
# Or run directly (then manually execute /tmp/
|
|
129
|
+
# Or run directly (then manually execute /tmp/poolbot-setup.sh after)
|
|
130
130
|
# ansible-playbook playbook.yml --ask-become-pass
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
-
## Updating
|
|
133
|
+
## Updating Pool Bot
|
|
134
134
|
|
|
135
|
-
The Ansible installer sets up
|
|
135
|
+
The Ansible installer sets up Pool Bot for manual updates. See [Updating](/install/updating) for the standard update flow.
|
|
136
136
|
|
|
137
137
|
To re-run the Ansible playbook (e.g., for configuration changes):
|
|
138
138
|
|
|
139
139
|
```bash
|
|
140
|
-
cd
|
|
140
|
+
cd poolbot-ansible
|
|
141
141
|
./run-playbook.sh
|
|
142
142
|
```
|
|
143
143
|
|
|
@@ -156,14 +156,14 @@ If you're locked out:
|
|
|
156
156
|
|
|
157
157
|
```bash
|
|
158
158
|
# Check logs
|
|
159
|
-
sudo journalctl -u
|
|
159
|
+
sudo journalctl -u poolbot -n 100
|
|
160
160
|
|
|
161
161
|
# Verify permissions
|
|
162
|
-
sudo ls -la /opt/
|
|
162
|
+
sudo ls -la /opt/poolbot
|
|
163
163
|
|
|
164
164
|
# Test manual start
|
|
165
|
-
sudo -i -u
|
|
166
|
-
cd ~/
|
|
165
|
+
sudo -i -u poolbot
|
|
166
|
+
cd ~/poolbot
|
|
167
167
|
pnpm start
|
|
168
168
|
```
|
|
169
169
|
|
|
@@ -174,32 +174,32 @@ pnpm start
|
|
|
174
174
|
sudo systemctl status docker
|
|
175
175
|
|
|
176
176
|
# Check sandbox image
|
|
177
|
-
sudo docker images | grep
|
|
177
|
+
sudo docker images | grep poolbot-sandbox
|
|
178
178
|
|
|
179
179
|
# Build sandbox image if missing
|
|
180
|
-
cd /opt/
|
|
181
|
-
sudo -u
|
|
180
|
+
cd /opt/poolbot/poolbot
|
|
181
|
+
sudo -u poolbot ./scripts/sandbox-setup.sh
|
|
182
182
|
```
|
|
183
183
|
|
|
184
184
|
### Provider login fails
|
|
185
185
|
|
|
186
|
-
Make sure you're running as the `
|
|
186
|
+
Make sure you're running as the `poolbot` user:
|
|
187
187
|
|
|
188
188
|
```bash
|
|
189
|
-
sudo -i -u
|
|
190
|
-
|
|
189
|
+
sudo -i -u poolbot
|
|
190
|
+
poolbot channels login
|
|
191
191
|
```
|
|
192
192
|
|
|
193
193
|
## Advanced Configuration
|
|
194
194
|
|
|
195
195
|
For detailed security architecture and troubleshooting:
|
|
196
|
-
- [Security Architecture](https://github.com/
|
|
197
|
-
- [Technical Details](https://github.com/
|
|
198
|
-
- [Troubleshooting Guide](https://github.com/
|
|
196
|
+
- [Security Architecture](https://github.com/poolbot/poolbot-ansible/blob/main/docs/security.md)
|
|
197
|
+
- [Technical Details](https://github.com/poolbot/poolbot-ansible/blob/main/docs/architecture.md)
|
|
198
|
+
- [Troubleshooting Guide](https://github.com/poolbot/poolbot-ansible/blob/main/docs/troubleshooting.md)
|
|
199
199
|
|
|
200
200
|
## Related
|
|
201
201
|
|
|
202
|
-
- [
|
|
202
|
+
- [poolbot-ansible](https://github.com/poolbot/poolbot-ansible) — full deployment guide
|
|
203
203
|
- [Docker](/install/docker) — containerized gateway setup
|
|
204
204
|
- [Sandboxing](/gateway/sandboxing) — agent sandbox configuration
|
|
205
205
|
- [Multi-Agent Sandbox & Tools](/multi-agent-sandbox-tools) — per-agent isolation
|
|
@@ -9,7 +9,7 @@ read_when:
|
|
|
9
9
|
|
|
10
10
|
Last updated: 2026-01-21
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Pool Bot ships three update channels:
|
|
13
13
|
|
|
14
14
|
- **stable**: npm dist-tag `latest`.
|
|
15
15
|
- **beta**: npm dist-tag `beta` (builds under test).
|
|
@@ -23,9 +23,9 @@ without changing the version number — dist-tags are the source of truth for np
|
|
|
23
23
|
Git checkout:
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
poolbot update --channel stable
|
|
27
|
+
poolbot update --channel beta
|
|
28
|
+
poolbot update --channel dev
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
- `stable`/`beta` check out the latest matching tag (often the same tag).
|
|
@@ -34,17 +34,17 @@ clawdbot update --channel dev
|
|
|
34
34
|
npm/pnpm global install:
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
poolbot update --channel stable
|
|
38
|
+
poolbot update --channel beta
|
|
39
|
+
poolbot update --channel dev
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
This updates via the corresponding npm dist-tag (`latest`, `beta`, `dev`).
|
|
43
43
|
|
|
44
|
-
When you **explicitly** switch channels with `--channel`,
|
|
44
|
+
When you **explicitly** switch channels with `--channel`, Pool Bot also aligns
|
|
45
45
|
the install method:
|
|
46
46
|
|
|
47
|
-
- `dev` ensures a git checkout (default `~/
|
|
47
|
+
- `dev` ensures a git checkout (default `~/poolbot`, override with `CLAWDBOT_GIT_DIR`),
|
|
48
48
|
updates it, and installs the global CLI from that checkout.
|
|
49
49
|
- `stable`/`beta` installs from npm using the matching dist-tag.
|
|
50
50
|
|
|
@@ -52,7 +52,7 @@ Tip: if you want stable + dev in parallel, keep two clones and point your gatewa
|
|
|
52
52
|
|
|
53
53
|
## Plugins and channels
|
|
54
54
|
|
|
55
|
-
When you switch channels with `
|
|
55
|
+
When you switch channels with `poolbot update`, Pool Bot also syncs plugin sources:
|
|
56
56
|
|
|
57
57
|
- `dev` prefers bundled plugins from the git checkout.
|
|
58
58
|
- `stable` and `beta` restore npm-installed plugin packages.
|
package/docs/install/docker.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Optional Docker-based setup and onboarding for
|
|
2
|
+
summary: "Optional Docker-based setup and onboarding for Pool Bot"
|
|
3
3
|
read_when:
|
|
4
4
|
- You want a containerized gateway instead of local installs
|
|
5
5
|
- You are validating the Docker flow
|
|
@@ -11,12 +11,12 @@ Docker is **optional**. Use it only if you want a containerized gateway or to va
|
|
|
11
11
|
|
|
12
12
|
## Is Docker right for me?
|
|
13
13
|
|
|
14
|
-
- **Yes**: you want an isolated, throwaway gateway environment or to run
|
|
14
|
+
- **Yes**: you want an isolated, throwaway gateway environment or to run Pool Bot on a host without local installs.
|
|
15
15
|
- **No**: you’re running on your own machine and just want the fastest dev loop. Use the normal install flow instead.
|
|
16
16
|
- **Sandboxing note**: agent sandboxing uses Docker too, but it does **not** require the full gateway to run in Docker. See [Sandboxing](/gateway/sandboxing).
|
|
17
17
|
|
|
18
18
|
This guide covers:
|
|
19
|
-
- Containerized Gateway (full
|
|
19
|
+
- Containerized Gateway (full Pool Bot in Docker)
|
|
20
20
|
- Per-session Agent Sandbox (host gateway + Docker-isolated agent tools)
|
|
21
21
|
|
|
22
22
|
Sandboxing details: [Sandboxing](/gateway/sandboxing)
|
|
@@ -53,7 +53,7 @@ After it finishes:
|
|
|
53
53
|
- Paste the token into the Control UI (Settings → token).
|
|
54
54
|
|
|
55
55
|
It writes config/workspace on the host:
|
|
56
|
-
- `~/.
|
|
56
|
+
- `~/.poolbot/`
|
|
57
57
|
- `~/clawd`
|
|
58
58
|
|
|
59
59
|
Running on a VPS? See [Hetzner (Docker VPS)](/platforms/hetzner).
|
|
@@ -61,9 +61,9 @@ Running on a VPS? See [Hetzner (Docker VPS)](/platforms/hetzner).
|
|
|
61
61
|
### Manual flow (compose)
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
|
-
docker build -t
|
|
65
|
-
docker compose run --rm
|
|
66
|
-
docker compose up -d
|
|
64
|
+
docker build -t poolbot:local -f Dockerfile .
|
|
65
|
+
docker compose run --rm poolbot-cli onboard
|
|
66
|
+
docker compose up -d poolbot-gateway
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
### Extra mounts (optional)
|
|
@@ -71,7 +71,7 @@ docker compose up -d clawdbot-gateway
|
|
|
71
71
|
If you want to mount additional host directories into the containers, set
|
|
72
72
|
`CLAWDBOT_EXTRA_MOUNTS` before running `docker-setup.sh`. This accepts a
|
|
73
73
|
comma-separated list of Docker bind mounts and applies them to both
|
|
74
|
-
`
|
|
74
|
+
`poolbot-gateway` and `poolbot-cli` by generating `docker-compose.extra.yml`.
|
|
75
75
|
|
|
76
76
|
Example:
|
|
77
77
|
|
|
@@ -97,14 +97,14 @@ named volume here (not a bind path); for bind mounts, use
|
|
|
97
97
|
Example:
|
|
98
98
|
|
|
99
99
|
```bash
|
|
100
|
-
export CLAWDBOT_HOME_VOLUME="
|
|
100
|
+
export CLAWDBOT_HOME_VOLUME="poolbot_home"
|
|
101
101
|
./docker-setup.sh
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
You can combine this with extra mounts:
|
|
105
105
|
|
|
106
106
|
```bash
|
|
107
|
-
export CLAWDBOT_HOME_VOLUME="
|
|
107
|
+
export CLAWDBOT_HOME_VOLUME="poolbot_home"
|
|
108
108
|
export CLAWDBOT_EXTRA_MOUNTS="$HOME/.codex:/home/node/.codex:ro,$HOME/github:/home/node/github:rw"
|
|
109
109
|
./docker-setup.sh
|
|
110
110
|
```
|
|
@@ -172,17 +172,17 @@ Use the CLI container to configure channels, then restart the gateway if needed.
|
|
|
172
172
|
|
|
173
173
|
WhatsApp (QR):
|
|
174
174
|
```bash
|
|
175
|
-
docker compose run --rm
|
|
175
|
+
docker compose run --rm poolbot-cli channels login
|
|
176
176
|
```
|
|
177
177
|
|
|
178
178
|
Telegram (bot token):
|
|
179
179
|
```bash
|
|
180
|
-
docker compose run --rm
|
|
180
|
+
docker compose run --rm poolbot-cli channels add --channel telegram --token "<token>"
|
|
181
181
|
```
|
|
182
182
|
|
|
183
183
|
Discord (bot token):
|
|
184
184
|
```bash
|
|
185
|
-
docker compose run --rm
|
|
185
|
+
docker compose run --rm poolbot-cli channels add --channel discord --token "<token>"
|
|
186
186
|
```
|
|
187
187
|
|
|
188
188
|
Docs: [WhatsApp](/channels/whatsapp), [Telegram](/channels/telegram), [Discord](/channels/discord)
|
|
@@ -190,7 +190,7 @@ Docs: [WhatsApp](/channels/whatsapp), [Telegram](/channels/telegram), [Discord](
|
|
|
190
190
|
### Health check
|
|
191
191
|
|
|
192
192
|
```bash
|
|
193
|
-
docker compose exec
|
|
193
|
+
docker compose exec poolbot-gateway node dist/index.js health --token "$CLAWDBOT_GATEWAY_TOKEN"
|
|
194
194
|
```
|
|
195
195
|
|
|
196
196
|
### E2E smoke test (Docker)
|
|
@@ -208,7 +208,7 @@ pnpm test:docker:qr
|
|
|
208
208
|
### Notes
|
|
209
209
|
|
|
210
210
|
- Gateway bind defaults to `lan` for container use.
|
|
211
|
-
- The gateway container is the source of truth for sessions (`~/.
|
|
211
|
+
- The gateway container is the source of truth for sessions (`~/.poolbot/agents/<agentId>/sessions/`).
|
|
212
212
|
|
|
213
213
|
## Agent Sandbox (host gateway + Docker tools)
|
|
214
214
|
|
|
@@ -242,9 +242,9 @@ precedence, and troubleshooting.
|
|
|
242
242
|
|
|
243
243
|
### Default behavior
|
|
244
244
|
|
|
245
|
-
- Image: `
|
|
245
|
+
- Image: `poolbot-sandbox:bookworm-slim`
|
|
246
246
|
- One container per agent
|
|
247
|
-
- Agent workspace access: `workspaceAccess: "none"` (default) uses `~/.
|
|
247
|
+
- Agent workspace access: `workspaceAccess: "none"` (default) uses `~/.poolbot/sandboxes`
|
|
248
248
|
- `"ro"` keeps the sandbox workspace at `/workspace` and mounts the agent workspace read-only at `/agent` (disables `write`/`edit`/`apply_patch`)
|
|
249
249
|
- `"rw"` mounts the agent workspace read/write at `/workspace`
|
|
250
250
|
- Auto-prune: idle > 24h OR age > 7d
|
|
@@ -258,9 +258,9 @@ If you plan to install packages in `setupCommand`, note:
|
|
|
258
258
|
- Default `docker.network` is `"none"` (no egress).
|
|
259
259
|
- `readOnlyRoot: true` blocks package installs.
|
|
260
260
|
- `user` must be root for `apt-get` (omit `user` or set `user: "0:0"`).
|
|
261
|
-
|
|
261
|
+
Pool Bot auto-recreates containers when `setupCommand` (or docker config) changes
|
|
262
262
|
unless the container was **recently used** (within ~5 minutes). Hot containers
|
|
263
|
-
log a warning with the exact `
|
|
263
|
+
log a warning with the exact `poolbot sandbox recreate ...` command.
|
|
264
264
|
|
|
265
265
|
```json5
|
|
266
266
|
{
|
|
@@ -270,9 +270,9 @@ log a warning with the exact `clawdbot sandbox recreate ...` command.
|
|
|
270
270
|
mode: "non-main", // off | non-main | all
|
|
271
271
|
scope: "agent", // session | agent | shared (agent is default)
|
|
272
272
|
workspaceAccess: "none", // none | ro | rw
|
|
273
|
-
workspaceRoot: "~/.
|
|
273
|
+
workspaceRoot: "~/.poolbot/sandboxes",
|
|
274
274
|
docker: {
|
|
275
|
-
image: "
|
|
275
|
+
image: "poolbot-sandbox:bookworm-slim",
|
|
276
276
|
workdir: "/workspace",
|
|
277
277
|
readOnlyRoot: true,
|
|
278
278
|
tmpfs: ["/tmp", "/var/tmp", "/run"],
|
|
@@ -290,7 +290,7 @@ log a warning with the exact `clawdbot sandbox recreate ...` command.
|
|
|
290
290
|
nproc: 256
|
|
291
291
|
},
|
|
292
292
|
seccompProfile: "/path/to/seccomp.json",
|
|
293
|
-
apparmorProfile: "
|
|
293
|
+
apparmorProfile: "poolbot-sandbox",
|
|
294
294
|
dns: ["1.1.1.1", "8.8.8.8"],
|
|
295
295
|
extraHosts: ["internal.service:10.0.0.5"]
|
|
296
296
|
},
|
|
@@ -325,7 +325,7 @@ Multi-agent: override `agents.defaults.sandbox.{docker,browser,prune}.*` per age
|
|
|
325
325
|
scripts/sandbox-setup.sh
|
|
326
326
|
```
|
|
327
327
|
|
|
328
|
-
This builds `
|
|
328
|
+
This builds `poolbot-sandbox:bookworm-slim` using `Dockerfile.sandbox`.
|
|
329
329
|
|
|
330
330
|
### Sandbox common image (optional)
|
|
331
331
|
If you want a sandbox image with common build tooling (Node, Go, Rust, etc.), build the common image:
|
|
@@ -334,11 +334,11 @@ If you want a sandbox image with common build tooling (Node, Go, Rust, etc.), bu
|
|
|
334
334
|
scripts/sandbox-common-setup.sh
|
|
335
335
|
```
|
|
336
336
|
|
|
337
|
-
This builds `
|
|
337
|
+
This builds `poolbot-sandbox-common:bookworm-slim`. To use it:
|
|
338
338
|
|
|
339
339
|
```json5
|
|
340
340
|
{
|
|
341
|
-
agents: { defaults: { sandbox: { docker: { image: "
|
|
341
|
+
agents: { defaults: { sandbox: { docker: { image: "poolbot-sandbox-common:bookworm-slim" } } } }
|
|
342
342
|
}
|
|
343
343
|
```
|
|
344
344
|
|
|
@@ -350,7 +350,7 @@ To run the browser tool inside the sandbox, build the browser image:
|
|
|
350
350
|
scripts/sandbox-browser-setup.sh
|
|
351
351
|
```
|
|
352
352
|
|
|
353
|
-
This builds `
|
|
353
|
+
This builds `poolbot-sandbox-browser:bookworm-slim` using
|
|
354
354
|
`Dockerfile.sandbox-browser`. The container runs Chromium with CDP enabled and
|
|
355
355
|
an optional noVNC observer (headful via Xvfb).
|
|
356
356
|
|
|
@@ -379,7 +379,7 @@ Custom browser image:
|
|
|
379
379
|
{
|
|
380
380
|
agents: {
|
|
381
381
|
defaults: {
|
|
382
|
-
sandbox: { browser: { image: "my-
|
|
382
|
+
sandbox: { browser: { image: "my-poolbot-browser" } }
|
|
383
383
|
}
|
|
384
384
|
}
|
|
385
385
|
}
|
|
@@ -398,14 +398,14 @@ Prune rules (`agents.defaults.sandbox.prune`) apply to browser containers too.
|
|
|
398
398
|
Build your own image and point config to it:
|
|
399
399
|
|
|
400
400
|
```bash
|
|
401
|
-
docker build -t my-
|
|
401
|
+
docker build -t my-poolbot-sbx -f Dockerfile.sandbox .
|
|
402
402
|
```
|
|
403
403
|
|
|
404
404
|
```json5
|
|
405
405
|
{
|
|
406
406
|
agents: {
|
|
407
407
|
defaults: {
|
|
408
|
-
sandbox: { docker: { image: "my-
|
|
408
|
+
sandbox: { docker: { image: "my-poolbot-sbx" } }
|
|
409
409
|
}
|
|
410
410
|
}
|
|
411
411
|
}
|
|
@@ -437,11 +437,11 @@ Example:
|
|
|
437
437
|
|
|
438
438
|
## Troubleshooting
|
|
439
439
|
|
|
440
|
-
- Image missing: build with [`scripts/sandbox-setup.sh`](https://github.com/
|
|
440
|
+
- Image missing: build with [`scripts/sandbox-setup.sh`](https://github.com/poolbot/poolbot/blob/main/scripts/sandbox-setup.sh) or set `agents.defaults.sandbox.docker.image`.
|
|
441
441
|
- Container not running: it will auto-create per session on demand.
|
|
442
442
|
- Permission errors in sandbox: set `docker.user` to a UID:GID that matches your
|
|
443
443
|
mounted workspace ownership (or chown the workspace folder).
|
|
444
|
-
- Custom tools not found:
|
|
444
|
+
- Custom tools not found: Pool Bot runs commands with `sh -lc` (login shell), which
|
|
445
445
|
sources `/etc/profile` and may reset PATH. Set `docker.env.PATH` to prepend your
|
|
446
446
|
custom tool paths (e.g., `/custom/bin:/usr/local/share/npm-global/bin`), or add
|
|
447
447
|
a script under `/etc/profile.d/` in your Dockerfile.
|