@poolzin/pool-bot 1.28.0 → 2026.1.26
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 +1123 -32
- package/README.md +37 -47
- package/assets/chrome-extension/background.js +5 -5
- package/assets/chrome-extension/manifest.json +3 -3
- package/assets/chrome-extension/options.html +6 -5
- 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 +6 -2
- package/dist/agents/auth-profiles/doctor.js +1 -1
- package/dist/agents/auth-profiles/external-cli-sync.js +150 -5
- package/dist/agents/auth-profiles/oauth.js +7 -26
- package/dist/agents/auth-profiles/paths.js +3 -3
- package/dist/agents/auth-profiles/store.js +13 -5
- package/dist/agents/bash-tools.shared.js +1 -8
- package/dist/agents/cli-backends.js +0 -8
- package/dist/agents/cli-runner/helpers.js +3 -3
- package/dist/agents/cli-runner.js +2 -2
- package/dist/agents/compaction.js +0 -3
- 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 +2 -7
- 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 +0 -22
- 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 +0 -5
- package/dist/agents/pi-embedded-runner/model.js +2 -2
- package/dist/agents/pi-embedded-runner/run/attempt.js +6 -10
- package/dist/agents/pi-embedded-runner/run.js +4 -4
- package/dist/agents/pi-embedded-runner/sandbox-info.js +4 -1
- package/dist/agents/pi-embedded-runner/utils.js +1 -1
- package/dist/agents/pi-embedded-utils.js +1 -7
- package/dist/agents/pi-extensions/compaction-safeguard.js +3 -32
- package/dist/agents/pi-tools.js +15 -25
- package/dist/agents/pi-tools.policy.js +1 -34
- package/dist/agents/pi-tools.read.js +2 -2
- package/dist/agents/sandbox/browser.js +7 -5
- package/dist/agents/sandbox/config.js +12 -0
- package/dist/agents/sandbox/constants.js +7 -7
- 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 +0 -68
- package/dist/agents/skills/config.js +8 -9
- package/dist/agents/skills/env-overrides.js +1 -1
- package/dist/agents/skills/frontmatter.js +14 -15
- 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 +32 -21
- package/dist/agents/tool-images.js +1 -1
- package/dist/agents/tool-policy.js +2 -8
- package/dist/agents/tools/browser-tool.js +79 -19
- package/dist/agents/tools/browser-tool.schema.js +2 -1
- package/dist/agents/tools/cron-tool.js +1 -44
- package/dist/agents/tools/discord-actions-guild.js +1 -5
- package/dist/agents/tools/image-tool.js +2 -2
- package/dist/agents/tools/message-tool.js +0 -1
- package/dist/agents/tools/sessions-send-helpers.js +2 -17
- package/dist/agents/tools/telegram-actions.js +1 -93
- package/dist/agents/tools/web-fetch.js +103 -123
- package/dist/agents/tools/web-search.js +7 -7
- package/dist/agents/workspace.js +0 -36
- package/dist/auto-reply/commands-registry.data.js +3 -68
- package/dist/auto-reply/commands-registry.js +11 -14
- package/dist/auto-reply/reply/agent-runner-execution.js +3 -21
- package/dist/auto-reply/reply/agent-runner-memory.js +0 -5
- 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 +5 -50
- package/dist/auto-reply/reply/commands-session.js +4 -4
- package/dist/auto-reply/reply/commands-tts.js +63 -61
- package/dist/auto-reply/reply/directive-handling.shared.js +1 -1
- package/dist/auto-reply/reply/dispatch-from-config.js +1 -65
- package/dist/auto-reply/reply/followup-runner.js +0 -5
- package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
- package/dist/auto-reply/reply/get-reply-run.js +0 -4
- package/dist/auto-reply/reply/groups.js +1 -1
- package/dist/auto-reply/reply/history.js +0 -23
- package/dist/auto-reply/reply/reply-elevated.js +1 -1
- package/dist/auto-reply/reply/session-updates.js +1 -6
- package/dist/auto-reply/status.js +49 -141
- package/dist/browser/bridge-server.js +3 -1
- package/dist/browser/client-actions-core.js +7 -13
- package/dist/browser/client-actions-observe.js +8 -14
- package/dist/browser/client-actions-state.js +15 -21
- package/dist/browser/client-fetch.js +61 -74
- package/dist/browser/client.js +21 -19
- package/dist/browser/config.js +26 -13
- package/dist/browser/constants.js +1 -1
- package/dist/browser/extension-relay.js +3 -3
- package/dist/browser/pw-session.js +4 -41
- 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 +0 -13
- package/dist/browser/routes/agent.debug.js +1 -1
- package/dist/browser/routes/basic.js +1 -0
- package/dist/browser/server-context.js +3 -3
- package/dist/browser/server.js +9 -7
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +1618 -1620
- package/dist/canvas-host/a2ui/index.html +28 -28
- package/dist/canvas-host/a2ui.js +19 -25
- package/dist/canvas-host/server.js +32 -66
- package/dist/channels/plugins/actions/discord/handle-action.guild-admin.js +1 -5
- package/dist/channels/plugins/actions/telegram.js +7 -60
- package/dist/channels/plugins/catalog.js +4 -6
- package/dist/channels/plugins/group-mentions.js +1 -48
- package/dist/channels/plugins/helpers.js +2 -2
- package/dist/channels/plugins/message-action-names.js +0 -1
- 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 +9 -17
- package/dist/channels/plugins/onboarding/whatsapp.js +4 -4
- package/dist/channels/plugins/outbound/telegram.js +0 -38
- 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 +7 -14
- package/dist/cli/banner.js +1 -3
- package/dist/cli/browser-cli-actions-input/register.element.js +44 -72
- package/dist/cli/browser-cli-actions-input/register.files-downloads.js +35 -55
- package/dist/cli/browser-cli-actions-input/register.form-wait-eval.js +28 -41
- package/dist/cli/browser-cli-actions-input/register.navigation.js +14 -23
- package/dist/cli/browser-cli-actions-input/shared.js +3 -10
- package/dist/cli/browser-cli-actions-observe.js +21 -29
- package/dist/cli/browser-cli-debug.js +35 -49
- 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 +17 -23
- package/dist/cli/browser-cli-manage.js +56 -106
- package/dist/cli/browser-cli-shared.js +1 -34
- package/dist/cli/browser-cli-state.cookies-storage.js +39 -53
- package/dist/cli/browser-cli-state.js +64 -90
- package/dist/cli/browser-cli.js +5 -4
- package/dist/cli/channels-cli.js +1 -1
- package/dist/cli/command-format.js +7 -11
- 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 +3 -5
- 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 +8 -11
- 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 +1 -3
- package/dist/cli/nodes-canvas.js +1 -3
- 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 +1 -1
- package/dist/cli/program/config-guard.js +1 -1
- package/dist/cli/program/help.js +14 -13
- package/dist/cli/program/message/register.send.js +1 -2
- package/dist/cli/program/preaction.js +2 -4
- 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 +3 -5
- 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 +4 -11
- package/dist/cli/sandbox-cli.js +19 -19
- package/dist/cli/security-cli.js +8 -18
- 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 +42 -58
- package/dist/cli/webhooks-cli.js +6 -6
- package/dist/commands/agent-via-gateway.js +1 -1
- package/dist/commands/agent.js +1 -2
- package/dist/commands/agents.command-shared.js +1 -1
- package/dist/commands/agents.commands.add.js +3 -2
- package/dist/commands/agents.commands.list.js +1 -1
- package/dist/commands/auth-choice-options.js +54 -4
- package/dist/commands/auth-choice.apply.anthropic.js +109 -6
- package/dist/commands/auth-choice.apply.openai.js +33 -1
- 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 +8 -1
- package/dist/commands/configure.gateway.js +10 -1
- 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 +3 -122
- 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-security.js +1 -48
- 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 +12 -13
- package/dist/commands/gateway-status.js +2 -2
- package/dist/commands/models/auth.js +22 -23
- 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 +9 -8
- 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 +34 -38
- package/dist/commands/onboard-non-interactive/local/gateway-config.js +4 -7
- 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 +4 -25
- 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 +3 -3
- package/dist/config/config.js +1 -1
- package/dist/config/group-policy.js +0 -69
- package/dist/config/io.js +5 -17
- package/dist/config/legacy.migrations.part-3.js +0 -3
- package/dist/config/logging.js +3 -3
- package/dist/config/paths.js +13 -43
- package/dist/config/schema.js +9 -21
- package/dist/config/sessions/transcript.js +1 -1
- package/dist/config/validation.js +2 -2
- package/dist/config/version.js +4 -4
- package/dist/config/zod-schema.agent-defaults.js +0 -1
- package/dist/config/zod-schema.agent-runtime.js +7 -39
- package/dist/config/zod-schema.hooks.js +0 -2
- package/dist/config/zod-schema.js +3 -9
- package/dist/config/zod-schema.providers-core.js +0 -23
- package/dist/config/zod-schema.providers-whatsapp.js +0 -3
- package/dist/control-ui/assets/{index-HlBhZmfj.js → index-Cl-Y9zqE.js} +578 -620
- package/dist/control-ui/assets/index-Cl-Y9zqE.js.map +1 -0
- package/dist/control-ui/assets/index-DEPfFcOb.css +1 -0
- package/dist/control-ui/index.html +4 -4
- package/dist/cron/isolated-agent/run.js +3 -38
- package/dist/daemon/constants.js +12 -12
- package/dist/daemon/inspect.js +11 -11
- 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 +1 -25
- package/dist/discord/monitor/native-command.js +5 -7
- package/dist/discord/monitor/provider.js +7 -21
- package/dist/entry.js +4 -4
- package/dist/gateway/auth.js +19 -52
- package/dist/gateway/hooks-mapping.js +4 -18
- package/dist/gateway/hooks.js +7 -5
- package/dist/gateway/http-utils.js +5 -3
- 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 +0 -1
- package/dist/gateway/server/ws-connection/message-handler.js +35 -44
- package/dist/gateway/server-browser.js +3 -14
- package/dist/gateway/server-chat.js +2 -28
- package/dist/gateway/server-discovery-runtime.js +17 -25
- package/dist/gateway/server-discovery.js +5 -5
- package/dist/gateway/server-http.js +3 -9
- package/dist/gateway/server-methods/agent.js +0 -2
- package/dist/gateway/server-methods/chat.js +0 -5
- 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 +0 -1
- package/dist/gateway/server-methods.js +0 -3
- package/dist/gateway/server-plugins.js +2 -2
- package/dist/gateway/server-restart-sentinel.js +5 -10
- package/dist/gateway/server-runtime-config.js +2 -5
- package/dist/gateway/server.impl.js +6 -7
- package/dist/gateway/session-utils.js +11 -31
- package/dist/gateway/test-helpers.mocks.js +5 -5
- package/dist/gateway/test-helpers.server.js +9 -28
- package/dist/gateway/tools-invoke-http.js +8 -15
- package/dist/hooks/bundled/boot-md/HOOK.md +3 -3
- package/dist/hooks/bundled/command-logger/HOOK.md +5 -5
- 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 +7 -8
- package/dist/hooks/frontmatter.js +15 -16
- package/dist/hooks/gmail-ops.js +4 -4
- package/dist/hooks/hooks-status.js +13 -13
- package/dist/hooks/install.js +7 -8
- 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 +9 -10
- package/dist/imessage/monitor/monitor-provider.js +2 -2
- package/dist/index.js +4 -4
- package/dist/infra/agent-events.js +0 -3
- package/dist/infra/bonjour-discovery.js +9 -9
- package/dist/infra/bonjour.js +12 -19
- package/dist/infra/gateway-lock.js +1 -1
- package/dist/infra/heartbeat-visibility.js +0 -14
- package/dist/infra/heartbeat-wake.js +2 -2
- package/dist/infra/machine-name.js +1 -1
- package/dist/infra/net/ssrf.js +1 -77
- package/dist/infra/outbound/message-action-spec.js +0 -1
- package/dist/infra/outbound/targets.js +1 -1
- package/dist/infra/path-env.js +7 -7
- package/dist/infra/ports-format.js +2 -2
- package/dist/infra/ports.js +2 -2
- package/dist/infra/provider-usage.auth.js +4 -2
- 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 +1 -4
- 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 +1 -63
- package/dist/infra/tls/gateway.js +1 -1
- package/dist/infra/unhandled-rejections.js +2 -89
- package/dist/infra/update-check.js +4 -2
- package/dist/infra/update-global.js +5 -5
- package/dist/infra/update-runner.js +8 -32
- 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 +5 -1
- package/dist/line/webhook.js +6 -2
- 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 +32 -40
- package/dist/media/server.js +15 -39
- package/dist/media/store.js +52 -72
- package/dist/media-understanding/attachments.js +1 -1
- package/dist/media-understanding/providers/image.js +2 -2
- package/dist/media-understanding/runner.js +1 -33
- 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 +56 -60
- package/dist/pairing/pairing-messages.js +2 -2
- package/dist/plugin-sdk/index.js +0 -1
- package/dist/plugins/cli.js +2 -2
- package/dist/plugins/discovery.js +4 -5
- package/dist/plugins/install.js +7 -8
- package/dist/plugins/loader.js +4 -11
- package/dist/plugins/manifest-registry.js +2 -2
- package/dist/plugins/manifest.js +1 -16
- 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 +12 -17
- package/dist/security/audit-extra.js +69 -116
- package/dist/security/audit-fs.js +0 -78
- package/dist/security/audit.js +88 -121
- package/dist/security/fix.js +8 -93
- package/dist/slack/monitor/media.js +4 -32
- package/dist/slack/monitor/message-handler/dispatch.js +1 -2
- package/dist/slack/monitor/slash.js +3 -3
- package/dist/slack/monitor.test-helpers.js +1 -1
- package/dist/telegram/bot/delivery.js +22 -139
- package/dist/telegram/bot-handlers.js +8 -70
- package/dist/telegram/bot-message-context.js +21 -79
- package/dist/telegram/bot-message-dispatch.js +0 -64
- package/dist/telegram/bot-native-commands.js +94 -244
- package/dist/telegram/bot.js +2 -18
- package/dist/telegram/fetch.js +1 -25
- package/dist/telegram/monitor.js +3 -11
- package/dist/telegram/send.js +4 -148
- package/dist/telegram/webhook-set.js +6 -13
- package/dist/telegram/webhook.js +3 -8
- package/dist/terminal/links.js +1 -1
- package/dist/tts/tts.js +22 -27
- package/dist/tui/components/filterable-select-list.js +1 -1
- package/dist/tui/components/searchable-select-list.js +1 -2
- package/dist/tui/gateway-chat.js +1 -1
- package/dist/tui/tui.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 +14 -14
- package/dist/wizard/onboarding.gateway-config.js +11 -1
- package/dist/wizard/onboarding.js +10 -21
- package/docs/CNAME +1 -1
- package/docs/POOL-BOT.md +119 -0
- package/docs/_config.yml +2 -2
- package/docs/_layouts/default.html +9 -9
- package/docs/assets/terminal.css +0 -3
- package/docs/assets/theme.js +1 -1
- package/docs/automation/auth-monitoring.md +7 -7
- package/docs/automation/cron-jobs.md +13 -13
- package/docs/automation/cron-vs-heartbeat.md +8 -8
- package/docs/automation/gmail-pubsub.md +21 -23
- package/docs/automation/poll.md +6 -6
- package/docs/automation/webhook.md +8 -13
- package/docs/bedrock.md +10 -10
- package/docs/brave-search.md +1 -1
- package/docs/broadcast-groups.md +3 -3
- package/docs/channels/bluebubbles.md +12 -13
- package/docs/channels/discord.md +16 -21
- package/docs/channels/googlechat.md +15 -15
- package/docs/channels/imessage.md +10 -10
- package/docs/channels/index.md +4 -6
- package/docs/channels/location.md +1 -1
- package/docs/channels/matrix.md +13 -13
- package/docs/channels/mattermost.md +8 -8
- package/docs/channels/msteams.md +25 -29
- 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 +13 -15
- package/docs/channels/telegram.md +20 -149
- package/docs/channels/tlon.md +5 -5
- package/docs/channels/troubleshooting.md +2 -2
- package/docs/channels/whatsapp.md +23 -23
- 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 +13 -13
- package/docs/cli/browser.md +35 -33
- 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 +28 -28
- package/docs/cli/index.md +50 -44
- 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 +12 -12
- package/docs/cli/nodes.md +14 -14
- package/docs/cli/onboard.md +6 -7
- 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 +11 -11
- package/docs/concepts/agent.md +10 -10
- package/docs/concepts/architecture.md +1 -1
- package/docs/concepts/channel-routing.md +2 -2
- package/docs/concepts/compaction.md +5 -5
- package/docs/concepts/context.md +6 -6
- package/docs/concepts/group-messages.md +5 -5
- package/docs/concepts/groups.md +5 -41
- package/docs/concepts/markdown-formatting.md +3 -3
- package/docs/concepts/memory.md +12 -12
- package/docs/concepts/messages.md +4 -4
- package/docs/concepts/model-failover.md +11 -11
- package/docs/concepts/model-providers.md +22 -22
- package/docs/concepts/models.md +26 -26
- package/docs/concepts/multi-agent.md +5 -5
- package/docs/concepts/oauth.md +55 -28
- 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 +11 -11
- 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 +9 -9
- package/docs/diagnostics/flags.md +5 -5
- package/docs/docs.json +7 -37
- package/docs/environment.md +3 -3
- 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 +54 -30
- 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 +12 -13
- package/docs/gateway/configuration-examples.md +10 -10
- package/docs/gateway/configuration.md +107 -120
- package/docs/gateway/discovery.md +6 -6
- package/docs/gateway/doctor.md +21 -21
- package/docs/gateway/gateway-lock.md +1 -1
- package/docs/gateway/health.md +9 -9
- package/docs/gateway/heartbeat.md +5 -5
- package/docs/gateway/index.md +51 -51
- package/docs/gateway/local-models.md +2 -2
- package/docs/gateway/logging.md +8 -8
- package/docs/gateway/multiple-gateways.md +19 -19
- package/docs/gateway/openai-http-api.md +10 -10
- package/docs/gateway/openresponses-http-api.md +10 -10
- package/docs/gateway/pairing.md +5 -5
- package/docs/gateway/protocol.md +4 -5
- package/docs/gateway/remote-gateway-readme.md +8 -8
- package/docs/gateway/remote.md +4 -4
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +7 -10
- package/docs/gateway/sandboxing.md +5 -7
- package/docs/gateway/{security/index.md → security.md} +63 -143
- package/docs/gateway/tailscale.md +35 -16
- package/docs/gateway/tools-invoke-http-api.md +3 -3
- package/docs/gateway/troubleshooting.md +106 -101
- package/docs/help/faq.md +312 -303
- package/docs/help/troubleshooting.md +15 -15
- package/docs/hooks/soul-evil.md +2 -2
- package/docs/hooks.md +44 -44
- package/docs/index.md +33 -33
- package/docs/install/ansible.md +35 -35
- package/docs/install/development-channels.md +10 -10
- package/docs/install/docker.md +27 -27
- package/docs/install/index.md +27 -28
- package/docs/install/installer.md +21 -21
- package/docs/install/nix.md +16 -16
- package/docs/install/node.md +6 -7
- package/docs/install/uninstall.md +21 -21
- package/docs/install/updating.md +47 -48
- package/docs/logging.md +58 -58
- package/docs/multi-agent-sandbox-tools.md +5 -5
- 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 +50 -50
- 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 +1 -1
- package/docs/perplexity.md +2 -2
- package/docs/platforms/android.md +13 -13
- package/docs/platforms/exe-dev.md +23 -23
- package/docs/platforms/fly.md +18 -129
- package/docs/platforms/hetzner.md +20 -20
- package/docs/platforms/index.md +8 -8
- package/docs/platforms/ios.md +13 -13
- package/docs/platforms/linux.md +11 -11
- package/docs/platforms/mac/bundled-gateway.md +11 -11
- package/docs/platforms/mac/canvas.md +14 -14
- package/docs/platforms/mac/child-process.md +1 -1
- package/docs/platforms/mac/dev-setup.md +10 -10
- package/docs/platforms/mac/health.md +2 -2
- package/docs/platforms/mac/icon.md +1 -1
- package/docs/platforms/mac/logging.md +4 -4
- package/docs/platforms/mac/menu-bar.md +1 -1
- package/docs/platforms/mac/peekaboo.md +9 -9
- package/docs/platforms/mac/permissions.md +1 -1
- package/docs/platforms/mac/release.md +18 -18
- package/docs/platforms/mac/remote.md +14 -14
- package/docs/platforms/mac/signing.md +6 -6
- package/docs/platforms/mac/skills.md +2 -2
- package/docs/platforms/mac/webchat.md +1 -1
- package/docs/platforms/mac/xpc.md +4 -4
- package/docs/platforms/macos-vm.md +27 -27
- package/docs/platforms/macos.md +14 -14
- package/docs/platforms/windows.md +11 -11
- package/docs/plugin.md +57 -57
- package/docs/plugins/agent-tools.md +1 -1
- package/docs/plugins/manifest.md +4 -4
- package/docs/plugins/voice-call.md +12 -15
- package/docs/plugins/zalouser.md +9 -9
- package/docs/prose.md +9 -9
- package/docs/providers/anthropic.md +27 -23
- 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 +3 -7
- 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 +13 -9
- 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 +3 -4
- package/docs/providers/zai.md +5 -5
- package/docs/railway.mdx +5 -5
- package/docs/refactor/plugin-sdk.md +10 -10
- 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 +17 -17
- 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/scripts.md +1 -1
- package/docs/start/clawd.md +27 -27
- package/docs/start/getting-started.md +23 -29
- package/docs/start/hubs.md +2 -2
- package/docs/start/lore.md +38 -74
- package/docs/start/onboarding.md +4 -4
- package/docs/start/pairing.md +8 -8
- package/docs/start/setup.md +15 -28
- package/docs/start/showcase.md +32 -32
- package/docs/start/wizard.md +21 -24
- package/docs/testing.md +10 -10
- package/docs/token-use.md +7 -7
- package/docs/tools/agent-send.md +10 -10
- package/docs/tools/browser-linux-troubleshooting.md +8 -8
- package/docs/tools/browser-login.md +4 -4
- package/docs/tools/browser.md +241 -135
- package/docs/tools/chrome-extension.md +48 -31
- package/docs/tools/clawdhub.md +7 -7
- package/docs/tools/creating-skills.md +4 -4
- package/docs/tools/elevated.md +0 -1
- package/docs/tools/exec-approvals.md +2 -5
- package/docs/tools/exec.md +3 -14
- package/docs/tools/firecrawl.md +2 -2
- package/docs/tools/index.md +15 -18
- package/docs/tools/llm-task.md +1 -1
- package/docs/tools/lobster.md +11 -23
- package/docs/tools/skills-config.md +1 -1
- package/docs/tools/skills.md +21 -29
- package/docs/tools/slash-commands.md +8 -10
- package/docs/tools/web.md +6 -6
- package/docs/tts.md +9 -9
- package/docs/tui.md +7 -7
- package/docs/vps.md +1 -6
- package/docs/web/control-ui.md +12 -13
- package/docs/web/dashboard.md +4 -8
- package/docs/web/index.md +5 -6
- package/docs/web/webchat.md +1 -1
- package/extensions/bluebubbles/index.ts +2 -2
- package/extensions/bluebubbles/package.json +5 -5
- package/extensions/bluebubbles/src/accounts.ts +8 -8
- package/extensions/bluebubbles/src/actions.test.ts +22 -22
- package/extensions/bluebubbles/src/actions.ts +5 -5
- package/extensions/bluebubbles/src/attachments.ts +2 -2
- package/extensions/bluebubbles/src/channel.ts +16 -16
- package/extensions/bluebubbles/src/chat.ts +2 -2
- package/extensions/bluebubbles/src/media-send.ts +2 -2
- package/extensions/bluebubbles/src/monitor.test.ts +49 -55
- package/extensions/bluebubbles/src/monitor.ts +5 -180
- package/extensions/bluebubbles/src/onboarding.ts +7 -7
- package/extensions/bluebubbles/src/reactions.ts +2 -2
- package/extensions/bluebubbles/src/send.ts +2 -2
- package/extensions/copilot-proxy/package.json +4 -4
- package/extensions/diagnostics-otel/index.ts +2 -2
- package/extensions/diagnostics-otel/package.json +4 -4
- package/extensions/diagnostics-otel/src/service.test.ts +12 -12
- package/extensions/diagnostics-otel/src/service.ts +84 -84
- package/extensions/discord/index.ts +2 -2
- package/extensions/discord/package.json +4 -4
- package/extensions/google-antigravity-auth/index.ts +1 -8
- package/extensions/google-antigravity-auth/package.json +4 -4
- 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 +3 -3
- package/extensions/googlechat/package.json +7 -7
- package/extensions/googlechat/src/accounts.ts +8 -8
- package/extensions/googlechat/src/actions.ts +6 -6
- package/extensions/googlechat/src/api.ts +1 -1
- package/extensions/googlechat/src/channel.ts +21 -21
- package/extensions/googlechat/src/monitor.ts +8 -8
- package/extensions/googlechat/src/onboarding.ts +10 -10
- package/extensions/imessage/index.ts +2 -2
- package/extensions/imessage/package.json +4 -4
- package/extensions/line/index.ts +2 -2
- package/extensions/line/package.json +6 -6
- package/extensions/line/src/card-command.ts +2 -2
- 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 +4 -4
- 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 +6 -26
- package/extensions/lobster/src/lobster-tool.ts +6 -24
- package/extensions/matrix/CHANGELOG.md +9 -9
- package/extensions/matrix/index.ts +2 -2
- package/extensions/matrix/package.json +7 -7
- 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 +4 -4
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/direct.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/events.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/handler.ts +5 -5
- package/extensions/matrix/src/matrix/monitor/index.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/location.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/media.test.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/media.ts +3 -3
- package/extensions/matrix/src/matrix/monitor/replies.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/room-info.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/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 +2 -2
- package/extensions/matrix/src/matrix/send.ts +3 -3
- package/extensions/matrix/src/onboarding.ts +2 -2
- package/extensions/matrix/src/types.ts +1 -1
- package/extensions/mattermost/index.ts +2 -2
- package/extensions/mattermost/package.json +5 -5
- package/extensions/mattermost/src/mattermost/accounts.ts +8 -8
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
- package/extensions/mattermost/src/mattermost/monitor.ts +2 -2
- package/extensions/mattermost/src/onboarding-helpers.ts +3 -3
- package/extensions/mattermost/src/onboarding.ts +3 -3
- package/extensions/memory-core/index.ts +2 -2
- package/extensions/memory-core/package.json +5 -5
- package/extensions/memory-lancedb/index.test.ts +2 -2
- package/extensions/memory-lancedb/index.ts +3 -3
- package/extensions/memory-lancedb/package.json +4 -4
- package/extensions/msteams/CHANGELOG.md +7 -7
- package/extensions/msteams/index.ts +2 -2
- package/extensions/msteams/package.json +6 -6
- package/extensions/msteams/src/channel.directory.test.ts +2 -2
- package/extensions/msteams/src/channel.ts +2 -2
- package/extensions/msteams/src/conversation-store-fs.test.ts +1 -1
- package/extensions/msteams/src/graph-upload.ts +4 -4
- package/extensions/msteams/src/monitor-handler.ts +2 -2
- package/extensions/msteams/src/monitor.ts +2 -2
- package/extensions/msteams/src/onboarding.ts +9 -9
- package/extensions/msteams/src/policy.ts +3 -48
- package/extensions/msteams/src/polls-store.test.ts +1 -1
- package/extensions/msteams/src/polls.test.ts +2 -2
- package/extensions/msteams/src/polls.ts +8 -8
- package/extensions/msteams/src/reply-dispatcher.ts +35 -35
- package/extensions/msteams/src/send-context.ts +2 -2
- package/extensions/msteams/src/send.ts +4 -4
- package/extensions/nextcloud-talk/index.ts +2 -2
- package/extensions/nextcloud-talk/package.json +5 -5
- package/extensions/nextcloud-talk/src/channel.ts +7 -7
- package/extensions/nextcloud-talk/src/inbound.ts +7 -7
- package/extensions/nextcloud-talk/src/onboarding.ts +1 -1
- package/extensions/nostr/CHANGELOG.md +4 -4
- package/extensions/nostr/index.ts +5 -5
- package/extensions/nostr/package.json +6 -6
- package/extensions/nostr/src/channel.ts +1 -1
- package/extensions/nostr/src/nostr-state-store.test.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/signal/index.ts +2 -2
- package/extensions/signal/package.json +4 -4
- package/extensions/slack/index.ts +2 -2
- package/extensions/slack/package.json +4 -4
- package/extensions/telegram/index.ts +2 -2
- package/extensions/telegram/package.json +4 -4
- package/extensions/telegram/src/channel.ts +2 -2
- package/extensions/tlon/README.md +1 -1
- package/extensions/tlon/index.ts +2 -2
- package/extensions/tlon/package.json +5 -5
- package/extensions/tlon/src/channel.ts +13 -13
- package/extensions/tlon/src/monitor/index.ts +3 -3
- package/extensions/tlon/src/onboarding.ts +3 -3
- package/extensions/tlon/src/types.ts +3 -3
- package/extensions/tlon/src/urbit/send.ts +6 -19
- package/extensions/voice-call/CHANGELOG.md +12 -13
- package/extensions/voice-call/README.md +2 -3
- package/extensions/voice-call/clawdbot.plugin.json +3 -3
- package/extensions/voice-call/index.ts +9 -11
- package/extensions/voice-call/package.json +4 -4
- package/extensions/voice-call/src/cli.ts +1 -1
- package/extensions/voice-call/src/config.ts +4 -61
- package/extensions/voice-call/src/core-bridge.ts +8 -10
- package/extensions/voice-call/src/manager.test.ts +2 -2
- package/extensions/voice-call/src/providers/twilio/webhook.ts +1 -2
- 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 +15 -26
- package/extensions/voice-call/src/types.ts +0 -1
- package/extensions/voice-call/src/webhook-security.test.ts +0 -52
- package/extensions/voice-call/src/webhook-security.ts +5 -16
- package/extensions/voice-call/src/webhook.ts +0 -1
- package/extensions/whatsapp/index.ts +2 -2
- package/extensions/whatsapp/package.json +4 -4
- package/extensions/zalo/CHANGELOG.md +9 -9
- package/extensions/zalo/index.ts +2 -2
- package/extensions/zalo/package.json +6 -6
- package/extensions/zalo/src/accounts.ts +8 -8
- package/extensions/zalo/src/actions.ts +4 -4
- package/extensions/zalo/src/channel.directory.test.ts +2 -2
- package/extensions/zalo/src/channel.ts +18 -18
- package/extensions/zalo/src/monitor.ts +9 -9
- package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
- package/extensions/zalo/src/onboarding.ts +25 -25
- package/extensions/zalo/src/send.ts +2 -2
- package/extensions/zalouser/CHANGELOG.md +4 -4
- package/extensions/zalouser/index.ts +2 -2
- package/extensions/zalouser/package.json +6 -6
- package/extensions/zalouser/src/accounts.ts +9 -9
- package/extensions/zalouser/src/channel.ts +25 -25
- package/extensions/zalouser/src/monitor.ts +4 -4
- package/extensions/zalouser/src/onboarding.ts +30 -30
- package/extensions/zalouser/src/status-issues.ts +1 -1
- package/package.json +18 -17
- 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 +1 -1
- package/skills/camsnap/SKILL.md +1 -1
- package/skills/canvas/SKILL.md +15 -15
- package/skills/clawdhub/SKILL.md +2 -2
- package/skills/coding-agent/SKILL.md +6 -6
- package/skills/discord/SKILL.md +5 -6
- 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 +0 -1
- 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 +5 -10
- package/skills/nano-banana-pro/scripts/generate_image.py +27 -42
- 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/sag/SKILL.md +1 -1
- package/skills/session-logs/SKILL.md +1 -1
- package/skills/sherpa-onnx-tts/SKILL.md +2 -2
- package/skills/slack/SKILL.md +3 -4
- 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/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/LICENSE +0 -21
- package/dist/agents/moltbot-tools.js +0 -121
- package/dist/agents/pi-extensions/compaction-safeguard-runtime.js +0 -20
- package/dist/browser/control-service.js +0 -72
- package/dist/browser/routes/dispatcher.js +0 -86
- package/dist/browser/routes/types.js +0 -1
- package/dist/cli/cli-name.js +0 -26
- package/dist/compat/legacy-names.js +0 -5
- package/dist/control-ui/assets/index-CIRDm-Lu.css +0 -1
- package/dist/control-ui/assets/index-HlBhZmfj.js.map +0 -1
- package/dist/discord/monitor/presence-cache.js +0 -38
- package/dist/gateway/server-methods/browser.js +0 -204
- package/dist/infra/fs-safe.js +0 -76
- package/dist/infra/moltbot-root.js +0 -57
- package/dist/line/signature.js +0 -11
- package/dist/security/external-content.js +0 -143
- package/dist/security/windows-acl.js +0 -162
- package/dist/telegram/api-logging.js +0 -24
- package/dist/telegram/network-config.js +0 -23
- package/dist/telegram/network-errors.js +0 -103
- package/dist/telegram/sticker-cache.js +0 -202
- package/docs/channels/line.md +0 -183
- package/docs/channels/twitch.md +0 -366
- package/docs/gateway/security/formal-verification.md +0 -107
- package/docs/install/migrating.md +0 -190
- package/docs/northflank.mdx +0 -53
- package/docs/platforms/digitalocean.md +0 -243
- package/docs/platforms/gcp.md +0 -498
- package/docs/platforms/oracle.md +0 -291
- package/docs/platforms/raspberry-pi.md +0 -354
- package/docs/providers/claude-max-api-proxy.md +0 -145
- package/docs/render.mdx +0 -158
- package/docs/security/formal-verification.md +0 -107
- package/extensions/googlechat/node_modules/.bin/poolbot +0 -21
- package/extensions/line/node_modules/.bin/poolbot +0 -21
- package/extensions/matrix/node_modules/.bin/poolbot +0 -21
- package/extensions/memory-core/node_modules/.bin/poolbot +0 -21
- package/extensions/msteams/node_modules/.bin/poolbot +0 -21
- package/extensions/nostr/node_modules/.bin/poolbot +0 -21
- package/extensions/twitch/CHANGELOG.md +0 -21
- package/extensions/twitch/README.md +0 -89
- package/extensions/twitch/clawdbot.plugin.json +0 -9
- package/extensions/twitch/index.ts +0 -20
- package/extensions/twitch/node_modules/.bin/poolbot +0 -21
- package/extensions/twitch/package.json +0 -20
- package/extensions/twitch/src/access-control.test.ts +0 -489
- package/extensions/twitch/src/access-control.ts +0 -154
- package/extensions/twitch/src/actions.ts +0 -173
- package/extensions/twitch/src/client-manager-registry.ts +0 -115
- package/extensions/twitch/src/config-schema.ts +0 -82
- package/extensions/twitch/src/config.test.ts +0 -88
- package/extensions/twitch/src/config.ts +0 -116
- package/extensions/twitch/src/monitor.ts +0 -257
- package/extensions/twitch/src/onboarding.test.ts +0 -311
- package/extensions/twitch/src/onboarding.ts +0 -411
- package/extensions/twitch/src/outbound.test.ts +0 -373
- package/extensions/twitch/src/outbound.ts +0 -186
- package/extensions/twitch/src/plugin.test.ts +0 -39
- package/extensions/twitch/src/plugin.ts +0 -274
- package/extensions/twitch/src/probe.test.ts +0 -198
- package/extensions/twitch/src/probe.ts +0 -118
- package/extensions/twitch/src/resolver.ts +0 -137
- package/extensions/twitch/src/runtime.ts +0 -14
- package/extensions/twitch/src/send.test.ts +0 -289
- package/extensions/twitch/src/send.ts +0 -136
- package/extensions/twitch/src/status.test.ts +0 -270
- package/extensions/twitch/src/status.ts +0 -176
- package/extensions/twitch/src/token.test.ts +0 -171
- package/extensions/twitch/src/token.ts +0 -87
- package/extensions/twitch/src/twitch-client.test.ts +0 -574
- package/extensions/twitch/src/twitch-client.ts +0 -277
- package/extensions/twitch/src/types.ts +0 -141
- package/extensions/twitch/src/utils/markdown.ts +0 -92
- package/extensions/twitch/src/utils/twitch.ts +0 -78
- package/extensions/twitch/test/setup.ts +0 -7
- package/extensions/voice-call/src/config.test.ts +0 -204
- package/extensions/zalo/node_modules/.bin/poolbot +0 -21
- package/extensions/zalouser/node_modules/.bin/poolbot +0 -21
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
summary: "Webhook ingress for wake and isolated agent runs"
|
|
3
3
|
read_when:
|
|
4
4
|
- Adding or changing webhook endpoints
|
|
5
|
-
- Wiring external systems into
|
|
5
|
+
- Wiring external systems into Clawdbot
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Webhooks
|
|
@@ -27,10 +27,10 @@ Notes:
|
|
|
27
27
|
|
|
28
28
|
## Auth
|
|
29
29
|
|
|
30
|
-
Every request must include the hook token
|
|
31
|
-
- `Authorization: Bearer <token>`
|
|
32
|
-
- `x-
|
|
33
|
-
- `?token=<token>`
|
|
30
|
+
Every request must include the hook token:
|
|
31
|
+
- `Authorization: Bearer <token>`
|
|
32
|
+
- or `x-clawdbot-token: <token>`
|
|
33
|
+
- or `?token=<token>`
|
|
34
34
|
|
|
35
35
|
## Endpoints
|
|
36
36
|
|
|
@@ -96,9 +96,7 @@ Mapping options (summary):
|
|
|
96
96
|
- TS transforms require a TS loader (e.g. `bun` or `tsx`) or precompiled `.js` at runtime.
|
|
97
97
|
- Set `deliver: true` + `channel`/`to` on mappings to route replies to a chat surface
|
|
98
98
|
(`channel` defaults to `last` and falls back to WhatsApp).
|
|
99
|
-
- `
|
|
100
|
-
(dangerous; only for trusted internal sources).
|
|
101
|
-
- `moltbot webhooks gmail setup` writes `hooks.gmail` config for `moltbot webhooks gmail run`.
|
|
99
|
+
- `clawdbot webhooks gmail setup` writes `hooks.gmail` config for `clawdbot webhooks gmail run`.
|
|
102
100
|
See [Gmail Pub/Sub](/automation/gmail-pubsub) for the full Gmail watch flow.
|
|
103
101
|
|
|
104
102
|
## Responses
|
|
@@ -120,7 +118,7 @@ curl -X POST http://127.0.0.1:18789/hooks/wake \
|
|
|
120
118
|
|
|
121
119
|
```bash
|
|
122
120
|
curl -X POST http://127.0.0.1:18789/hooks/agent \
|
|
123
|
-
-H 'x-
|
|
121
|
+
-H 'x-clawdbot-token: SECRET' \
|
|
124
122
|
-H 'Content-Type: application/json' \
|
|
125
123
|
-d '{"message":"Summarize inbox","name":"Email","wakeMode":"next-heartbeat"}'
|
|
126
124
|
```
|
|
@@ -131,7 +129,7 @@ Add `model` to the agent payload (or mapping) to override the model for that run
|
|
|
131
129
|
|
|
132
130
|
```bash
|
|
133
131
|
curl -X POST http://127.0.0.1:18789/hooks/agent \
|
|
134
|
-
-H 'x-
|
|
132
|
+
-H 'x-clawdbot-token: SECRET' \
|
|
135
133
|
-H 'Content-Type: application/json' \
|
|
136
134
|
-d '{"message":"Summarize inbox","name":"Email","model":"openai/gpt-5.2-mini"}'
|
|
137
135
|
```
|
|
@@ -150,6 +148,3 @@ curl -X POST http://127.0.0.1:18789/hooks/gmail \
|
|
|
150
148
|
- Keep hook endpoints behind loopback, tailnet, or trusted reverse proxy.
|
|
151
149
|
- Use a dedicated hook token; do not reuse gateway auth tokens.
|
|
152
150
|
- Avoid including sensitive raw payloads in webhook logs.
|
|
153
|
-
- Hook payloads are treated as untrusted and wrapped with safety boundaries by default.
|
|
154
|
-
If you must disable this for a specific hook, set `allowUnsafeExternalContent: true`
|
|
155
|
-
in that hook's mapping (dangerous).
|
package/docs/bedrock.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Use Amazon Bedrock (Converse API) models with
|
|
2
|
+
summary: "Use Amazon Bedrock (Converse API) models with Clawdbot"
|
|
3
3
|
read_when:
|
|
4
|
-
- You want to use Amazon Bedrock models with
|
|
4
|
+
- You want to use Amazon Bedrock models with Clawdbot
|
|
5
5
|
- You need AWS credential/region setup for model calls
|
|
6
6
|
---
|
|
7
7
|
# Amazon Bedrock
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Clawdbot can use **Amazon Bedrock** models via pi‑ai’s **Bedrock Converse**
|
|
10
10
|
streaming provider. Bedrock auth uses the **AWS SDK default credential chain**,
|
|
11
11
|
not an API key.
|
|
12
12
|
|
|
@@ -19,7 +19,7 @@ not an API key.
|
|
|
19
19
|
|
|
20
20
|
## Automatic model discovery
|
|
21
21
|
|
|
22
|
-
If AWS credentials are detected,
|
|
22
|
+
If AWS credentials are detected, Clawdbot can automatically discover Bedrock
|
|
23
23
|
models that support **streaming** and **text output**. Discovery uses
|
|
24
24
|
`bedrock:ListFoundationModels` and is cached (default: 1 hour).
|
|
25
25
|
|
|
@@ -97,9 +97,9 @@ export AWS_BEARER_TOKEN_BEDROCK="..."
|
|
|
97
97
|
|
|
98
98
|
## EC2 Instance Roles
|
|
99
99
|
|
|
100
|
-
When running
|
|
100
|
+
When running Clawdbot on an EC2 instance with an IAM role attached, the AWS SDK
|
|
101
101
|
will automatically use the instance metadata service (IMDS) for authentication.
|
|
102
|
-
However,
|
|
102
|
+
However, Clawdbot's credential detection currently only checks for environment
|
|
103
103
|
variables, not IMDS credentials.
|
|
104
104
|
|
|
105
105
|
**Workaround:** Set `AWS_PROFILE=default` to signal that AWS credentials are
|
|
@@ -146,8 +146,8 @@ aws ec2 associate-iam-instance-profile \
|
|
|
146
146
|
--iam-instance-profile Name=EC2-Bedrock-Access
|
|
147
147
|
|
|
148
148
|
# 3. On the EC2 instance, enable discovery
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
clawdbot config set models.bedrockDiscovery.enabled true
|
|
150
|
+
clawdbot config set models.bedrockDiscovery.region us-east-1
|
|
151
151
|
|
|
152
152
|
# 4. Set the workaround env vars
|
|
153
153
|
echo 'export AWS_PROFILE=default' >> ~/.bashrc
|
|
@@ -155,7 +155,7 @@ echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
|
|
|
155
155
|
source ~/.bashrc
|
|
156
156
|
|
|
157
157
|
# 5. Verify models are discovered
|
|
158
|
-
|
|
158
|
+
clawdbot models list
|
|
159
159
|
```
|
|
160
160
|
|
|
161
161
|
## Notes
|
|
@@ -163,7 +163,7 @@ moltbot models list
|
|
|
163
163
|
- Bedrock requires **model access** enabled in your AWS account/region.
|
|
164
164
|
- Automatic discovery needs the `bedrock:ListFoundationModels` permission.
|
|
165
165
|
- If you use profiles, set `AWS_PROFILE` on the gateway host.
|
|
166
|
-
-
|
|
166
|
+
- Clawdbot surfaces the credential source in this order: `AWS_BEARER_TOKEN_BEDROCK`,
|
|
167
167
|
then `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`, then `AWS_PROFILE`, then the
|
|
168
168
|
default AWS SDK chain.
|
|
169
169
|
- Reasoning support depends on the model; check the Bedrock model card for
|
package/docs/brave-search.md
CHANGED
package/docs/broadcast-groups.md
CHANGED
|
@@ -17,7 +17,7 @@ Broadcast Groups enable multiple agents to process and respond to the same messa
|
|
|
17
17
|
|
|
18
18
|
Current scope: **WhatsApp only** (web channel).
|
|
19
19
|
|
|
20
|
-
Broadcast groups are evaluated after channel allowlists and group activation rules. In WhatsApp groups, this means broadcasts happen when
|
|
20
|
+
Broadcast groups are evaluated after channel allowlists and group activation rules. In WhatsApp groups, this means broadcasts happen when Clawdbot would normally reply (for example: on mention, depending on your group settings).
|
|
21
21
|
|
|
22
22
|
## Use Cases
|
|
23
23
|
|
|
@@ -76,7 +76,7 @@ Add a top-level `broadcast` section (next to `bindings`). Keys are WhatsApp peer
|
|
|
76
76
|
}
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
**Result:** When
|
|
79
|
+
**Result:** When Clawdbot would reply in this chat, it will run all three agents.
|
|
80
80
|
|
|
81
81
|
### Processing Strategy
|
|
82
82
|
|
|
@@ -368,7 +368,7 @@ tail -f ~/.clawdbot/logs/gateway.log | grep broadcast
|
|
|
368
368
|
### Config Schema
|
|
369
369
|
|
|
370
370
|
```typescript
|
|
371
|
-
interface
|
|
371
|
+
interface ClawdbotConfig {
|
|
372
372
|
broadcast?: {
|
|
373
373
|
strategy?: "parallel" | "sequential";
|
|
374
374
|
[peerId: string]: string[];
|
|
@@ -12,7 +12,7 @@ Status: bundled plugin that talks to the BlueBubbles macOS server over HTTP. **R
|
|
|
12
12
|
## Overview
|
|
13
13
|
- Runs on macOS via the BlueBubbles helper app ([bluebubbles.app](https://bluebubbles.app)).
|
|
14
14
|
- Recommended/tested: macOS Sequoia (15). macOS Tahoe (26) works; edit is currently broken on Tahoe, and group icon updates may report success but not sync.
|
|
15
|
-
-
|
|
15
|
+
- Clawdbot talks to it through its REST API (`GET /api/v1/ping`, `POST /message/text`, `POST /chat/:id/*`).
|
|
16
16
|
- Incoming messages arrive via webhooks; outgoing replies, typing indicators, read receipts, and tapbacks are REST calls.
|
|
17
17
|
- Attachments and stickers are ingested as inbound media (and surfaced to the agent when possible).
|
|
18
18
|
- Pairing/allowlist works the same way as other channels (`/start/pairing` etc) with `channels.bluebubbles.allowFrom` + pairing codes.
|
|
@@ -22,7 +22,7 @@ Status: bundled plugin that talks to the BlueBubbles macOS server over HTTP. **R
|
|
|
22
22
|
## Quick start
|
|
23
23
|
1. Install the BlueBubbles server on your Mac (follow the instructions at [bluebubbles.app/install](https://bluebubbles.app/install)).
|
|
24
24
|
2. In the BlueBubbles config, enable the web API and set a password.
|
|
25
|
-
3. Run `
|
|
25
|
+
3. Run `clawdbot onboard` and select BlueBubbles, or configure manually:
|
|
26
26
|
```json5
|
|
27
27
|
{
|
|
28
28
|
channels: {
|
|
@@ -41,7 +41,7 @@ Status: bundled plugin that talks to the BlueBubbles macOS server over HTTP. **R
|
|
|
41
41
|
## Onboarding
|
|
42
42
|
BlueBubbles is available in the interactive setup wizard:
|
|
43
43
|
```
|
|
44
|
-
|
|
44
|
+
clawdbot onboard
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
The wizard prompts for:
|
|
@@ -53,7 +53,7 @@ The wizard prompts for:
|
|
|
53
53
|
|
|
54
54
|
You can also add BlueBubbles via CLI:
|
|
55
55
|
```
|
|
56
|
-
|
|
56
|
+
clawdbot channels add bluebubbles --http-url http://192.168.1.100:1234 --password <password>
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
## Access control (DMs + groups)
|
|
@@ -61,8 +61,8 @@ DMs:
|
|
|
61
61
|
- Default: `channels.bluebubbles.dmPolicy = "pairing"`.
|
|
62
62
|
- Unknown senders receive a pairing code; messages are ignored until approved (codes expire after 1 hour).
|
|
63
63
|
- Approve via:
|
|
64
|
-
- `
|
|
65
|
-
- `
|
|
64
|
+
- `clawdbot pairing list bluebubbles`
|
|
65
|
+
- `clawdbot pairing approve bluebubbles <CODE>`
|
|
66
66
|
- Pairing is the default token exchange. Details: [Pairing](/start/pairing)
|
|
67
67
|
|
|
68
68
|
Groups:
|
|
@@ -99,7 +99,7 @@ Per-group configuration:
|
|
|
99
99
|
## Typing + read receipts
|
|
100
100
|
- **Typing indicators**: Sent automatically before and during response generation.
|
|
101
101
|
- **Read receipts**: Controlled by `channels.bluebubbles.sendReadReceipts` (default: `true`).
|
|
102
|
-
- **Typing indicators**:
|
|
102
|
+
- **Typing indicators**: Clawdbot sends typing start events; BlueBubbles clears typing automatically on send or timeout (manual stop via DELETE is unreliable).
|
|
103
103
|
|
|
104
104
|
```json5
|
|
105
105
|
{
|
|
@@ -151,7 +151,7 @@ Available actions:
|
|
|
151
151
|
- Voice memos: set `asVoice: true` with **MP3** or **CAF** audio to send as an iMessage voice message. BlueBubbles converts MP3 → CAF when sending voice memos.
|
|
152
152
|
|
|
153
153
|
### Message IDs (short vs full)
|
|
154
|
-
|
|
154
|
+
Clawdbot may surface *short* message IDs (e.g., `1`, `2`) to save tokens.
|
|
155
155
|
- `MessageSid` / `ReplyToId` can be short IDs.
|
|
156
156
|
- `MessageSidFull` / `ReplyToIdFull` contain the provider full IDs.
|
|
157
157
|
- Short IDs are in-memory; they can expire on restart or cache eviction.
|
|
@@ -213,21 +213,20 @@ Prefer `chat_guid` for stable routing:
|
|
|
213
213
|
- `chat_id:123`
|
|
214
214
|
- `chat_identifier:...`
|
|
215
215
|
- Direct handles: `+15555550123`, `user@example.com`
|
|
216
|
-
- If a direct handle does not have an existing DM chat,
|
|
216
|
+
- If a direct handle does not have an existing DM chat, Clawdbot will create one via `POST /api/v1/chat/new`. This requires the BlueBubbles Private API to be enabled.
|
|
217
217
|
|
|
218
218
|
## Security
|
|
219
219
|
- Webhook requests are authenticated by comparing `guid`/`password` query params or headers against `channels.bluebubbles.password`. Requests from `localhost` are also accepted.
|
|
220
220
|
- Keep the API password and webhook endpoint secret (treat them like credentials).
|
|
221
|
-
- Localhost trust means a same-host reverse proxy can unintentionally bypass the password. If you proxy the gateway, require auth at the proxy and configure `gateway.trustedProxies`. See [Gateway security](/gateway/security#reverse-proxy-configuration).
|
|
222
221
|
- Enable HTTPS + firewall rules on the BlueBubbles server if exposing it outside your LAN.
|
|
223
222
|
|
|
224
223
|
## Troubleshooting
|
|
225
224
|
- If typing/read events stop working, check the BlueBubbles webhook logs and verify the gateway path matches `channels.bluebubbles.webhookPath`.
|
|
226
|
-
- Pairing codes expire after one hour; use `
|
|
225
|
+
- Pairing codes expire after one hour; use `clawdbot pairing list bluebubbles` and `clawdbot pairing approve bluebubbles <code>`.
|
|
227
226
|
- Reactions require the BlueBubbles private API (`POST /api/v1/message/react`); ensure the server version exposes it.
|
|
228
227
|
- Edit/unsend require macOS 13+ and a compatible BlueBubbles server version. On macOS 26 (Tahoe), edit is currently broken due to private API changes.
|
|
229
228
|
- Group icon updates can be flaky on macOS 26 (Tahoe): the API may return success but the new icon does not sync.
|
|
230
|
-
-
|
|
231
|
-
- For status/health info: `
|
|
229
|
+
- Clawdbot auto-hides known-broken actions based on the BlueBubbles server's macOS version. If edit still appears on macOS 26 (Tahoe), disable it manually with `channels.bluebubbles.actions.edit=false`.
|
|
230
|
+
- For status/health info: `clawdbot status --all` or `clawdbot status --deep`.
|
|
232
231
|
|
|
233
232
|
For general channel workflow reference, see [Channels](/channels) and the [Plugins](/plugins) guide.
|
package/docs/channels/discord.md
CHANGED
|
@@ -10,14 +10,13 @@ Status: ready for DM and guild text channels via the official Discord bot gatewa
|
|
|
10
10
|
|
|
11
11
|
## Quick setup (beginner)
|
|
12
12
|
1) Create a Discord bot and copy the bot token.
|
|
13
|
-
2)
|
|
14
|
-
3) Set the token for Pool Bot:
|
|
13
|
+
2) Set the token for Clawdbot:
|
|
15
14
|
- Env: `DISCORD_BOT_TOKEN=...`
|
|
16
15
|
- Or config: `channels.discord.token: "..."`.
|
|
17
16
|
- If both are set, config takes precedence (env fallback is default-account only).
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
3) Invite the bot to your server with message permissions.
|
|
18
|
+
4) Start the gateway.
|
|
19
|
+
5) DM access is pairing by default; approve the pairing code on first contact.
|
|
21
20
|
|
|
22
21
|
Minimal config:
|
|
23
22
|
```json5
|
|
@@ -32,7 +31,7 @@ Minimal config:
|
|
|
32
31
|
```
|
|
33
32
|
|
|
34
33
|
## Goals
|
|
35
|
-
- Talk to
|
|
34
|
+
- Talk to Clawdbot via Discord DMs or guild channels.
|
|
36
35
|
- Direct chats collapse into the agent's main session (default `agent:main:main`); guild channels stay isolated as `agent:<agentId>:discord:channel:<channelId>` (display names use `discord:<guildSlug>#<channelSlug>`).
|
|
37
36
|
- Group DMs are ignored by default; enable via `channels.discord.dm.groupEnabled` and optionally restrict by `channels.discord.dm.groupChannels`.
|
|
38
37
|
- Keep routing deterministic: replies always go back to the channel they arrived on.
|
|
@@ -40,12 +39,12 @@ Minimal config:
|
|
|
40
39
|
## How it works
|
|
41
40
|
1. Create a Discord application → Bot, enable the intents you need (DMs + guild messages + message content), and grab the bot token.
|
|
42
41
|
2. Invite the bot to your server with the permissions required to read/send messages where you want to use it.
|
|
43
|
-
3. Configure
|
|
42
|
+
3. Configure Clawdbot with `channels.discord.token` (or `DISCORD_BOT_TOKEN` as a fallback).
|
|
44
43
|
4. Run the gateway; it auto-starts the Discord channel when a token is available (config first, env fallback) and `channels.discord.enabled` is not `false`.
|
|
45
44
|
- If you prefer env vars, set `DISCORD_BOT_TOKEN` (a config block is optional).
|
|
46
45
|
5. Direct chats: use `user:<id>` (or a `<@id>` mention) when delivering; all turns land in the shared `main` session. Bare numeric IDs are ambiguous and rejected.
|
|
47
46
|
6. Guild channels: use `channel:<channelId>` for delivery. Mentions are required by default and can be set per guild or per channel.
|
|
48
|
-
7. Direct chats: secure by default via `channels.discord.dm.policy` (default: `"pairing"`). Unknown senders get a pairing code (expires after 1 hour); approve via `
|
|
47
|
+
7. Direct chats: secure by default via `channels.discord.dm.policy` (default: `"pairing"`). Unknown senders get a pairing code (expires after 1 hour); approve via `clawdbot pairing approve discord <code>`.
|
|
49
48
|
- To keep old “open to anyone” behavior: set `channels.discord.dm.policy="open"` and `channels.discord.dm.allowFrom=["*"]`.
|
|
50
49
|
- To hard-allowlist: set `channels.discord.dm.policy="allowlist"` and list senders in `channels.discord.dm.allowFrom`.
|
|
51
50
|
- To ignore all DMs: set `channels.discord.dm.enabled=false` or `channels.discord.dm.policy="disabled"`.
|
|
@@ -75,7 +74,7 @@ Disable with:
|
|
|
75
74
|
|
|
76
75
|
## How to create your own bot
|
|
77
76
|
|
|
78
|
-
This is the “Discord Developer Portal” setup for running
|
|
77
|
+
This is the “Discord Developer Portal” setup for running Clawdbot in a server (guild) channel like `#help`.
|
|
79
78
|
|
|
80
79
|
### 1) Create the Discord app + bot user
|
|
81
80
|
1. Discord Developer Portal → **Applications** → **New Application**
|
|
@@ -83,7 +82,7 @@ This is the “Discord Developer Portal” setup for running Pool Bot in a serve
|
|
|
83
82
|
- **Bot** → **Add Bot**
|
|
84
83
|
- Copy the **Bot Token** (this is what you put in `DISCORD_BOT_TOKEN`)
|
|
85
84
|
|
|
86
|
-
### 2) Enable the gateway intents
|
|
85
|
+
### 2) Enable the gateway intents Clawdbot needs
|
|
87
86
|
Discord blocks “privileged intents” unless you explicitly enable them.
|
|
88
87
|
|
|
89
88
|
In **Bot** → **Privileged Gateway Intents**, enable:
|
|
@@ -113,7 +112,7 @@ Avoid **Administrator** unless you’re debugging and fully trust the bot.
|
|
|
113
112
|
Copy the generated URL, open it, pick your server, and install the bot.
|
|
114
113
|
|
|
115
114
|
### 4) Get the ids (guild/user/channel)
|
|
116
|
-
Discord uses numeric ids everywhere;
|
|
115
|
+
Discord uses numeric ids everywhere; Clawdbot config prefers ids.
|
|
117
116
|
|
|
118
117
|
1. Discord (desktop/web) → **User Settings** → **Advanced** → enable **Developer Mode**
|
|
119
118
|
2. Right-click:
|
|
@@ -121,7 +120,7 @@ Discord uses numeric ids everywhere; Pool Bot config prefers ids.
|
|
|
121
120
|
- Channel (e.g. `#help`) → **Copy Channel ID**
|
|
122
121
|
- Your user → **Copy User ID**
|
|
123
122
|
|
|
124
|
-
### 5) Configure
|
|
123
|
+
### 5) Configure Clawdbot
|
|
125
124
|
|
|
126
125
|
#### Token
|
|
127
126
|
Set the bot token via env var (recommended on servers):
|
|
@@ -187,7 +186,7 @@ Notes:
|
|
|
187
186
|
3. If nothing happens: check **Troubleshooting** below.
|
|
188
187
|
|
|
189
188
|
### Troubleshooting
|
|
190
|
-
- First: run `
|
|
189
|
+
- First: run `clawdbot doctor` and `clawdbot channels status --probe` (actionable warnings + quick audits).
|
|
191
190
|
- **“Used disallowed intents”**: enable **Message Content Intent** (and likely **Server Members Intent**) in the Developer Portal, then restart the gateway.
|
|
192
191
|
- **Bot connects but never replies in a guild channel**:
|
|
193
192
|
- Missing **Message Content Intent**, or
|
|
@@ -298,12 +297,8 @@ ack reaction after the bot replies.
|
|
|
298
297
|
- `guilds."*"`: default per-guild settings applied when no explicit entry exists.
|
|
299
298
|
- `guilds.<id>.slug`: optional friendly slug used for display names.
|
|
300
299
|
- `guilds.<id>.users`: optional per-guild user allowlist (ids or names).
|
|
301
|
-
- `guilds.<id>.tools`: optional per-guild tool policy overrides (`allow`/`deny`/`alsoAllow`) used when the channel override is missing.
|
|
302
|
-
- `guilds.<id>.toolsBySender`: optional per-sender tool policy overrides at the guild level (applies when the channel override is missing; `"*"` wildcard supported).
|
|
303
300
|
- `guilds.<id>.channels.<channel>.allow`: allow/deny the channel when `groupPolicy="allowlist"`.
|
|
304
301
|
- `guilds.<id>.channels.<channel>.requireMention`: mention gating for the channel.
|
|
305
|
-
- `guilds.<id>.channels.<channel>.tools`: optional per-channel tool policy overrides (`allow`/`deny`/`alsoAllow`).
|
|
306
|
-
- `guilds.<id>.channels.<channel>.toolsBySender`: optional per-sender tool policy overrides within the channel (`"*"` wildcard supported).
|
|
307
302
|
- `guilds.<id>.channels.<channel>.users`: optional per-channel user allowlist.
|
|
308
303
|
- `guilds.<id>.channels.<channel>.skills`: skill filter (omit = all skills, empty = none).
|
|
309
304
|
- `guilds.<id>.channels.<channel>.systemPrompt`: extra system prompt for the channel (combined with channel topic).
|
|
@@ -375,13 +370,13 @@ Allowlist matching notes:
|
|
|
375
370
|
- When `guilds.<id>.channels` is omitted, all channels in the allowlisted guild are allowed.
|
|
376
371
|
- To allow **no channels**, set `channels.discord.groupPolicy: "disabled"` (or keep an empty allowlist).
|
|
377
372
|
- The configure wizard accepts `Guild/Channel` names (public + private) and resolves them to IDs when possible.
|
|
378
|
-
- On startup,
|
|
373
|
+
- On startup, Clawdbot resolves channel/user names in allowlists to IDs (when the bot can search members)
|
|
379
374
|
and logs the mapping; unresolved entries are kept as typed.
|
|
380
375
|
|
|
381
376
|
Native command notes:
|
|
382
|
-
- The registered commands mirror
|
|
377
|
+
- The registered commands mirror Clawdbot’s chat commands.
|
|
383
378
|
- Native commands honor the same allowlists as DMs/guild messages (`channels.discord.dm.allowFrom`, `channels.discord.guilds`, per-channel rules).
|
|
384
|
-
- Slash commands may still be visible in Discord UI to users who aren’t allowlisted;
|
|
379
|
+
- Slash commands may still be visible in Discord UI to users who aren’t allowlisted; Clawdbot enforces allowlists on execution and replies “not authorized”.
|
|
385
380
|
|
|
386
381
|
## Tool actions
|
|
387
382
|
The agent can call `discord` with actions like:
|
|
@@ -401,4 +396,4 @@ Emoji can be unicode (e.g., `✅`) or custom emoji syntax like `<:party_blob:123
|
|
|
401
396
|
## Safety & ops
|
|
402
397
|
- Treat the bot token like a password; prefer the `DISCORD_BOT_TOKEN` env var on supervised hosts or lock down the config file permissions.
|
|
403
398
|
- Only grant the bot permissions it needs (typically Read/Send Messages).
|
|
404
|
-
- If the bot is stuck or rate limited, restart the gateway (`
|
|
399
|
+
- If the bot is stuck or rate limited, restart the gateway (`clawdbot gateway --force`) after confirming no other processes own the Discord session.
|
|
@@ -13,7 +13,7 @@ Status: ready for DMs + spaces via Google Chat API webhooks (HTTP only).
|
|
|
13
13
|
- Enable the API if it is not already enabled.
|
|
14
14
|
2) Create a **Service Account**:
|
|
15
15
|
- Press **Create Credentials** > **Service Account**.
|
|
16
|
-
- Name it whatever you want (e.g., `
|
|
16
|
+
- Name it whatever you want (e.g., `clawdbot-chat`).
|
|
17
17
|
- Leave permissions blank (press **Continue**).
|
|
18
18
|
- Leave principals with access blank (press **Done**).
|
|
19
19
|
3) Create and download the **JSON Key**:
|
|
@@ -24,14 +24,14 @@ Status: ready for DMs + spaces via Google Chat API webhooks (HTTP only).
|
|
|
24
24
|
4) Store the downloaded JSON file on your gateway host (e.g., `~/.clawdbot/googlechat-service-account.json`).
|
|
25
25
|
5) Create a Google Chat app in the [Google Cloud Console Chat Configuration](https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat):
|
|
26
26
|
- Fill in the **Application info**:
|
|
27
|
-
- **App name**: (e.g. `
|
|
28
|
-
- **Avatar URL**: (e.g. `https://
|
|
27
|
+
- **App name**: (e.g. `Clawdbot`)
|
|
28
|
+
- **Avatar URL**: (e.g. `https://clawd.bot/logo.png`)
|
|
29
29
|
- **Description**: (e.g. `Personal AI Assistant`)
|
|
30
30
|
- Enable **Interactive features**.
|
|
31
31
|
- Under **Functionality**, check **Join spaces and group conversations**.
|
|
32
32
|
- Under **Connection settings**, select **HTTP endpoint URL**.
|
|
33
33
|
- Under **Triggers**, select **Use a common HTTP endpoint URL for all triggers** and set it to your gateway's public URL followed by `/googlechat`.
|
|
34
|
-
- *Tip: Run `
|
|
34
|
+
- *Tip: Run `clawdbot status` to find your gateway's public URL.*
|
|
35
35
|
- Under **Visibility**, check **Make this Chat app available to specific people and groups in <Your Domain>**.
|
|
36
36
|
- Enter your email address (e.g. `user@example.com`) in the text box.
|
|
37
37
|
- Click **Save** at the bottom.
|
|
@@ -40,7 +40,7 @@ Status: ready for DMs + spaces via Google Chat API webhooks (HTTP only).
|
|
|
40
40
|
- Look for the **App status** section (usually near the top or bottom after saving).
|
|
41
41
|
- Change the status to **Live - available to users**.
|
|
42
42
|
- Click **Save** again.
|
|
43
|
-
7) Configure
|
|
43
|
+
7) Configure Clawdbot with the service account path + webhook audience:
|
|
44
44
|
- Env: `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE=/path/to/service-account.json`
|
|
45
45
|
- Or config: `channels.googlechat.serviceAccountFile: "/path/to/service-account.json"`.
|
|
46
46
|
8) Set the webhook audience type + value (matches your Chat app config).
|
|
@@ -57,7 +57,7 @@ Once the gateway is running and your email is added to the visibility list:
|
|
|
57
57
|
6) Send "Hello" to trigger the assistant!
|
|
58
58
|
|
|
59
59
|
## Public URL (Webhook-only)
|
|
60
|
-
Google Chat webhooks require a public HTTPS endpoint. For security, **only expose the `/googlechat` path** to the internet. Keep the
|
|
60
|
+
Google Chat webhooks require a public HTTPS endpoint. For security, **only expose the `/googlechat` path** to the internet. Keep the Clawdbot dashboard and other sensitive endpoints on your private network.
|
|
61
61
|
|
|
62
62
|
### Option A: Tailscale Funnel (Recommended)
|
|
63
63
|
Use Tailscale Serve for the private dashboard and Funnel for the public webhook path. This keeps `/` private while exposing only `/googlechat`.
|
|
@@ -112,7 +112,7 @@ your-domain.com {
|
|
|
112
112
|
reverse_proxy /googlechat* localhost:18789
|
|
113
113
|
}
|
|
114
114
|
```
|
|
115
|
-
With this config, any request to `your-domain.com/` will be ignored or returned as 404, while `your-domain.com/googlechat` is safely routed to
|
|
115
|
+
With this config, any request to `your-domain.com/` will be ignored or returned as 404, while `your-domain.com/googlechat` is safely routed to Clawdbot.
|
|
116
116
|
|
|
117
117
|
### Option C: Cloudflare Tunnel
|
|
118
118
|
Configure your tunnel's ingress rules to only route the webhook path:
|
|
@@ -122,14 +122,14 @@ Configure your tunnel's ingress rules to only route the webhook path:
|
|
|
122
122
|
## How it works
|
|
123
123
|
|
|
124
124
|
1. Google Chat sends webhook POSTs to the gateway. Each request includes an `Authorization: Bearer <token>` header.
|
|
125
|
-
2.
|
|
125
|
+
2. Clawdbot verifies the token against the configured `audienceType` + `audience`:
|
|
126
126
|
- `audienceType: "app-url"` → audience is your HTTPS webhook URL.
|
|
127
127
|
- `audienceType: "project-number"` → audience is the Cloud project number.
|
|
128
128
|
3. Messages are routed by space:
|
|
129
129
|
- DMs use session key `agent:<agentId>:googlechat:dm:<spaceId>`.
|
|
130
130
|
- Spaces use session key `agent:<agentId>:googlechat:group:<spaceId>`.
|
|
131
131
|
4. DM access is pairing by default. Unknown senders receive a pairing code; approve with:
|
|
132
|
-
- `
|
|
132
|
+
- `clawdbot pairing approve googlechat <code>`
|
|
133
133
|
5. Group spaces require @-mention by default. Use `botUser` if mention detection needs the app’s user name.
|
|
134
134
|
|
|
135
135
|
## Targets
|
|
@@ -187,32 +187,32 @@ status code: 405, reason phrase: HTTP error response: HTTP/1.1 405 Method Not Al
|
|
|
187
187
|
This means the webhook handler isn't registered. Common causes:
|
|
188
188
|
1. **Channel not configured**: The `channels.googlechat` section is missing from your config. Verify with:
|
|
189
189
|
```bash
|
|
190
|
-
|
|
190
|
+
clawdbot config get channels.googlechat
|
|
191
191
|
```
|
|
192
192
|
If it returns "Config path not found", add the configuration (see [Config highlights](#config-highlights)).
|
|
193
193
|
|
|
194
194
|
2. **Plugin not enabled**: Check plugin status:
|
|
195
195
|
```bash
|
|
196
|
-
|
|
196
|
+
clawdbot plugins list | grep googlechat
|
|
197
197
|
```
|
|
198
198
|
If it shows "disabled", add `plugins.entries.googlechat.enabled: true` to your config.
|
|
199
199
|
|
|
200
200
|
3. **Gateway not restarted**: After adding config, restart the gateway:
|
|
201
201
|
```bash
|
|
202
|
-
|
|
202
|
+
clawdbot gateway restart
|
|
203
203
|
```
|
|
204
204
|
|
|
205
205
|
Verify the channel is running:
|
|
206
206
|
```bash
|
|
207
|
-
|
|
207
|
+
clawdbot channels status
|
|
208
208
|
# Should show: Google Chat default: enabled, configured, ...
|
|
209
209
|
```
|
|
210
210
|
|
|
211
211
|
### Other issues
|
|
212
|
-
- Check `
|
|
212
|
+
- Check `clawdbot channels status --probe` for auth errors or missing audience config.
|
|
213
213
|
- If no messages arrive, confirm the Chat app's webhook URL + event subscriptions.
|
|
214
214
|
- If mention gating blocks replies, set `botUser` to the app's user resource name and verify `requireMention`.
|
|
215
|
-
- Use `
|
|
215
|
+
- Use `clawdbot logs --follow` while sending a test message to see if requests reach the gateway.
|
|
216
216
|
|
|
217
217
|
Related docs:
|
|
218
218
|
- [Gateway configuration](/gateway/configuration)
|
|
@@ -13,7 +13,7 @@ Status: external CLI integration. Gateway spawns `imsg rpc` (JSON-RPC over stdio
|
|
|
13
13
|
1) Ensure Messages is signed in on this Mac.
|
|
14
14
|
2) Install `imsg`:
|
|
15
15
|
- `brew install steipete/tap/imsg`
|
|
16
|
-
3) Configure
|
|
16
|
+
3) Configure Clawdbot with `channels.imessage.cliPath` and `channels.imessage.dbPath`.
|
|
17
17
|
4) Start the gateway and approve any macOS prompts (Automation + Full Disk Access).
|
|
18
18
|
|
|
19
19
|
Minimal config:
|
|
@@ -47,7 +47,7 @@ Disable with:
|
|
|
47
47
|
|
|
48
48
|
## Requirements
|
|
49
49
|
- macOS with Messages signed in.
|
|
50
|
-
- Full Disk Access for
|
|
50
|
+
- Full Disk Access for Clawdbot + `imsg` (Messages DB access).
|
|
51
51
|
- Automation permission when sending.
|
|
52
52
|
- `channels.imessage.cliPath` can point to any command that proxies stdin/stdout (for example, a wrapper script that SSHes to another Mac and runs `imsg rpc`).
|
|
53
53
|
|
|
@@ -103,7 +103,7 @@ Example config:
|
|
|
103
103
|
For single-account setups, use flat options (`channels.imessage.cliPath`, `channels.imessage.dbPath`) instead of the `accounts` map.
|
|
104
104
|
|
|
105
105
|
### Remote/SSH variant (optional)
|
|
106
|
-
If you want iMessage on another Mac, set `channels.imessage.cliPath` to a wrapper that runs `imsg` on the remote macOS host over SSH.
|
|
106
|
+
If you want iMessage on another Mac, set `channels.imessage.cliPath` to a wrapper that runs `imsg` on the remote macOS host over SSH. Clawdbot only needs stdio.
|
|
107
107
|
|
|
108
108
|
Example wrapper:
|
|
109
109
|
```bash
|
|
@@ -111,7 +111,7 @@ Example wrapper:
|
|
|
111
111
|
exec ssh -T gateway-host imsg "$@"
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
-
**Remote attachments:** When `cliPath` points to a remote host via SSH, attachment paths in the Messages database reference files on the remote machine.
|
|
114
|
+
**Remote attachments:** When `cliPath` points to a remote host via SSH, attachment paths in the Messages database reference files on the remote machine. Clawdbot can automatically fetch these over SCP by setting `channels.imessage.remoteHost`:
|
|
115
115
|
|
|
116
116
|
```json5
|
|
117
117
|
{
|
|
@@ -125,7 +125,7 @@ exec ssh -T gateway-host imsg "$@"
|
|
|
125
125
|
}
|
|
126
126
|
```
|
|
127
127
|
|
|
128
|
-
If `remoteHost` is not set,
|
|
128
|
+
If `remoteHost` is not set, Clawdbot attempts to auto-detect it by parsing the SSH command in your wrapper script. Explicit configuration is recommended for reliability.
|
|
129
129
|
|
|
130
130
|
#### Remote Mac via Tailscale (example)
|
|
131
131
|
If the Gateway runs on a Linux host/VM but iMessage must run on a Mac, Tailscale is the simplest bridge: the Gateway talks to the Mac over the tailnet, runs `imsg` via SSH, and SCPs attachments back.
|
|
@@ -134,7 +134,7 @@ Architecture:
|
|
|
134
134
|
```
|
|
135
135
|
┌──────────────────────────────┐ SSH (imsg rpc) ┌──────────────────────────┐
|
|
136
136
|
│ Gateway host (Linux/VM) │──────────────────────────────────▶│ Mac with Messages + imsg │
|
|
137
|
-
│ -
|
|
137
|
+
│ - clawdbot gateway │ SCP (attachments) │ - Messages signed in │
|
|
138
138
|
│ - channels.imessage.cliPath │◀──────────────────────────────────│ - Remote Login enabled │
|
|
139
139
|
└──────────────────────────────┘ └──────────────────────────┘
|
|
140
140
|
▲
|
|
@@ -169,15 +169,15 @@ Notes:
|
|
|
169
169
|
- Use SSH keys so `ssh bot@mac-mini.tailnet-1234.ts.net` works without prompts.
|
|
170
170
|
- `remoteHost` should match the SSH target so SCP can fetch attachments.
|
|
171
171
|
|
|
172
|
-
Multi-account support: use `channels.imessage.accounts` with per-account config and optional `name`. See [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) for the shared pattern. Don't commit `~/.clawdbot/
|
|
172
|
+
Multi-account support: use `channels.imessage.accounts` with per-account config and optional `name`. See [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) for the shared pattern. Don't commit `~/.clawdbot/clawdbot.json` (it often contains tokens).
|
|
173
173
|
|
|
174
174
|
## Access control (DMs + groups)
|
|
175
175
|
DMs:
|
|
176
176
|
- Default: `channels.imessage.dmPolicy = "pairing"`.
|
|
177
177
|
- Unknown senders receive a pairing code; messages are ignored until approved (codes expire after 1 hour).
|
|
178
178
|
- Approve via:
|
|
179
|
-
- `
|
|
180
|
-
- `
|
|
179
|
+
- `clawdbot pairing list imessage`
|
|
180
|
+
- `clawdbot pairing approve imessage <CODE>`
|
|
181
181
|
- Pairing is the default token exchange for iMessage DMs. Details: [Pairing](/start/pairing)
|
|
182
182
|
|
|
183
183
|
Groups:
|
|
@@ -193,7 +193,7 @@ Groups:
|
|
|
193
193
|
## Group-ish threads (`is_group=false`)
|
|
194
194
|
Some iMessage threads can have multiple participants but still arrive with `is_group=false` depending on how Messages stores the chat identifier.
|
|
195
195
|
|
|
196
|
-
If you explicitly configure a `chat_id` under `channels.imessage.groups`,
|
|
196
|
+
If you explicitly configure a `chat_id` under `channels.imessage.groups`, Clawdbot treats that thread as a “group” for:
|
|
197
197
|
- session isolation (separate `agent:<agentId>:imessage:group:<chat_id>` session key)
|
|
198
198
|
- group allowlisting / mention gating behavior
|
|
199
199
|
|
package/docs/channels/index.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Messaging platforms
|
|
2
|
+
summary: "Messaging platforms Clawdbot can connect to"
|
|
3
3
|
read_when:
|
|
4
|
-
- You want to choose a chat channel for
|
|
4
|
+
- You want to choose a chat channel for Clawdbot
|
|
5
5
|
- You need a quick overview of supported messaging platforms
|
|
6
6
|
---
|
|
7
7
|
# Chat Channels
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Clawdbot can talk to you on any chat app you already use. Each channel connects via the Gateway.
|
|
10
10
|
Text is supported everywhere; media and reactions vary by channel.
|
|
11
11
|
|
|
12
12
|
## Supported channels
|
|
@@ -21,19 +21,17 @@ Text is supported everywhere; media and reactions vary by channel.
|
|
|
21
21
|
- [BlueBubbles](/channels/bluebubbles) — **Recommended for iMessage**; uses the BlueBubbles macOS server REST API with full feature support (edit, unsend, effects, reactions, group management — edit currently broken on macOS 26 Tahoe).
|
|
22
22
|
- [iMessage](/channels/imessage) — macOS only; native integration via imsg (legacy, consider BlueBubbles for new setups).
|
|
23
23
|
- [Microsoft Teams](/channels/msteams) — Bot Framework; enterprise support (plugin, installed separately).
|
|
24
|
-
- [LINE](/channels/line) — LINE Messaging API bot (plugin, installed separately).
|
|
25
24
|
- [Nextcloud Talk](/channels/nextcloud-talk) — Self-hosted chat via Nextcloud Talk (plugin, installed separately).
|
|
26
25
|
- [Matrix](/channels/matrix) — Matrix protocol (plugin, installed separately).
|
|
27
26
|
- [Nostr](/channels/nostr) — Decentralized DMs via NIP-04 (plugin, installed separately).
|
|
28
27
|
- [Tlon](/channels/tlon) — Urbit-based messenger (plugin, installed separately).
|
|
29
|
-
- [Twitch](/channels/twitch) — Twitch chat via IRC connection (plugin, installed separately).
|
|
30
28
|
- [Zalo](/channels/zalo) — Zalo Bot API; Vietnam's popular messenger (plugin, installed separately).
|
|
31
29
|
- [Zalo Personal](/channels/zalouser) — Zalo personal account via QR login (plugin, installed separately).
|
|
32
30
|
- [WebChat](/web/webchat) — Gateway WebChat UI over WebSocket.
|
|
33
31
|
|
|
34
32
|
## Notes
|
|
35
33
|
|
|
36
|
-
- Channels can run simultaneously; configure multiple and
|
|
34
|
+
- Channels can run simultaneously; configure multiple and Clawdbot will route per chat.
|
|
37
35
|
- Fastest setup is usually **Telegram** (simple bot token). WhatsApp requires QR pairing and
|
|
38
36
|
stores more state on disk.
|
|
39
37
|
- Group behavior varies by channel; see [Groups](/concepts/groups).
|
|
@@ -7,7 +7,7 @@ read_when:
|
|
|
7
7
|
|
|
8
8
|
# Channel location parsing
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Clawdbot normalizes shared locations from chat channels into:
|
|
11
11
|
- human-readable text appended to the inbound body, and
|
|
12
12
|
- structured fields in the auto-reply context payload.
|
|
13
13
|
|