@poolzin/pool-bot 2026.1.26 → 2026.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -1118
- package/LICENSE +21 -0
- package/README.md +47 -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 +22 -33
- 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/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/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.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-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/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 +7 -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 +2 -2
- 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 +72 -52
- 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/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/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/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/plugin.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "
|
|
2
|
+
summary: "Pool Bot plugins/extensions: discovery, config, and safety"
|
|
3
3
|
read_when:
|
|
4
4
|
- Adding or modifying plugins/extensions
|
|
5
5
|
- Documenting plugin install or load rules
|
|
@@ -8,11 +8,11 @@ read_when:
|
|
|
8
8
|
|
|
9
9
|
## Quick start (new to plugins?)
|
|
10
10
|
|
|
11
|
-
A plugin is just a **small code module** that extends
|
|
11
|
+
A plugin is just a **small code module** that extends Pool Bot with extra
|
|
12
12
|
features (commands, tools, and Gateway RPC).
|
|
13
13
|
|
|
14
14
|
Most of the time, you’ll use plugins when you want a feature that’s not built
|
|
15
|
-
into core
|
|
15
|
+
into core Pool Bot yet (or you want to keep optional features out of your main
|
|
16
16
|
install).
|
|
17
17
|
|
|
18
18
|
Fast path:
|
|
@@ -20,13 +20,13 @@ Fast path:
|
|
|
20
20
|
1) See what’s already loaded:
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
|
|
23
|
+
poolbot plugins list
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
2) Install an official plugin (example: Voice Call):
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
|
-
|
|
29
|
+
poolbot plugins install @poolbot/voice-call
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
3) Restart the Gateway, then configure under `plugins.entries.<id>.config`.
|
|
@@ -35,21 +35,21 @@ See [Voice Call](/plugins/voice-call) for a concrete example plugin.
|
|
|
35
35
|
|
|
36
36
|
## Available plugins (official)
|
|
37
37
|
|
|
38
|
-
- Microsoft Teams is plugin-only as of 2026.1.15; install `@
|
|
38
|
+
- Microsoft Teams is plugin-only as of 2026.1.15; install `@poolbot/msteams` if you use Teams.
|
|
39
39
|
- Memory (Core) — bundled memory search plugin (enabled by default via `plugins.slots.memory`)
|
|
40
40
|
- Memory (LanceDB) — bundled long-term memory plugin (auto-recall/capture; set `plugins.slots.memory = "memory-lancedb"`)
|
|
41
|
-
- [Voice Call](/plugins/voice-call) — `@
|
|
42
|
-
- [Zalo Personal](/plugins/zalouser) — `@
|
|
43
|
-
- [Matrix](/channels/matrix) — `@
|
|
44
|
-
- [Nostr](/channels/nostr) — `@
|
|
45
|
-
- [Zalo](/channels/zalo) — `@
|
|
46
|
-
- [Microsoft Teams](/channels/msteams) — `@
|
|
41
|
+
- [Voice Call](/plugins/voice-call) — `@poolbot/voice-call`
|
|
42
|
+
- [Zalo Personal](/plugins/zalouser) — `@poolbot/zalouser`
|
|
43
|
+
- [Matrix](/channels/matrix) — `@poolbot/matrix`
|
|
44
|
+
- [Nostr](/channels/nostr) — `@poolbot/nostr`
|
|
45
|
+
- [Zalo](/channels/zalo) — `@poolbot/zalo`
|
|
46
|
+
- [Microsoft Teams](/channels/msteams) — `@poolbot/msteams`
|
|
47
47
|
- Google Antigravity OAuth (provider auth) — bundled as `google-antigravity-auth` (disabled by default)
|
|
48
48
|
- Gemini CLI OAuth (provider auth) — bundled as `google-gemini-cli-auth` (disabled by default)
|
|
49
49
|
- Qwen OAuth (provider auth) — bundled as `qwen-portal-auth` (disabled by default)
|
|
50
50
|
- Copilot Proxy (provider auth) — local VS Code Copilot Proxy bridge; distinct from built-in `github-copilot` device login (bundled, disabled by default)
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
Pool Bot plugins are **TypeScript modules** loaded at runtime via jiti. **Config
|
|
53
53
|
validation does not execute plugin code**; it uses the plugin manifest and JSON
|
|
54
54
|
Schema instead. See [Plugin manifest](/plugins/manifest).
|
|
55
55
|
|
|
@@ -73,7 +73,7 @@ Plugins can access selected core helpers via `api.runtime`. For telephony TTS:
|
|
|
73
73
|
|
|
74
74
|
```ts
|
|
75
75
|
const result = await api.runtime.tts.textToSpeechTelephony({
|
|
76
|
-
text: "Hello from
|
|
76
|
+
text: "Hello from Pool Bot",
|
|
77
77
|
cfg: api.config,
|
|
78
78
|
});
|
|
79
79
|
```
|
|
@@ -85,27 +85,27 @@ Notes:
|
|
|
85
85
|
|
|
86
86
|
## Discovery & precedence
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
Pool Bot scans, in order:
|
|
89
89
|
|
|
90
90
|
1) Config paths
|
|
91
91
|
- `plugins.load.paths` (file or directory)
|
|
92
92
|
|
|
93
93
|
2) Workspace extensions
|
|
94
|
-
- `<workspace>/.
|
|
95
|
-
- `<workspace>/.
|
|
94
|
+
- `<workspace>/.poolbot/extensions/*.ts`
|
|
95
|
+
- `<workspace>/.poolbot/extensions/*/index.ts`
|
|
96
96
|
|
|
97
97
|
3) Global extensions
|
|
98
|
-
- `~/.
|
|
99
|
-
- `~/.
|
|
98
|
+
- `~/.poolbot/extensions/*.ts`
|
|
99
|
+
- `~/.poolbot/extensions/*/index.ts`
|
|
100
100
|
|
|
101
|
-
4) Bundled extensions (shipped with
|
|
102
|
-
- `<
|
|
101
|
+
4) Bundled extensions (shipped with Pool Bot, **disabled by default**)
|
|
102
|
+
- `<poolbot>/extensions/*`
|
|
103
103
|
|
|
104
104
|
Bundled plugins must be enabled explicitly via `plugins.entries.<id>.enabled`
|
|
105
|
-
or `
|
|
105
|
+
or `poolbot plugins enable <id>`. Installed plugins are enabled by default,
|
|
106
106
|
but can be disabled the same way.
|
|
107
107
|
|
|
108
|
-
Each plugin must include a `
|
|
108
|
+
Each plugin must include a `poolbot.plugin.json` file in its root. If a path
|
|
109
109
|
points at a file, the plugin root is the file's directory and must contain the
|
|
110
110
|
manifest.
|
|
111
111
|
|
|
@@ -114,12 +114,12 @@ wins and lower-precedence copies are ignored.
|
|
|
114
114
|
|
|
115
115
|
### Package packs
|
|
116
116
|
|
|
117
|
-
A plugin directory may include a `package.json` with `
|
|
117
|
+
A plugin directory may include a `package.json` with `poolbot.extensions`:
|
|
118
118
|
|
|
119
119
|
```json
|
|
120
120
|
{
|
|
121
121
|
"name": "my-pack",
|
|
122
|
-
"
|
|
122
|
+
"poolbot": {
|
|
123
123
|
"extensions": ["./src/safety.ts", "./src/tools.ts"]
|
|
124
124
|
}
|
|
125
125
|
}
|
|
@@ -133,15 +133,15 @@ If your plugin imports npm deps, install them in that directory so
|
|
|
133
133
|
|
|
134
134
|
### Channel catalog metadata
|
|
135
135
|
|
|
136
|
-
Channel plugins can advertise onboarding metadata via `
|
|
137
|
-
install hints via `
|
|
136
|
+
Channel plugins can advertise onboarding metadata via `poolbot.channel` and
|
|
137
|
+
install hints via `poolbot.install`. This keeps the core catalog data-free.
|
|
138
138
|
|
|
139
139
|
Example:
|
|
140
140
|
|
|
141
141
|
```json
|
|
142
142
|
{
|
|
143
|
-
"name": "@
|
|
144
|
-
"
|
|
143
|
+
"name": "@poolbot/nextcloud-talk",
|
|
144
|
+
"poolbot": {
|
|
145
145
|
"extensions": ["./index.ts"],
|
|
146
146
|
"channel": {
|
|
147
147
|
"id": "nextcloud-talk",
|
|
@@ -154,7 +154,7 @@ Example:
|
|
|
154
154
|
"aliases": ["nc-talk", "nc"]
|
|
155
155
|
},
|
|
156
156
|
"install": {
|
|
157
|
-
"npmSpec": "@
|
|
157
|
+
"npmSpec": "@poolbot/nextcloud-talk",
|
|
158
158
|
"localPath": "extensions/nextcloud-talk",
|
|
159
159
|
"defaultChoice": "npm"
|
|
160
160
|
}
|
|
@@ -162,15 +162,15 @@ Example:
|
|
|
162
162
|
}
|
|
163
163
|
```
|
|
164
164
|
|
|
165
|
-
|
|
165
|
+
Pool Bot can also merge **external channel catalogs** (for example, an MPM
|
|
166
166
|
registry export). Drop a JSON file at one of:
|
|
167
|
-
- `~/.
|
|
168
|
-
- `~/.
|
|
169
|
-
- `~/.
|
|
167
|
+
- `~/.poolbot/mpm/plugins.json`
|
|
168
|
+
- `~/.poolbot/mpm/catalog.json`
|
|
169
|
+
- `~/.poolbot/plugins/catalog.json`
|
|
170
170
|
|
|
171
171
|
Or point `CLAWDBOT_PLUGIN_CATALOG_PATHS` (or `CLAWDBOT_MPM_CATALOG_PATHS`) at
|
|
172
172
|
one or more JSON files (comma/semicolon/`PATH`-delimited). Each file should
|
|
173
|
-
contain `{ "entries": [ { "name": "@scope/pkg", "
|
|
173
|
+
contain `{ "entries": [ { "name": "@scope/pkg", "poolbot": { "channel": {...}, "install": {...} } } ] }`.
|
|
174
174
|
|
|
175
175
|
## Plugin IDs
|
|
176
176
|
|
|
@@ -179,7 +179,7 @@ Default plugin ids:
|
|
|
179
179
|
- Package packs: `package.json` `name`
|
|
180
180
|
- Standalone file: file base name (`~/.../voice-call.ts` → `voice-call`)
|
|
181
181
|
|
|
182
|
-
If a plugin exports `id`,
|
|
182
|
+
If a plugin exports `id`, Pool Bot uses it but warns when it doesn’t match the
|
|
183
183
|
configured id.
|
|
184
184
|
|
|
185
185
|
## Config
|
|
@@ -212,7 +212,7 @@ Validation rules (strict):
|
|
|
212
212
|
- Unknown `channels.<id>` keys are **errors** unless a plugin manifest declares
|
|
213
213
|
the channel id.
|
|
214
214
|
- Plugin config is validated using the JSON Schema embedded in
|
|
215
|
-
`
|
|
215
|
+
`poolbot.plugin.json` (`configSchema`).
|
|
216
216
|
- If a plugin is disabled, its config is preserved and a **warning** is emitted.
|
|
217
217
|
|
|
218
218
|
## Plugin slots (exclusive categories)
|
|
@@ -237,7 +237,7 @@ are disabled with diagnostics.
|
|
|
237
237
|
|
|
238
238
|
The Control UI uses `config.schema` (JSON Schema + `uiHints`) to render better forms.
|
|
239
239
|
|
|
240
|
-
|
|
240
|
+
Pool Bot augments `uiHints` at runtime based on discovered plugins:
|
|
241
241
|
|
|
242
242
|
- Adds per-plugin labels for `plugins.entries.<id>` / `.enabled` / `.config`
|
|
243
243
|
- Merges optional plugin-provided config field hints under:
|
|
@@ -269,24 +269,24 @@ Example:
|
|
|
269
269
|
## CLI
|
|
270
270
|
|
|
271
271
|
```bash
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
272
|
+
poolbot plugins list
|
|
273
|
+
poolbot plugins info <id>
|
|
274
|
+
poolbot plugins install <path> # copy a local file/dir into ~/.poolbot/extensions/<id>
|
|
275
|
+
poolbot plugins install ./extensions/voice-call # relative path ok
|
|
276
|
+
poolbot plugins install ./plugin.tgz # install from a local tarball
|
|
277
|
+
poolbot plugins install ./plugin.zip # install from a local zip
|
|
278
|
+
poolbot plugins install -l ./extensions/voice-call # link (no copy) for dev
|
|
279
|
+
poolbot plugins install @poolbot/voice-call # install from npm
|
|
280
|
+
poolbot plugins update <id>
|
|
281
|
+
poolbot plugins update --all
|
|
282
|
+
poolbot plugins enable <id>
|
|
283
|
+
poolbot plugins disable <id>
|
|
284
|
+
poolbot plugins doctor
|
|
285
285
|
```
|
|
286
286
|
|
|
287
287
|
`plugins update` only works for npm installs tracked under `plugins.installs`.
|
|
288
288
|
|
|
289
|
-
Plugins may also register their own top‑level commands (example: `
|
|
289
|
+
Plugins may also register their own top‑level commands (example: `poolbot voicecall`).
|
|
290
290
|
|
|
291
291
|
## Plugin API (overview)
|
|
292
292
|
|
|
@@ -303,7 +303,7 @@ event-driven automation without a separate hook pack install.
|
|
|
303
303
|
### Example
|
|
304
304
|
|
|
305
305
|
```
|
|
306
|
-
import { registerPluginHooksFromDir } from "
|
|
306
|
+
import { registerPluginHooksFromDir } from "poolbot/plugin-sdk";
|
|
307
307
|
|
|
308
308
|
export default function register(api) {
|
|
309
309
|
registerPluginHooksFromDir(api, "./hooks");
|
|
@@ -313,18 +313,18 @@ export default function register(api) {
|
|
|
313
313
|
Notes:
|
|
314
314
|
- Hook directories follow the normal hook structure (`HOOK.md` + `handler.ts`).
|
|
315
315
|
- Hook eligibility rules still apply (OS/bins/env/config requirements).
|
|
316
|
-
- Plugin-managed hooks show up in `
|
|
317
|
-
- You cannot enable/disable plugin-managed hooks via `
|
|
316
|
+
- Plugin-managed hooks show up in `poolbot hooks list` with `plugin:<id>`.
|
|
317
|
+
- You cannot enable/disable plugin-managed hooks via `poolbot hooks`; enable/disable the plugin instead.
|
|
318
318
|
|
|
319
319
|
## Provider plugins (model auth)
|
|
320
320
|
|
|
321
321
|
Plugins can register **model provider auth** flows so users can run OAuth or
|
|
322
|
-
API-key setup inside
|
|
322
|
+
API-key setup inside Pool Bot (no external scripts needed).
|
|
323
323
|
|
|
324
324
|
Register a provider via `api.registerProvider(...)`. Each provider exposes one
|
|
325
325
|
or more auth methods (OAuth, API key, device code, etc.). These methods power:
|
|
326
326
|
|
|
327
|
-
- `
|
|
327
|
+
- `poolbot models auth login --provider <id> [--method <id>]`
|
|
328
328
|
|
|
329
329
|
Example:
|
|
330
330
|
|
|
@@ -536,7 +536,7 @@ Command handler context:
|
|
|
536
536
|
- `isAuthorizedSender`: Whether the sender is an authorized user
|
|
537
537
|
- `args`: Arguments passed after the command (if `acceptsArgs: true`)
|
|
538
538
|
- `commandBody`: The full command text
|
|
539
|
-
- `config`: The current
|
|
539
|
+
- `config`: The current Pool Bot config
|
|
540
540
|
|
|
541
541
|
Command options:
|
|
542
542
|
|
|
@@ -598,14 +598,14 @@ it’s present in your workspace/managed skills locations.
|
|
|
598
598
|
|
|
599
599
|
Recommended packaging:
|
|
600
600
|
|
|
601
|
-
- Main package: `
|
|
602
|
-
- Plugins: separate npm packages under `@
|
|
601
|
+
- Main package: `poolbot` (this repo)
|
|
602
|
+
- Plugins: separate npm packages under `@poolbot/*` (example: `@poolbot/voice-call`)
|
|
603
603
|
|
|
604
604
|
Publishing contract:
|
|
605
605
|
|
|
606
|
-
- Plugin `package.json` must include `
|
|
606
|
+
- Plugin `package.json` must include `poolbot.extensions` with one or more entry files.
|
|
607
607
|
- Entry files can be `.js` or `.ts` (jiti loads TS at runtime).
|
|
608
|
-
- `
|
|
608
|
+
- `poolbot plugins install <npm-spec>` uses `npm pack`, extracts into `~/.poolbot/extensions/<id>/`, and enables it in config.
|
|
609
609
|
- Config key stability: scoped packages are normalized to the **unscoped** id for `plugins.entries.*`.
|
|
610
610
|
|
|
611
611
|
## Example plugin: Voice Call
|
|
@@ -614,7 +614,7 @@ This repo includes a voice‑call plugin (Twilio or log fallback):
|
|
|
614
614
|
|
|
615
615
|
- Source: `extensions/voice-call`
|
|
616
616
|
- Skill: `skills/voice-call`
|
|
617
|
-
- CLI: `
|
|
617
|
+
- CLI: `poolbot voicecall start|status`
|
|
618
618
|
- Tool: `voice_call`
|
|
619
619
|
- RPC: `voicecall.start`, `voicecall.status`
|
|
620
620
|
- Config (twilio): `provider: "twilio"` + `twilio.accountSid/authToken/from` (optional `statusCallbackUrl`, `twimlUrl`)
|
|
@@ -635,4 +635,4 @@ Plugins run in-process with the Gateway. Treat them as trusted code:
|
|
|
635
635
|
Plugins can (and should) ship tests:
|
|
636
636
|
|
|
637
637
|
- In-repo plugins can keep Vitest tests under `src/**` (example: `src/plugins/voice-call.plugin.test.ts`).
|
|
638
|
-
- Separately published plugins should run their own CI (lint/build/test) and validate `
|
|
638
|
+
- Separately published plugins should run their own CI (lint/build/test) and validate `poolbot.extensions` points at the built entrypoint (`dist/index.js`).
|
|
@@ -6,7 +6,7 @@ read_when:
|
|
|
6
6
|
---
|
|
7
7
|
# Plugin agent tools
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Pool Bot plugins can register **agent tools** (JSON‑schema functions) that are exposed
|
|
10
10
|
to the LLM during agent runs. Tools can be **required** (always available) or
|
|
11
11
|
**optional** (opt‑in).
|
|
12
12
|
|
package/docs/plugins/manifest.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
summary: "Plugin manifest + JSON schema requirements (strict config validation)"
|
|
3
3
|
read_when:
|
|
4
|
-
- You are building a
|
|
4
|
+
- You are building a Pool Bot plugin
|
|
5
5
|
- You need to ship a plugin config schema or debug plugin validation errors
|
|
6
6
|
---
|
|
7
|
-
# Plugin manifest (
|
|
7
|
+
# Plugin manifest (poolbot.plugin.json)
|
|
8
8
|
|
|
9
|
-
Every plugin **must** ship a `
|
|
10
|
-
|
|
9
|
+
Every plugin **must** ship a `poolbot.plugin.json` file in the **plugin root**.
|
|
10
|
+
Pool Bot uses this manifest to validate configuration **without executing plugin
|
|
11
11
|
code**. Missing or invalid manifests are treated as plugin errors and block
|
|
12
12
|
config validation.
|
|
13
13
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
summary: "Voice Call plugin: outbound + inbound calls via Twilio/Telnyx/Plivo (plugin install + config + CLI)"
|
|
3
3
|
read_when:
|
|
4
|
-
- You want to place an outbound voice call from
|
|
4
|
+
- You want to place an outbound voice call from Pool Bot
|
|
5
5
|
- You are configuring or developing the voice-call plugin
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Voice Call (plugin)
|
|
9
9
|
|
|
10
|
-
Voice calls for
|
|
10
|
+
Voice calls for Pool Bot via a plugin. Supports outbound notifications and
|
|
11
11
|
multi-turn conversations with inbound policies.
|
|
12
12
|
|
|
13
13
|
Current providers:
|
|
@@ -20,7 +20,7 @@ Quick mental model:
|
|
|
20
20
|
- Install plugin
|
|
21
21
|
- Restart Gateway
|
|
22
22
|
- Configure under `plugins.entries.voice-call.config`
|
|
23
|
-
- Use `
|
|
23
|
+
- Use `poolbot voicecall ...` or the `voice_call` tool
|
|
24
24
|
|
|
25
25
|
## Where it runs (local vs remote)
|
|
26
26
|
|
|
@@ -33,7 +33,7 @@ If you use a remote Gateway, install/configure the plugin on the **machine runni
|
|
|
33
33
|
### Option A: install from npm (recommended)
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
|
-
|
|
36
|
+
poolbot plugins install @poolbot/voice-call
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
Restart the Gateway afterwards.
|
|
@@ -41,7 +41,7 @@ Restart the Gateway afterwards.
|
|
|
41
41
|
### Option B: install from a local folder (dev, no copying)
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
|
|
44
|
+
poolbot plugins install ./extensions/voice-call
|
|
45
45
|
cd ./extensions/voice-call && pnpm install
|
|
46
46
|
```
|
|
47
47
|
|
|
@@ -103,6 +103,9 @@ Notes:
|
|
|
103
103
|
- Plivo requires a **publicly reachable** webhook URL.
|
|
104
104
|
- `mock` is a local dev provider (no network calls).
|
|
105
105
|
- `skipSignatureVerification` is for local testing only.
|
|
106
|
+
- If you use ngrok free tier, set `publicUrl` to the exact ngrok URL; signature verification is always enforced.
|
|
107
|
+
- `tunnel.allowNgrokFreeTierLoopbackBypass: true` allows Twilio webhooks with invalid signatures **only** when `tunnel.provider="ngrok"` and `serve.bind` is loopback (ngrok local agent). Use for local dev only.
|
|
108
|
+
- Ngrok free tier URLs can change or add interstitial behavior; if `publicUrl` drifts, Twilio signatures will fail. For production, prefer a stable domain or Tailscale funnel.
|
|
106
109
|
|
|
107
110
|
## TTS for calls
|
|
108
111
|
|
|
@@ -205,13 +208,13 @@ Auto-responses use the agent system. Tune with:
|
|
|
205
208
|
## CLI
|
|
206
209
|
|
|
207
210
|
```bash
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
211
|
+
poolbot voicecall call --to "+15555550123" --message "Hello from Pool Bot"
|
|
212
|
+
poolbot voicecall continue --call-id <id> --message "Any questions?"
|
|
213
|
+
poolbot voicecall speak --call-id <id> --message "One moment"
|
|
214
|
+
poolbot voicecall end --call-id <id>
|
|
215
|
+
poolbot voicecall status --call-id <id>
|
|
216
|
+
poolbot voicecall tail
|
|
217
|
+
poolbot voicecall expose --mode funnel
|
|
215
218
|
```
|
|
216
219
|
|
|
217
220
|
## Agent tool
|
package/docs/plugins/zalouser.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
summary: "Zalo Personal plugin: QR login + messaging via zca-cli (plugin install + channel config + CLI + tool)"
|
|
3
3
|
read_when:
|
|
4
|
-
- You want Zalo Personal (unofficial) support in
|
|
4
|
+
- You want Zalo Personal (unofficial) support in Pool Bot
|
|
5
5
|
- You are configuring or developing the zalouser plugin
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Zalo Personal (plugin)
|
|
9
9
|
|
|
10
|
-
Zalo Personal support for
|
|
10
|
+
Zalo Personal support for Pool Bot via a plugin, using `zca-cli` to automate a normal Zalo user account.
|
|
11
11
|
|
|
12
12
|
> **Warning:** Unofficial automation may lead to account suspension/ban. Use at your own risk.
|
|
13
13
|
|
|
@@ -24,7 +24,7 @@ If you use a remote Gateway, install/configure it on the **machine running the G
|
|
|
24
24
|
### Option A: install from npm
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
|
|
27
|
+
poolbot plugins install @poolbot/zalouser
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Restart the Gateway afterwards.
|
|
@@ -32,7 +32,7 @@ Restart the Gateway afterwards.
|
|
|
32
32
|
### Option B: install from a local folder (dev)
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
|
-
|
|
35
|
+
poolbot plugins install ./extensions/zalouser
|
|
36
36
|
cd ./extensions/zalouser && pnpm install
|
|
37
37
|
```
|
|
38
38
|
|
|
@@ -62,11 +62,11 @@ Channel config lives under `channels.zalouser` (not `plugins.entries.*`):
|
|
|
62
62
|
## CLI
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
poolbot channels login --channel zalouser
|
|
66
|
+
poolbot channels logout --channel zalouser
|
|
67
|
+
poolbot channels status --probe
|
|
68
|
+
poolbot message send --channel zalouser --target <threadId> --message "Hello from Pool Bot"
|
|
69
|
+
poolbot directory peers list --channel zalouser --query "name"
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
## Agent tool
|
package/docs/prose.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "OpenProse: .prose workflows, slash commands, and state in
|
|
2
|
+
summary: "OpenProse: .prose workflows, slash commands, and state in Pool Bot"
|
|
3
3
|
read_when:
|
|
4
4
|
- You want to run or write .prose workflows
|
|
5
5
|
- You want to enable the OpenProse plugin
|
|
@@ -7,7 +7,7 @@ read_when:
|
|
|
7
7
|
---
|
|
8
8
|
# OpenProse
|
|
9
9
|
|
|
10
|
-
OpenProse is a portable, markdown-first workflow format for orchestrating AI sessions. In
|
|
10
|
+
OpenProse is a portable, markdown-first workflow format for orchestrating AI sessions. In Pool Bot it ships as a plugin that installs an OpenProse skill pack plus a `/prose` slash command. Programs live in `.prose` files and can spawn multiple sub-agents with explicit control flow.
|
|
11
11
|
|
|
12
12
|
Official site: https://www.prose.md
|
|
13
13
|
|
|
@@ -22,18 +22,18 @@ Official site: https://www.prose.md
|
|
|
22
22
|
Bundled plugins are disabled by default. Enable OpenProse:
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
|
|
25
|
+
poolbot plugins enable open-prose
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
Restart the Gateway after enabling the plugin.
|
|
29
29
|
|
|
30
|
-
Dev/local checkout: `
|
|
30
|
+
Dev/local checkout: `poolbot plugins install ./extensions/open-prose`
|
|
31
31
|
|
|
32
32
|
Related docs: [Plugins](/plugin), [Plugin manifest](/plugins/manifest), [Skills](/tools/skills).
|
|
33
33
|
|
|
34
34
|
## Slash command
|
|
35
35
|
|
|
36
|
-
OpenProse registers `/prose` as a user-invocable skill command. It routes to the OpenProse VM instructions and uses
|
|
36
|
+
OpenProse registers `/prose` as a user-invocable skill command. It routes to the OpenProse VM instructions and uses Pool Bot tools under the hood.
|
|
37
37
|
|
|
38
38
|
Common commands:
|
|
39
39
|
|
|
@@ -112,11 +112,11 @@ Notes:
|
|
|
112
112
|
`/prose run <handle/slug>` resolves to `https://p.prose.md/<handle>/<slug>`.
|
|
113
113
|
Direct URLs are fetched as-is. This uses the `web_fetch` tool (or `exec` for POST).
|
|
114
114
|
|
|
115
|
-
##
|
|
115
|
+
## Pool Bot runtime mapping
|
|
116
116
|
|
|
117
|
-
OpenProse programs map to
|
|
117
|
+
OpenProse programs map to Pool Bot primitives:
|
|
118
118
|
|
|
119
|
-
| OpenProse concept |
|
|
119
|
+
| OpenProse concept | Pool Bot tool |
|
|
120
120
|
| --- | --- |
|
|
121
121
|
| Spawn session / Task tool | `sessions_spawn` |
|
|
122
122
|
| File read/write | `read` / `write` |
|
|
@@ -126,6 +126,6 @@ If your tool allowlist blocks these tools, OpenProse programs will fail. See [Sk
|
|
|
126
126
|
|
|
127
127
|
## Security + approvals
|
|
128
128
|
|
|
129
|
-
Treat `.prose` files like code. Review before running. Use
|
|
129
|
+
Treat `.prose` files like code. Review before running. Use Pool Bot tool allowlists and approval gates to control side effects.
|
|
130
130
|
|
|
131
131
|
For deterministic, approval-gated workflows, compare with [Lobster](/tools/lobster).
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Use Anthropic Claude via API keys or
|
|
2
|
+
summary: "Use Anthropic Claude via API keys or setup-token in Pool Bot"
|
|
3
3
|
read_when:
|
|
4
|
-
- You want to use Anthropic models in
|
|
5
|
-
- You want setup-token
|
|
4
|
+
- You want to use Anthropic models in Pool Bot
|
|
5
|
+
- You want setup-token instead of API keys
|
|
6
6
|
---
|
|
7
7
|
# Anthropic (Claude)
|
|
8
8
|
|
|
9
9
|
Anthropic builds the **Claude** model family and provides access via an API.
|
|
10
|
-
In
|
|
11
|
-
(setup-token or OAuth).
|
|
10
|
+
In Pool Bot you can authenticate with an API key or a **setup-token**.
|
|
12
11
|
|
|
13
12
|
## Option A: Anthropic API key
|
|
14
13
|
|
|
@@ -18,11 +17,11 @@ Create your API key in the Anthropic Console.
|
|
|
18
17
|
### CLI setup
|
|
19
18
|
|
|
20
19
|
```bash
|
|
21
|
-
|
|
20
|
+
poolbot onboard
|
|
22
21
|
# choose: Anthropic API key
|
|
23
22
|
|
|
24
23
|
# or non-interactive
|
|
25
|
-
|
|
24
|
+
poolbot onboard --anthropic-api-key "$ANTHROPIC_API_KEY"
|
|
26
25
|
```
|
|
27
26
|
|
|
28
27
|
### Config snippet
|
|
@@ -36,8 +35,8 @@ clawdbot onboard --anthropic-api-key "$ANTHROPIC_API_KEY"
|
|
|
36
35
|
|
|
37
36
|
## Prompt caching (Anthropic API)
|
|
38
37
|
|
|
39
|
-
|
|
40
|
-
This is **API-only**;
|
|
38
|
+
Pool Bot does **not** override Anthropic’s default cache TTL unless you set it.
|
|
39
|
+
This is **API-only**; subscription auth does not honor TTL settings.
|
|
41
40
|
|
|
42
41
|
To set the TTL per model, use `cacheControlTtl` in the model `params`:
|
|
43
42
|
|
|
@@ -55,12 +54,12 @@ To set the TTL per model, use `cacheControlTtl` in the model `params`:
|
|
|
55
54
|
}
|
|
56
55
|
```
|
|
57
56
|
|
|
58
|
-
|
|
57
|
+
Pool Bot includes the `extended-cache-ttl-2025-04-11` beta flag for Anthropic API
|
|
59
58
|
requests; keep it if you override provider headers (see [/gateway/configuration](/gateway/configuration)).
|
|
60
59
|
|
|
61
|
-
## Option B: Claude
|
|
60
|
+
## Option B: Claude setup-token
|
|
62
61
|
|
|
63
|
-
**Best for:** using your Claude subscription
|
|
62
|
+
**Best for:** using your Claude subscription.
|
|
64
63
|
|
|
65
64
|
### Where to get a setup-token
|
|
66
65
|
|
|
@@ -70,23 +69,23 @@ Setup-tokens are created by the **Claude Code CLI**, not the Anthropic Console.
|
|
|
70
69
|
claude setup-token
|
|
71
70
|
```
|
|
72
71
|
|
|
73
|
-
Paste the token into
|
|
72
|
+
Paste the token into Pool Bot (wizard: **Anthropic token (paste setup-token)**), or run it on the gateway host:
|
|
74
73
|
|
|
75
74
|
```bash
|
|
76
|
-
|
|
75
|
+
poolbot models auth setup-token --provider anthropic
|
|
77
76
|
```
|
|
78
77
|
|
|
79
78
|
If you generated the token on a different machine, paste it:
|
|
80
79
|
|
|
81
80
|
```bash
|
|
82
|
-
|
|
81
|
+
poolbot models auth paste-token --provider anthropic
|
|
83
82
|
```
|
|
84
83
|
|
|
85
84
|
### CLI setup
|
|
86
85
|
|
|
87
86
|
```bash
|
|
88
|
-
#
|
|
89
|
-
|
|
87
|
+
# Paste a setup-token during onboarding
|
|
88
|
+
poolbot onboard --auth-choice setup-token
|
|
90
89
|
```
|
|
91
90
|
|
|
92
91
|
### Config snippet
|
|
@@ -99,11 +98,8 @@ clawdbot onboard --auth-choice claude-cli
|
|
|
99
98
|
|
|
100
99
|
## Notes
|
|
101
100
|
|
|
102
|
-
- Generate the setup-token with `claude setup-token` and paste it, or run `
|
|
103
|
-
- If you see “OAuth token refresh failed …” on a Claude subscription, re-auth with a setup-token
|
|
104
|
-
- Clawdbot writes `auth.profiles["anthropic:claude-cli"].mode` as `"oauth"` so the profile
|
|
105
|
-
accepts both OAuth and setup-token credentials. Older configs using `"token"` are
|
|
106
|
-
auto-migrated on load.
|
|
101
|
+
- Generate the setup-token with `claude setup-token` and paste it, or run `poolbot models auth setup-token` on the gateway host.
|
|
102
|
+
- If you see “OAuth token refresh failed …” on a Claude subscription, re-auth with a setup-token. See [/gateway/troubleshooting#oauth-token-refresh-failed-anthropic-claude-subscription](/gateway/troubleshooting#oauth-token-refresh-failed-anthropic-claude-subscription).
|
|
107
103
|
- Auth details + reuse rules are in [/concepts/oauth](/concepts/oauth).
|
|
108
104
|
|
|
109
105
|
## Troubleshooting
|
|
@@ -112,19 +108,19 @@ clawdbot onboard --auth-choice claude-cli
|
|
|
112
108
|
- Claude subscription auth can expire or be revoked. Re-run `claude setup-token`
|
|
113
109
|
and paste it into the **gateway host**.
|
|
114
110
|
- If the Claude CLI login lives on a different machine, use
|
|
115
|
-
`
|
|
111
|
+
`poolbot models auth paste-token --provider anthropic` on the gateway host.
|
|
116
112
|
|
|
117
113
|
**No API key found for provider "anthropic"**
|
|
118
114
|
- Auth is **per agent**. New agents don’t inherit the main agent’s keys.
|
|
119
115
|
- Re-run onboarding for that agent, or paste a setup-token / API key on the
|
|
120
|
-
gateway host, then verify with `
|
|
116
|
+
gateway host, then verify with `poolbot models status`.
|
|
121
117
|
|
|
122
|
-
**No credentials found for profile `anthropic:default
|
|
123
|
-
- Run `
|
|
118
|
+
**No credentials found for profile `anthropic:default`**
|
|
119
|
+
- Run `poolbot models status` to see which auth profile is active.
|
|
124
120
|
- Re-run onboarding, or paste a setup-token / API key for that profile.
|
|
125
121
|
|
|
126
122
|
**No available auth profile (all in cooldown/unavailable)**
|
|
127
|
-
- Check `
|
|
123
|
+
- Check `poolbot models status --json` for `auth.unusableProfiles`.
|
|
128
124
|
- Add another Anthropic profile or wait for cooldown.
|
|
129
125
|
|
|
130
126
|
More: [/gateway/troubleshooting](/gateway/troubleshooting) and [/help/faq](/help/faq).
|