@gguf/pigbot 0.0.1 → 0.0.2
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 +300 -166
- package/README-header.png +0 -0
- package/assets/chrome-extension/README.md +5 -5
- 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 +3 -3
- package/dist/acp/types.js +2 -2
- package/dist/agents/agent-paths.js +6 -6
- package/dist/agents/anthropic-payload-log.js +2 -2
- 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.exec.js +77 -26
- package/dist/agents/bash-tools.shared.js +8 -1
- package/dist/agents/cache-trace.js +5 -5
- package/dist/agents/cli-backends.js +8 -0
- package/dist/agents/cli-runner/helpers.js +3 -3
- package/dist/agents/cli-runner.js +3 -3
- 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/live-auth-keys.js +2 -2
- 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 +23 -5
- package/dist/agents/model-fallback.js +22 -0
- package/dist/agents/model-selection.js +9 -2
- package/dist/agents/models-config.js +3 -3
- package/dist/agents/models-config.providers.js +4 -4
- package/dist/agents/{pigbot-tools.js → moltbot-tools.js} +7 -6
- package/dist/agents/pi-embedded-helpers/errors.js +23 -1
- 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 +9 -3
- package/dist/agents/pi-embedded-runner/run/attempt.js +10 -6
- package/dist/agents/pi-embedded-runner/run.js +5 -5
- package/dist/agents/pi-embedded-runner/sandbox-info.js +1 -4
- package/dist/agents/pi-embedded-runner/session-manager-cache.js +1 -1
- package/dist/agents/pi-embedded-runner/utils.js +1 -1
- package/dist/agents/pi-embedded-subscribe.raw-stream.js +2 -2
- 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 +26 -15
- package/dist/agents/pi-tools.policy.js +34 -1
- package/dist/agents/pi-tools.read.js +2 -2
- package/dist/agents/sandbox/browser.js +10 -12
- 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/bundled-dir.js +1 -1
- 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 +21 -32
- package/dist/agents/tool-images.js +1 -1
- package/dist/agents/tool-policy.js +8 -2
- package/dist/agents/tools/agents-list-tool.js +3 -1
- 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 +13 -1
- package/dist/agents/tools/sessions-send-helpers.js +17 -2
- package/dist/agents/tools/sessions-spawn-tool.js +1 -1
- package/dist/agents/tools/telegram-actions.js +95 -1
- package/dist/agents/tools/web-fetch.js +123 -103
- package/dist/agents/tools/web-search.js +7 -7
- package/dist/agents/workspace.js +37 -1
- package/dist/auto-reply/chunk.js +71 -26
- package/dist/auto-reply/commands-registry.data.js +73 -22
- package/dist/auto-reply/commands-registry.js +14 -11
- package/dist/auto-reply/heartbeat.js +3 -0
- package/dist/auto-reply/model.js +1 -1
- 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/block-streaming.js +8 -15
- 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-plugin.js +4 -2
- 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/directives.js +12 -1
- package/dist/auto-reply/reply/dispatch-from-config.js +68 -22
- 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/get-reply.js +1 -1
- package/dist/auto-reply/reply/groups.js +1 -1
- package/dist/auto-reply/reply/history.js +23 -0
- package/dist/auto-reply/reply/line-directives.js +294 -0
- package/dist/auto-reply/reply/normalize-reply.js +13 -5
- package/dist/auto-reply/reply/reply-elevated.js +1 -1
- package/dist/auto-reply/reply/reply-payloads.js +2 -1
- package/dist/auto-reply/reply/route-reply.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 +144 -42
- package/dist/auto-reply/thinking.js +13 -0
- 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 +2 -2
- package/dist/canvas-host/a2ui/.bundle.hash +1 -0
- 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 +67 -33
- package/dist/channels/plugins/actions/discord/handle-action.guild-admin.js +5 -1
- package/dist/channels/plugins/actions/telegram.js +62 -7
- package/dist/channels/plugins/catalog.js +7 -5
- 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/normalize/imessage.js +36 -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 +40 -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/channel-options.js +1 -1
- package/dist/cli/channels-cli.js +1 -1
- package/dist/cli/cli-name.js +26 -0
- package/dist/cli/command-format.js +12 -8
- package/dist/cli/config-cli.js +2 -2
- package/dist/cli/cron-cli/register.js +1 -1
- package/dist/cli/daemon-cli/install.js +3 -2
- package/dist/cli/daemon-cli/register.js +1 -1
- package/dist/cli/daemon-cli/shared.js +13 -11
- package/dist/cli/daemon-cli/status.gather.js +2 -2
- package/dist/cli/daemon-cli/status.print.js +8 -8
- 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 +5 -5
- package/dist/cli/gateway-cli/register.js +1 -1
- package/dist/cli/gateway-cli/run.js +19 -16
- package/dist/cli/gateway-cli/shared.js +5 -5
- 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 +3 -3
- 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 +9 -9
- 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 +5 -3
- 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/program/register.subclis.js +2 -2
- package/dist/cli/route.js +1 -1
- 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 +2 -2
- package/dist/cli/tui-cli.js +1 -1
- package/dist/cli/update-cli.js +64 -48
- 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.daemon.js +10 -2
- package/dist/commands/configure.gateway-auth.js +1 -8
- package/dist/commands/configure.gateway.js +1 -10
- package/dist/commands/configure.wizard.js +21 -21
- package/dist/commands/daemon-install-helpers.js +10 -3
- package/dist/commands/dashboard.js +2 -2
- 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 +5 -5
- package/dist/commands/doctor-gateway-daemon-flow.js +5 -4
- package/dist/commands/doctor-gateway-services.js +7 -5
- package/dist/commands/doctor-platform-notes.js +7 -7
- 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 +5 -5
- 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/helpers.js +2 -2
- package/dist/commands/gateway-status.js +2 -2
- package/dist/commands/health.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/node-daemon-install-helpers.js +1 -1
- 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/daemon-install.js +1 -0
- 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 +5 -5
- package/dist/commands/status.command.js +9 -9
- package/dist/commands/status.gateway-probe.js +2 -2
- package/dist/commands/status.scan.js +2 -2
- package/dist/commands/status.update.js +3 -3
- package/dist/commands/uninstall.js +4 -4
- package/dist/compat/legacy-names.js +6 -0
- package/dist/config/config.js +1 -1
- package/dist/config/env-vars.js +21 -0
- package/dist/config/group-policy.js +69 -0
- package/dist/config/io.js +24 -28
- package/dist/config/legacy.migrations.part-3.js +3 -0
- package/dist/config/logging.js +3 -3
- package/dist/config/paths.js +57 -17
- package/dist/config/schema.js +26 -12
- package/dist/config/sessions/store.js +1 -1
- package/dist/config/sessions/transcript.js +1 -1
- package/dist/config/types.clawdbot.js +1 -0
- package/dist/config/types.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 +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 +10 -3
- package/dist/config/zod-schema.providers-core.js +24 -0
- package/dist/config/zod-schema.providers-whatsapp.js +3 -0
- package/dist/control-ui/assets/index-BAFzd9IE.css +1 -0
- package/dist/control-ui/assets/index-CxUFDXFX.js +3162 -0
- package/dist/control-ui/assets/index-CxUFDXFX.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 +26 -16
- package/dist/daemon/inspect.js +16 -15
- package/dist/daemon/launchd.js +8 -8
- package/dist/daemon/node-service.js +14 -14
- package/dist/daemon/paths.js +3 -3
- package/dist/daemon/program-args.js +1 -1
- package/dist/daemon/schtasks.js +6 -6
- package/dist/daemon/service-env.js +21 -21
- package/dist/daemon/systemd-hints.js +1 -1
- package/dist/daemon/systemd-unit.js +1 -1
- package/dist/daemon/systemd.js +6 -6
- 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 +7 -7
- package/dist/gateway/auth.js +55 -22
- package/dist/gateway/call.js +2 -2
- package/dist/gateway/control-ui.js +4 -4
- 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/__tests__/test-utils.js +2 -0
- package/dist/gateway/server/health-state.js +3 -3
- package/dist/gateway/server/hooks.js +1 -0
- package/dist/gateway/server/plugins-http.js +23 -2
- package/dist/gateway/server/ws-connection/message-handler.js +66 -19
- package/dist/gateway/server-browser.js +16 -5
- package/dist/gateway/server-chat.js +28 -2
- package/dist/gateway/server-constants.js +2 -2
- package/dist/gateway/server-cron.js +1 -1
- package/dist/gateway/server-discovery-runtime.js +25 -17
- package/dist/gateway/server-discovery.js +7 -7
- package/dist/gateway/server-http.js +13 -7
- 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-reload-handlers.js +5 -5
- package/dist/gateway/server-restart-sentinel.js +10 -5
- package/dist/gateway/server-runtime-config.js +7 -4
- package/dist/gateway/server-startup.js +5 -5
- package/dist/gateway/server.impl.js +17 -7
- package/dist/gateway/session-utils.fs.js +1 -1
- package/dist/gateway/session-utils.js +31 -11
- package/dist/gateway/test-helpers.mocks.js +8 -7
- package/dist/gateway/test-helpers.server.js +51 -32
- 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 +2 -2
- 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/gmail-watcher.js +1 -1
- 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/imessage/targets.js +19 -0
- 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 +20 -13
- package/dist/infra/device-identity.js +1 -1
- package/dist/infra/diagnostic-flags.js +66 -0
- package/dist/infra/dotenv.js +1 -1
- package/dist/infra/env.js +22 -0
- package/dist/infra/exec-approvals.js +2 -2
- package/dist/infra/fs-safe.js +76 -0
- package/dist/infra/gateway-lock.js +5 -4
- 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/{pigbot-root.js → moltbot-root.js} +3 -2
- package/dist/infra/net/ssrf.js +77 -1
- package/dist/infra/node-shell.js +1 -1
- package/dist/infra/outbound/deliver.js +41 -18
- package/dist/infra/outbound/message-action-runner.js +24 -3
- package/dist/infra/outbound/message-action-spec.js +1 -0
- package/dist/infra/outbound/message.js +1 -0
- package/dist/infra/outbound/outbound-policy.js +4 -1
- package/dist/infra/outbound/outbound-send-service.js +10 -0
- package/dist/infra/outbound/payloads.js +15 -5
- package/dist/infra/outbound/target-resolver.js +53 -14
- package/dist/infra/outbound/targets.js +1 -1
- package/dist/infra/path-env.js +9 -9
- 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 +4 -4
- package/dist/infra/retry-policy.js +4 -1
- package/dist/infra/runtime-guard.js +2 -2
- package/dist/infra/shell-env.js +4 -4
- package/dist/infra/skills-remote.js +3 -3
- package/dist/infra/state-migrations.js +1 -1
- package/dist/infra/system-presence.js +1 -1
- 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/accounts.js +130 -0
- package/dist/line/auto-reply-delivery.js +102 -0
- package/dist/line/bot-access.js +38 -0
- package/dist/line/bot-handlers.js +258 -0
- package/dist/line/bot-message-context.js +374 -0
- package/dist/line/bot.js +48 -0
- package/dist/line/config-schema.js +47 -0
- package/dist/line/download.js +95 -0
- package/dist/line/flex-templates.js +1264 -0
- package/dist/line/http-registry.js +27 -0
- package/dist/line/index.js +19 -0
- package/dist/line/markdown-to-line.js +346 -0
- package/dist/line/monitor.js +266 -0
- package/dist/line/probe.js +37 -0
- package/dist/line/reply-chunks.js +53 -0
- package/dist/line/rich-menu.js +320 -0
- package/dist/line/send.js +451 -0
- package/dist/line/signature.js +11 -0
- package/dist/line/template-messages.js +258 -0
- package/dist/line/types.js +1 -0
- package/dist/line/webhook.js +71 -0
- package/dist/link-understanding/apply.js +22 -0
- package/dist/link-understanding/defaults.js +2 -0
- package/dist/link-understanding/detect.js +49 -0
- package/dist/link-understanding/format.js +10 -0
- package/dist/link-understanding/index.js +4 -0
- package/dist/link-understanding/runner.js +99 -0
- package/dist/logging/logger.js +4 -4
- package/dist/macos/gateway-daemon.js +7 -7
- package/dist/macos/relay-smoke.js +1 -1
- package/dist/macos/relay.js +6 -6
- package/dist/media/host.js +1 -1
- package/dist/media/image-ops.js +3 -3
- 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 +69 -1
- package/dist/memory/batch-gemini.js +2 -2
- package/dist/memory/batch-openai.js +1 -1
- package/dist/memory/embeddings-gemini.js +1 -1
- package/dist/memory/embeddings.js +1 -1
- package/dist/node-host/runner.js +64 -60
- package/dist/pairing/pairing-messages.js +2 -2
- package/dist/plugin-sdk/index.js +12 -2
- package/dist/plugins/bundled-dir.js +1 -1
- package/dist/plugins/cli.js +2 -2
- package/dist/plugins/commands.js +1 -1
- package/dist/plugins/discovery.js +6 -5
- package/dist/plugins/http-path.js +10 -0
- package/dist/plugins/http-registry.js +31 -0
- package/dist/plugins/install.js +8 -7
- package/dist/plugins/loader.js +11 -4
- package/dist/plugins/manifest-registry.js +4 -4
- package/dist/plugins/manifest.js +16 -1
- package/dist/plugins/providers.js +2 -2
- package/dist/plugins/registry.js +36 -5
- package/dist/plugins/runtime/index.js +26 -0
- package/dist/plugins/runtime.js +2 -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/process/exec.js +11 -7
- package/dist/process/spawn-utils.js +95 -0
- package/dist/providers/qwen-portal-oauth.js +1 -1
- package/dist/routing/session-key.js +17 -12
- package/dist/security/audit-extra.js +120 -70
- package/dist/security/audit-fs.js +78 -0
- package/dist/security/audit.js +145 -87
- 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/shared/text/reasoning-tags.js +48 -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/accounts.js +1 -1
- package/dist/telegram/api-logging.js +24 -0
- package/dist/telegram/bot/delivery.js +218 -28
- package/dist/telegram/bot/helpers.js +29 -19
- package/dist/telegram/bot-handlers.js +70 -8
- package/dist/telegram/bot-message-context.js +83 -22
- package/dist/telegram/bot-message-dispatch.js +69 -0
- package/dist/telegram/bot-native-commands.js +245 -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 +229 -41
- 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 +128 -25
- 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 +3 -3
- package/dist/tui/tui.js +1 -1
- package/dist/utils.js +3 -3
- package/dist/version.js +3 -3
- 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 +22 -21
- package/dist/wizard/onboarding.gateway-config.js +1 -11
- package/dist/wizard/onboarding.js +24 -13
- package/docs/CNAME +1 -1
- package/docs/_config.yml +2 -2
- package/docs/_layouts/default.html +9 -9
- 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 +19 -19
- package/docs/automation/cron-vs-heartbeat.md +8 -8
- package/docs/automation/gmail-pubsub.md +27 -25
- 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 +14 -12
- package/docs/channels/discord.md +23 -18
- package/docs/channels/googlechat.md +16 -16
- package/docs/channels/grammy.md +1 -1
- package/docs/channels/imessage.md +14 -14
- 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 +16 -16
- package/docs/channels/mattermost.md +8 -8
- package/docs/channels/msteams.md +31 -27
- package/docs/channels/nextcloud-talk.md +8 -8
- package/docs/channels/nostr.md +9 -9
- package/docs/channels/signal.md +11 -11
- package/docs/channels/slack.md +31 -29
- package/docs/channels/telegram.md +152 -22
- 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 +26 -26
- 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 +11 -11
- package/docs/cli/gateway.md +26 -26
- 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 +21 -21
- package/docs/concepts/agent.md +12 -12
- package/docs/concepts/architecture.md +2 -2
- 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 +19 -19
- package/docs/concepts/oauth.md +32 -59
- 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 +4 -4
- package/docs/concepts/system-prompt.md +11 -11
- package/docs/concepts/timezone.md +2 -2
- package/docs/concepts/typebox.md +3 -3
- 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 +18 -18
- package/docs/diagnostics/flags.md +89 -0
- package/docs/docs.json +37 -7
- package/docs/environment.md +7 -7
- 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 +2 -2
- package/docs/gateway/bonjour.md +25 -25
- 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 +160 -145
- package/docs/gateway/discovery.md +10 -10
- package/docs/gateway/doctor.md +27 -27
- 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 +65 -65
- package/docs/gateway/local-models.md +2 -2
- package/docs/gateway/logging.md +8 -8
- package/docs/gateway/multiple-gateways.md +27 -27
- package/docs/gateway/openai-http-api.md +12 -12
- package/docs/gateway/openresponses-http-api.md +12 -12
- package/docs/gateway/pairing.md +9 -9
- package/docs/gateway/protocol.md +6 -5
- package/docs/gateway/remote-gateway-readme.md +16 -14
- package/docs/gateway/remote.md +5 -5
- 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} +172 -75
- package/docs/gateway/tailscale.md +19 -38
- package/docs/gateway/tools-invoke-http-api.md +5 -5
- package/docs/gateway/troubleshooting.md +114 -119
- package/docs/help/faq.md +369 -355
- package/docs/help/troubleshooting.md +16 -16
- 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 +44 -44
- package/docs/install/index.md +34 -33
- package/docs/install/installer.md +24 -24
- package/docs/install/migrating.md +190 -0
- package/docs/install/nix.md +18 -18
- package/docs/install/node.md +7 -6
- package/docs/install/uninstall.md +30 -30
- package/docs/install/updating.md +50 -49
- package/docs/logging.md +82 -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 +57 -57
- 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 +25 -25
- package/docs/platforms/fly.md +149 -24
- package/docs/platforms/gcp.md +498 -0
- package/docs/platforms/hetzner.md +42 -42
- 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 +16 -16
- 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 +80 -64
- package/docs/plugins/agent-tools.md +1 -1
- package/docs/plugins/manifest.md +4 -4
- package/docs/plugins/voice-call.md +96 -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 +9 -7
- 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 +29 -29
- 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/IDENTITY.md +27 -0
- package/docs/reference/templates/TOOLS.dev.md +1 -1
- package/docs/reference/templates/USER.dev.md +2 -2
- package/docs/reference/templates/USER.md +22 -0
- 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/clawd.md +29 -29
- 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/setup.md +30 -17
- package/docs/start/showcase.md +32 -32
- package/docs/start/wizard.md +29 -26
- package/docs/testing.md +56 -56
- 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 +136 -242
- package/docs/tools/chrome-extension.md +31 -48
- package/docs/tools/clawdhub.md +7 -7
- package/docs/tools/creating-skills.md +41 -0
- 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/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 +15 -14
- package/docs/web/dashboard.md +10 -6
- package/docs/web/index.md +7 -6
- 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 +71 -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.test.ts +94 -2
- package/extensions/bluebubbles/src/send.ts +73 -7
- package/extensions/copilot-proxy/README.md +3 -3
- 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 +3 -3
- 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 +17 -6
- package/extensions/google-gemini-cli-auth/index.ts +3 -3
- package/extensions/google-gemini-cli-auth/oauth.test.ts +228 -0
- package/extensions/google-gemini-cli-auth/oauth.ts +96 -12
- package/extensions/google-gemini-cli-auth/package.json +4 -4
- package/extensions/googlechat/index.ts +4 -4
- 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 +5 -8
- package/extensions/imessage/src/runtime.ts +1 -1
- package/extensions/line/clawdbot.plugin.json +11 -0
- package/extensions/line/index.ts +20 -0
- package/extensions/line/package.json +29 -0
- package/extensions/line/src/card-command.ts +338 -0
- package/extensions/line/src/channel.logout.test.ts +96 -0
- package/extensions/line/src/channel.sendPayload.test.ts +308 -0
- package/extensions/line/src/channel.ts +773 -0
- package/extensions/line/src/runtime.ts +14 -0
- package/extensions/llm-task/README.md +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/README.md +6 -6
- 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 +2 -2
- package/extensions/matrix/node_modules/.bin/markdown-it.CMD +2 -2
- package/extensions/matrix/node_modules/.bin/markdown-it.ps1 +2 -2
- 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/client.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 +4 -4
- 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 +15 -11
- 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 +41 -5
- package/extensions/matrix/src/matrix/monitor/media.ts +17 -14
- 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 +2 -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 +3 -3
- 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 +2 -2
- package/extensions/mattermost/src/mattermost/accounts.ts +10 -10
- package/extensions/mattermost/src/mattermost/client.ts +1 -1
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +6 -6
- package/extensions/mattermost/src/mattermost/monitor.ts +4 -4
- package/extensions/mattermost/src/mattermost/probe.ts +1 -1
- package/extensions/mattermost/src/onboarding-helpers.ts +5 -5
- package/extensions/mattermost/src/onboarding.ts +5 -5
- 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/package.json +9 -6
- package/extensions/memory-lancedb/{pigbot.plugin.json → clawdbot.plugin.json} +1 -1
- package/extensions/memory-lancedb/config.ts +2 -2
- package/extensions/memory-lancedb/index.test.ts +3 -3
- package/extensions/memory-lancedb/index.ts +4 -4
- package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai.CMD +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai.ps1 +2 -2
- package/extensions/memory-lancedb/package.json +4 -4
- package/extensions/msteams/CHANGELOG.md +7 -7
- package/extensions/msteams/index.ts +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +2 -2
- 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 +5 -5
- package/extensions/nostr/index.ts +6 -6
- 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 +8 -8
- 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/examples/28-automated-pr-review.prose +2 -2
- package/extensions/open-prose/skills/prose/prose.md +4 -4
- package/extensions/qwen-portal-auth/README.md +3 -3
- 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 +3 -3
- 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/clawdbot.plugin.json +9 -0
- package/extensions/twitch/index.ts +20 -0
- package/extensions/twitch/package.json +20 -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 +19 -11
- package/extensions/voice-call/README.md +38 -16
- package/extensions/voice-call/{pigbot.plugin.json → clawdbot.plugin.json} +210 -14
- package/extensions/voice-call/index.ts +32 -12
- package/extensions/voice-call/package.json +4 -4
- 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 +134 -26
- package/extensions/voice-call/src/core-bridge.ts +16 -8
- package/extensions/voice-call/src/manager/context.ts +0 -1
- package/extensions/voice-call/src/manager/events.ts +0 -1
- package/extensions/voice-call/src/manager/lookup.ts +0 -1
- package/extensions/voice-call/src/manager/outbound.ts +4 -3
- package/extensions/voice-call/src/manager/state.ts +0 -1
- package/extensions/voice-call/src/manager/store.ts +0 -1
- package/extensions/voice-call/src/manager/timers.ts +0 -1
- package/extensions/voice-call/src/manager/twiml.ts +0 -1
- package/extensions/voice-call/src/manager.test.ts +2 -2
- package/extensions/voice-call/src/manager.ts +4 -2
- package/extensions/voice-call/src/media-stream.test.ts +97 -0
- package/extensions/voice-call/src/media-stream.ts +114 -0
- package/extensions/voice-call/src/providers/plivo.test.ts +0 -1
- package/extensions/voice-call/src/providers/stt-openai-realtime.ts +8 -0
- package/extensions/voice-call/src/providers/twilio/webhook.ts +2 -2
- package/extensions/voice-call/src/providers/twilio.ts +44 -26
- package/extensions/voice-call/src/response-generator.ts +1 -1
- package/extensions/voice-call/src/runtime.ts +37 -27
- package/extensions/voice-call/src/telephony-audio.ts +88 -0
- package/extensions/voice-call/src/telephony-tts.ts +95 -0
- 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 +11 -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 +4 -4
- package/extensions/zalo/index.ts +3 -3
- 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 +18 -18
- package/extensions/zalouser/index.ts +3 -3
- package/extensions/zalouser/package.json +6 -6
- package/extensions/zalouser/src/accounts.ts +10 -10
- package/extensions/zalouser/src/channel.test.ts +0 -1
- 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/package.json +34 -22
- package/scripts/postinstall.js +1 -1
- 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/clawdhub/SKILL.md +2 -2
- 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 +2 -2
- 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/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 +178 -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 +8 -8
- package/skills/tmux/scripts/find-sessions.sh +2 -2
- 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--6ilUi7V.css +0 -1
- package/dist/control-ui/assets/index-DrGg77je.js +0 -3111
- package/dist/control-ui/assets/index-DrGg77je.js.map +0 -1
- package/extensions/diagnostics-otel/node_modules/.bin/acorn +0 -21
- package/extensions/diagnostics-otel/node_modules/.bin/acorn.CMD +0 -12
- package/extensions/diagnostics-otel/node_modules/.bin/acorn.ps1 +0 -41
- package/extensions/googlechat/node_modules/.bin/pigbot +0 -21
- package/extensions/googlechat/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/googlechat/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/matrix/node_modules/.bin/pigbot +0 -21
- package/extensions/matrix/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/matrix/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/memory-core/node_modules/.bin/pigbot +0 -21
- package/extensions/memory-core/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/memory-core/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +0 -21
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv.CMD +0 -12
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv.ps1 +0 -41
- package/extensions/msteams/node_modules/.bin/pigbot +0 -21
- package/extensions/msteams/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/msteams/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/nostr/node_modules/.bin/pigbot +0 -21
- package/extensions/nostr/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/nostr/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/nostr/node_modules/.bin/tsc +0 -21
- package/extensions/nostr/node_modules/.bin/tsc.CMD +0 -12
- package/extensions/nostr/node_modules/.bin/tsc.ps1 +0 -41
- package/extensions/nostr/node_modules/.bin/tsserver +0 -21
- package/extensions/nostr/node_modules/.bin/tsserver.CMD +0 -12
- package/extensions/nostr/node_modules/.bin/tsserver.ps1 +0 -41
- package/extensions/zalo/node_modules/.bin/pigbot +0 -21
- package/extensions/zalo/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/zalo/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/zalouser/node_modules/.bin/pigbot +0 -21
- package/extensions/zalouser/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/zalouser/node_modules/.bin/pigbot.ps1 +0 -41
- /package/dist/{config/types.pigbot.js → browser/routes/types.js} +0 -0
- /package/extensions/bluebubbles/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/copilot-proxy/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/diagnostics-otel/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/discord/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/google-antigravity-auth/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/google-gemini-cli-auth/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/googlechat/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/imessage/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/llm-task/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/lobster/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/matrix/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/mattermost/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/memory-core/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/msteams/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/nextcloud-talk/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/nostr/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/open-prose/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/qwen-portal-auth/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/signal/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/slack/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/telegram/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/tlon/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/whatsapp/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/zalo/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/zalouser/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
package/docs/channels/signal.md
CHANGED
|
@@ -13,8 +13,8 @@ Status: external CLI integration. Gateway talks to `signal-cli` over HTTP JSON-R
|
|
|
13
13
|
1) Use a **separate Signal number** for the bot (recommended).
|
|
14
14
|
2) Install `signal-cli` (Java required).
|
|
15
15
|
3) Link the bot device and start the daemon:
|
|
16
|
-
- `signal-cli link -n "
|
|
17
|
-
4) Configure
|
|
16
|
+
- `signal-cli link -n "Moltbot"`
|
|
17
|
+
4) Configure Moltbot and start the gateway.
|
|
18
18
|
|
|
19
19
|
Minimal config:
|
|
20
20
|
```json5
|
|
@@ -54,7 +54,7 @@ Disable with:
|
|
|
54
54
|
## Setup (fast path)
|
|
55
55
|
1) Install `signal-cli` (Java required).
|
|
56
56
|
2) Link a bot account:
|
|
57
|
-
- `signal-cli link -n "
|
|
57
|
+
- `signal-cli link -n "Moltbot"` then scan the QR in Signal.
|
|
58
58
|
3) Configure Signal and start the gateway.
|
|
59
59
|
|
|
60
60
|
Example:
|
|
@@ -75,7 +75,7 @@ Example:
|
|
|
75
75
|
Multi-account support: use `channels.signal.accounts` with per-account config and optional `name`. See [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) for the shared pattern.
|
|
76
76
|
|
|
77
77
|
## External daemon mode (httpUrl)
|
|
78
|
-
If you want to manage `signal-cli` yourself (slow JVM cold starts, container init, or shared CPUs), run the daemon separately and point
|
|
78
|
+
If you want to manage `signal-cli` yourself (slow JVM cold starts, container init, or shared CPUs), run the daemon separately and point Moltbot at it:
|
|
79
79
|
|
|
80
80
|
```json5
|
|
81
81
|
{
|
|
@@ -88,15 +88,15 @@ If you want to manage `signal-cli` yourself (slow JVM cold starts, container ini
|
|
|
88
88
|
}
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
-
This skips auto-spawn and the startup wait inside
|
|
91
|
+
This skips auto-spawn and the startup wait inside Moltbot. For slow starts when auto-spawning, set `channels.signal.startupTimeoutMs`.
|
|
92
92
|
|
|
93
93
|
## Access control (DMs + groups)
|
|
94
94
|
DMs:
|
|
95
95
|
- Default: `channels.signal.dmPolicy = "pairing"`.
|
|
96
96
|
- Unknown senders receive a pairing code; messages are ignored until approved (codes expire after 1 hour).
|
|
97
97
|
- Approve via:
|
|
98
|
-
- `
|
|
99
|
-
- `
|
|
98
|
+
- `moltbot pairing list signal`
|
|
99
|
+
- `moltbot pairing approve signal <CODE>`
|
|
100
100
|
- Pairing is the default token exchange for Signal DMs. Details: [Pairing](/start/pairing)
|
|
101
101
|
- UUID-only senders (from `sourceUuid`) are stored as `uuid:<id>` in `channels.signal.allowFrom`.
|
|
102
102
|
|
|
@@ -111,15 +111,15 @@ Groups:
|
|
|
111
111
|
|
|
112
112
|
## Media + limits
|
|
113
113
|
- Outbound text is chunked to `channels.signal.textChunkLimit` (default 4000).
|
|
114
|
-
- Optional newline chunking: set `channels.signal.chunkMode="newline"` to split on
|
|
114
|
+
- Optional newline chunking: set `channels.signal.chunkMode="newline"` to split on blank lines (paragraph boundaries) before length chunking.
|
|
115
115
|
- Attachments supported (base64 fetched from `signal-cli`).
|
|
116
116
|
- Default media cap: `channels.signal.mediaMaxMb` (default 8).
|
|
117
117
|
- Use `channels.signal.ignoreAttachments` to skip downloading media.
|
|
118
118
|
- Group history context uses `channels.signal.historyLimit` (or `channels.signal.accounts.*.historyLimit`), falling back to `messages.groupChat.historyLimit`. Set `0` to disable (default 50).
|
|
119
119
|
|
|
120
120
|
## Typing + read receipts
|
|
121
|
-
- **Typing indicators**:
|
|
122
|
-
- **Read receipts**: when `channels.signal.sendReadReceipts` is true,
|
|
121
|
+
- **Typing indicators**: Moltbot sends typing signals via `signal-cli sendTyping` and refreshes them while a reply is running.
|
|
122
|
+
- **Read receipts**: when `channels.signal.sendReadReceipts` is true, Moltbot forwards read receipts for allowed DMs.
|
|
123
123
|
- Signal-cli does not expose read receipts for groups.
|
|
124
124
|
|
|
125
125
|
## Reactions (message tool)
|
|
@@ -170,7 +170,7 @@ Provider options:
|
|
|
170
170
|
- `channels.signal.historyLimit`: max group messages to include as context (0 disables).
|
|
171
171
|
- `channels.signal.dmHistoryLimit`: DM history limit in user turns. Per-user overrides: `channels.signal.dms["<phone_or_uuid>"].historyLimit`.
|
|
172
172
|
- `channels.signal.textChunkLimit`: outbound chunk size (chars).
|
|
173
|
-
- `channels.signal.chunkMode`: `length` (default) or `newline` to split on
|
|
173
|
+
- `channels.signal.chunkMode`: `length` (default) or `newline` to split on blank lines (paragraph boundaries) before length chunking.
|
|
174
174
|
- `channels.signal.mediaMaxMb`: inbound/outbound media cap (MB).
|
|
175
175
|
|
|
176
176
|
Related global options:
|
package/docs/channels/slack.md
CHANGED
|
@@ -10,7 +10,7 @@ read_when: "Setting up Slack or debugging Slack socket/HTTP mode"
|
|
|
10
10
|
### Quick setup (beginner)
|
|
11
11
|
1) Create a Slack app and enable **Socket Mode**.
|
|
12
12
|
2) Create an **App Token** (`xapp-...`) and **Bot Token** (`xoxb-...`).
|
|
13
|
-
3) Set tokens for
|
|
13
|
+
3) Set tokens for Moltbot and start the gateway.
|
|
14
14
|
|
|
15
15
|
Minimal config:
|
|
16
16
|
```json5
|
|
@@ -26,7 +26,7 @@ Minimal config:
|
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
### Setup
|
|
29
|
-
1) Create a Slack app (From scratch) in https://api.
|
|
29
|
+
1) Create a Slack app (From scratch) in https://api.slack.com/apps.
|
|
30
30
|
2) **Socket Mode** → toggle on. Then go to **Basic Information** → **App-Level Tokens** → **Generate Token and Scopes** with scope `connections:write`. Copy the **App Token** (`xapp-...`).
|
|
31
31
|
3) **OAuth & Permissions** → add bot token scopes (use the manifest below). Click **Install to Workspace**. Copy the **Bot User OAuth Token** (`xoxb-...`).
|
|
32
32
|
4) Optional: **OAuth & Permissions** → add **User Token Scopes** (see the read-only list below). Reinstall the app and copy the **User OAuth Token** (`xoxp-...`).
|
|
@@ -45,7 +45,7 @@ Use the manifest below so scopes and events stay in sync.
|
|
|
45
45
|
|
|
46
46
|
Multi-account support: use `channels.slack.accounts` with per-account tokens and optional `name`. See [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) for the shared pattern.
|
|
47
47
|
|
|
48
|
-
###
|
|
48
|
+
### Moltbot config (minimal)
|
|
49
49
|
|
|
50
50
|
Set tokens via env vars (recommended):
|
|
51
51
|
- `SLACK_APP_TOKEN=xapp-...`
|
|
@@ -66,7 +66,7 @@ Or via config:
|
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
### User token (optional)
|
|
69
|
-
|
|
69
|
+
Moltbot can use a Slack user token (`xoxp-...`) for read operations (history,
|
|
70
70
|
pins, reactions, emoji, member info). By default this stays read-only: reads
|
|
71
71
|
prefer the user token when present, and writes still use the bot token unless
|
|
72
72
|
you explicitly opt in. Even with `userTokenReadOnly: false`, the bot token stays
|
|
@@ -109,7 +109,7 @@ Example with userTokenReadOnly explicitly set (allow user token writes):
|
|
|
109
109
|
search) prefer the user token when configured, otherwise the bot token.
|
|
110
110
|
- Write operations (send/edit/delete messages, add/remove reactions, pin/unpin,
|
|
111
111
|
file uploads) use the bot token by default. If `userTokenReadOnly: false` and
|
|
112
|
-
no bot token is available,
|
|
112
|
+
no bot token is available, Moltbot falls back to the user token.
|
|
113
113
|
|
|
114
114
|
### History context
|
|
115
115
|
- `channels.slack.historyLimit` (or `channels.slack.accounts.*.historyLimit`) controls how many recent channel/group messages are wrapped into the prompt.
|
|
@@ -130,7 +130,7 @@ HTTP mode uses the Events API + Interactivity + Slash Commands with a shared req
|
|
|
130
130
|
Example request URL:
|
|
131
131
|
`https://gateway-host/slack/events`
|
|
132
132
|
|
|
133
|
-
###
|
|
133
|
+
### Moltbot config (minimal)
|
|
134
134
|
```json5
|
|
135
135
|
{
|
|
136
136
|
channels: {
|
|
@@ -155,12 +155,12 @@ user scopes if you plan to configure a user token.
|
|
|
155
155
|
```json
|
|
156
156
|
{
|
|
157
157
|
"display_information": {
|
|
158
|
-
"name": "
|
|
159
|
-
"description": "Slack connector for
|
|
158
|
+
"name": "Moltbot",
|
|
159
|
+
"description": "Slack connector for Moltbot"
|
|
160
160
|
},
|
|
161
161
|
"features": {
|
|
162
162
|
"bot_user": {
|
|
163
|
-
"display_name": "
|
|
163
|
+
"display_name": "Moltbot",
|
|
164
164
|
"always_online": false
|
|
165
165
|
},
|
|
166
166
|
"app_home": {
|
|
@@ -170,7 +170,7 @@ user scopes if you plan to configure a user token.
|
|
|
170
170
|
"slash_commands": [
|
|
171
171
|
{
|
|
172
172
|
"command": "/clawd",
|
|
173
|
-
"description": "Send a message to
|
|
173
|
+
"description": "Send a message to Moltbot",
|
|
174
174
|
"should_escape": false
|
|
175
175
|
}
|
|
176
176
|
]
|
|
@@ -245,29 +245,29 @@ If you enable native commands, add one `slash_commands` entry per command you wa
|
|
|
245
245
|
## Scopes (current vs optional)
|
|
246
246
|
Slack's Conversations API is type-scoped: you only need the scopes for the
|
|
247
247
|
conversation types you actually touch (channels, groups, im, mpim). See
|
|
248
|
-
https://
|
|
248
|
+
https://docs.slack.dev/apis/web-api/using-the-conversations-api/ for the overview.
|
|
249
249
|
|
|
250
250
|
### Bot token scopes (required)
|
|
251
251
|
- `chat:write` (send/update/delete messages via `chat.postMessage`)
|
|
252
|
-
https://
|
|
252
|
+
https://docs.slack.dev/reference/methods/chat.postMessage
|
|
253
253
|
- `im:write` (open DMs via `conversations.open` for user DMs)
|
|
254
|
-
https://
|
|
254
|
+
https://docs.slack.dev/reference/methods/conversations.open
|
|
255
255
|
- `channels:history`, `groups:history`, `im:history`, `mpim:history`
|
|
256
|
-
https://
|
|
256
|
+
https://docs.slack.dev/reference/methods/conversations.history
|
|
257
257
|
- `channels:read`, `groups:read`, `im:read`, `mpim:read`
|
|
258
|
-
https://
|
|
258
|
+
https://docs.slack.dev/reference/methods/conversations.info
|
|
259
259
|
- `users:read` (user lookup)
|
|
260
|
-
https://
|
|
260
|
+
https://docs.slack.dev/reference/methods/users.info
|
|
261
261
|
- `reactions:read`, `reactions:write` (`reactions.get` / `reactions.add`)
|
|
262
|
-
https://
|
|
263
|
-
https://
|
|
262
|
+
https://docs.slack.dev/reference/methods/reactions.get
|
|
263
|
+
https://docs.slack.dev/reference/methods/reactions.add
|
|
264
264
|
- `pins:read`, `pins:write` (`pins.list` / `pins.add` / `pins.remove`)
|
|
265
|
-
https://
|
|
266
|
-
https://
|
|
265
|
+
https://docs.slack.dev/reference/scopes/pins.read
|
|
266
|
+
https://docs.slack.dev/reference/scopes/pins.write
|
|
267
267
|
- `emoji:read` (`emoji.list`)
|
|
268
|
-
https://
|
|
268
|
+
https://docs.slack.dev/reference/scopes/emoji.read
|
|
269
269
|
- `files:write` (uploads via `files.uploadV2`)
|
|
270
|
-
https://
|
|
270
|
+
https://docs.slack.dev/messaging/working-with-files/#upload
|
|
271
271
|
|
|
272
272
|
### User token scopes (optional, read-only by default)
|
|
273
273
|
Add these under **User Token Scopes** if you configure `channels.slack.userToken`.
|
|
@@ -284,9 +284,9 @@ Add these under **User Token Scopes** if you configure `channels.slack.userToken
|
|
|
284
284
|
- `mpim:write` (only if we add group-DM open/DM start via `conversations.open`)
|
|
285
285
|
- `groups:write` (only if we add private-channel management: create/rename/invite/archive)
|
|
286
286
|
- `chat:write.public` (only if we want to post to channels the bot isn't in)
|
|
287
|
-
https://
|
|
287
|
+
https://docs.slack.dev/reference/scopes/chat.write.public
|
|
288
288
|
- `users:read.email` (only if we need email fields from `users.info`)
|
|
289
|
-
https://
|
|
289
|
+
https://docs.slack.dev/changelog/2017-04-narrowing-email-access
|
|
290
290
|
- `files:read` (only if we start listing/reading file metadata)
|
|
291
291
|
|
|
292
292
|
## Config
|
|
@@ -349,11 +349,11 @@ ack reaction after the bot replies.
|
|
|
349
349
|
|
|
350
350
|
## Limits
|
|
351
351
|
- Outbound text is chunked to `channels.slack.textChunkLimit` (default 4000).
|
|
352
|
-
- Optional newline chunking: set `channels.slack.chunkMode="newline"` to split on
|
|
352
|
+
- Optional newline chunking: set `channels.slack.chunkMode="newline"` to split on blank lines (paragraph boundaries) before length chunking.
|
|
353
353
|
- Media uploads are capped by `channels.slack.mediaMaxMb` (default 20).
|
|
354
354
|
|
|
355
355
|
## Reply threading
|
|
356
|
-
By default,
|
|
356
|
+
By default, Moltbot replies in the main channel. Use `channels.slack.replyToMode` to control automatic threading:
|
|
357
357
|
|
|
358
358
|
| Mode | Behavior |
|
|
359
359
|
| --- | --- |
|
|
@@ -439,13 +439,13 @@ For fine-grained control, use these tags in agent responses:
|
|
|
439
439
|
- DMs share the `main` session (like WhatsApp/Telegram).
|
|
440
440
|
- Channels map to `agent:<agentId>:slack:channel:<channelId>` sessions.
|
|
441
441
|
- Slash commands use `agent:<agentId>:slack:slash:<userId>` sessions (prefix configurable via `channels.slack.slashCommand.sessionPrefix`).
|
|
442
|
-
- If Slack doesn’t provide `channel_type`,
|
|
442
|
+
- If Slack doesn’t provide `channel_type`, Moltbot infers it from the channel ID prefix (`D`, `C`, `G`) and defaults to `channel` to keep session keys stable.
|
|
443
443
|
- Native command registration uses `commands.native` (global default `"auto"` → Slack off) and can be overridden per-workspace with `channels.slack.commands.native`. Text commands require standalone `/...` messages and can be disabled with `commands.text: false`. Slack slash commands are managed in the Slack app and are not removed automatically. Use `commands.useAccessGroups: false` to bypass access-group checks for commands.
|
|
444
444
|
- Full command list + config: [Slash commands](/tools/slash-commands)
|
|
445
445
|
|
|
446
446
|
## DM security (pairing)
|
|
447
447
|
- Default: `channels.slack.dm.policy="pairing"` — unknown DM senders get a pairing code (expires after 1 hour).
|
|
448
|
-
- Approve via: `
|
|
448
|
+
- Approve via: `moltbot pairing approve slack <code>`.
|
|
449
449
|
- To allow anyone: set `channels.slack.dm.policy="open"` and `channels.slack.dm.allowFrom=["*"]`.
|
|
450
450
|
- `channels.slack.dm.allowFrom` accepts user IDs, @handles, or emails (resolved at startup when tokens allow). The wizard accepts usernames and resolves them to ids during setup when tokens allow.
|
|
451
451
|
|
|
@@ -457,13 +457,15 @@ For fine-grained control, use these tags in agent responses:
|
|
|
457
457
|
`channels.defaults.groupPolicy`, or a channel allowlist to lock it down.
|
|
458
458
|
- The configure wizard accepts `#channel` names and resolves them to IDs when possible
|
|
459
459
|
(public + private); if multiple matches exist, it prefers the active channel.
|
|
460
|
-
- On startup,
|
|
460
|
+
- On startup, Moltbot resolves channel/user names in allowlists to IDs (when tokens allow)
|
|
461
461
|
and logs the mapping; unresolved entries are kept as typed.
|
|
462
462
|
- To allow **no channels**, set `channels.slack.groupPolicy: "disabled"` (or keep an empty allowlist).
|
|
463
463
|
|
|
464
464
|
Channel options (`channels.slack.channels.<id>` or `channels.slack.channels.<name>`):
|
|
465
465
|
- `allow`: allow/deny the channel when `groupPolicy="allowlist"`.
|
|
466
466
|
- `requireMention`: mention gating for the channel.
|
|
467
|
+
- `tools`: optional per-channel tool policy overrides (`allow`/`deny`/`alsoAllow`).
|
|
468
|
+
- `toolsBySender`: optional per-sender tool policy overrides within the channel (keys are sender ids/@handles/emails; `"*"` wildcard supported).
|
|
467
469
|
- `allowBots`: allow bot-authored messages in this channel (default: false).
|
|
468
470
|
- `users`: optional per-channel user allowlist.
|
|
469
471
|
- `skills`: skill filter (omit = all skills, empty = none).
|
|
@@ -101,10 +101,10 @@ group messages, so use admin if you need full visibility.
|
|
|
101
101
|
- Outbound Telegram text uses `parse_mode: "HTML"` (Telegram’s supported tag subset).
|
|
102
102
|
- Markdown-ish input is rendered into **Telegram-safe HTML** (bold/italic/strike/code/links); block elements are flattened to text with newlines/bullets.
|
|
103
103
|
- Raw HTML from models is escaped to avoid Telegram parse errors.
|
|
104
|
-
- If Telegram rejects the HTML payload,
|
|
104
|
+
- If Telegram rejects the HTML payload, Moltbot retries the same message as plain text.
|
|
105
105
|
|
|
106
106
|
## Commands (native + custom)
|
|
107
|
-
|
|
107
|
+
Moltbot registers native commands (like `/status`, `/reset`, `/model`) with Telegram’s bot menu on startup.
|
|
108
108
|
You can add custom commands to the menu via config:
|
|
109
109
|
|
|
110
110
|
```json5
|
|
@@ -128,14 +128,14 @@ You can add custom commands to the menu via config:
|
|
|
128
128
|
More help: [Channel troubleshooting](/channels/troubleshooting).
|
|
129
129
|
|
|
130
130
|
Notes:
|
|
131
|
-
- Custom commands are **menu entries only**;
|
|
131
|
+
- Custom commands are **menu entries only**; Moltbot does not implement them unless you handle them elsewhere.
|
|
132
132
|
- Command names are normalized (leading `/` stripped, lowercased) and must match `a-z`, `0-9`, `_` (1–32 chars).
|
|
133
133
|
- Custom commands **cannot override native commands**. Conflicts are ignored and logged.
|
|
134
134
|
- If `commands.native` is disabled, only custom commands are registered (or cleared if none).
|
|
135
135
|
|
|
136
136
|
## Limits
|
|
137
137
|
- Outbound text is chunked to `channels.telegram.textChunkLimit` (default 4000).
|
|
138
|
-
- Optional newline chunking: set `channels.telegram.chunkMode="newline"` to split on
|
|
138
|
+
- Optional newline chunking: set `channels.telegram.chunkMode="newline"` to split on blank lines (paragraph boundaries) before length chunking.
|
|
139
139
|
- Media downloads/uploads are capped by `channels.telegram.mediaMaxMb` (default 5).
|
|
140
140
|
- Telegram Bot API requests time out after `channels.telegram.timeoutSeconds` (default 500 via grammY). Set lower to avoid long hangs.
|
|
141
141
|
- Group history context uses `channels.telegram.historyLimit` (or `channels.telegram.accounts.*.historyLimit`), falling back to `messages.groupChat.historyLimit`. Set `0` to disable (default 50).
|
|
@@ -202,13 +202,13 @@ Forward any message from the group to `@userinfobot` or `@getidsbot` on Telegram
|
|
|
202
202
|
|
|
203
203
|
**Tip:** For your own user ID, DM the bot and it will reply with your user ID (pairing message), or use `/whoami` once commands are enabled.
|
|
204
204
|
|
|
205
|
-
**Privacy note:** `@userinfobot` is a third-party bot. If you prefer, add the bot to the group, send a message, and use `
|
|
205
|
+
**Privacy note:** `@userinfobot` is a third-party bot. If you prefer, add the bot to the group, send a message, and use `moltbot logs --follow` to read `chat.id`, or use the Bot API `getUpdates`.
|
|
206
206
|
|
|
207
207
|
## Config writes
|
|
208
208
|
By default, Telegram is allowed to write config updates triggered by channel events or `/config set|unset`.
|
|
209
209
|
|
|
210
210
|
This happens when:
|
|
211
|
-
- A group is upgraded to a supergroup and Telegram emits `migrate_to_chat_id` (chat ID changes).
|
|
211
|
+
- A group is upgraded to a supergroup and Telegram emits `migrate_to_chat_id` (chat ID changes). Moltbot can migrate `channels.telegram.groups` automatically.
|
|
212
212
|
- You run `/config set` or `/config unset` in a Telegram chat (requires `commands.config: true`).
|
|
213
213
|
|
|
214
214
|
Disable with:
|
|
@@ -219,7 +219,7 @@ Disable with:
|
|
|
219
219
|
```
|
|
220
220
|
|
|
221
221
|
## Topics (forum supergroups)
|
|
222
|
-
Telegram forum topics include a `message_thread_id` per message.
|
|
222
|
+
Telegram forum topics include a `message_thread_id` per message. Moltbot:
|
|
223
223
|
- Appends `:topic:<threadId>` to the Telegram group session key so each topic is isolated.
|
|
224
224
|
- Sends typing indicators and replies with `message_thread_id` so responses stay in the topic.
|
|
225
225
|
- General topic (thread id `1`) is special: message sends omit `message_thread_id` (Telegram rejects it), but typing indicators still include it.
|
|
@@ -227,7 +227,7 @@ Telegram forum topics include a `message_thread_id` per message. Pigbot:
|
|
|
227
227
|
- Topic-specific configuration is available under `channels.telegram.groups.<chatId>.topics.<threadId>` (skills, allowlists, auto-reply, system prompts, disable).
|
|
228
228
|
- Topic configs inherit group settings (requireMention, allowlists, skills, prompts, enabled) unless overridden per topic.
|
|
229
229
|
|
|
230
|
-
Private chats can include `message_thread_id` in some edge cases.
|
|
230
|
+
Private chats can include `message_thread_id` in some edge cases. Moltbot keeps the DM session key unchanged, but still uses the thread id for replies/draft streaming when it is present.
|
|
231
231
|
|
|
232
232
|
## Inline Buttons
|
|
233
233
|
|
|
@@ -310,15 +310,15 @@ Use the global setting when all Telegram bots/accounts should behave the same. U
|
|
|
310
310
|
### DM access
|
|
311
311
|
- Default: `channels.telegram.dmPolicy = "pairing"`. Unknown senders receive a pairing code; messages are ignored until approved (codes expire after 1 hour).
|
|
312
312
|
- Approve via:
|
|
313
|
-
- `
|
|
314
|
-
- `
|
|
313
|
+
- `moltbot pairing list telegram`
|
|
314
|
+
- `moltbot pairing approve telegram <CODE>`
|
|
315
315
|
- Pairing is the default token exchange used for Telegram DMs. Details: [Pairing](/start/pairing)
|
|
316
316
|
- `channels.telegram.allowFrom` accepts numeric user IDs (recommended) or `@username` entries. It is **not** the bot username; use the human sender’s ID. The wizard accepts `@username` and resolves it to the numeric ID when possible.
|
|
317
317
|
|
|
318
318
|
#### Finding your Telegram user ID
|
|
319
319
|
Safer (no third-party bot):
|
|
320
320
|
1) Start the gateway and DM your bot.
|
|
321
|
-
2) Run `
|
|
321
|
+
2) Run `moltbot logs --follow` and look for `from.id`.
|
|
322
322
|
|
|
323
323
|
Alternate (official Bot API):
|
|
324
324
|
1) DM your bot.
|
|
@@ -363,7 +363,7 @@ Controlled by `channels.telegram.replyToMode`:
|
|
|
363
363
|
|
|
364
364
|
## Audio messages (voice vs file)
|
|
365
365
|
Telegram distinguishes **voice notes** (round bubble) from **audio files** (metadata card).
|
|
366
|
-
|
|
366
|
+
Moltbot defaults to audio files for backward compatibility.
|
|
367
367
|
|
|
368
368
|
To force a voice note bubble in agent replies, include this tag anywhere in the reply:
|
|
369
369
|
- `[[audio_as_voice]]` — send audio as a voice note instead of a file.
|
|
@@ -383,9 +383,136 @@ For message tool sends, set `asVoice: true` with a voice-compatible audio `media
|
|
|
383
383
|
}
|
|
384
384
|
```
|
|
385
385
|
|
|
386
|
+
## Stickers
|
|
387
|
+
|
|
388
|
+
Moltbot supports receiving and sending Telegram stickers with intelligent caching.
|
|
389
|
+
|
|
390
|
+
### Receiving stickers
|
|
391
|
+
|
|
392
|
+
When a user sends a sticker, Moltbot handles it based on the sticker type:
|
|
393
|
+
|
|
394
|
+
- **Static stickers (WEBP):** Downloaded and processed through vision. The sticker appears as a `<media:sticker>` placeholder in the message content.
|
|
395
|
+
- **Animated stickers (TGS):** Skipped (Lottie format not supported for processing).
|
|
396
|
+
- **Video stickers (WEBM):** Skipped (video format not supported for processing).
|
|
397
|
+
|
|
398
|
+
Template context field available when receiving stickers:
|
|
399
|
+
- `Sticker` — object with:
|
|
400
|
+
- `emoji` — emoji associated with the sticker
|
|
401
|
+
- `setName` — name of the sticker set
|
|
402
|
+
- `fileId` — Telegram file ID (send the same sticker back)
|
|
403
|
+
- `fileUniqueId` — stable ID for cache lookup
|
|
404
|
+
- `cachedDescription` — cached vision description when available
|
|
405
|
+
|
|
406
|
+
### Sticker cache
|
|
407
|
+
|
|
408
|
+
Stickers are processed through the AI's vision capabilities to generate descriptions. Since the same stickers are often sent repeatedly, Moltbot caches these descriptions to avoid redundant API calls.
|
|
409
|
+
|
|
410
|
+
**How it works:**
|
|
411
|
+
|
|
412
|
+
1. **First encounter:** The sticker image is sent to the AI for vision analysis. The AI generates a description (e.g., "A cartoon cat waving enthusiastically").
|
|
413
|
+
2. **Cache storage:** The description is saved along with the sticker's file ID, emoji, and set name.
|
|
414
|
+
3. **Subsequent encounters:** When the same sticker is seen again, the cached description is used directly. The image is not sent to the AI.
|
|
415
|
+
|
|
416
|
+
**Cache location:** `~/.clawdbot/telegram/sticker-cache.json`
|
|
417
|
+
|
|
418
|
+
**Cache entry format:**
|
|
419
|
+
```json
|
|
420
|
+
{
|
|
421
|
+
"fileId": "CAACAgIAAxkBAAI...",
|
|
422
|
+
"fileUniqueId": "AgADBAADb6cxG2Y",
|
|
423
|
+
"emoji": "👋",
|
|
424
|
+
"setName": "CoolCats",
|
|
425
|
+
"description": "A cartoon cat waving enthusiastically",
|
|
426
|
+
"cachedAt": "2026-01-15T10:30:00.000Z"
|
|
427
|
+
}
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
**Benefits:**
|
|
431
|
+
- Reduces API costs by avoiding repeated vision calls for the same sticker
|
|
432
|
+
- Faster response times for cached stickers (no vision processing delay)
|
|
433
|
+
- Enables sticker search functionality based on cached descriptions
|
|
434
|
+
|
|
435
|
+
The cache is populated automatically as stickers are received. There is no manual cache management required.
|
|
436
|
+
|
|
437
|
+
### Sending stickers
|
|
438
|
+
|
|
439
|
+
The agent can send and search stickers using the `sticker` and `sticker-search` actions. These are disabled by default and must be enabled in config:
|
|
440
|
+
|
|
441
|
+
```json5
|
|
442
|
+
{
|
|
443
|
+
channels: {
|
|
444
|
+
telegram: {
|
|
445
|
+
actions: {
|
|
446
|
+
sticker: true
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
**Send a sticker:**
|
|
454
|
+
|
|
455
|
+
```json5
|
|
456
|
+
{
|
|
457
|
+
"action": "sticker",
|
|
458
|
+
"channel": "telegram",
|
|
459
|
+
"to": "123456789",
|
|
460
|
+
"fileId": "CAACAgIAAxkBAAI..."
|
|
461
|
+
}
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
Parameters:
|
|
465
|
+
- `fileId` (required) — the Telegram file ID of the sticker. Obtain this from `Sticker.fileId` when receiving a sticker, or from a `sticker-search` result.
|
|
466
|
+
- `replyTo` (optional) — message ID to reply to.
|
|
467
|
+
- `threadId` (optional) — message thread ID for forum topics.
|
|
468
|
+
|
|
469
|
+
**Search for stickers:**
|
|
470
|
+
|
|
471
|
+
The agent can search cached stickers by description, emoji, or set name:
|
|
472
|
+
|
|
473
|
+
```json5
|
|
474
|
+
{
|
|
475
|
+
"action": "sticker-search",
|
|
476
|
+
"channel": "telegram",
|
|
477
|
+
"query": "cat waving",
|
|
478
|
+
"limit": 5
|
|
479
|
+
}
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
Returns matching stickers from the cache:
|
|
483
|
+
```json5
|
|
484
|
+
{
|
|
485
|
+
"ok": true,
|
|
486
|
+
"count": 2,
|
|
487
|
+
"stickers": [
|
|
488
|
+
{
|
|
489
|
+
"fileId": "CAACAgIAAxkBAAI...",
|
|
490
|
+
"emoji": "👋",
|
|
491
|
+
"description": "A cartoon cat waving enthusiastically",
|
|
492
|
+
"setName": "CoolCats"
|
|
493
|
+
}
|
|
494
|
+
]
|
|
495
|
+
}
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
The search uses fuzzy matching across description text, emoji characters, and set names.
|
|
499
|
+
|
|
500
|
+
**Example with threading:**
|
|
501
|
+
|
|
502
|
+
```json5
|
|
503
|
+
{
|
|
504
|
+
"action": "sticker",
|
|
505
|
+
"channel": "telegram",
|
|
506
|
+
"to": "-1001234567890",
|
|
507
|
+
"fileId": "CAACAgIAAxkBAAI...",
|
|
508
|
+
"replyTo": 42,
|
|
509
|
+
"threadId": 123
|
|
510
|
+
}
|
|
511
|
+
```
|
|
512
|
+
|
|
386
513
|
## Streaming (drafts)
|
|
387
514
|
Telegram can stream **draft bubbles** while the agent is generating a response.
|
|
388
|
-
|
|
515
|
+
Moltbot uses Bot API `sendMessageDraft` (not real messages) and then sends the
|
|
389
516
|
final reply as a normal message.
|
|
390
517
|
|
|
391
518
|
Requirements (Telegram Bot API 9.3+):
|
|
@@ -420,12 +547,12 @@ Outbound Telegram API calls retry on transient network/429 errors with exponenti
|
|
|
420
547
|
- Tool: `telegram` with `react` action (`chatId`, `messageId`, `emoji`).
|
|
421
548
|
- Tool: `telegram` with `deleteMessage` action (`chatId`, `messageId`).
|
|
422
549
|
- Reaction removal semantics: see [/tools/reactions](/tools/reactions).
|
|
423
|
-
- Tool gating: `channels.telegram.actions.reactions`, `channels.telegram.actions.sendMessage`, `channels.telegram.actions.deleteMessage` (default: enabled).
|
|
550
|
+
- Tool gating: `channels.telegram.actions.reactions`, `channels.telegram.actions.sendMessage`, `channels.telegram.actions.deleteMessage` (default: enabled), and `channels.telegram.actions.sticker` (default: disabled).
|
|
424
551
|
|
|
425
552
|
## Reaction notifications
|
|
426
553
|
|
|
427
554
|
**How reactions work:**
|
|
428
|
-
Telegram reactions arrive as **separate `message_reaction` events**, not as properties in message payloads. When a user adds a reaction,
|
|
555
|
+
Telegram reactions arrive as **separate `message_reaction` events**, not as properties in message payloads. When a user adds a reaction, Moltbot:
|
|
429
556
|
|
|
430
557
|
1. Receives the `message_reaction` update from Telegram API
|
|
431
558
|
2. Converts it to a **system event** with format: `"Telegram reaction added: {emoji} by {user} on msg {id}"`
|
|
@@ -461,28 +588,28 @@ The agent sees reactions as **system notifications** in the conversation history
|
|
|
461
588
|
```
|
|
462
589
|
|
|
463
590
|
**Requirements:**
|
|
464
|
-
- Telegram bots must explicitly request `message_reaction` in `allowed_updates` (configured automatically by
|
|
591
|
+
- Telegram bots must explicitly request `message_reaction` in `allowed_updates` (configured automatically by Moltbot)
|
|
465
592
|
- For webhook mode, reactions are included in the webhook `allowed_updates`
|
|
466
593
|
- For polling mode, reactions are included in the `getUpdates` `allowed_updates`
|
|
467
594
|
|
|
468
595
|
## Delivery targets (CLI/cron)
|
|
469
596
|
- Use a chat id (`123456789`) or a username (`@name`) as the target.
|
|
470
|
-
- Example: `
|
|
597
|
+
- Example: `moltbot message send --channel telegram --target 123456789 --message "hi"`.
|
|
471
598
|
|
|
472
599
|
## Troubleshooting
|
|
473
600
|
|
|
474
601
|
**Bot doesn’t respond to non-mention messages in a group:**
|
|
475
602
|
- If you set `channels.telegram.groups.*.requireMention=false`, Telegram’s Bot API **privacy mode** must be disabled.
|
|
476
603
|
- BotFather: `/setprivacy` → **Disable** (then remove + re-add the bot to the group)
|
|
477
|
-
- `
|
|
478
|
-
- `
|
|
604
|
+
- `moltbot channels status` shows a warning when config expects unmentioned group messages.
|
|
605
|
+
- `moltbot channels status --probe` can additionally check membership for explicit numeric group IDs (it can’t audit wildcard `"*"` rules).
|
|
479
606
|
- Quick test: `/activation always` (session-only; use config for persistence)
|
|
480
607
|
|
|
481
608
|
**Bot not seeing group messages at all:**
|
|
482
609
|
- If `channels.telegram.groups` is set, the group must be listed or use `"*"`
|
|
483
610
|
- Check Privacy Settings in @BotFather → "Group Privacy" should be **OFF**
|
|
484
611
|
- Verify bot is actually a member (not just an admin with no read access)
|
|
485
|
-
- Check gateway logs: `
|
|
612
|
+
- Check gateway logs: `moltbot logs --follow` (look for "skipping group message")
|
|
486
613
|
|
|
487
614
|
**Bot responds to mentions but not `/activation always`:**
|
|
488
615
|
- The `/activation` command updates session state but doesn't persist to config
|
|
@@ -494,7 +621,7 @@ The agent sees reactions as **system notifications** in the conversation history
|
|
|
494
621
|
|
|
495
622
|
**Long-polling aborts immediately on Node 22+ (often with proxies/custom fetch):**
|
|
496
623
|
- Node 22+ is stricter about `AbortSignal` instances; foreign signals can abort `fetch` calls right away.
|
|
497
|
-
- Upgrade to a
|
|
624
|
+
- Upgrade to a Moltbot build that normalizes abort signals, or run the gateway on Node 20 until you can upgrade.
|
|
498
625
|
|
|
499
626
|
**Bot starts, then silently stops responding (or logs `HttpError: Network request ... failed`):**
|
|
500
627
|
- Some hosts resolve `api.telegram.org` to IPv6 first. If your server does not have working IPv6 egress, grammY can get stuck on IPv6-only requests.
|
|
@@ -524,10 +651,12 @@ Provider options:
|
|
|
524
651
|
- `channels.telegram.accounts.<account>.capabilities.inlineButtons`: per-account override.
|
|
525
652
|
- `channels.telegram.replyToMode`: `off | first | all` (default: `first`).
|
|
526
653
|
- `channels.telegram.textChunkLimit`: outbound chunk size (chars).
|
|
527
|
-
- `channels.telegram.chunkMode`: `length` (default) or `newline` to split on
|
|
654
|
+
- `channels.telegram.chunkMode`: `length` (default) or `newline` to split on blank lines (paragraph boundaries) before length chunking.
|
|
655
|
+
- `channels.telegram.linkPreview`: toggle link previews for outbound messages (default: true).
|
|
528
656
|
- `channels.telegram.streamMode`: `off | partial | block` (draft streaming).
|
|
529
657
|
- `channels.telegram.mediaMaxMb`: inbound/outbound media cap (MB).
|
|
530
658
|
- `channels.telegram.retry`: retry policy for outbound Telegram API calls (attempts, minDelayMs, maxDelayMs, jitter).
|
|
659
|
+
- `channels.telegram.network.autoSelectFamily`: override Node autoSelectFamily (true=enable, false=disable). Defaults to disabled on Node 22 to avoid Happy Eyeballs timeouts.
|
|
531
660
|
- `channels.telegram.proxy`: proxy URL for Bot API calls (SOCKS/HTTP).
|
|
532
661
|
- `channels.telegram.webhookUrl`: enable webhook mode.
|
|
533
662
|
- `channels.telegram.webhookSecret`: webhook secret (optional).
|
|
@@ -535,6 +664,7 @@ Provider options:
|
|
|
535
664
|
- `channels.telegram.actions.reactions`: gate Telegram tool reactions.
|
|
536
665
|
- `channels.telegram.actions.sendMessage`: gate Telegram tool message sends.
|
|
537
666
|
- `channels.telegram.actions.deleteMessage`: gate Telegram tool message deletes.
|
|
667
|
+
- `channels.telegram.actions.sticker`: gate Telegram sticker actions — send and search (default: false).
|
|
538
668
|
- `channels.telegram.reactionNotifications`: `off | own | all` — control which reactions trigger system events (default: `own` when not set).
|
|
539
669
|
- `channels.telegram.reactionLevel`: `off | ack | minimal | extensive` — control agent's reaction capability (default: `minimal` when not set).
|
|
540
670
|
|
package/docs/channels/tlon.md
CHANGED
|
@@ -5,7 +5,7 @@ read_when:
|
|
|
5
5
|
---
|
|
6
6
|
# Tlon (plugin)
|
|
7
7
|
|
|
8
|
-
Tlon is a decentralized messenger built on Urbit.
|
|
8
|
+
Tlon is a decentralized messenger built on Urbit. Moltbot connects to your Urbit ship and can
|
|
9
9
|
respond to DMs and group chat messages. Group replies require an @ mention by default and can
|
|
10
10
|
be further restricted via allowlists.
|
|
11
11
|
|
|
@@ -19,13 +19,13 @@ Tlon ships as a plugin and is not bundled with the core install.
|
|
|
19
19
|
Install via CLI (npm registry):
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
|
|
22
|
+
moltbot plugins install @moltbot/tlon
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
Local checkout (when running from a git repo):
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
|
-
|
|
28
|
+
moltbot plugins install ./extensions/tlon
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
Details: [Plugins](/plugin)
|
|
@@ -121,7 +121,7 @@ Group authorization (restricted by default):
|
|
|
121
121
|
|
|
122
122
|
## Delivery targets (CLI/cron)
|
|
123
123
|
|
|
124
|
-
Use these with `
|
|
124
|
+
Use these with `moltbot message send` or cron delivery:
|
|
125
125
|
|
|
126
126
|
- DM: `~sampel-palnet` or `dm/~sampel-palnet`
|
|
127
127
|
- Group: `chat/~host-ship/channel` or `group:~host-ship/channel`
|
|
@@ -129,5 +129,5 @@ Use these with `pigbot message send` or cron delivery:
|
|
|
129
129
|
## Notes
|
|
130
130
|
|
|
131
131
|
- Group replies require a mention (e.g. `~your-bot-ship`) to respond.
|
|
132
|
-
- Thread replies: if the inbound message is in a thread,
|
|
132
|
+
- Thread replies: if the inbound message is in a thread, Moltbot replies in-thread.
|
|
133
133
|
- Media: `sendMedia` falls back to text + URL (no native upload).
|
|
@@ -9,8 +9,8 @@ read_when:
|
|
|
9
9
|
Start with:
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
moltbot doctor
|
|
13
|
+
moltbot channels status --probe
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
`channels status --probe` prints warnings when it can detect common channel misconfigurations, and includes small live checks (credentials, some permissions/membership).
|