@gguf/pigbot 0.0.1 → 0.0.3
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 +6 -1054
- package/README-header.png +0 -0
- package/README.md +1 -1
- 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 +39 -23
- 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
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "All configuration options for ~/.
|
|
2
|
+
summary: "All configuration options for ~/.clawdbot/moltbot.json with examples"
|
|
3
3
|
read_when:
|
|
4
4
|
- Adding or modifying config fields
|
|
5
5
|
---
|
|
6
6
|
# Configuration 🔧
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Moltbot reads an optional **JSON5** config from `~/.clawdbot/moltbot.json` (comments + trailing commas allowed).
|
|
9
9
|
|
|
10
|
-
If the file is missing,
|
|
10
|
+
If the file is missing, Moltbot uses safe-ish defaults (embedded Pi agent + per-sender sessions + workspace `~/clawd`). You usually only need a config to:
|
|
11
11
|
- restrict who can trigger the bot (`channels.whatsapp.allowFrom`, `channels.telegram.allowFrom`, etc.)
|
|
12
12
|
- control group allowlists + mention behavior (`channels.whatsapp.groups`, `channels.telegram.groups`, `channels.discord.guilds`, `agents.list[].groupChat`)
|
|
13
13
|
- customize message prefixes (`messages`)
|
|
@@ -19,14 +19,14 @@ If the file is missing, Pigbot uses safe-ish defaults (embedded Pi agent + per-s
|
|
|
19
19
|
|
|
20
20
|
## Strict config validation
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Moltbot only accepts configurations that fully match the schema.
|
|
23
23
|
Unknown keys, malformed types, or invalid values cause the Gateway to **refuse to start** for safety.
|
|
24
24
|
|
|
25
25
|
When validation fails:
|
|
26
26
|
- The Gateway does not boot.
|
|
27
|
-
- Only diagnostic commands are allowed (for example: `
|
|
28
|
-
- Run `
|
|
29
|
-
- Run `
|
|
27
|
+
- Only diagnostic commands are allowed (for example: `moltbot doctor`, `moltbot logs`, `moltbot health`, `moltbot status`, `moltbot service`, `moltbot help`).
|
|
28
|
+
- Run `moltbot doctor` to see the exact issues.
|
|
29
|
+
- Run `moltbot doctor --fix` (or `--yes`) to apply migrations/repairs.
|
|
30
30
|
|
|
31
31
|
Doctor never writes changes unless you explicitly opt into `--fix`/`--yes`.
|
|
32
32
|
|
|
@@ -47,7 +47,7 @@ Use `config.apply` to validate + write the full config and restart the Gateway i
|
|
|
47
47
|
It writes a restart sentinel and pings the last active session after the Gateway comes back.
|
|
48
48
|
|
|
49
49
|
Warning: `config.apply` replaces the **entire config**. If you want to change only a few keys,
|
|
50
|
-
use `config.patch` or `
|
|
50
|
+
use `config.patch` or `moltbot config set`. Keep a backup of `~/.clawdbot/moltbot.json`.
|
|
51
51
|
|
|
52
52
|
Params:
|
|
53
53
|
- `raw` (string) — JSON5 payload for the entire config
|
|
@@ -59,8 +59,8 @@ Params:
|
|
|
59
59
|
Example (via `gateway call`):
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
moltbot gateway call config.get --params '{}' # capture payload.hash
|
|
63
|
+
moltbot gateway call config.apply --params '{
|
|
64
64
|
"raw": "{\\n agents: { defaults: { workspace: \\"~/clawd\\" } }\\n}\\n",
|
|
65
65
|
"baseHash": "<hash-from-config.get>",
|
|
66
66
|
"sessionKey": "agent:main:whatsapp:dm:+15555550123",
|
|
@@ -88,8 +88,8 @@ Params:
|
|
|
88
88
|
Example:
|
|
89
89
|
|
|
90
90
|
```bash
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
moltbot gateway call config.get --params '{}' # capture payload.hash
|
|
92
|
+
moltbot gateway call config.patch --params '{
|
|
93
93
|
"raw": "{\\n channels: { telegram: { groups: { \\"*\\": { requireMention: false } } } }\\n}\\n",
|
|
94
94
|
"baseHash": "<hash-from-config.get>",
|
|
95
95
|
"sessionKey": "agent:main:whatsapp:dm:+15555550123",
|
|
@@ -146,7 +146,7 @@ Split your config into multiple files using the `$include` directive. This is us
|
|
|
146
146
|
### Basic usage
|
|
147
147
|
|
|
148
148
|
```json5
|
|
149
|
-
// ~/.
|
|
149
|
+
// ~/.clawdbot/moltbot.json
|
|
150
150
|
{
|
|
151
151
|
gateway: { port: 18789 },
|
|
152
152
|
|
|
@@ -164,7 +164,7 @@ Split your config into multiple files using the `$include` directive. This is us
|
|
|
164
164
|
```
|
|
165
165
|
|
|
166
166
|
```json5
|
|
167
|
-
// ~/.
|
|
167
|
+
// ~/.clawdbot/agents.json5
|
|
168
168
|
{
|
|
169
169
|
defaults: { sandbox: { mode: "all", scope: "session" } },
|
|
170
170
|
list: [
|
|
@@ -208,7 +208,7 @@ Included files can themselves contain `$include` directives (up to 10 levels dee
|
|
|
208
208
|
|
|
209
209
|
```json5
|
|
210
210
|
{ "$include": "./sub/config.json5" } // relative
|
|
211
|
-
{ "$include": "/etc/
|
|
211
|
+
{ "$include": "/etc/moltbot/base.json5" } // absolute
|
|
212
212
|
{ "$include": "../shared/common.json5" } // parent dir
|
|
213
213
|
```
|
|
214
214
|
|
|
@@ -221,7 +221,7 @@ Included files can themselves contain `$include` directives (up to 10 levels dee
|
|
|
221
221
|
### Example: Multi-client legal setup
|
|
222
222
|
|
|
223
223
|
```json5
|
|
224
|
-
// ~/.
|
|
224
|
+
// ~/.clawdbot/moltbot.json
|
|
225
225
|
{
|
|
226
226
|
gateway: { port: 18789, auth: { token: "secret" } },
|
|
227
227
|
|
|
@@ -248,7 +248,7 @@ Included files can themselves contain `$include` directives (up to 10 levels dee
|
|
|
248
248
|
```
|
|
249
249
|
|
|
250
250
|
```json5
|
|
251
|
-
// ~/.
|
|
251
|
+
// ~/.clawdbot/clients/mueller/agents.json5
|
|
252
252
|
[
|
|
253
253
|
{ id: "mueller-transcribe", workspace: "~/clients/mueller/transcribe" },
|
|
254
254
|
{ id: "mueller-docs", workspace: "~/clients/mueller/docs" }
|
|
@@ -256,7 +256,7 @@ Included files can themselves contain `$include` directives (up to 10 levels dee
|
|
|
256
256
|
```
|
|
257
257
|
|
|
258
258
|
```json5
|
|
259
|
-
// ~/.
|
|
259
|
+
// ~/.clawdbot/clients/mueller/broadcast.json5
|
|
260
260
|
{
|
|
261
261
|
"120363403215116621@g.us": ["mueller-transcribe", "mueller-docs"]
|
|
262
262
|
}
|
|
@@ -266,11 +266,11 @@ Included files can themselves contain `$include` directives (up to 10 levels dee
|
|
|
266
266
|
|
|
267
267
|
### Env vars + `.env`
|
|
268
268
|
|
|
269
|
-
|
|
269
|
+
Moltbot reads env vars from the parent process (shell, launchd/systemd, CI, etc.).
|
|
270
270
|
|
|
271
271
|
Additionally, it loads:
|
|
272
272
|
- `.env` from the current working directory (if present)
|
|
273
|
-
- a global fallback `.env` from `~/.
|
|
273
|
+
- a global fallback `.env` from `~/.clawdbot/.env` (aka `$CLAWDBOT_STATE_DIR/.env`)
|
|
274
274
|
|
|
275
275
|
Neither `.env` file overrides existing env vars.
|
|
276
276
|
|
|
@@ -292,7 +292,7 @@ See [/environment](/environment) for full precedence and sources.
|
|
|
292
292
|
|
|
293
293
|
### `env.shellEnv` (optional)
|
|
294
294
|
|
|
295
|
-
Opt-in convenience: if enabled and none of the expected keys are set yet,
|
|
295
|
+
Opt-in convenience: if enabled and none of the expected keys are set yet, Moltbot runs your login shell and imports only the missing expected keys (never overrides).
|
|
296
296
|
This effectively sources your shell profile.
|
|
297
297
|
|
|
298
298
|
```json5
|
|
@@ -307,8 +307,8 @@ This effectively sources your shell profile.
|
|
|
307
307
|
```
|
|
308
308
|
|
|
309
309
|
Env var equivalent:
|
|
310
|
-
- `
|
|
311
|
-
- `
|
|
310
|
+
- `CLAWDBOT_LOAD_SHELL_ENV=1`
|
|
311
|
+
- `CLAWDBOT_SHELL_ENV_TIMEOUT_MS=15000`
|
|
312
312
|
|
|
313
313
|
### Env var substitution in config
|
|
314
314
|
|
|
@@ -326,7 +326,7 @@ You can reference environment variables directly in any config string value usin
|
|
|
326
326
|
},
|
|
327
327
|
gateway: {
|
|
328
328
|
auth: {
|
|
329
|
-
token: "${
|
|
329
|
+
token: "${CLAWDBOT_GATEWAY_TOKEN}"
|
|
330
330
|
}
|
|
331
331
|
}
|
|
332
332
|
}
|
|
@@ -354,31 +354,25 @@ You can reference environment variables directly in any config string value usin
|
|
|
354
354
|
|
|
355
355
|
### Auth storage (OAuth + API keys)
|
|
356
356
|
|
|
357
|
-
|
|
358
|
-
- `<agentDir>/auth-profiles.json` (default: `~/.
|
|
357
|
+
Moltbot stores **per-agent** auth profiles (OAuth + API keys) in:
|
|
358
|
+
- `<agentDir>/auth-profiles.json` (default: `~/.clawdbot/agents/<agentId>/agent/auth-profiles.json`)
|
|
359
359
|
|
|
360
360
|
See also: [/concepts/oauth](/concepts/oauth)
|
|
361
361
|
|
|
362
362
|
Legacy OAuth imports:
|
|
363
|
-
- `~/.
|
|
363
|
+
- `~/.clawdbot/credentials/oauth.json` (or `$CLAWDBOT_STATE_DIR/credentials/oauth.json`)
|
|
364
364
|
|
|
365
365
|
The embedded Pi agent maintains a runtime cache at:
|
|
366
366
|
- `<agentDir>/auth.json` (managed automatically; don’t edit manually)
|
|
367
367
|
|
|
368
368
|
Legacy agent dir (pre multi-agent):
|
|
369
|
-
- `~/.
|
|
369
|
+
- `~/.clawdbot/agent/*` (migrated by `moltbot doctor` into `~/.clawdbot/agents/<defaultAgentId>/agent/*`)
|
|
370
370
|
|
|
371
371
|
Overrides:
|
|
372
|
-
- OAuth dir (legacy import only): `
|
|
373
|
-
- Agent dir (default agent root override): `
|
|
372
|
+
- OAuth dir (legacy import only): `CLAWDBOT_OAUTH_DIR`
|
|
373
|
+
- Agent dir (default agent root override): `CLAWDBOT_AGENT_DIR` (preferred), `PI_CODING_AGENT_DIR` (legacy)
|
|
374
374
|
|
|
375
|
-
On first use,
|
|
376
|
-
|
|
377
|
-
Pigbot also auto-syncs OAuth tokens from external CLIs into `auth-profiles.json` (when present on the gateway host):
|
|
378
|
-
- Claude Code → `anthropic:claude-cli`
|
|
379
|
-
- macOS: Keychain item "Claude Code-credentials" (choose "Always Allow" to avoid launchd prompts)
|
|
380
|
-
- Linux/Windows: `~/.claude/.credentials.json`
|
|
381
|
-
- `~/.codex/auth.json` (Codex CLI) → `openai-codex:codex-cli`
|
|
375
|
+
On first use, Moltbot imports `oauth.json` entries into `auth-profiles.json`.
|
|
382
376
|
|
|
383
377
|
### `auth`
|
|
384
378
|
|
|
@@ -400,15 +394,11 @@ rotation order used for failover.
|
|
|
400
394
|
}
|
|
401
395
|
```
|
|
402
396
|
|
|
403
|
-
Note: `anthropic:claude-cli` should use `mode: "oauth"` even when the stored
|
|
404
|
-
credential is a setup-token. Pigbot auto-migrates older configs that used
|
|
405
|
-
`mode: "token"`.
|
|
406
|
-
|
|
407
397
|
### `agents.list[].identity`
|
|
408
398
|
|
|
409
399
|
Optional per-agent identity used for defaults and UX. This is written by the macOS onboarding assistant.
|
|
410
400
|
|
|
411
|
-
If set,
|
|
401
|
+
If set, Moltbot derives defaults (only when you haven’t set them explicitly):
|
|
412
402
|
- `messages.ackReaction` from the **active agent**’s `identity.emoji` (falls back to 👀)
|
|
413
403
|
- `agents.list[].groupChat.mentionPatterns` from the agent’s `identity.name`/`identity.emoji` (so “@Samantha” works in groups across Telegram/Slack/Discord/Google Chat/iMessage/WhatsApp)
|
|
414
404
|
- `identity.avatar` accepts a workspace-relative image path or a remote URL/data URL. Local files must live inside the agent workspace.
|
|
@@ -454,8 +444,8 @@ Metadata written by CLI wizards (`onboard`, `configure`, `doctor`).
|
|
|
454
444
|
|
|
455
445
|
### `logging`
|
|
456
446
|
|
|
457
|
-
- Default log file: `/tmp/
|
|
458
|
-
- If you want a stable path, set `logging.file` to `/tmp/
|
|
447
|
+
- Default log file: `/tmp/moltbot/moltbot-YYYY-MM-DD.log`
|
|
448
|
+
- If you want a stable path, set `logging.file` to `/tmp/moltbot/moltbot.log`.
|
|
459
449
|
- Console output can be tuned separately via:
|
|
460
450
|
- `logging.consoleLevel` (defaults to `info`, bumps to `debug` when `--verbose`)
|
|
461
451
|
- `logging.consoleStyle` (`pretty` | `compact` | `json`)
|
|
@@ -467,7 +457,7 @@ Metadata written by CLI wizards (`onboard`, `configure`, `doctor`).
|
|
|
467
457
|
{
|
|
468
458
|
logging: {
|
|
469
459
|
level: "info",
|
|
470
|
-
file: "/tmp/
|
|
460
|
+
file: "/tmp/moltbot/moltbot.log",
|
|
471
461
|
consoleLevel: "info",
|
|
472
462
|
consoleStyle: "pretty",
|
|
473
463
|
redactSensitive: "tools",
|
|
@@ -491,8 +481,8 @@ Controls how WhatsApp direct chats (DMs) are handled:
|
|
|
491
481
|
Pairing codes expire after 1 hour; the bot only sends a pairing code when a new request is created. Pending DM pairing requests are capped at **3 per channel** by default.
|
|
492
482
|
|
|
493
483
|
Pairing approvals:
|
|
494
|
-
- `
|
|
495
|
-
- `
|
|
484
|
+
- `moltbot pairing list whatsapp`
|
|
485
|
+
- `moltbot pairing approve whatsapp <code>`
|
|
496
486
|
|
|
497
487
|
### `channels.whatsapp.allowFrom`
|
|
498
488
|
|
|
@@ -542,8 +532,8 @@ Run multiple WhatsApp accounts in one gateway:
|
|
|
542
532
|
default: {}, // optional; keeps the default id stable
|
|
543
533
|
personal: {},
|
|
544
534
|
biz: {
|
|
545
|
-
// Optional override. Default: ~/.
|
|
546
|
-
// authDir: "~/.
|
|
535
|
+
// Optional override. Default: ~/.clawdbot/credentials/whatsapp/biz
|
|
536
|
+
// authDir: "~/.clawdbot/credentials/whatsapp/biz",
|
|
547
537
|
}
|
|
548
538
|
}
|
|
549
539
|
}
|
|
@@ -553,7 +543,7 @@ Run multiple WhatsApp accounts in one gateway:
|
|
|
553
543
|
|
|
554
544
|
Notes:
|
|
555
545
|
- Outbound commands default to account `default` if present; otherwise the first configured account id (sorted).
|
|
556
|
-
- The legacy single-account Baileys auth dir is migrated by `
|
|
546
|
+
- The legacy single-account Baileys auth dir is migrated by `moltbot doctor` into `whatsapp/default`.
|
|
557
547
|
|
|
558
548
|
### `channels.telegram.accounts` / `channels.discord.accounts` / `channels.googlechat.accounts` / `channels.slack.accounts` / `channels.mattermost.accounts` / `channels.signal.accounts` / `channels.imessage.accounts`
|
|
559
549
|
|
|
@@ -600,7 +590,7 @@ Group messages default to **require mention** (either metadata mention or regex
|
|
|
600
590
|
},
|
|
601
591
|
agents: {
|
|
602
592
|
list: [
|
|
603
|
-
{ id: "main", groupChat: { mentionPatterns: ["@clawd", "
|
|
593
|
+
{ id: "main", groupChat: { mentionPatterns: ["@clawd", "moltbot", "clawd"] } }
|
|
604
594
|
]
|
|
605
595
|
}
|
|
606
596
|
}
|
|
@@ -734,7 +724,7 @@ Inbound messages are routed to an agent via bindings.
|
|
|
734
724
|
If none are set, the **first entry** in the list is the default agent.
|
|
735
725
|
- `name`: display name for the agent.
|
|
736
726
|
- `workspace`: default `~/clawd-<agentId>` (for `main`, falls back to `agents.defaults.workspace`).
|
|
737
|
-
- `agentDir`: default `~/.
|
|
727
|
+
- `agentDir`: default `~/.clawdbot/agents/<agentId>/agent`.
|
|
738
728
|
- `model`: per-agent default model, overrides `agents.defaults.model` for that agent.
|
|
739
729
|
- string form: `"provider/model"`, overrides only `agents.defaults.model.primary`
|
|
740
730
|
- object form: `{ primary, fallbacks }` (fallbacks override `agents.defaults.model.fallbacks`; `[]` disables global fallbacks for that agent)
|
|
@@ -959,11 +949,13 @@ Notes:
|
|
|
959
949
|
- `channels.telegram.customCommands` adds extra Telegram bot menu entries. Names are normalized; conflicts with native commands are ignored.
|
|
960
950
|
- `commands.bash: true` enables `! <cmd>` to run host shell commands (`/bash <cmd>` also works as an alias). Requires `tools.elevated.enabled` and allowlisting the sender in `tools.elevated.allowFrom.<channel>`.
|
|
961
951
|
- `commands.bashForegroundMs` controls how long bash waits before backgrounding. While a bash job is running, new `! <cmd>` requests are rejected (one at a time).
|
|
962
|
-
- `commands.config: true` enables `/config` (reads/writes `
|
|
952
|
+
- `commands.config: true` enables `/config` (reads/writes `moltbot.json`).
|
|
963
953
|
- `channels.<provider>.configWrites` gates config mutations initiated by that channel (default: true). This applies to `/config set|unset` plus provider-specific auto-migrations (Telegram supergroup ID changes, Slack channel ID changes).
|
|
964
954
|
- `commands.debug: true` enables `/debug` (runtime-only overrides).
|
|
965
955
|
- `commands.restart: true` enables `/restart` and the gateway tool restart action.
|
|
966
956
|
- `commands.useAccessGroups: false` allows commands to bypass access-group allowlists/policies.
|
|
957
|
+
- Slash commands and directives are only honored for **authorized senders**. Authorization is derived from
|
|
958
|
+
channel allowlists/pairing plus `commands.useAccessGroups`.
|
|
967
959
|
|
|
968
960
|
### `web` (WhatsApp web channel runtime)
|
|
969
961
|
|
|
@@ -988,7 +980,7 @@ Set `web.enabled: false` to keep it off by default.
|
|
|
988
980
|
|
|
989
981
|
### `channels.telegram` (bot transport)
|
|
990
982
|
|
|
991
|
-
|
|
983
|
+
Moltbot starts Telegram only when a `channels.telegram` config section exists. The bot token is resolved from `channels.telegram.botToken` (or `channels.telegram.tokenFile`), with `TELEGRAM_BOT_TOKEN` as a fallback for the default account.
|
|
992
984
|
Set `channels.telegram.enabled: false` to disable automatic startup.
|
|
993
985
|
Multi-account support lives under `channels.telegram.accounts` (see the multi-account section above). Env tokens only apply to the default account.
|
|
994
986
|
Set `channels.telegram.configWrites: false` to block Telegram-initiated config writes (including supergroup ID migrations and `/config set|unset`).
|
|
@@ -1021,6 +1013,7 @@ Set `channels.telegram.configWrites: false` to block Telegram-initiated config w
|
|
|
1021
1013
|
],
|
|
1022
1014
|
historyLimit: 50, // include last N group messages as context (0 disables)
|
|
1023
1015
|
replyToMode: "first", // off | first | all
|
|
1016
|
+
linkPreview: true, // toggle outbound link previews
|
|
1024
1017
|
streamMode: "partial", // off | partial | block (draft streaming; separate from block streaming)
|
|
1025
1018
|
draftChunk: { // optional; only for streamMode=block
|
|
1026
1019
|
minChars: 200,
|
|
@@ -1036,6 +1029,9 @@ Set `channels.telegram.configWrites: false` to block Telegram-initiated config w
|
|
|
1036
1029
|
maxDelayMs: 30000,
|
|
1037
1030
|
jitter: 0.1
|
|
1038
1031
|
},
|
|
1032
|
+
network: { // transport overrides
|
|
1033
|
+
autoSelectFamily: false
|
|
1034
|
+
},
|
|
1039
1035
|
proxy: "socks5://localhost:9050",
|
|
1040
1036
|
webhookUrl: "https://example.com/telegram-webhook",
|
|
1041
1037
|
webhookSecret: "secret",
|
|
@@ -1122,7 +1118,7 @@ Multi-account support lives under `channels.discord.accounts` (see the multi-acc
|
|
|
1122
1118
|
}
|
|
1123
1119
|
```
|
|
1124
1120
|
|
|
1125
|
-
|
|
1121
|
+
Moltbot starts Discord only when a `channels.discord` config section exists. The token is resolved from `channels.discord.token`, with `DISCORD_BOT_TOKEN` as a fallback for the default account (unless `channels.discord.enabled` is `false`). Use `user:<id>` (DM) or `channel:<id>` (guild channel) when specifying delivery targets for cron/CLI commands; bare numeric IDs are ambiguous and rejected.
|
|
1126
1122
|
Guild slugs are lowercase with spaces replaced by `-`; channel keys use the slugged channel name (no leading `#`). Prefer guild ids as keys to avoid rename ambiguity.
|
|
1127
1123
|
Bot-authored messages are ignored by default. Enable with `channels.discord.allowBots` (own messages are still filtered to prevent self-reply loops).
|
|
1128
1124
|
Reaction notification modes:
|
|
@@ -1130,7 +1126,7 @@ Reaction notification modes:
|
|
|
1130
1126
|
- `own`: reactions on the bot's own messages (default).
|
|
1131
1127
|
- `all`: all reactions on all messages.
|
|
1132
1128
|
- `allowlist`: reactions from `guilds.<id>.users` on all messages (empty list disables).
|
|
1133
|
-
Outbound text is chunked by `channels.discord.textChunkLimit` (default 2000). Set `channels.discord.chunkMode="newline"` to split on
|
|
1129
|
+
Outbound text is chunked by `channels.discord.textChunkLimit` (default 2000). Set `channels.discord.chunkMode="newline"` to split on blank lines (paragraph boundaries) before length chunking. Discord clients can clip very tall messages, so `channels.discord.maxLinesPerMessage` (default 17) splits long multi-line replies even when under 2000 chars.
|
|
1134
1130
|
Retry policy defaults and behavior are documented in [Retry policy](/concepts/retry).
|
|
1135
1131
|
|
|
1136
1132
|
### `channels.googlechat` (Chat API webhook)
|
|
@@ -1232,7 +1228,7 @@ Slack runs in Socket Mode and requires both a bot token and app token:
|
|
|
1232
1228
|
|
|
1233
1229
|
Multi-account support lives under `channels.slack.accounts` (see the multi-account section above). Env tokens only apply to the default account.
|
|
1234
1230
|
|
|
1235
|
-
|
|
1231
|
+
Moltbot starts Slack when the provider is enabled and both tokens are set (via config or `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN`). Use `user:<id>` (DM) or `channel:<id>` when specifying delivery targets for cron/CLI commands.
|
|
1236
1232
|
Set `channels.slack.configWrites: false` to block Slack-initiated config writes (including channel ID migrations and `/config set|unset`).
|
|
1237
1233
|
|
|
1238
1234
|
Bot-authored messages are ignored by default. Enable with `channels.slack.allowBots` or `channels.slack.channels.<id>.allowBots`.
|
|
@@ -1259,7 +1255,7 @@ Slack action groups (gate `slack` tool actions):
|
|
|
1259
1255
|
### `channels.mattermost` (bot token)
|
|
1260
1256
|
|
|
1261
1257
|
Mattermost ships as a plugin and is not bundled with the core install.
|
|
1262
|
-
Install it first: `
|
|
1258
|
+
Install it first: `moltbot plugins install @moltbot/mattermost` (or `./extensions/mattermost` from a git checkout).
|
|
1263
1259
|
|
|
1264
1260
|
Mattermost requires a bot token plus the base URL for your server:
|
|
1265
1261
|
|
|
@@ -1280,7 +1276,7 @@ Mattermost requires a bot token plus the base URL for your server:
|
|
|
1280
1276
|
}
|
|
1281
1277
|
```
|
|
1282
1278
|
|
|
1283
|
-
|
|
1279
|
+
Moltbot starts Mattermost when the account is configured (bot token + base URL) and enabled. The token + base URL are resolved from `channels.mattermost.botToken` + `channels.mattermost.baseUrl` or `MATTERMOST_BOT_TOKEN` + `MATTERMOST_URL` for the default account (unless `channels.mattermost.enabled` is `false`).
|
|
1284
1280
|
|
|
1285
1281
|
Chat modes:
|
|
1286
1282
|
- `oncall` (default): respond to channel messages only when @mentioned.
|
|
@@ -1319,7 +1315,7 @@ Reaction notification modes:
|
|
|
1319
1315
|
|
|
1320
1316
|
### `channels.imessage` (imsg CLI)
|
|
1321
1317
|
|
|
1322
|
-
|
|
1318
|
+
Moltbot spawns `imsg rpc` (JSON-RPC over stdio). No daemon or port required.
|
|
1323
1319
|
|
|
1324
1320
|
```json5
|
|
1325
1321
|
{
|
|
@@ -1373,13 +1369,13 @@ own per-scope workspaces under `agents.defaults.sandbox.workspaceRoot`.
|
|
|
1373
1369
|
|
|
1374
1370
|
### `agents.defaults.repoRoot`
|
|
1375
1371
|
|
|
1376
|
-
Optional repository root to show in the system prompt’s Runtime line. If unset,
|
|
1372
|
+
Optional repository root to show in the system prompt’s Runtime line. If unset, Moltbot
|
|
1377
1373
|
tries to detect a `.git` directory by walking upward from the workspace (and current
|
|
1378
1374
|
working directory). The path must exist to be used.
|
|
1379
1375
|
|
|
1380
1376
|
```json5
|
|
1381
1377
|
{
|
|
1382
|
-
agents: { defaults: { repoRoot: "~/Projects/
|
|
1378
|
+
agents: { defaults: { repoRoot: "~/Projects/moltbot" } }
|
|
1383
1379
|
}
|
|
1384
1380
|
```
|
|
1385
1381
|
|
|
@@ -1400,7 +1396,7 @@ Use this for pre-seeded deployments where your workspace files come from a repo.
|
|
|
1400
1396
|
Max characters of each workspace bootstrap file injected into the system prompt
|
|
1401
1397
|
before truncation. Default: `20000`.
|
|
1402
1398
|
|
|
1403
|
-
When a file exceeds this limit,
|
|
1399
|
+
When a file exceeds this limit, Moltbot logs a warning and injects a truncated
|
|
1404
1400
|
head/tail with a marker.
|
|
1405
1401
|
|
|
1406
1402
|
```json5
|
|
@@ -1412,7 +1408,7 @@ head/tail with a marker.
|
|
|
1412
1408
|
### `agents.defaults.userTimezone`
|
|
1413
1409
|
|
|
1414
1410
|
Sets the user’s timezone for **system prompt context** (not for timestamps in
|
|
1415
|
-
message envelopes). If unset,
|
|
1411
|
+
message envelopes). If unset, Moltbot uses the host timezone at runtime.
|
|
1416
1412
|
|
|
1417
1413
|
```json5
|
|
1418
1414
|
{
|
|
@@ -1452,7 +1448,7 @@ streaming, final replies) across channels unless already present.
|
|
|
1452
1448
|
|
|
1453
1449
|
If `messages.responsePrefix` is unset, no prefix is applied by default. WhatsApp self-chat
|
|
1454
1450
|
replies are the exception: they default to `[{identity.name}]` when set, otherwise
|
|
1455
|
-
`[
|
|
1451
|
+
`[moltbot]`, so same-phone conversations stay legible.
|
|
1456
1452
|
Set it to `"auto"` to derive `[{identity.name}]` for the routed agent (when set).
|
|
1457
1453
|
|
|
1458
1454
|
#### Template variables
|
|
@@ -1481,9 +1477,9 @@ Unresolved variables remain as literal text.
|
|
|
1481
1477
|
Example output: `[claude-opus-4-5 | think:high] Here's my response...`
|
|
1482
1478
|
|
|
1483
1479
|
WhatsApp inbound prefix is configured via `channels.whatsapp.messagePrefix` (deprecated:
|
|
1484
|
-
`messages.messagePrefix`). Default stays **unchanged**: `"[
|
|
1480
|
+
`messages.messagePrefix`). Default stays **unchanged**: `"[moltbot]"` when
|
|
1485
1481
|
`channels.whatsapp.allowFrom` is empty, otherwise `""` (no prefix). When using
|
|
1486
|
-
`"[
|
|
1482
|
+
`"[moltbot]"`, Moltbot will instead use `[{identity.name}]` when the routed
|
|
1487
1483
|
agent has `identity.name` set.
|
|
1488
1484
|
|
|
1489
1485
|
`ackReaction` sends a best-effort emoji reaction to acknowledge inbound messages
|
|
@@ -1501,7 +1497,7 @@ active agent’s `identity.emoji` when set, otherwise `"👀"`. Set it to `""` t
|
|
|
1501
1497
|
|
|
1502
1498
|
#### `messages.tts`
|
|
1503
1499
|
|
|
1504
|
-
Enable text-to-speech for outbound replies. When on,
|
|
1500
|
+
Enable text-to-speech for outbound replies. When on, Moltbot generates audio
|
|
1505
1501
|
using ElevenLabs or OpenAI and attaches it to responses. Telegram uses Opus
|
|
1506
1502
|
voice notes; other channels send MP3 audio.
|
|
1507
1503
|
|
|
@@ -1518,7 +1514,7 @@ voice notes; other channels send MP3 audio.
|
|
|
1518
1514
|
},
|
|
1519
1515
|
maxTextLength: 4000,
|
|
1520
1516
|
timeoutMs: 30000,
|
|
1521
|
-
prefsPath: "~/.
|
|
1517
|
+
prefsPath: "~/.clawdbot/settings/tts.json",
|
|
1522
1518
|
elevenlabs: {
|
|
1523
1519
|
apiKey: "elevenlabs_api_key",
|
|
1524
1520
|
baseUrl: "https://api.elevenlabs.io",
|
|
@@ -1617,7 +1613,7 @@ Z.AI GLM-4.x models automatically enable thinking mode unless you:
|
|
|
1617
1613
|
- set `--thinking off`, or
|
|
1618
1614
|
- define `agents.defaults.models["zai/<model>"].params.thinking` yourself.
|
|
1619
1615
|
|
|
1620
|
-
|
|
1616
|
+
Moltbot also ships a few built-in alias shorthands. Defaults only apply when the model
|
|
1621
1617
|
is already present in `agents.defaults.models`:
|
|
1622
1618
|
|
|
1623
1619
|
- `opus` -> `anthropic/claude-opus-4-5`
|
|
@@ -1912,7 +1908,7 @@ See [/concepts/typing-indicators](/concepts/typing-indicators) for behavior deta
|
|
|
1912
1908
|
|
|
1913
1909
|
`agents.defaults.model.primary` should be set as `provider/model` (e.g. `anthropic/claude-opus-4-5`).
|
|
1914
1910
|
Aliases come from `agents.defaults.models.*.alias` (e.g. `Opus`).
|
|
1915
|
-
If you omit the provider,
|
|
1911
|
+
If you omit the provider, Moltbot currently assumes `anthropic` as a temporary
|
|
1916
1912
|
deprecation fallback.
|
|
1917
1913
|
Z.AI models are available as `zai/<model>` (e.g. `zai/glm-4.7`) and require
|
|
1918
1914
|
`ZAI_API_KEY` (or legacy `Z_AI_API_KEY`) in the environment.
|
|
@@ -1947,7 +1943,7 @@ Note: `applyPatch` is only under `tools.exec`.
|
|
|
1947
1943
|
|
|
1948
1944
|
`tools.web` configures web search + fetch tools:
|
|
1949
1945
|
- `tools.web.search.enabled` (default: true when key is present)
|
|
1950
|
-
- `tools.web.search.apiKey` (recommended: set via `
|
|
1946
|
+
- `tools.web.search.apiKey` (recommended: set via `moltbot configure --section web`, or use `BRAVE_API_KEY` env var)
|
|
1951
1947
|
- `tools.web.search.maxResults` (1–10, default 5)
|
|
1952
1948
|
- `tools.web.search.timeoutSeconds` (default 30)
|
|
1953
1949
|
- `tools.web.search.cacheTtlMinutes` (default 15)
|
|
@@ -2105,7 +2101,7 @@ Tool groups (shorthands) work in **global** and **per-agent** tool policies:
|
|
|
2105
2101
|
- `group:automation`: `cron`, `gateway`
|
|
2106
2102
|
- `group:messaging`: `message`
|
|
2107
2103
|
- `group:nodes`: `nodes`
|
|
2108
|
-
- `group:
|
|
2104
|
+
- `group:moltbot`: all built-in Moltbot tools (excludes provider plugins)
|
|
2109
2105
|
|
|
2110
2106
|
`tools.elevated` controls elevated (host) exec access:
|
|
2111
2107
|
- `enabled`: allow elevated mode (default true)
|
|
@@ -2169,7 +2165,7 @@ Defaults (if enabled):
|
|
|
2169
2165
|
- scope: `"agent"` (one container + workspace per agent)
|
|
2170
2166
|
- Debian bookworm-slim based image
|
|
2171
2167
|
- agent workspace access: `workspaceAccess: "none"` (default)
|
|
2172
|
-
- `"none"`: use a per-scope sandbox workspace under `~/.
|
|
2168
|
+
- `"none"`: use a per-scope sandbox workspace under `~/.clawdbot/sandboxes`
|
|
2173
2169
|
- `"ro"`: keep the sandbox workspace at `/workspace`, and mount the agent workspace read-only at `/agent` (disables `write`/`edit`/`apply_patch`)
|
|
2174
2170
|
- `"rw"`: mount the agent workspace read/write at `/workspace`
|
|
2175
2171
|
- auto-prune: idle > 24h OR age > 7d
|
|
@@ -2196,10 +2192,10 @@ For package installs, ensure network egress, a writable root FS, and a root user
|
|
|
2196
2192
|
mode: "non-main", // off | non-main | all
|
|
2197
2193
|
scope: "agent", // session | agent | shared (agent is default)
|
|
2198
2194
|
workspaceAccess: "none", // none | ro | rw
|
|
2199
|
-
workspaceRoot: "~/.
|
|
2195
|
+
workspaceRoot: "~/.clawdbot/sandboxes",
|
|
2200
2196
|
docker: {
|
|
2201
|
-
image: "
|
|
2202
|
-
containerPrefix: "
|
|
2197
|
+
image: "moltbot-sandbox:bookworm-slim",
|
|
2198
|
+
containerPrefix: "moltbot-sbx-",
|
|
2203
2199
|
workdir: "/workspace",
|
|
2204
2200
|
readOnlyRoot: true,
|
|
2205
2201
|
tmpfs: ["/tmp", "/var/tmp", "/run"],
|
|
@@ -2218,15 +2214,15 @@ For package installs, ensure network egress, a writable root FS, and a root user
|
|
|
2218
2214
|
nproc: 256
|
|
2219
2215
|
},
|
|
2220
2216
|
seccompProfile: "/path/to/seccomp.json",
|
|
2221
|
-
apparmorProfile: "
|
|
2217
|
+
apparmorProfile: "moltbot-sandbox",
|
|
2222
2218
|
dns: ["1.1.1.1", "8.8.8.8"],
|
|
2223
2219
|
extraHosts: ["internal.service:10.0.0.5"],
|
|
2224
2220
|
binds: ["/var/run/docker.sock:/var/run/docker.sock", "/home/user/source:/source:rw"]
|
|
2225
2221
|
},
|
|
2226
2222
|
browser: {
|
|
2227
2223
|
enabled: false,
|
|
2228
|
-
image: "
|
|
2229
|
-
containerPrefix: "
|
|
2224
|
+
image: "moltbot-sandbox-browser:bookworm-slim",
|
|
2225
|
+
containerPrefix: "moltbot-sbx-browser-",
|
|
2230
2226
|
cdpPort: 9222,
|
|
2231
2227
|
vncPort: 5900,
|
|
2232
2228
|
noVncPort: 6080,
|
|
@@ -2293,14 +2289,14 @@ Defaults: all allowlists are unset (no restriction). `allowHostControl` defaults
|
|
|
2293
2289
|
|
|
2294
2290
|
### `models` (custom providers + base URLs)
|
|
2295
2291
|
|
|
2296
|
-
|
|
2292
|
+
Moltbot uses the **pi-coding-agent** model catalog. You can add custom providers
|
|
2297
2293
|
(LiteLLM, local OpenAI-compatible servers, Anthropic proxies, etc.) by writing
|
|
2298
|
-
`~/.
|
|
2299
|
-
|
|
2294
|
+
`~/.clawdbot/agents/<agentId>/agent/models.json` or by defining the same schema inside your
|
|
2295
|
+
Moltbot config under `models.providers`.
|
|
2300
2296
|
Provider-by-provider overview + examples: [/concepts/model-providers](/concepts/model-providers).
|
|
2301
2297
|
|
|
2302
|
-
When `models.providers` is present,
|
|
2303
|
-
`~/.
|
|
2298
|
+
When `models.providers` is present, Moltbot writes/merges a `models.json` into
|
|
2299
|
+
`~/.clawdbot/agents/<agentId>/agent/` on startup:
|
|
2304
2300
|
- default behavior: **merge** (keeps existing providers, overrides on name)
|
|
2305
2301
|
- set `models.mode: "replace"` to overwrite the file contents
|
|
2306
2302
|
|
|
@@ -2342,14 +2338,14 @@ Select the model via `agents.defaults.model.primary` (provider/model).
|
|
|
2342
2338
|
|
|
2343
2339
|
### OpenCode Zen (multi-model proxy)
|
|
2344
2340
|
|
|
2345
|
-
OpenCode Zen is a multi-model gateway with per-model endpoints.
|
|
2341
|
+
OpenCode Zen is a multi-model gateway with per-model endpoints. Moltbot uses
|
|
2346
2342
|
the built-in `opencode` provider from pi-ai; set `OPENCODE_API_KEY` (or
|
|
2347
2343
|
`OPENCODE_ZEN_API_KEY`) from https://opencode.ai/auth.
|
|
2348
2344
|
|
|
2349
2345
|
Notes:
|
|
2350
2346
|
- Model refs use `opencode/<modelId>` (example: `opencode/claude-opus-4-5`).
|
|
2351
2347
|
- If you enable an allowlist via `agents.defaults.models`, add each model you plan to use.
|
|
2352
|
-
- Shortcut: `
|
|
2348
|
+
- Shortcut: `moltbot onboard --auth-choice opencode-zen`.
|
|
2353
2349
|
|
|
2354
2350
|
```json5
|
|
2355
2351
|
{
|
|
@@ -2367,7 +2363,7 @@ Notes:
|
|
|
2367
2363
|
Z.AI models are available via the built-in `zai` provider. Set `ZAI_API_KEY`
|
|
2368
2364
|
in your environment and reference the model by provider/model.
|
|
2369
2365
|
|
|
2370
|
-
Shortcut: `
|
|
2366
|
+
Shortcut: `moltbot onboard --auth-choice zai-api-key`.
|
|
2371
2367
|
|
|
2372
2368
|
```json5
|
|
2373
2369
|
{
|
|
@@ -2429,7 +2425,7 @@ Use Moonshot's OpenAI-compatible endpoint:
|
|
|
2429
2425
|
```
|
|
2430
2426
|
|
|
2431
2427
|
Notes:
|
|
2432
|
-
- Set `MOONSHOT_API_KEY` in the environment or use `
|
|
2428
|
+
- Set `MOONSHOT_API_KEY` in the environment or use `moltbot onboard --auth-choice moonshot-api-key`.
|
|
2433
2429
|
- Model ref: `moonshot/kimi-k2-0905-preview`.
|
|
2434
2430
|
- Use `https://api.moonshot.cn/v1` if you need the China endpoint.
|
|
2435
2431
|
|
|
@@ -2473,7 +2469,7 @@ Use Kimi Code's dedicated OpenAI-compatible endpoint (separate from Moonshot):
|
|
|
2473
2469
|
```
|
|
2474
2470
|
|
|
2475
2471
|
Notes:
|
|
2476
|
-
- Set `KIMICODE_API_KEY` in the environment or use `
|
|
2472
|
+
- Set `KIMICODE_API_KEY` in the environment or use `moltbot onboard --auth-choice kimi-code-api-key`.
|
|
2477
2473
|
- Model ref: `kimi-code/kimi-for-coding`.
|
|
2478
2474
|
|
|
2479
2475
|
### Synthetic (Anthropic-compatible)
|
|
@@ -2514,7 +2510,7 @@ Use Synthetic's Anthropic-compatible endpoint:
|
|
|
2514
2510
|
```
|
|
2515
2511
|
|
|
2516
2512
|
Notes:
|
|
2517
|
-
- Set `SYNTHETIC_API_KEY` or use `
|
|
2513
|
+
- Set `SYNTHETIC_API_KEY` or use `moltbot onboard --auth-choice synthetic-api-key`.
|
|
2518
2514
|
- Model ref: `synthetic/hf:MiniMaxAI/MiniMax-M2.1`.
|
|
2519
2515
|
- Base URL should omit `/v1` because the Anthropic client appends it.
|
|
2520
2516
|
|
|
@@ -2561,7 +2557,7 @@ Use MiniMax M2.1 directly without LM Studio:
|
|
|
2561
2557
|
```
|
|
2562
2558
|
|
|
2563
2559
|
Notes:
|
|
2564
|
-
- Set `MINIMAX_API_KEY` environment variable or use `
|
|
2560
|
+
- Set `MINIMAX_API_KEY` environment variable or use `moltbot onboard --auth-choice minimax-api`.
|
|
2565
2561
|
- Available model: `MiniMax-M2.1` (default).
|
|
2566
2562
|
- Update pricing in `models.json` if you need exact cost tracking.
|
|
2567
2563
|
|
|
@@ -2609,8 +2605,8 @@ Notes:
|
|
|
2609
2605
|
- Supported APIs: `openai-completions`, `openai-responses`, `anthropic-messages`,
|
|
2610
2606
|
`google-generative-ai`
|
|
2611
2607
|
- Use `authHeader: true` + `headers` for custom auth needs.
|
|
2612
|
-
- Override the agent config root with `
|
|
2613
|
-
if you want `models.json` stored elsewhere (default: `~/.
|
|
2608
|
+
- Override the agent config root with `CLAWDBOT_AGENT_DIR` (or `PI_CODING_AGENT_DIR`)
|
|
2609
|
+
if you want `models.json` stored elsewhere (default: `~/.clawdbot/agents/main/agent`).
|
|
2614
2610
|
|
|
2615
2611
|
### `session`
|
|
2616
2612
|
|
|
@@ -2635,9 +2631,9 @@ Controls session scoping, reset policy, reset triggers, and where the session st
|
|
|
2635
2631
|
group: { mode: "idle", idleMinutes: 120 }
|
|
2636
2632
|
},
|
|
2637
2633
|
resetTriggers: ["/new", "/reset"],
|
|
2638
|
-
// Default is already per-agent under ~/.
|
|
2634
|
+
// Default is already per-agent under ~/.clawdbot/agents/<agentId>/sessions/sessions.json
|
|
2639
2635
|
// You can override with {agentId} templating:
|
|
2640
|
-
store: "~/.
|
|
2636
|
+
store: "~/.clawdbot/agents/{agentId}/sessions/sessions.json",
|
|
2641
2637
|
// Direct chats collapse to agent:<agentId>:<mainKey> (default: "main").
|
|
2642
2638
|
mainKey: "main",
|
|
2643
2639
|
agentToAgent: {
|
|
@@ -2668,7 +2664,7 @@ Fields:
|
|
|
2668
2664
|
- `atHour`: local hour (0-23) for the daily reset boundary.
|
|
2669
2665
|
- `idleMinutes`: sliding idle window in minutes. When daily + idle are both configured, whichever expires first wins.
|
|
2670
2666
|
- `resetByType`: per-session overrides for `dm`, `group`, and `thread`.
|
|
2671
|
-
- If you only set legacy `session.idleMinutes` without any `reset`/`resetByType`,
|
|
2667
|
+
- If you only set legacy `session.idleMinutes` without any `reset`/`resetByType`, Moltbot stays in idle-only mode for backward compatibility.
|
|
2672
2668
|
- `heartbeatIdleMinutes`: optional idle override for heartbeat checks (daily reset still applies when enabled).
|
|
2673
2669
|
- `agentToAgent.maxPingPongTurns`: max reply-back turns between requester/target (0–5, default 5).
|
|
2674
2670
|
- `sendPolicy.default`: `allow` or `deny` fallback when no rule matches.
|
|
@@ -2677,7 +2673,7 @@ Fields:
|
|
|
2677
2673
|
### `skills` (skills config)
|
|
2678
2674
|
|
|
2679
2675
|
Controls bundled allowlist, install preferences, extra skill folders, and per-skill
|
|
2680
|
-
overrides. Applies to **bundled** skills and `~/.
|
|
2676
|
+
overrides. Applies to **bundled** skills and `~/.clawdbot/skills` (workspace skills
|
|
2681
2677
|
still win on name conflicts).
|
|
2682
2678
|
|
|
2683
2679
|
Fields:
|
|
@@ -2726,7 +2722,7 @@ Example:
|
|
|
2726
2722
|
### `plugins` (extensions)
|
|
2727
2723
|
|
|
2728
2724
|
Controls plugin discovery, allow/deny, and per-plugin config. Plugins are loaded
|
|
2729
|
-
from `~/.
|
|
2725
|
+
from `~/.clawdbot/extensions`, `<workspace>/.clawdbot/extensions`, plus any
|
|
2730
2726
|
`plugins.load.paths` entries. **Config changes require a gateway restart.**
|
|
2731
2727
|
See [/plugin](/plugin) for full usage.
|
|
2732
2728
|
|
|
@@ -2763,7 +2759,7 @@ Example:
|
|
|
2763
2759
|
|
|
2764
2760
|
### `browser` (clawd-managed browser)
|
|
2765
2761
|
|
|
2766
|
-
|
|
2762
|
+
Moltbot can start a **dedicated, isolated** Chrome/Brave/Edge/Chromium instance for clawd and expose a small loopback control service.
|
|
2767
2763
|
Profiles can point at a **remote** Chromium-based browser via `profiles.<name>.cdpUrl`. Remote
|
|
2768
2764
|
profiles are attach-only (start/stop/reset are disabled).
|
|
2769
2765
|
|
|
@@ -2772,17 +2768,18 @@ scheme/host for profiles that only set `cdpPort`.
|
|
|
2772
2768
|
|
|
2773
2769
|
Defaults:
|
|
2774
2770
|
- enabled: `true`
|
|
2775
|
-
-
|
|
2776
|
-
-
|
|
2771
|
+
- evaluateEnabled: `true` (set `false` to disable `act:evaluate` and `wait --fn`)
|
|
2772
|
+
- control service: loopback only (port derived from `gateway.port`, default `18791`)
|
|
2773
|
+
- CDP URL: `http://127.0.0.1:18792` (control service + 1, legacy single-profile)
|
|
2777
2774
|
- profile color: `#FF4500` (lobster-orange)
|
|
2778
|
-
- Note: the control server is started by the running gateway (
|
|
2775
|
+
- Note: the control server is started by the running gateway (Moltbot.app menubar, or `moltbot gateway`).
|
|
2779
2776
|
- Auto-detect order: default browser if Chromium-based; otherwise Chrome → Brave → Edge → Chromium → Chrome Canary.
|
|
2780
2777
|
|
|
2781
2778
|
```json5
|
|
2782
2779
|
{
|
|
2783
2780
|
browser: {
|
|
2784
2781
|
enabled: true,
|
|
2785
|
-
|
|
2782
|
+
evaluateEnabled: true,
|
|
2786
2783
|
// cdpUrl: "http://127.0.0.1:18792", // legacy single-profile override
|
|
2787
2784
|
defaultProfile: "chrome",
|
|
2788
2785
|
profiles: {
|
|
@@ -2813,7 +2810,7 @@ If unset, clients fall back to a muted light-blue.
|
|
|
2813
2810
|
// Optional: Control UI assistant identity override.
|
|
2814
2811
|
// If unset, the Control UI uses the active agent identity (config or IDENTITY.md).
|
|
2815
2812
|
assistant: {
|
|
2816
|
-
name: "
|
|
2813
|
+
name: "Moltbot",
|
|
2817
2814
|
avatar: "CB" // emoji, short text, or image URL/data URI
|
|
2818
2815
|
}
|
|
2819
2816
|
}
|
|
@@ -2835,7 +2832,7 @@ Defaults:
|
|
|
2835
2832
|
mode: "local", // or "remote"
|
|
2836
2833
|
port: 18789, // WS + HTTP multiplex
|
|
2837
2834
|
bind: "loopback",
|
|
2838
|
-
// controlUi: { enabled: true, basePath: "/
|
|
2835
|
+
// controlUi: { enabled: true, basePath: "/moltbot" }
|
|
2839
2836
|
// auth: { mode: "token", token: "your-token" } // token gates WS + Control UI access
|
|
2840
2837
|
// tailscale: { mode: "off" | "serve" | "funnel" }
|
|
2841
2838
|
}
|
|
@@ -2844,10 +2841,13 @@ Defaults:
|
|
|
2844
2841
|
|
|
2845
2842
|
Control UI base path:
|
|
2846
2843
|
- `gateway.controlUi.basePath` sets the URL prefix where the Control UI is served.
|
|
2847
|
-
- Examples: `"/ui"`, `"/
|
|
2844
|
+
- Examples: `"/ui"`, `"/moltbot"`, `"/apps/moltbot"`.
|
|
2848
2845
|
- Default: root (`/`) (unchanged).
|
|
2849
|
-
- `gateway.controlUi.allowInsecureAuth` allows token-only auth
|
|
2850
|
-
|
|
2846
|
+
- `gateway.controlUi.allowInsecureAuth` allows token-only auth for the Control UI when
|
|
2847
|
+
device identity is omitted (typically over HTTP). Default: `false`. Prefer HTTPS
|
|
2848
|
+
(Tailscale Serve) or `127.0.0.1`.
|
|
2849
|
+
- `gateway.controlUi.dangerouslyDisableDeviceAuth` disables device identity checks for the
|
|
2850
|
+
Control UI (token/password only). Default: `false`. Break-glass only.
|
|
2851
2851
|
|
|
2852
2852
|
Related docs:
|
|
2853
2853
|
- [Control UI](/web/control-ui)
|
|
@@ -2857,29 +2857,30 @@ Related docs:
|
|
|
2857
2857
|
|
|
2858
2858
|
Trusted proxies:
|
|
2859
2859
|
- `gateway.trustedProxies`: list of reverse proxy IPs that terminate TLS in front of the Gateway.
|
|
2860
|
-
- When a connection comes from one of these IPs,
|
|
2860
|
+
- When a connection comes from one of these IPs, Moltbot uses `x-forwarded-for` (or `x-real-ip`) to determine the client IP for local pairing checks and HTTP auth/local checks.
|
|
2861
2861
|
- Only list proxies you fully control, and ensure they **overwrite** incoming `x-forwarded-for`.
|
|
2862
2862
|
|
|
2863
2863
|
Notes:
|
|
2864
|
-
- `
|
|
2864
|
+
- `moltbot gateway` refuses to start unless `gateway.mode` is set to `local` (or you pass the override flag).
|
|
2865
2865
|
- `gateway.port` controls the single multiplexed port used for WebSocket + HTTP (control UI, hooks, A2UI).
|
|
2866
2866
|
- OpenAI Chat Completions endpoint: **disabled by default**; enable with `gateway.http.endpoints.chatCompletions.enabled: true`.
|
|
2867
|
-
- Precedence: `--port` > `
|
|
2868
|
-
-
|
|
2867
|
+
- Precedence: `--port` > `CLAWDBOT_GATEWAY_PORT` > `gateway.port` > default `18789`.
|
|
2868
|
+
- Gateway auth is required by default (token/password or Tailscale Serve identity). Non-loopback binds require a shared token/password.
|
|
2869
2869
|
- The onboarding wizard generates a gateway token by default (even on loopback).
|
|
2870
2870
|
- `gateway.remote.token` is **only** for remote CLI calls; it does not enable local gateway auth. `gateway.token` is ignored.
|
|
2871
2871
|
|
|
2872
2872
|
Auth and Tailscale:
|
|
2873
|
-
- `gateway.auth.mode` sets the handshake requirements (`token` or `password`).
|
|
2873
|
+
- `gateway.auth.mode` sets the handshake requirements (`token` or `password`). When unset, token auth is assumed.
|
|
2874
2874
|
- `gateway.auth.token` stores the shared token for token auth (used by the CLI on the same machine).
|
|
2875
2875
|
- When `gateway.auth.mode` is set, only that method is accepted (plus optional Tailscale headers).
|
|
2876
|
-
- `gateway.auth.password` can be set here, or via `
|
|
2876
|
+
- `gateway.auth.password` can be set here, or via `CLAWDBOT_GATEWAY_PASSWORD` (recommended).
|
|
2877
2877
|
- `gateway.auth.allowTailscale` allows Tailscale Serve identity headers
|
|
2878
2878
|
(`tailscale-user-login`) to satisfy auth when the request arrives on loopback
|
|
2879
|
-
with `x-forwarded-for`, `x-forwarded-proto`, and `x-forwarded-host`.
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2879
|
+
with `x-forwarded-for`, `x-forwarded-proto`, and `x-forwarded-host`. Moltbot
|
|
2880
|
+
verifies the identity by resolving the `x-forwarded-for` address via
|
|
2881
|
+
`tailscale whois` before accepting it. When `true`, Serve requests do not need
|
|
2882
|
+
a token/password; set `false` to require explicit credentials. Defaults to
|
|
2883
|
+
`true` when `tailscale.mode = "serve"` and auth mode is not `password`.
|
|
2883
2884
|
- `gateway.tailscale.mode: "serve"` uses Tailscale Serve (tailnet only, loopback bind).
|
|
2884
2885
|
- `gateway.tailscale.mode: "funnel"` exposes the dashboard publicly; requires auth.
|
|
2885
2886
|
- `gateway.tailscale.resetOnExit` resets Serve/Funnel config on shutdown.
|
|
@@ -2891,7 +2892,7 @@ Remote client defaults (CLI):
|
|
|
2891
2892
|
- `gateway.remote.password` supplies the password for remote calls (leave unset for no auth).
|
|
2892
2893
|
|
|
2893
2894
|
macOS app behavior:
|
|
2894
|
-
-
|
|
2895
|
+
- Moltbot.app watches `~/.clawdbot/moltbot.json` and switches modes live when `gateway.mode` or `gateway.remote.url` changes.
|
|
2895
2896
|
- If `gateway.mode` is unset but `gateway.remote.url` is set, the macOS app treats it as remote mode.
|
|
2896
2897
|
- When you change connection mode in the macOS app, it writes `gateway.mode` (and `gateway.remote.url` + `gateway.remote.transport` in remote mode) back to the config file.
|
|
2897
2898
|
|
|
@@ -2925,7 +2926,7 @@ Direct transport example (macOS app):
|
|
|
2925
2926
|
|
|
2926
2927
|
### `gateway.reload` (Config hot reload)
|
|
2927
2928
|
|
|
2928
|
-
The Gateway watches `~/.
|
|
2929
|
+
The Gateway watches `~/.clawdbot/moltbot.json` (or `CLAWDBOT_CONFIG_PATH`) and applies changes automatically.
|
|
2929
2930
|
|
|
2930
2931
|
Modes:
|
|
2931
2932
|
- `hybrid` (default): hot-apply safe changes; restart the Gateway for critical changes.
|
|
@@ -2947,7 +2948,7 @@ Modes:
|
|
|
2947
2948
|
#### Hot reload matrix (files + impact)
|
|
2948
2949
|
|
|
2949
2950
|
Files watched:
|
|
2950
|
-
- `~/.
|
|
2951
|
+
- `~/.clawdbot/moltbot.json` (or `CLAWDBOT_CONFIG_PATH`)
|
|
2951
2952
|
|
|
2952
2953
|
Hot-applied (no full gateway restart):
|
|
2953
2954
|
- `hooks` (webhook auth/path/mappings) + `hooks.gmail` (Gmail watcher restarted)
|
|
@@ -2969,23 +2970,23 @@ Requires full Gateway restart:
|
|
|
2969
2970
|
### Multi-instance isolation
|
|
2970
2971
|
|
|
2971
2972
|
To run multiple gateways on one host (for redundancy or a rescue bot), isolate per-instance state + config and use unique ports:
|
|
2972
|
-
- `
|
|
2973
|
-
- `
|
|
2973
|
+
- `CLAWDBOT_CONFIG_PATH` (per-instance config)
|
|
2974
|
+
- `CLAWDBOT_STATE_DIR` (sessions/creds)
|
|
2974
2975
|
- `agents.defaults.workspace` (memories)
|
|
2975
2976
|
- `gateway.port` (unique per instance)
|
|
2976
2977
|
|
|
2977
2978
|
Convenience flags (CLI):
|
|
2978
|
-
- `
|
|
2979
|
-
- `
|
|
2979
|
+
- `moltbot --dev …` → uses `~/.clawdbot-dev` + shifts ports from base `19001`
|
|
2980
|
+
- `moltbot --profile <name> …` → uses `~/.clawdbot-<name>` (port via config/env/flags)
|
|
2980
2981
|
|
|
2981
2982
|
See [Gateway runbook](/gateway) for the derived port mapping (gateway/browser/canvas).
|
|
2982
2983
|
See [Multiple gateways](/gateway/multiple-gateways) for browser/CDP port isolation details.
|
|
2983
2984
|
|
|
2984
2985
|
Example:
|
|
2985
2986
|
```bash
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2987
|
+
CLAWDBOT_CONFIG_PATH=~/.clawdbot/a.json \
|
|
2988
|
+
CLAWDBOT_STATE_DIR=~/.clawdbot-a \
|
|
2989
|
+
moltbot gateway --port 19001
|
|
2989
2990
|
```
|
|
2990
2991
|
|
|
2991
2992
|
### `hooks` (Gateway webhooks)
|
|
@@ -3004,7 +3005,7 @@ Defaults:
|
|
|
3004
3005
|
token: "shared-secret",
|
|
3005
3006
|
path: "/hooks",
|
|
3006
3007
|
presets: ["gmail"],
|
|
3007
|
-
transformsDir: "~/.
|
|
3008
|
+
transformsDir: "~/.clawdbot/hooks",
|
|
3008
3009
|
mappings: [
|
|
3009
3010
|
{
|
|
3010
3011
|
match: { path: "gmail" },
|
|
@@ -3025,7 +3026,7 @@ Defaults:
|
|
|
3025
3026
|
|
|
3026
3027
|
Requests must include the hook token:
|
|
3027
3028
|
- `Authorization: Bearer <token>` **or**
|
|
3028
|
-
- `x-
|
|
3029
|
+
- `x-moltbot-token: <token>` **or**
|
|
3029
3030
|
- `?token=<token>`
|
|
3030
3031
|
|
|
3031
3032
|
Endpoints:
|
|
@@ -3044,13 +3045,13 @@ Mapping notes:
|
|
|
3044
3045
|
- If there is no prior delivery route, set `channel` + `to` explicitly (required for Telegram/Discord/Google Chat/Slack/Signal/iMessage/MS Teams).
|
|
3045
3046
|
- `model` overrides the LLM for this hook run (`provider/model` or alias; must be allowed if `agents.defaults.models` is set).
|
|
3046
3047
|
|
|
3047
|
-
Gmail helper config (used by `
|
|
3048
|
+
Gmail helper config (used by `moltbot webhooks gmail setup` / `run`):
|
|
3048
3049
|
|
|
3049
3050
|
```json5
|
|
3050
3051
|
{
|
|
3051
3052
|
hooks: {
|
|
3052
3053
|
gmail: {
|
|
3053
|
-
account: "
|
|
3054
|
+
account: "moltbot@gmail.com",
|
|
3054
3055
|
topic: "projects/<project-id>/topics/gog-gmail-watch",
|
|
3055
3056
|
subscription: "gog-gmail-watch-push",
|
|
3056
3057
|
pushToken: "shared-push-token",
|
|
@@ -3082,11 +3083,11 @@ Model override for Gmail hooks:
|
|
|
3082
3083
|
Gateway auto-start:
|
|
3083
3084
|
- If `hooks.enabled=true` and `hooks.gmail.account` is set, the Gateway starts
|
|
3084
3085
|
`gog gmail watch serve` on boot and auto-renews the watch.
|
|
3085
|
-
- Set `
|
|
3086
|
+
- Set `CLAWDBOT_SKIP_GMAIL_WATCHER=1` to disable the auto-start (for manual runs).
|
|
3086
3087
|
- Avoid running a separate `gog gmail watch serve` alongside the Gateway; it will
|
|
3087
3088
|
fail with `listen tcp 127.0.0.1:8788: bind: address already in use`.
|
|
3088
3089
|
|
|
3089
|
-
Note: when `tailscale.mode` is on,
|
|
3090
|
+
Note: when `tailscale.mode` is on, Moltbot defaults `serve.path` to `/` so
|
|
3090
3091
|
Tailscale can proxy `/gmail-pubsub` correctly (it strips the set-path prefix).
|
|
3091
3092
|
If you need the backend to receive the prefixed path, set
|
|
3092
3093
|
`hooks.gmail.tailscale.target` to a full URL (and align `serve.path`).
|
|
@@ -3102,9 +3103,9 @@ The server listens on the **gateway bind host** (LAN or Tailnet) so nodes can re
|
|
|
3102
3103
|
The server:
|
|
3103
3104
|
- serves files under `canvasHost.root`
|
|
3104
3105
|
- injects a tiny live-reload client into served HTML
|
|
3105
|
-
- watches the directory and broadcasts reloads over a WebSocket endpoint at `/
|
|
3106
|
+
- watches the directory and broadcasts reloads over a WebSocket endpoint at `/__moltbot/ws`
|
|
3106
3107
|
- auto-creates a starter `index.html` when the directory is empty (so you see something immediately)
|
|
3107
|
-
- also serves A2UI at `/
|
|
3108
|
+
- also serves A2UI at `/__moltbot__/a2ui/` and is advertised to nodes as `canvasHostUrl`
|
|
3108
3109
|
(always used by nodes for Canvas/A2UI)
|
|
3109
3110
|
|
|
3110
3111
|
Disable live reload (and file watching) if the directory is large or you hit `EMFILE`:
|
|
@@ -3124,7 +3125,7 @@ Changes to `canvasHost.*` require a gateway restart (config reload will restart)
|
|
|
3124
3125
|
|
|
3125
3126
|
Disable with:
|
|
3126
3127
|
- config: `canvasHost: { enabled: false }`
|
|
3127
|
-
- env: `
|
|
3128
|
+
- env: `CLAWDBOT_SKIP_CANVAS_HOST=1`
|
|
3128
3129
|
|
|
3129
3130
|
### `bridge` (legacy TCP bridge, removed)
|
|
3130
3131
|
|
|
@@ -3164,26 +3165,40 @@ Auto-generated certs require `openssl` on PATH; if generation fails, the bridge
|
|
|
3164
3165
|
bind: "tailnet",
|
|
3165
3166
|
tls: {
|
|
3166
3167
|
enabled: true,
|
|
3167
|
-
// Uses ~/.
|
|
3168
|
-
// certPath: "~/.
|
|
3169
|
-
// keyPath: "~/.
|
|
3168
|
+
// Uses ~/.clawdbot/bridge/tls/bridge-{cert,key}.pem when omitted.
|
|
3169
|
+
// certPath: "~/.clawdbot/bridge/tls/bridge-cert.pem",
|
|
3170
|
+
// keyPath: "~/.clawdbot/bridge/tls/bridge-key.pem"
|
|
3170
3171
|
}
|
|
3171
3172
|
}
|
|
3172
3173
|
}
|
|
3173
3174
|
```
|
|
3174
3175
|
|
|
3176
|
+
### `discovery.mdns` (Bonjour / mDNS broadcast mode)
|
|
3177
|
+
|
|
3178
|
+
Controls LAN mDNS discovery broadcasts (`_moltbot-gw._tcp`).
|
|
3179
|
+
|
|
3180
|
+
- `minimal` (default): omit `cliPath` + `sshPort` from TXT records
|
|
3181
|
+
- `full`: include `cliPath` + `sshPort` in TXT records
|
|
3182
|
+
- `off`: disable mDNS broadcasts entirely
|
|
3183
|
+
|
|
3184
|
+
```json5
|
|
3185
|
+
{
|
|
3186
|
+
discovery: { mdns: { mode: "minimal" } }
|
|
3187
|
+
}
|
|
3188
|
+
```
|
|
3189
|
+
|
|
3175
3190
|
### `discovery.wideArea` (Wide-Area Bonjour / unicast DNS‑SD)
|
|
3176
3191
|
|
|
3177
|
-
When enabled, the Gateway writes a unicast DNS-SD zone for `
|
|
3192
|
+
When enabled, the Gateway writes a unicast DNS-SD zone for `_moltbot-bridge._tcp` under `~/.clawdbot/dns/` using the standard discovery domain `moltbot.internal.`
|
|
3178
3193
|
|
|
3179
3194
|
To make iOS/Android discover across networks (Vienna ⇄ London), pair this with:
|
|
3180
|
-
- a DNS server on the gateway host serving `
|
|
3181
|
-
- Tailscale **split DNS** so clients resolve `
|
|
3195
|
+
- a DNS server on the gateway host serving `moltbot.internal.` (CoreDNS is recommended)
|
|
3196
|
+
- Tailscale **split DNS** so clients resolve `moltbot.internal` via that server
|
|
3182
3197
|
|
|
3183
3198
|
One-time setup helper (gateway host):
|
|
3184
3199
|
|
|
3185
3200
|
```bash
|
|
3186
|
-
|
|
3201
|
+
moltbot dns setup --apply
|
|
3187
3202
|
```
|
|
3188
3203
|
|
|
3189
3204
|
```json5
|