@gguf/pigbot 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +300 -166
- package/README-header.png +0 -0
- package/assets/chrome-extension/README.md +5 -5
- package/assets/chrome-extension/background.js +5 -5
- package/assets/chrome-extension/manifest.json +3 -3
- package/assets/chrome-extension/options.html +5 -6
- package/assets/chrome-extension/options.js +1 -1
- package/dist/acp/client.js +5 -5
- package/dist/acp/server.js +3 -3
- package/dist/acp/types.js +2 -2
- package/dist/agents/agent-paths.js +6 -6
- package/dist/agents/anthropic-payload-log.js +2 -2
- package/dist/agents/auth-health.js +2 -6
- package/dist/agents/auth-profiles/doctor.js +1 -1
- package/dist/agents/auth-profiles/external-cli-sync.js +5 -150
- package/dist/agents/auth-profiles/oauth.js +26 -7
- package/dist/agents/auth-profiles/paths.js +3 -3
- package/dist/agents/auth-profiles/store.js +5 -13
- package/dist/agents/bash-tools.exec.js +77 -26
- package/dist/agents/bash-tools.shared.js +8 -1
- package/dist/agents/cache-trace.js +5 -5
- package/dist/agents/cli-backends.js +8 -0
- package/dist/agents/cli-runner/helpers.js +3 -3
- package/dist/agents/cli-runner.js +3 -3
- package/dist/agents/compaction.js +3 -0
- package/dist/agents/context.js +4 -4
- package/dist/agents/docs-path.js +3 -3
- package/dist/agents/identity.js +1 -1
- package/dist/agents/live-auth-keys.js +2 -2
- package/dist/agents/memory-search.js +7 -2
- package/dist/agents/minimax-vlm.js +1 -1
- package/dist/agents/model-auth.js +1 -1
- package/dist/agents/model-catalog.js +23 -5
- package/dist/agents/model-fallback.js +22 -0
- package/dist/agents/model-selection.js +9 -2
- package/dist/agents/models-config.js +3 -3
- package/dist/agents/models-config.providers.js +4 -4
- package/dist/agents/{pigbot-tools.js → moltbot-tools.js} +7 -6
- package/dist/agents/pi-embedded-helpers/errors.js +23 -1
- package/dist/agents/pi-embedded-helpers/openai.js +1 -1
- package/dist/agents/pi-embedded-runner/cache-ttl.js +1 -1
- package/dist/agents/pi-embedded-runner/compact.js +8 -8
- package/dist/agents/pi-embedded-runner/extensions.js +5 -0
- package/dist/agents/pi-embedded-runner/model.js +9 -3
- package/dist/agents/pi-embedded-runner/run/attempt.js +10 -6
- package/dist/agents/pi-embedded-runner/run.js +5 -5
- package/dist/agents/pi-embedded-runner/sandbox-info.js +1 -4
- package/dist/agents/pi-embedded-runner/session-manager-cache.js +1 -1
- package/dist/agents/pi-embedded-runner/utils.js +1 -1
- package/dist/agents/pi-embedded-subscribe.raw-stream.js +2 -2
- package/dist/agents/pi-embedded-utils.js +7 -1
- package/dist/agents/pi-extensions/compaction-safeguard-runtime.js +20 -0
- package/dist/agents/pi-extensions/compaction-safeguard.js +32 -3
- package/dist/agents/pi-tools.js +26 -15
- package/dist/agents/pi-tools.policy.js +34 -1
- package/dist/agents/pi-tools.read.js +2 -2
- package/dist/agents/sandbox/browser.js +10 -12
- package/dist/agents/sandbox/config.js +0 -12
- package/dist/agents/sandbox/constants.js +8 -8
- package/dist/agents/sandbox/context.js +3 -3
- package/dist/agents/sandbox/docker.js +8 -8
- package/dist/agents/sandbox/runtime-status.js +1 -1
- package/dist/agents/session-transcript-repair.js +1 -1
- package/dist/agents/session-write-lock.js +68 -0
- package/dist/agents/skills/bundled-dir.js +1 -1
- package/dist/agents/skills/config.js +9 -8
- package/dist/agents/skills/env-overrides.js +1 -1
- package/dist/agents/skills/frontmatter.js +15 -14
- package/dist/agents/skills/workspace.js +7 -7
- package/dist/agents/skills-install.js +1 -1
- package/dist/agents/skills-status.js +12 -12
- package/dist/agents/subagent-registry.store.js +2 -2
- package/dist/agents/system-prompt.js +21 -32
- package/dist/agents/tool-images.js +1 -1
- package/dist/agents/tool-policy.js +8 -2
- package/dist/agents/tools/agents-list-tool.js +3 -1
- package/dist/agents/tools/browser-tool.js +19 -79
- package/dist/agents/tools/browser-tool.schema.js +1 -2
- package/dist/agents/tools/cron-tool.js +44 -1
- package/dist/agents/tools/discord-actions-guild.js +5 -1
- package/dist/agents/tools/image-tool.js +2 -2
- package/dist/agents/tools/message-tool.js +13 -1
- package/dist/agents/tools/sessions-send-helpers.js +17 -2
- package/dist/agents/tools/sessions-spawn-tool.js +1 -1
- package/dist/agents/tools/telegram-actions.js +95 -1
- package/dist/agents/tools/web-fetch.js +123 -103
- package/dist/agents/tools/web-search.js +7 -7
- package/dist/agents/workspace.js +37 -1
- package/dist/auto-reply/chunk.js +71 -26
- package/dist/auto-reply/commands-registry.data.js +73 -22
- package/dist/auto-reply/commands-registry.js +14 -11
- package/dist/auto-reply/heartbeat.js +3 -0
- package/dist/auto-reply/model.js +1 -1
- package/dist/auto-reply/reply/agent-runner-execution.js +21 -3
- package/dist/auto-reply/reply/agent-runner-memory.js +5 -0
- package/dist/auto-reply/reply/bash-command.js +2 -2
- package/dist/auto-reply/reply/block-streaming.js +8 -15
- package/dist/auto-reply/reply/commands-context-report.js +2 -2
- package/dist/auto-reply/reply/commands-info.js +50 -5
- package/dist/auto-reply/reply/commands-plugin.js +4 -2
- package/dist/auto-reply/reply/commands-session.js +4 -4
- package/dist/auto-reply/reply/commands-tts.js +61 -63
- package/dist/auto-reply/reply/directive-handling.shared.js +1 -1
- package/dist/auto-reply/reply/directives.js +12 -1
- package/dist/auto-reply/reply/dispatch-from-config.js +68 -22
- package/dist/auto-reply/reply/followup-runner.js +5 -0
- package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
- package/dist/auto-reply/reply/get-reply-run.js +4 -0
- package/dist/auto-reply/reply/get-reply.js +1 -1
- package/dist/auto-reply/reply/groups.js +1 -1
- package/dist/auto-reply/reply/history.js +23 -0
- package/dist/auto-reply/reply/line-directives.js +294 -0
- package/dist/auto-reply/reply/normalize-reply.js +13 -5
- package/dist/auto-reply/reply/reply-elevated.js +1 -1
- package/dist/auto-reply/reply/reply-payloads.js +2 -1
- package/dist/auto-reply/reply/route-reply.js +1 -1
- package/dist/auto-reply/reply/session-updates.js +6 -1
- package/dist/auto-reply/reply/stage-sandbox-media.js +1 -1
- package/dist/auto-reply/status.js +144 -42
- package/dist/auto-reply/thinking.js +13 -0
- package/dist/browser/bridge-server.js +1 -3
- package/dist/browser/client-actions-core.js +13 -7
- package/dist/browser/client-actions-observe.js +14 -8
- package/dist/browser/client-actions-state.js +21 -15
- package/dist/browser/client-fetch.js +74 -61
- package/dist/browser/client.js +19 -21
- package/dist/browser/config.js +13 -26
- package/dist/browser/constants.js +1 -1
- package/dist/browser/control-service.js +72 -0
- package/dist/browser/extension-relay.js +3 -3
- package/dist/browser/pw-session.js +41 -4
- package/dist/browser/pw-tools-core.downloads.js +1 -1
- package/dist/browser/pw-tools-core.interactions.js +5 -5
- package/dist/browser/pw-tools-core.responses.js +1 -1
- package/dist/browser/routes/agent.act.js +13 -0
- package/dist/browser/routes/agent.debug.js +1 -1
- package/dist/browser/routes/basic.js +0 -1
- package/dist/browser/routes/dispatcher.js +86 -0
- package/dist/browser/server-context.js +3 -3
- package/dist/browser/server.js +7 -9
- package/dist/build-info.json +2 -2
- package/dist/canvas-host/a2ui/.bundle.hash +1 -0
- package/dist/canvas-host/a2ui/a2ui.bundle.js +1620 -1618
- package/dist/canvas-host/a2ui/index.html +28 -28
- package/dist/canvas-host/a2ui.js +27 -21
- package/dist/canvas-host/server.js +67 -33
- package/dist/channels/plugins/actions/discord/handle-action.guild-admin.js +5 -1
- package/dist/channels/plugins/actions/telegram.js +62 -7
- package/dist/channels/plugins/catalog.js +7 -5
- package/dist/channels/plugins/group-mentions.js +48 -1
- package/dist/channels/plugins/helpers.js +2 -2
- package/dist/channels/plugins/message-action-names.js +1 -0
- package/dist/channels/plugins/normalize/imessage.js +36 -0
- package/dist/channels/plugins/onboarding/imessage.js +1 -1
- package/dist/channels/plugins/onboarding/signal.js +2 -2
- package/dist/channels/plugins/onboarding/slack.js +4 -4
- package/dist/channels/plugins/onboarding/telegram.js +17 -9
- package/dist/channels/plugins/onboarding/whatsapp.js +4 -4
- package/dist/channels/plugins/outbound/telegram.js +40 -0
- package/dist/channels/plugins/pairing-message.js +1 -1
- package/dist/channels/plugins/status-issues/bluebubbles.js +1 -1
- package/dist/channels/plugins/status-issues/whatsapp.js +2 -2
- package/dist/channels/registry.js +1 -1
- package/dist/cli/acp-cli.js +2 -2
- package/dist/cli/argv.js +14 -7
- package/dist/cli/banner.js +3 -1
- package/dist/cli/browser-cli-actions-input/register.element.js +72 -44
- package/dist/cli/browser-cli-actions-input/register.files-downloads.js +55 -35
- package/dist/cli/browser-cli-actions-input/register.form-wait-eval.js +41 -28
- package/dist/cli/browser-cli-actions-input/register.navigation.js +23 -14
- package/dist/cli/browser-cli-actions-input/shared.js +10 -3
- package/dist/cli/browser-cli-actions-observe.js +29 -21
- package/dist/cli/browser-cli-debug.js +49 -35
- package/dist/cli/browser-cli-examples.js +29 -29
- package/dist/cli/browser-cli-extension.js +8 -8
- package/dist/cli/browser-cli-inspect.js +23 -17
- package/dist/cli/browser-cli-manage.js +106 -56
- package/dist/cli/browser-cli-shared.js +34 -1
- package/dist/cli/browser-cli-state.cookies-storage.js +53 -39
- package/dist/cli/browser-cli-state.js +90 -64
- package/dist/cli/browser-cli.js +4 -5
- package/dist/cli/channel-options.js +1 -1
- package/dist/cli/channels-cli.js +1 -1
- package/dist/cli/cli-name.js +26 -0
- package/dist/cli/command-format.js +12 -8
- package/dist/cli/config-cli.js +2 -2
- package/dist/cli/cron-cli/register.js +1 -1
- package/dist/cli/daemon-cli/install.js +3 -2
- package/dist/cli/daemon-cli/register.js +1 -1
- package/dist/cli/daemon-cli/shared.js +13 -11
- package/dist/cli/daemon-cli/status.gather.js +2 -2
- package/dist/cli/daemon-cli/status.print.js +8 -8
- package/dist/cli/directory-cli.js +1 -1
- package/dist/cli/dns-cli.js +7 -7
- package/dist/cli/docs-cli.js +2 -2
- package/dist/cli/exec-approvals-cli.js +2 -2
- package/dist/cli/gateway-cli/dev.js +5 -5
- package/dist/cli/gateway-cli/register.js +1 -1
- package/dist/cli/gateway-cli/run.js +19 -16
- package/dist/cli/gateway-cli/shared.js +5 -5
- package/dist/cli/hooks-cli.js +3 -3
- package/dist/cli/logs-cli.js +3 -3
- package/dist/cli/memory-cli.js +1 -1
- package/dist/cli/models-cli.js +2 -2
- package/dist/cli/node-cli/daemon.js +3 -3
- package/dist/cli/node-cli/register.js +1 -1
- package/dist/cli/nodes-camera.js +3 -1
- package/dist/cli/nodes-canvas.js +3 -1
- package/dist/cli/nodes-cli/register.canvas.js +1 -1
- package/dist/cli/nodes-cli/register.js +1 -1
- package/dist/cli/nodes-screen.js +1 -1
- package/dist/cli/pairing-cli.js +3 -3
- package/dist/cli/plugin-registry.js +2 -2
- package/dist/cli/plugins-cli.js +3 -3
- package/dist/cli/profile.js +9 -9
- package/dist/cli/program/config-guard.js +1 -1
- package/dist/cli/program/help.js +15 -16
- package/dist/cli/program/message/register.send.js +2 -1
- package/dist/cli/program/preaction.js +5 -3
- package/dist/cli/program/register.agent.js +12 -12
- package/dist/cli/program/register.configure.js +1 -1
- package/dist/cli/program/register.maintenance.js +4 -4
- package/dist/cli/program/register.message.js +5 -5
- package/dist/cli/program/register.onboard.js +5 -3
- package/dist/cli/program/register.setup.js +2 -2
- package/dist/cli/program/register.status-health-sessions.js +13 -13
- package/dist/cli/program/register.subclis.js +2 -2
- package/dist/cli/route.js +1 -1
- package/dist/cli/run-main.js +11 -4
- package/dist/cli/sandbox-cli.js +19 -19
- package/dist/cli/security-cli.js +18 -8
- package/dist/cli/skills-cli.js +3 -3
- package/dist/cli/system-cli.js +1 -1
- package/dist/cli/tagline.js +2 -2
- package/dist/cli/tui-cli.js +1 -1
- package/dist/cli/update-cli.js +64 -48
- package/dist/cli/webhooks-cli.js +6 -6
- package/dist/commands/agent-via-gateway.js +1 -1
- package/dist/commands/agent.js +2 -1
- package/dist/commands/agents.command-shared.js +1 -1
- package/dist/commands/agents.commands.add.js +2 -3
- package/dist/commands/agents.commands.list.js +1 -1
- package/dist/commands/auth-choice-options.js +4 -54
- package/dist/commands/auth-choice.apply.anthropic.js +6 -109
- package/dist/commands/auth-choice.apply.openai.js +1 -33
- package/dist/commands/auth-choice.apply.plugin-provider.js +2 -2
- package/dist/commands/channels/list.js +2 -2
- package/dist/commands/channels/shared.js +1 -1
- package/dist/commands/channels/status.js +1 -1
- package/dist/commands/chutes-oauth.js +1 -1
- package/dist/commands/configure.channels.js +4 -4
- package/dist/commands/configure.daemon.js +10 -2
- package/dist/commands/configure.gateway-auth.js +1 -8
- package/dist/commands/configure.gateway.js +1 -10
- package/dist/commands/configure.wizard.js +21 -21
- package/dist/commands/daemon-install-helpers.js +10 -3
- package/dist/commands/dashboard.js +2 -2
- package/dist/commands/docs.js +5 -5
- package/dist/commands/doctor-auth.js +122 -3
- package/dist/commands/doctor-config-flow.js +7 -7
- package/dist/commands/doctor-format.js +5 -5
- package/dist/commands/doctor-gateway-daemon-flow.js +5 -4
- package/dist/commands/doctor-gateway-services.js +7 -5
- package/dist/commands/doctor-platform-notes.js +7 -7
- package/dist/commands/doctor-security.js +48 -1
- package/dist/commands/doctor-state-integrity.js +3 -3
- package/dist/commands/doctor-ui.js +2 -2
- package/dist/commands/doctor-update.js +5 -5
- package/dist/commands/doctor-workspace-status.js +2 -2
- package/dist/commands/doctor-workspace.js +4 -4
- package/dist/commands/doctor.js +13 -12
- package/dist/commands/gateway-status/helpers.js +2 -2
- package/dist/commands/gateway-status.js +2 -2
- package/dist/commands/health.js +2 -2
- package/dist/commands/models/auth.js +23 -22
- package/dist/commands/models/list.probe.js +2 -2
- package/dist/commands/models/list.registry.js +4 -4
- package/dist/commands/models/list.status-command.js +8 -9
- package/dist/commands/node-daemon-install-helpers.js +1 -1
- package/dist/commands/onboard-auth.credentials.js +2 -2
- package/dist/commands/onboard-channels.js +3 -3
- package/dist/commands/onboard-helpers.js +4 -4
- package/dist/commands/onboard-hooks.js +4 -4
- package/dist/commands/onboard-non-interactive/local/auth-choice.js +38 -34
- package/dist/commands/onboard-non-interactive/local/daemon-install.js +1 -0
- package/dist/commands/onboard-non-interactive/local/gateway-config.js +7 -4
- package/dist/commands/onboard-non-interactive/local.js +1 -1
- package/dist/commands/onboard-non-interactive/remote.js +1 -1
- package/dist/commands/onboard-non-interactive.js +1 -1
- package/dist/commands/onboard-remote.js +2 -2
- package/dist/commands/onboard-skills.js +2 -2
- package/dist/commands/onboard.js +25 -4
- package/dist/commands/onboarding/plugin-install.js +2 -2
- package/dist/commands/reset.js +3 -3
- package/dist/commands/sandbox-display.js +1 -1
- package/dist/commands/sandbox-explain.js +2 -2
- package/dist/commands/setup.js +2 -2
- package/dist/commands/signal-install.js +2 -2
- package/dist/commands/status-all/diagnosis.js +1 -1
- package/dist/commands/status-all/report-lines.js +1 -1
- package/dist/commands/status-all.js +5 -5
- package/dist/commands/status.command.js +9 -9
- package/dist/commands/status.gateway-probe.js +2 -2
- package/dist/commands/status.scan.js +2 -2
- package/dist/commands/status.update.js +3 -3
- package/dist/commands/uninstall.js +4 -4
- package/dist/compat/legacy-names.js +6 -0
- package/dist/config/config.js +1 -1
- package/dist/config/env-vars.js +21 -0
- package/dist/config/group-policy.js +69 -0
- package/dist/config/io.js +24 -28
- package/dist/config/legacy.migrations.part-3.js +3 -0
- package/dist/config/logging.js +3 -3
- package/dist/config/paths.js +57 -17
- package/dist/config/schema.js +26 -12
- package/dist/config/sessions/store.js +1 -1
- package/dist/config/sessions/transcript.js +1 -1
- package/dist/config/types.clawdbot.js +1 -0
- package/dist/config/types.js +1 -1
- package/dist/config/validation.js +2 -2
- package/dist/config/version.js +4 -4
- package/dist/config/zod-schema.agent-defaults.js +1 -0
- package/dist/config/zod-schema.agent-runtime.js +39 -7
- package/dist/config/zod-schema.hooks.js +2 -0
- package/dist/config/zod-schema.js +10 -3
- package/dist/config/zod-schema.providers-core.js +24 -0
- package/dist/config/zod-schema.providers-whatsapp.js +3 -0
- package/dist/control-ui/assets/index-BAFzd9IE.css +1 -0
- package/dist/control-ui/assets/index-CxUFDXFX.js +3162 -0
- package/dist/control-ui/assets/index-CxUFDXFX.js.map +1 -0
- package/dist/control-ui/index.html +4 -4
- package/dist/cron/isolated-agent/run.js +38 -3
- package/dist/daemon/constants.js +26 -16
- package/dist/daemon/inspect.js +16 -15
- package/dist/daemon/launchd.js +8 -8
- package/dist/daemon/node-service.js +14 -14
- package/dist/daemon/paths.js +3 -3
- package/dist/daemon/program-args.js +1 -1
- package/dist/daemon/schtasks.js +6 -6
- package/dist/daemon/service-env.js +21 -21
- package/dist/daemon/systemd-hints.js +1 -1
- package/dist/daemon/systemd-unit.js +1 -1
- package/dist/daemon/systemd.js +6 -6
- package/dist/discord/monitor/listeners.js +25 -1
- package/dist/discord/monitor/native-command.js +7 -5
- package/dist/discord/monitor/presence-cache.js +38 -0
- package/dist/discord/monitor/provider.js +21 -7
- package/dist/entry.js +7 -7
- package/dist/gateway/auth.js +55 -22
- package/dist/gateway/call.js +2 -2
- package/dist/gateway/control-ui.js +4 -4
- package/dist/gateway/hooks-mapping.js +18 -4
- package/dist/gateway/hooks.js +5 -7
- package/dist/gateway/http-utils.js +3 -5
- package/dist/gateway/net.js +1 -1
- package/dist/gateway/openai-http.js +3 -3
- package/dist/gateway/openresponses-http.js +4 -4
- package/dist/gateway/protocol/client-info.js +5 -5
- package/dist/gateway/protocol/schema/logs-chat.js +1 -1
- package/dist/gateway/server/__tests__/test-utils.js +2 -0
- package/dist/gateway/server/health-state.js +3 -3
- package/dist/gateway/server/hooks.js +1 -0
- package/dist/gateway/server/plugins-http.js +23 -2
- package/dist/gateway/server/ws-connection/message-handler.js +66 -19
- package/dist/gateway/server-browser.js +16 -5
- package/dist/gateway/server-chat.js +28 -2
- package/dist/gateway/server-constants.js +2 -2
- package/dist/gateway/server-cron.js +1 -1
- package/dist/gateway/server-discovery-runtime.js +25 -17
- package/dist/gateway/server-discovery.js +7 -7
- package/dist/gateway/server-http.js +13 -7
- package/dist/gateway/server-methods/agent.js +2 -0
- package/dist/gateway/server-methods/browser.js +204 -0
- package/dist/gateway/server-methods/chat.js +5 -0
- package/dist/gateway/server-methods/config.js +8 -8
- package/dist/gateway/server-methods/logs.js +1 -1
- package/dist/gateway/server-methods/skills.js +3 -3
- package/dist/gateway/server-methods/update.js +2 -2
- package/dist/gateway/server-methods-list.js +1 -0
- package/dist/gateway/server-methods.js +3 -0
- package/dist/gateway/server-plugins.js +2 -2
- package/dist/gateway/server-reload-handlers.js +5 -5
- package/dist/gateway/server-restart-sentinel.js +10 -5
- package/dist/gateway/server-runtime-config.js +7 -4
- package/dist/gateway/server-startup.js +5 -5
- package/dist/gateway/server.impl.js +17 -7
- package/dist/gateway/session-utils.fs.js +1 -1
- package/dist/gateway/session-utils.js +31 -11
- package/dist/gateway/test-helpers.mocks.js +8 -7
- package/dist/gateway/test-helpers.server.js +51 -32
- package/dist/gateway/tools-invoke-http.js +15 -8
- package/dist/hooks/bundled/boot-md/HOOK.md +3 -3
- package/dist/hooks/bundled/command-logger/HOOK.md +12 -12
- package/dist/hooks/bundled/command-logger/handler.js +1 -1
- package/dist/hooks/bundled/session-memory/HOOK.md +4 -4
- package/dist/hooks/bundled/session-memory/handler.js +2 -2
- package/dist/hooks/bundled/soul-evil/HOOK.md +5 -5
- package/dist/hooks/bundled-dir.js +2 -2
- package/dist/hooks/config.js +8 -7
- package/dist/hooks/frontmatter.js +16 -15
- package/dist/hooks/gmail-ops.js +4 -4
- package/dist/hooks/gmail-watcher.js +1 -1
- package/dist/hooks/hooks-status.js +13 -13
- package/dist/hooks/install.js +8 -7
- package/dist/hooks/internal-hooks.js +1 -1
- package/dist/hooks/llm-slug-generator.js +1 -1
- package/dist/hooks/loader.js +3 -3
- package/dist/hooks/plugin-hooks.js +8 -8
- package/dist/hooks/workspace.js +10 -9
- package/dist/imessage/monitor/monitor-provider.js +2 -2
- package/dist/imessage/targets.js +19 -0
- package/dist/index.js +4 -4
- package/dist/infra/agent-events.js +3 -0
- package/dist/infra/bonjour-discovery.js +9 -9
- package/dist/infra/bonjour.js +20 -13
- package/dist/infra/device-identity.js +1 -1
- package/dist/infra/diagnostic-flags.js +66 -0
- package/dist/infra/dotenv.js +1 -1
- package/dist/infra/env.js +22 -0
- package/dist/infra/exec-approvals.js +2 -2
- package/dist/infra/fs-safe.js +76 -0
- package/dist/infra/gateway-lock.js +5 -4
- package/dist/infra/heartbeat-visibility.js +14 -0
- package/dist/infra/heartbeat-wake.js +2 -2
- package/dist/infra/machine-name.js +1 -1
- package/dist/infra/{pigbot-root.js → moltbot-root.js} +3 -2
- package/dist/infra/net/ssrf.js +77 -1
- package/dist/infra/node-shell.js +1 -1
- package/dist/infra/outbound/deliver.js +41 -18
- package/dist/infra/outbound/message-action-runner.js +24 -3
- package/dist/infra/outbound/message-action-spec.js +1 -0
- package/dist/infra/outbound/message.js +1 -0
- package/dist/infra/outbound/outbound-policy.js +4 -1
- package/dist/infra/outbound/outbound-send-service.js +10 -0
- package/dist/infra/outbound/payloads.js +15 -5
- package/dist/infra/outbound/target-resolver.js +53 -14
- package/dist/infra/outbound/targets.js +1 -1
- package/dist/infra/path-env.js +9 -9
- package/dist/infra/ports-format.js +2 -2
- package/dist/infra/ports.js +2 -2
- package/dist/infra/provider-usage.auth.js +2 -4
- package/dist/infra/provider-usage.fetch.claude.js +1 -1
- package/dist/infra/provider-usage.fetch.minimax.js +1 -1
- package/dist/infra/restart-sentinel.js +1 -1
- package/dist/infra/restart.js +4 -4
- package/dist/infra/retry-policy.js +4 -1
- package/dist/infra/runtime-guard.js +2 -2
- package/dist/infra/shell-env.js +4 -4
- package/dist/infra/skills-remote.js +3 -3
- package/dist/infra/state-migrations.js +1 -1
- package/dist/infra/system-presence.js +1 -1
- package/dist/infra/tailscale.js +63 -1
- package/dist/infra/tls/gateway.js +1 -1
- package/dist/infra/unhandled-rejections.js +89 -2
- package/dist/infra/update-check.js +2 -4
- package/dist/infra/update-global.js +5 -5
- package/dist/infra/update-runner.js +32 -8
- package/dist/infra/update-startup.js +3 -3
- package/dist/infra/warnings.js +1 -1
- package/dist/infra/widearea-dns.js +10 -10
- package/dist/line/accounts.js +130 -0
- package/dist/line/auto-reply-delivery.js +102 -0
- package/dist/line/bot-access.js +38 -0
- package/dist/line/bot-handlers.js +258 -0
- package/dist/line/bot-message-context.js +374 -0
- package/dist/line/bot.js +48 -0
- package/dist/line/config-schema.js +47 -0
- package/dist/line/download.js +95 -0
- package/dist/line/flex-templates.js +1264 -0
- package/dist/line/http-registry.js +27 -0
- package/dist/line/index.js +19 -0
- package/dist/line/markdown-to-line.js +346 -0
- package/dist/line/monitor.js +266 -0
- package/dist/line/probe.js +37 -0
- package/dist/line/reply-chunks.js +53 -0
- package/dist/line/rich-menu.js +320 -0
- package/dist/line/send.js +451 -0
- package/dist/line/signature.js +11 -0
- package/dist/line/template-messages.js +258 -0
- package/dist/line/types.js +1 -0
- package/dist/line/webhook.js +71 -0
- package/dist/link-understanding/apply.js +22 -0
- package/dist/link-understanding/defaults.js +2 -0
- package/dist/link-understanding/detect.js +49 -0
- package/dist/link-understanding/format.js +10 -0
- package/dist/link-understanding/index.js +4 -0
- package/dist/link-understanding/runner.js +99 -0
- package/dist/logging/logger.js +4 -4
- package/dist/macos/gateway-daemon.js +7 -7
- package/dist/macos/relay-smoke.js +1 -1
- package/dist/macos/relay.js +6 -6
- package/dist/media/host.js +1 -1
- package/dist/media/image-ops.js +3 -3
- package/dist/media/input-files.js +40 -32
- package/dist/media/server.js +39 -15
- package/dist/media/store.js +72 -52
- package/dist/media-understanding/attachments.js +1 -1
- package/dist/media-understanding/providers/image.js +2 -2
- package/dist/media-understanding/runner.js +69 -1
- package/dist/memory/batch-gemini.js +2 -2
- package/dist/memory/batch-openai.js +1 -1
- package/dist/memory/embeddings-gemini.js +1 -1
- package/dist/memory/embeddings.js +1 -1
- package/dist/node-host/runner.js +64 -60
- package/dist/pairing/pairing-messages.js +2 -2
- package/dist/plugin-sdk/index.js +12 -2
- package/dist/plugins/bundled-dir.js +1 -1
- package/dist/plugins/cli.js +2 -2
- package/dist/plugins/commands.js +1 -1
- package/dist/plugins/discovery.js +6 -5
- package/dist/plugins/http-path.js +10 -0
- package/dist/plugins/http-registry.js +31 -0
- package/dist/plugins/install.js +8 -7
- package/dist/plugins/loader.js +11 -4
- package/dist/plugins/manifest-registry.js +4 -4
- package/dist/plugins/manifest.js +16 -1
- package/dist/plugins/providers.js +2 -2
- package/dist/plugins/registry.js +36 -5
- package/dist/plugins/runtime/index.js +26 -0
- package/dist/plugins/runtime.js +2 -1
- package/dist/plugins/services.js +3 -3
- package/dist/plugins/status.js +2 -2
- package/dist/plugins/tools.js +2 -2
- package/dist/plugins/update.js +3 -3
- package/dist/process/exec.js +11 -7
- package/dist/process/spawn-utils.js +95 -0
- package/dist/providers/qwen-portal-oauth.js +1 -1
- package/dist/routing/session-key.js +17 -12
- package/dist/security/audit-extra.js +120 -70
- package/dist/security/audit-fs.js +78 -0
- package/dist/security/audit.js +145 -87
- package/dist/security/external-content.js +143 -0
- package/dist/security/fix.js +93 -8
- package/dist/security/windows-acl.js +162 -0
- package/dist/shared/text/reasoning-tags.js +48 -0
- package/dist/slack/monitor/media.js +32 -4
- package/dist/slack/monitor/message-handler/dispatch.js +2 -1
- package/dist/slack/monitor/slash.js +3 -3
- package/dist/slack/monitor.test-helpers.js +1 -1
- package/dist/telegram/accounts.js +1 -1
- package/dist/telegram/api-logging.js +24 -0
- package/dist/telegram/bot/delivery.js +218 -28
- package/dist/telegram/bot/helpers.js +29 -19
- package/dist/telegram/bot-handlers.js +70 -8
- package/dist/telegram/bot-message-context.js +83 -22
- package/dist/telegram/bot-message-dispatch.js +69 -0
- package/dist/telegram/bot-native-commands.js +245 -94
- package/dist/telegram/bot.js +18 -2
- package/dist/telegram/fetch.js +25 -1
- package/dist/telegram/monitor.js +11 -3
- package/dist/telegram/network-config.js +23 -0
- package/dist/telegram/network-errors.js +103 -0
- package/dist/telegram/send.js +229 -41
- package/dist/telegram/sticker-cache.js +202 -0
- package/dist/telegram/webhook-set.js +13 -6
- package/dist/telegram/webhook.js +8 -3
- package/dist/terminal/links.js +1 -1
- package/dist/tts/tts.js +128 -25
- package/dist/tui/components/filterable-select-list.js +1 -1
- package/dist/tui/components/searchable-select-list.js +2 -1
- package/dist/tui/gateway-chat.js +3 -3
- package/dist/tui/tui.js +1 -1
- package/dist/utils.js +3 -3
- package/dist/version.js +3 -3
- package/dist/web/active-listener.js +1 -1
- package/dist/web/auth-store.js +1 -1
- package/dist/web/auto-reply/monitor/process-message.js +1 -1
- package/dist/web/auto-reply/monitor.js +1 -1
- package/dist/web/login.js +1 -1
- package/dist/web/session.js +2 -2
- package/dist/wizard/onboarding.finalize.js +22 -21
- package/dist/wizard/onboarding.gateway-config.js +1 -11
- package/dist/wizard/onboarding.js +24 -13
- package/docs/CNAME +1 -1
- package/docs/_config.yml +2 -2
- package/docs/_layouts/default.html +9 -9
- package/docs/assets/terminal.css +3 -0
- package/docs/assets/theme.js +1 -1
- package/docs/automation/auth-monitoring.md +7 -7
- package/docs/automation/cron-jobs.md +19 -19
- package/docs/automation/cron-vs-heartbeat.md +8 -8
- package/docs/automation/gmail-pubsub.md +27 -25
- package/docs/automation/poll.md +7 -7
- package/docs/automation/webhook.md +13 -8
- package/docs/bedrock.md +10 -10
- package/docs/brave-search.md +1 -1
- package/docs/broadcast-groups.md +4 -4
- package/docs/channels/bluebubbles.md +14 -12
- package/docs/channels/discord.md +23 -18
- package/docs/channels/googlechat.md +16 -16
- package/docs/channels/grammy.md +1 -1
- package/docs/channels/imessage.md +14 -14
- package/docs/channels/index.md +6 -4
- package/docs/channels/line.md +183 -0
- package/docs/channels/location.md +1 -1
- package/docs/channels/matrix.md +16 -16
- package/docs/channels/mattermost.md +8 -8
- package/docs/channels/msteams.md +31 -27
- package/docs/channels/nextcloud-talk.md +8 -8
- package/docs/channels/nostr.md +9 -9
- package/docs/channels/signal.md +11 -11
- package/docs/channels/slack.md +31 -29
- package/docs/channels/telegram.md +152 -22
- package/docs/channels/tlon.md +5 -5
- package/docs/channels/troubleshooting.md +2 -2
- package/docs/channels/twitch.md +366 -0
- package/docs/channels/whatsapp.md +26 -26
- package/docs/channels/zalo.md +8 -8
- package/docs/channels/zalouser.md +12 -12
- package/docs/cli/acp.md +24 -24
- package/docs/cli/agent.md +6 -6
- package/docs/cli/agents.md +9 -9
- package/docs/cli/approvals.md +14 -14
- package/docs/cli/browser.md +33 -35
- package/docs/cli/channels.md +21 -21
- package/docs/cli/config.md +15 -15
- package/docs/cli/configure.md +6 -6
- package/docs/cli/cron.md +5 -5
- package/docs/cli/dashboard.md +4 -4
- package/docs/cli/devices.md +13 -13
- package/docs/cli/directory.md +12 -12
- package/docs/cli/dns.md +5 -5
- package/docs/cli/docs.md +5 -5
- package/docs/cli/doctor.md +11 -11
- package/docs/cli/gateway.md +26 -26
- package/docs/cli/health.md +5 -5
- package/docs/cli/hooks.md +34 -34
- package/docs/cli/index.md +46 -52
- package/docs/cli/logs.md +6 -6
- package/docs/cli/memory.md +11 -11
- package/docs/cli/message.md +11 -11
- package/docs/cli/models.md +17 -17
- package/docs/cli/node.md +14 -14
- package/docs/cli/nodes.md +14 -14
- package/docs/cli/onboard.md +7 -6
- package/docs/cli/pairing.md +4 -4
- package/docs/cli/plugins.md +16 -16
- package/docs/cli/reset.md +5 -5
- package/docs/cli/sandbox.md +28 -28
- package/docs/cli/security.md +5 -5
- package/docs/cli/sessions.md +5 -5
- package/docs/cli/setup.md +6 -6
- package/docs/cli/skills.md +6 -6
- package/docs/cli/status.md +7 -7
- package/docs/cli/system.md +6 -6
- package/docs/cli/tui.md +5 -5
- package/docs/cli/uninstall.md +5 -5
- package/docs/cli/update.md +20 -20
- package/docs/cli/voicecall.md +9 -9
- package/docs/cli/webhooks.md +5 -5
- package/docs/concepts/agent-loop.md +5 -5
- package/docs/concepts/agent-workspace.md +21 -21
- package/docs/concepts/agent.md +12 -12
- package/docs/concepts/architecture.md +2 -2
- package/docs/concepts/channel-routing.md +4 -4
- package/docs/concepts/compaction.md +5 -5
- package/docs/concepts/context.md +6 -6
- package/docs/concepts/group-messages.md +6 -6
- package/docs/concepts/groups.md +41 -5
- package/docs/concepts/markdown-formatting.md +3 -3
- package/docs/concepts/memory.md +14 -14
- package/docs/concepts/messages.md +4 -4
- package/docs/concepts/model-failover.md +14 -14
- package/docs/concepts/model-providers.md +22 -22
- package/docs/concepts/models.md +27 -27
- package/docs/concepts/multi-agent.md +19 -19
- package/docs/concepts/oauth.md +32 -59
- package/docs/concepts/presence.md +2 -2
- package/docs/concepts/retry.md +1 -1
- package/docs/concepts/session-pruning.md +1 -1
- package/docs/concepts/session-tool.md +4 -4
- package/docs/concepts/session.md +14 -14
- package/docs/concepts/streaming.md +4 -4
- package/docs/concepts/system-prompt.md +11 -11
- package/docs/concepts/timezone.md +2 -2
- package/docs/concepts/typebox.md +3 -3
- package/docs/concepts/typing-indicators.md +2 -2
- package/docs/concepts/usage-tracking.md +3 -3
- package/docs/date-time.md +2 -2
- package/docs/debug/node-issue.md +4 -4
- package/docs/debugging.md +18 -18
- package/docs/diagnostics/flags.md +89 -0
- package/docs/docs.json +37 -7
- package/docs/environment.md +7 -7
- package/docs/experiments/plans/cron-add-hardening.md +1 -1
- package/docs/experiments/plans/openresponses-gateway.md +2 -2
- package/docs/experiments/research/memory.md +6 -6
- package/docs/gateway/authentication.md +33 -57
- package/docs/gateway/background-process.md +2 -2
- package/docs/gateway/bonjour.md +25 -25
- package/docs/gateway/bridge-protocol.md +2 -2
- package/docs/gateway/cli-backends.md +13 -12
- package/docs/gateway/configuration-examples.md +14 -14
- package/docs/gateway/configuration.md +160 -145
- package/docs/gateway/discovery.md +10 -10
- package/docs/gateway/doctor.md +27 -27
- package/docs/gateway/gateway-lock.md +1 -1
- package/docs/gateway/health.md +11 -11
- package/docs/gateway/heartbeat.md +5 -5
- package/docs/gateway/index.md +65 -65
- package/docs/gateway/local-models.md +2 -2
- package/docs/gateway/logging.md +8 -8
- package/docs/gateway/multiple-gateways.md +27 -27
- package/docs/gateway/openai-http-api.md +12 -12
- package/docs/gateway/openresponses-http-api.md +12 -12
- package/docs/gateway/pairing.md +9 -9
- package/docs/gateway/protocol.md +6 -5
- package/docs/gateway/remote-gateway-readme.md +16 -14
- package/docs/gateway/remote.md +5 -5
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +10 -7
- package/docs/gateway/sandboxing.md +8 -6
- package/docs/gateway/security/formal-verification.md +107 -0
- package/docs/gateway/{security.md → security/index.md} +172 -75
- package/docs/gateway/tailscale.md +19 -38
- package/docs/gateway/tools-invoke-http-api.md +5 -5
- package/docs/gateway/troubleshooting.md +114 -119
- package/docs/help/faq.md +369 -355
- package/docs/help/troubleshooting.md +16 -16
- package/docs/hooks/soul-evil.md +2 -2
- package/docs/hooks.md +60 -60
- package/docs/index.md +35 -35
- package/docs/install/ansible.md +35 -35
- package/docs/install/development-channels.md +10 -10
- package/docs/install/docker.md +44 -44
- package/docs/install/index.md +34 -33
- package/docs/install/installer.md +24 -24
- package/docs/install/migrating.md +190 -0
- package/docs/install/nix.md +18 -18
- package/docs/install/node.md +7 -6
- package/docs/install/uninstall.md +30 -30
- package/docs/install/updating.md +50 -49
- package/docs/logging.md +82 -58
- package/docs/multi-agent-sandbox-tools.md +7 -7
- package/docs/network.md +1 -1
- package/docs/nodes/audio.md +2 -2
- package/docs/nodes/camera.md +18 -18
- package/docs/nodes/images.md +4 -4
- package/docs/nodes/index.md +57 -57
- package/docs/nodes/location-command.md +2 -2
- package/docs/nodes/media-understanding.md +5 -5
- package/docs/nodes/talk.md +1 -1
- package/docs/nodes/voicewake.md +2 -2
- package/docs/northflank.mdx +53 -0
- package/docs/perplexity.md +2 -2
- package/docs/platforms/android.md +13 -13
- package/docs/platforms/digitalocean.md +243 -0
- package/docs/platforms/exe-dev.md +25 -25
- package/docs/platforms/fly.md +149 -24
- package/docs/platforms/gcp.md +498 -0
- package/docs/platforms/hetzner.md +42 -42
- package/docs/platforms/index.md +9 -9
- package/docs/platforms/ios.md +13 -13
- package/docs/platforms/linux.md +11 -11
- package/docs/platforms/mac/bundled-gateway.md +16 -16
- package/docs/platforms/mac/canvas.md +14 -14
- package/docs/platforms/mac/child-process.md +9 -9
- package/docs/platforms/mac/dev-setup.md +11 -11
- package/docs/platforms/mac/health.md +2 -2
- package/docs/platforms/mac/icon.md +1 -1
- package/docs/platforms/mac/logging.md +7 -7
- package/docs/platforms/mac/menu-bar.md +1 -1
- package/docs/platforms/mac/peekaboo.md +9 -9
- package/docs/platforms/mac/permissions.md +3 -3
- package/docs/platforms/mac/release.md +20 -20
- package/docs/platforms/mac/remote.md +14 -14
- package/docs/platforms/mac/signing.md +7 -7
- package/docs/platforms/mac/skills.md +4 -4
- package/docs/platforms/mac/voice-overlay.md +2 -2
- package/docs/platforms/mac/webchat.md +2 -2
- package/docs/platforms/mac/xpc.md +4 -4
- package/docs/platforms/macos-vm.md +27 -27
- package/docs/platforms/macos.md +20 -20
- package/docs/platforms/oracle.md +291 -0
- package/docs/platforms/raspberry-pi.md +354 -0
- package/docs/platforms/windows.md +11 -11
- package/docs/plugin.md +80 -64
- package/docs/plugins/agent-tools.md +1 -1
- package/docs/plugins/manifest.md +4 -4
- package/docs/plugins/voice-call.md +96 -12
- package/docs/plugins/zalouser.md +9 -9
- package/docs/prose.md +9 -9
- package/docs/providers/anthropic.md +23 -27
- package/docs/providers/claude-max-api-proxy.md +145 -0
- package/docs/providers/deepgram.md +2 -2
- package/docs/providers/github-copilot.md +11 -11
- package/docs/providers/glm.md +4 -4
- package/docs/providers/index.md +7 -3
- package/docs/providers/minimax.md +9 -9
- package/docs/providers/models.md +3 -3
- package/docs/providers/moonshot.md +2 -2
- package/docs/providers/ollama.md +11 -11
- package/docs/providers/openai.md +9 -13
- package/docs/providers/opencode.md +3 -3
- package/docs/providers/openrouter.md +3 -3
- package/docs/providers/qwen.md +6 -6
- package/docs/providers/synthetic.md +4 -4
- package/docs/providers/venice.md +21 -21
- package/docs/providers/vercel-ai-gateway.md +5 -4
- package/docs/providers/zai.md +5 -5
- package/docs/railway.mdx +9 -7
- package/docs/refactor/exec-host.md +5 -5
- package/docs/refactor/plugin-sdk.md +12 -12
- package/docs/refactor/strict-config.md +11 -11
- package/docs/reference/AGENTS.default.md +10 -10
- package/docs/reference/RELEASING.md +29 -29
- package/docs/reference/api-usage-costs.md +6 -6
- package/docs/reference/device-models.md +7 -7
- package/docs/reference/rpc.md +3 -3
- package/docs/reference/session-management-compaction.md +19 -19
- package/docs/reference/templates/AGENTS.dev.md +1 -1
- package/docs/reference/templates/BOOT.md +1 -1
- package/docs/reference/templates/IDENTITY.md +27 -0
- package/docs/reference/templates/TOOLS.dev.md +1 -1
- package/docs/reference/templates/USER.dev.md +2 -2
- package/docs/reference/templates/USER.md +22 -0
- package/docs/reference/test.md +2 -2
- package/docs/reference/transcript-hygiene.md +1 -1
- package/docs/render.mdx +158 -0
- package/docs/scripts.md +1 -1
- package/docs/security/formal-verification.md +107 -0
- package/docs/start/clawd.md +29 -29
- package/docs/start/getting-started.md +31 -25
- package/docs/start/hubs.md +2 -2
- package/docs/start/lore.md +74 -38
- package/docs/start/onboarding.md +7 -7
- package/docs/start/pairing.md +10 -10
- package/docs/start/setup.md +30 -17
- package/docs/start/showcase.md +32 -32
- package/docs/start/wizard.md +29 -26
- package/docs/testing.md +56 -56
- package/docs/token-use.md +7 -7
- package/docs/tools/agent-send.md +10 -10
- package/docs/tools/browser-linux-troubleshooting.md +10 -10
- package/docs/tools/browser-login.md +4 -4
- package/docs/tools/browser.md +136 -242
- package/docs/tools/chrome-extension.md +31 -48
- package/docs/tools/clawdhub.md +7 -7
- package/docs/tools/creating-skills.md +41 -0
- package/docs/tools/elevated.md +1 -0
- package/docs/tools/exec-approvals.md +8 -5
- package/docs/tools/exec.md +15 -4
- package/docs/tools/firecrawl.md +2 -2
- package/docs/tools/index.md +18 -15
- package/docs/tools/llm-task.md +1 -1
- package/docs/tools/lobster.md +23 -11
- package/docs/tools/skills-config.md +2 -2
- package/docs/tools/skills.md +39 -31
- package/docs/tools/slash-commands.md +10 -8
- package/docs/tools/web.md +8 -8
- package/docs/tts.md +11 -11
- package/docs/tui.md +7 -7
- package/docs/vps.md +6 -1
- package/docs/web/control-ui.md +15 -14
- package/docs/web/dashboard.md +10 -6
- package/docs/web/index.md +7 -6
- package/docs/web/webchat.md +1 -1
- package/extensions/bluebubbles/index.ts +3 -3
- package/extensions/bluebubbles/package.json +5 -5
- package/extensions/bluebubbles/src/accounts.ts +9 -9
- package/extensions/bluebubbles/src/actions.test.ts +22 -22
- package/extensions/bluebubbles/src/actions.ts +6 -6
- package/extensions/bluebubbles/src/attachments.ts +2 -2
- package/extensions/bluebubbles/src/channel.ts +71 -17
- package/extensions/bluebubbles/src/chat.ts +2 -2
- package/extensions/bluebubbles/src/config-schema.ts +1 -1
- package/extensions/bluebubbles/src/media-send.ts +2 -2
- package/extensions/bluebubbles/src/monitor.test.ts +56 -50
- package/extensions/bluebubbles/src/monitor.ts +181 -6
- package/extensions/bluebubbles/src/onboarding.ts +9 -9
- package/extensions/bluebubbles/src/reactions.ts +2 -2
- package/extensions/bluebubbles/src/runtime.ts +1 -1
- package/extensions/bluebubbles/src/send.test.ts +94 -2
- package/extensions/bluebubbles/src/send.ts +73 -7
- package/extensions/copilot-proxy/README.md +3 -3
- package/extensions/copilot-proxy/index.ts +1 -1
- package/extensions/copilot-proxy/package.json +4 -4
- package/extensions/diagnostics-otel/index.ts +3 -3
- package/extensions/diagnostics-otel/package.json +4 -4
- package/extensions/diagnostics-otel/src/service.test.ts +15 -15
- package/extensions/diagnostics-otel/src/service.ts +85 -85
- package/extensions/discord/index.ts +3 -3
- package/extensions/discord/package.json +4 -4
- package/extensions/discord/src/channel.ts +1 -1
- package/extensions/discord/src/runtime.ts +1 -1
- package/extensions/google-antigravity-auth/README.md +3 -3
- package/extensions/google-antigravity-auth/index.ts +9 -2
- package/extensions/google-antigravity-auth/package.json +4 -4
- package/extensions/google-gemini-cli-auth/README.md +17 -6
- package/extensions/google-gemini-cli-auth/index.ts +3 -3
- package/extensions/google-gemini-cli-auth/oauth.test.ts +228 -0
- package/extensions/google-gemini-cli-auth/oauth.ts +96 -12
- package/extensions/google-gemini-cli-auth/package.json +4 -4
- package/extensions/googlechat/index.ts +4 -4
- package/extensions/googlechat/package.json +7 -7
- package/extensions/googlechat/src/accounts.ts +9 -9
- package/extensions/googlechat/src/actions.ts +8 -8
- package/extensions/googlechat/src/api.ts +1 -1
- package/extensions/googlechat/src/channel.ts +23 -23
- package/extensions/googlechat/src/monitor.ts +9 -9
- package/extensions/googlechat/src/onboarding.ts +11 -11
- package/extensions/googlechat/src/runtime.ts +1 -1
- package/extensions/googlechat/src/types.config.ts +1 -1
- package/extensions/imessage/index.ts +3 -3
- package/extensions/imessage/package.json +4 -4
- package/extensions/imessage/src/channel.ts +5 -8
- package/extensions/imessage/src/runtime.ts +1 -1
- package/extensions/line/clawdbot.plugin.json +11 -0
- package/extensions/line/index.ts +20 -0
- package/extensions/line/package.json +29 -0
- package/extensions/line/src/card-command.ts +338 -0
- package/extensions/line/src/channel.logout.test.ts +96 -0
- package/extensions/line/src/channel.sendPayload.test.ts +308 -0
- package/extensions/line/src/channel.ts +773 -0
- package/extensions/line/src/runtime.ts +14 -0
- package/extensions/llm-task/README.md +4 -4
- package/extensions/llm-task/index.ts +2 -2
- package/extensions/llm-task/package.json +4 -4
- package/extensions/llm-task/src/llm-task-tool.ts +5 -5
- package/extensions/lobster/README.md +6 -6
- package/extensions/lobster/index.ts +2 -2
- package/extensions/lobster/package.json +3 -3
- package/extensions/lobster/src/lobster-tool.test.ts +26 -6
- package/extensions/lobster/src/lobster-tool.ts +24 -6
- package/extensions/matrix/CHANGELOG.md +9 -9
- package/extensions/matrix/index.ts +3 -3
- package/extensions/matrix/node_modules/.bin/markdown-it +2 -2
- package/extensions/matrix/node_modules/.bin/markdown-it.CMD +2 -2
- package/extensions/matrix/node_modules/.bin/markdown-it.ps1 +2 -2
- package/extensions/matrix/package.json +7 -7
- package/extensions/matrix/src/actions.ts +1 -1
- package/extensions/matrix/src/channel.directory.test.ts +1 -1
- package/extensions/matrix/src/channel.ts +1 -1
- package/extensions/matrix/src/config-schema.ts +1 -1
- package/extensions/matrix/src/directory-live.ts +1 -1
- package/extensions/matrix/src/group-mentions.ts +1 -1
- package/extensions/matrix/src/matrix/accounts.ts +1 -1
- package/extensions/matrix/src/matrix/actions/client.ts +1 -1
- package/extensions/matrix/src/matrix/actions/messages.ts +1 -1
- package/extensions/matrix/src/matrix/actions/reactions.ts +1 -1
- package/extensions/matrix/src/matrix/actions/room.ts +3 -3
- package/extensions/matrix/src/matrix/actions/summary.ts +1 -1
- package/extensions/matrix/src/matrix/actions/types.ts +1 -1
- package/extensions/matrix/src/matrix/active-client.ts +1 -1
- package/extensions/matrix/src/matrix/client/config.ts +2 -2
- package/extensions/matrix/src/matrix/client/create-client.ts +2 -2
- package/extensions/matrix/src/matrix/client/logging.ts +1 -1
- package/extensions/matrix/src/matrix/client/shared.ts +3 -3
- package/extensions/matrix/src/matrix/deps.ts +5 -5
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +4 -4
- package/extensions/matrix/src/matrix/monitor/direct.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/events.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/handler.ts +15 -11
- package/extensions/matrix/src/matrix/monitor/index.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/location.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/media.test.ts +41 -5
- package/extensions/matrix/src/matrix/monitor/media.ts +17 -14
- package/extensions/matrix/src/matrix/monitor/replies.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/room-info.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/rooms.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/threads.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/types.ts +2 -1
- package/extensions/matrix/src/matrix/poll-types.ts +1 -1
- package/extensions/matrix/src/matrix/probe.ts +1 -1
- package/extensions/matrix/src/matrix/send/client.ts +3 -3
- package/extensions/matrix/src/matrix/send/media.ts +1 -1
- package/extensions/matrix/src/matrix/send/targets.test.ts +1 -1
- package/extensions/matrix/src/matrix/send/targets.ts +1 -1
- package/extensions/matrix/src/matrix/send/types.ts +2 -2
- package/extensions/matrix/src/matrix/send.test.ts +3 -3
- package/extensions/matrix/src/matrix/send.ts +4 -4
- package/extensions/matrix/src/onboarding.ts +3 -3
- package/extensions/matrix/src/outbound.ts +1 -1
- package/extensions/matrix/src/resolve-targets.ts +1 -1
- package/extensions/matrix/src/runtime.ts +1 -1
- package/extensions/matrix/src/tool-actions.ts +1 -1
- package/extensions/matrix/src/types.ts +1 -1
- package/extensions/mattermost/index.ts +3 -3
- package/extensions/mattermost/package.json +5 -5
- package/extensions/mattermost/src/channel.ts +1 -1
- package/extensions/mattermost/src/config-schema.ts +1 -1
- package/extensions/mattermost/src/group-mentions.ts +2 -2
- package/extensions/mattermost/src/mattermost/accounts.ts +10 -10
- package/extensions/mattermost/src/mattermost/client.ts +1 -1
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +6 -6
- package/extensions/mattermost/src/mattermost/monitor.ts +4 -4
- package/extensions/mattermost/src/mattermost/probe.ts +1 -1
- package/extensions/mattermost/src/onboarding-helpers.ts +5 -5
- package/extensions/mattermost/src/onboarding.ts +5 -5
- package/extensions/mattermost/src/runtime.ts +1 -1
- package/extensions/mattermost/src/types.ts +1 -1
- package/extensions/memory-core/index.ts +3 -3
- package/extensions/memory-core/package.json +9 -6
- package/extensions/memory-lancedb/{pigbot.plugin.json → clawdbot.plugin.json} +1 -1
- package/extensions/memory-lancedb/config.ts +2 -2
- package/extensions/memory-lancedb/index.test.ts +3 -3
- package/extensions/memory-lancedb/index.ts +4 -4
- package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai.CMD +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai.ps1 +2 -2
- package/extensions/memory-lancedb/package.json +4 -4
- package/extensions/msteams/CHANGELOG.md +7 -7
- package/extensions/msteams/index.ts +3 -3
- package/extensions/msteams/package.json +6 -6
- package/extensions/msteams/src/attachments.test.ts +1 -1
- package/extensions/msteams/src/channel.directory.test.ts +2 -2
- package/extensions/msteams/src/channel.ts +3 -3
- package/extensions/msteams/src/conversation-store-fs.test.ts +5 -5
- package/extensions/msteams/src/directory-live.ts +1 -1
- package/extensions/msteams/src/graph-upload.ts +4 -4
- package/extensions/msteams/src/media-helpers.ts +1 -1
- package/extensions/msteams/src/messenger.test.ts +1 -1
- package/extensions/msteams/src/messenger.ts +1 -1
- package/extensions/msteams/src/monitor-handler/message-handler.ts +1 -1
- package/extensions/msteams/src/monitor-handler.ts +2 -2
- package/extensions/msteams/src/monitor.ts +3 -3
- package/extensions/msteams/src/onboarding.ts +11 -11
- package/extensions/msteams/src/outbound.ts +1 -1
- package/extensions/msteams/src/policy.test.ts +1 -1
- package/extensions/msteams/src/policy.ts +50 -5
- package/extensions/msteams/src/polls-store.test.ts +1 -1
- package/extensions/msteams/src/polls.test.ts +5 -5
- package/extensions/msteams/src/polls.ts +8 -8
- package/extensions/msteams/src/probe.test.ts +1 -1
- package/extensions/msteams/src/probe.ts +1 -1
- package/extensions/msteams/src/reply-dispatcher.ts +36 -36
- package/extensions/msteams/src/runtime.ts +1 -1
- package/extensions/msteams/src/send-context.ts +2 -2
- package/extensions/msteams/src/send.ts +5 -5
- package/extensions/msteams/src/token.ts +1 -1
- package/extensions/nextcloud-talk/index.ts +3 -3
- package/extensions/nextcloud-talk/package.json +5 -5
- package/extensions/nextcloud-talk/src/accounts.ts +2 -2
- package/extensions/nextcloud-talk/src/channel.ts +8 -8
- package/extensions/nextcloud-talk/src/config-schema.ts +1 -1
- package/extensions/nextcloud-talk/src/inbound.ts +8 -8
- package/extensions/nextcloud-talk/src/monitor.ts +1 -1
- package/extensions/nextcloud-talk/src/onboarding.ts +2 -2
- package/extensions/nextcloud-talk/src/policy.ts +2 -2
- package/extensions/nextcloud-talk/src/room-info.ts +1 -1
- package/extensions/nextcloud-talk/src/runtime.ts +1 -1
- package/extensions/nextcloud-talk/src/types.ts +1 -1
- package/extensions/nostr/CHANGELOG.md +4 -4
- package/extensions/nostr/README.md +5 -5
- package/extensions/nostr/index.ts +6 -6
- package/extensions/nostr/package.json +6 -6
- package/extensions/nostr/src/channel.ts +2 -2
- package/extensions/nostr/src/config-schema.ts +1 -1
- package/extensions/nostr/src/nostr-state-store.test.ts +8 -8
- package/extensions/nostr/src/runtime.ts +1 -1
- package/extensions/nostr/src/types.ts +4 -4
- package/extensions/open-prose/index.ts +2 -2
- package/extensions/open-prose/package.json +3 -3
- package/extensions/open-prose/skills/prose/SKILL.md +5 -5
- package/extensions/open-prose/skills/prose/examples/28-automated-pr-review.prose +2 -2
- package/extensions/open-prose/skills/prose/prose.md +4 -4
- package/extensions/qwen-portal-auth/README.md +3 -3
- package/extensions/qwen-portal-auth/index.ts +1 -1
- package/extensions/signal/index.ts +3 -3
- package/extensions/signal/package.json +4 -4
- package/extensions/signal/src/channel.ts +1 -1
- package/extensions/signal/src/runtime.ts +1 -1
- package/extensions/slack/index.ts +3 -3
- package/extensions/slack/package.json +4 -4
- package/extensions/slack/src/channel.ts +1 -1
- package/extensions/slack/src/runtime.ts +1 -1
- package/extensions/telegram/index.ts +3 -3
- package/extensions/telegram/package.json +4 -4
- package/extensions/telegram/src/channel.ts +3 -3
- package/extensions/telegram/src/runtime.ts +1 -1
- package/extensions/tlon/README.md +3 -3
- package/extensions/tlon/index.ts +3 -3
- package/extensions/tlon/package.json +5 -5
- package/extensions/tlon/src/channel.ts +15 -15
- package/extensions/tlon/src/config-schema.ts +1 -1
- package/extensions/tlon/src/monitor/discovery.ts +1 -1
- package/extensions/tlon/src/monitor/history.ts +1 -1
- package/extensions/tlon/src/monitor/index.ts +3 -3
- package/extensions/tlon/src/onboarding.ts +4 -4
- package/extensions/tlon/src/runtime.ts +1 -1
- package/extensions/tlon/src/types.ts +3 -3
- package/extensions/tlon/src/urbit/send.ts +19 -6
- package/extensions/twitch/CHANGELOG.md +21 -0
- package/extensions/twitch/README.md +89 -0
- package/extensions/twitch/clawdbot.plugin.json +9 -0
- package/extensions/twitch/index.ts +20 -0
- package/extensions/twitch/package.json +20 -0
- package/extensions/twitch/src/access-control.test.ts +489 -0
- package/extensions/twitch/src/access-control.ts +154 -0
- package/extensions/twitch/src/actions.ts +173 -0
- package/extensions/twitch/src/client-manager-registry.ts +115 -0
- package/extensions/twitch/src/config-schema.ts +82 -0
- package/extensions/twitch/src/config.test.ts +88 -0
- package/extensions/twitch/src/config.ts +116 -0
- package/extensions/twitch/src/monitor.ts +257 -0
- package/extensions/twitch/src/onboarding.test.ts +311 -0
- package/extensions/twitch/src/onboarding.ts +411 -0
- package/extensions/twitch/src/outbound.test.ts +373 -0
- package/extensions/twitch/src/outbound.ts +186 -0
- package/extensions/twitch/src/plugin.test.ts +39 -0
- package/extensions/twitch/src/plugin.ts +274 -0
- package/extensions/twitch/src/probe.test.ts +198 -0
- package/extensions/twitch/src/probe.ts +118 -0
- package/extensions/twitch/src/resolver.ts +137 -0
- package/extensions/twitch/src/runtime.ts +14 -0
- package/extensions/twitch/src/send.test.ts +289 -0
- package/extensions/twitch/src/send.ts +136 -0
- package/extensions/twitch/src/status.test.ts +270 -0
- package/extensions/twitch/src/status.ts +176 -0
- package/extensions/twitch/src/token.test.ts +171 -0
- package/extensions/twitch/src/token.ts +87 -0
- package/extensions/twitch/src/twitch-client.test.ts +574 -0
- package/extensions/twitch/src/twitch-client.ts +277 -0
- package/extensions/twitch/src/types.ts +141 -0
- package/extensions/twitch/src/utils/markdown.ts +92 -0
- package/extensions/twitch/src/utils/twitch.ts +78 -0
- package/extensions/twitch/test/setup.ts +7 -0
- package/extensions/voice-call/CHANGELOG.md +19 -11
- package/extensions/voice-call/README.md +38 -16
- package/extensions/voice-call/{pigbot.plugin.json → clawdbot.plugin.json} +210 -14
- package/extensions/voice-call/index.ts +32 -12
- package/extensions/voice-call/package.json +4 -4
- package/extensions/voice-call/src/cli.ts +1 -1
- package/extensions/voice-call/src/config.test.ts +204 -0
- package/extensions/voice-call/src/config.ts +134 -26
- package/extensions/voice-call/src/core-bridge.ts +16 -8
- package/extensions/voice-call/src/manager/context.ts +0 -1
- package/extensions/voice-call/src/manager/events.ts +0 -1
- package/extensions/voice-call/src/manager/lookup.ts +0 -1
- package/extensions/voice-call/src/manager/outbound.ts +4 -3
- package/extensions/voice-call/src/manager/state.ts +0 -1
- package/extensions/voice-call/src/manager/store.ts +0 -1
- package/extensions/voice-call/src/manager/timers.ts +0 -1
- package/extensions/voice-call/src/manager/twiml.ts +0 -1
- package/extensions/voice-call/src/manager.test.ts +2 -2
- package/extensions/voice-call/src/manager.ts +4 -2
- package/extensions/voice-call/src/media-stream.test.ts +97 -0
- package/extensions/voice-call/src/media-stream.ts +114 -0
- package/extensions/voice-call/src/providers/plivo.test.ts +0 -1
- package/extensions/voice-call/src/providers/stt-openai-realtime.ts +8 -0
- package/extensions/voice-call/src/providers/twilio/webhook.ts +2 -2
- package/extensions/voice-call/src/providers/twilio.ts +44 -26
- package/extensions/voice-call/src/response-generator.ts +1 -1
- package/extensions/voice-call/src/runtime.ts +37 -27
- package/extensions/voice-call/src/telephony-audio.ts +88 -0
- package/extensions/voice-call/src/telephony-tts.ts +95 -0
- package/extensions/voice-call/src/types.ts +1 -0
- package/extensions/voice-call/src/webhook-security.test.ts +52 -0
- package/extensions/voice-call/src/webhook-security.ts +16 -5
- package/extensions/voice-call/src/webhook.ts +11 -0
- package/extensions/whatsapp/index.ts +3 -3
- package/extensions/whatsapp/package.json +4 -4
- package/extensions/whatsapp/src/channel.ts +1 -1
- package/extensions/whatsapp/src/runtime.ts +1 -1
- package/extensions/zalo/CHANGELOG.md +9 -9
- package/extensions/zalo/README.md +4 -4
- package/extensions/zalo/index.ts +3 -3
- package/extensions/zalo/package.json +6 -6
- package/extensions/zalo/src/accounts.ts +9 -9
- package/extensions/zalo/src/actions.ts +6 -6
- package/extensions/zalo/src/channel.directory.test.ts +2 -2
- package/extensions/zalo/src/channel.ts +20 -20
- package/extensions/zalo/src/config-schema.ts +1 -1
- package/extensions/zalo/src/monitor.ts +9 -9
- package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
- package/extensions/zalo/src/onboarding.ts +27 -27
- package/extensions/zalo/src/runtime.ts +1 -1
- package/extensions/zalo/src/send.ts +2 -2
- package/extensions/zalo/src/status-issues.ts +1 -1
- package/extensions/zalo/src/token.ts +1 -1
- package/extensions/zalouser/CHANGELOG.md +4 -4
- package/extensions/zalouser/README.md +18 -18
- package/extensions/zalouser/index.ts +3 -3
- package/extensions/zalouser/package.json +6 -6
- package/extensions/zalouser/src/accounts.ts +10 -10
- package/extensions/zalouser/src/channel.test.ts +0 -1
- package/extensions/zalouser/src/channel.ts +27 -27
- package/extensions/zalouser/src/config-schema.ts +1 -1
- package/extensions/zalouser/src/monitor.ts +5 -5
- package/extensions/zalouser/src/onboarding.ts +32 -32
- package/extensions/zalouser/src/runtime.ts +1 -1
- package/extensions/zalouser/src/status-issues.ts +2 -2
- package/package.json +34 -22
- package/scripts/postinstall.js +1 -1
- package/skills/1password/SKILL.md +3 -3
- package/skills/apple-notes/SKILL.md +2 -2
- package/skills/apple-reminders/SKILL.md +1 -1
- package/skills/bear-notes/SKILL.md +1 -1
- package/skills/bird/SKILL.md +1 -1
- package/skills/blogwatcher/SKILL.md +1 -1
- package/skills/blucli/SKILL.md +1 -1
- package/skills/bluebubbles/SKILL.md +2 -2
- package/skills/camsnap/SKILL.md +1 -1
- package/skills/canvas/SKILL.md +15 -15
- package/skills/clawdhub/SKILL.md +2 -2
- package/skills/coding-agent/SKILL.md +6 -6
- package/skills/discord/SKILL.md +6 -5
- package/skills/eightctl/SKILL.md +1 -1
- package/skills/food-order/SKILL.md +1 -1
- package/skills/gemini/SKILL.md +1 -1
- package/skills/gifgrep/SKILL.md +1 -1
- package/skills/github/SKILL.md +1 -0
- package/skills/gog/SKILL.md +1 -1
- package/skills/goplaces/SKILL.md +1 -1
- package/skills/himalaya/SKILL.md +1 -1
- package/skills/imsg/SKILL.md +1 -1
- package/skills/local-places/SKILL.md +2 -2
- package/skills/mcporter/SKILL.md +1 -1
- package/skills/model-usage/SKILL.md +1 -1
- package/skills/nano-banana-pro/SKILL.md +10 -5
- package/skills/nano-banana-pro/scripts/generate_image.py +42 -27
- package/skills/nano-pdf/SKILL.md +1 -1
- package/skills/notion/SKILL.md +1 -1
- package/skills/obsidian/SKILL.md +1 -1
- package/skills/openai-image-gen/SKILL.md +1 -1
- package/skills/openai-whisper/SKILL.md +1 -1
- package/skills/openai-whisper-api/SKILL.md +2 -2
- package/skills/openhue/SKILL.md +1 -1
- package/skills/oracle/SKILL.md +1 -1
- package/skills/ordercli/SKILL.md +1 -1
- package/skills/peekaboo/SKILL.md +1 -1
- package/skills/sag/SKILL.md +1 -1
- package/skills/session-logs/SKILL.md +7 -7
- package/skills/sherpa-onnx-tts/SKILL.md +6 -6
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
- package/skills/slack/SKILL.md +4 -3
- package/skills/songsee/SKILL.md +1 -1
- package/skills/sonoscli/SKILL.md +1 -1
- package/skills/spotify-player/SKILL.md +1 -1
- package/skills/summarize/SKILL.md +1 -1
- package/skills/things-mac/SKILL.md +3 -3
- package/skills/tmux/SKILL.md +8 -8
- package/skills/tmux/scripts/find-sessions.sh +2 -2
- package/skills/trello/SKILL.md +2 -2
- package/skills/video-frames/SKILL.md +1 -1
- package/skills/voice-call/SKILL.md +4 -4
- package/skills/wacli/SKILL.md +2 -2
- package/skills/weather/SKILL.md +1 -1
- package/dist/cli/browser-cli-serve.js +0 -91
- package/dist/control-ui/assets/index--6ilUi7V.css +0 -1
- package/dist/control-ui/assets/index-DrGg77je.js +0 -3111
- package/dist/control-ui/assets/index-DrGg77je.js.map +0 -1
- package/extensions/diagnostics-otel/node_modules/.bin/acorn +0 -21
- package/extensions/diagnostics-otel/node_modules/.bin/acorn.CMD +0 -12
- package/extensions/diagnostics-otel/node_modules/.bin/acorn.ps1 +0 -41
- package/extensions/googlechat/node_modules/.bin/pigbot +0 -21
- package/extensions/googlechat/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/googlechat/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/matrix/node_modules/.bin/pigbot +0 -21
- package/extensions/matrix/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/matrix/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/memory-core/node_modules/.bin/pigbot +0 -21
- package/extensions/memory-core/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/memory-core/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +0 -21
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv.CMD +0 -12
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv.ps1 +0 -41
- package/extensions/msteams/node_modules/.bin/pigbot +0 -21
- package/extensions/msteams/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/msteams/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/nostr/node_modules/.bin/pigbot +0 -21
- package/extensions/nostr/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/nostr/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/nostr/node_modules/.bin/tsc +0 -21
- package/extensions/nostr/node_modules/.bin/tsc.CMD +0 -12
- package/extensions/nostr/node_modules/.bin/tsc.ps1 +0 -41
- package/extensions/nostr/node_modules/.bin/tsserver +0 -21
- package/extensions/nostr/node_modules/.bin/tsserver.CMD +0 -12
- package/extensions/nostr/node_modules/.bin/tsserver.ps1 +0 -41
- package/extensions/zalo/node_modules/.bin/pigbot +0 -21
- package/extensions/zalo/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/zalo/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/zalouser/node_modules/.bin/pigbot +0 -21
- package/extensions/zalouser/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/zalouser/node_modules/.bin/pigbot.ps1 +0 -41
- /package/dist/{config/types.pigbot.js → browser/routes/types.js} +0 -0
- /package/extensions/bluebubbles/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/copilot-proxy/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/diagnostics-otel/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/discord/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/google-antigravity-auth/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/google-gemini-cli-auth/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/googlechat/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/imessage/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/llm-task/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/lobster/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/matrix/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/mattermost/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/memory-core/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/msteams/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/nextcloud-talk/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/nostr/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/open-prose/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/qwen-portal-auth/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/signal/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/slack/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/telegram/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/tlon/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/whatsapp/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/zalo/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/zalouser/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
package/dist/tts/tts.js
CHANGED
|
@@ -13,7 +13,7 @@ import { resolveModel } from "../agents/pi-embedded-runner/model.js";
|
|
|
13
13
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
14
14
|
const DEFAULT_TTS_MAX_LENGTH = 1500;
|
|
15
15
|
const DEFAULT_TTS_SUMMARIZE = true;
|
|
16
|
-
const DEFAULT_MAX_TEXT_LENGTH =
|
|
16
|
+
const DEFAULT_MAX_TEXT_LENGTH = 4096;
|
|
17
17
|
const TEMP_FILE_CLEANUP_DELAY_MS = 5 * 60 * 1000; // 5 minutes
|
|
18
18
|
const DEFAULT_ELEVENLABS_BASE_URL = "https://api.elevenlabs.io";
|
|
19
19
|
const DEFAULT_ELEVENLABS_VOICE_ID = "pMsXgVXv3BLzUgSXRplE";
|
|
@@ -44,6 +44,10 @@ const DEFAULT_OUTPUT = {
|
|
|
44
44
|
extension: ".mp3",
|
|
45
45
|
voiceCompatible: false,
|
|
46
46
|
};
|
|
47
|
+
const TELEPHONY_OUTPUT = {
|
|
48
|
+
openai: { format: "pcm", sampleRate: 24000 },
|
|
49
|
+
elevenlabs: { format: "pcm_22050", sampleRate: 22050 },
|
|
50
|
+
};
|
|
47
51
|
const TTS_AUTO_MODES = new Set(["off", "always", "inbound", "tagged"]);
|
|
48
52
|
let lastTtsAttempt;
|
|
49
53
|
export function normalizeTtsAutoMode(value) {
|
|
@@ -137,7 +141,7 @@ export function resolveTtsConfig(cfg) {
|
|
|
137
141
|
export function resolveTtsPrefsPath(config) {
|
|
138
142
|
if (config.prefsPath?.trim())
|
|
139
143
|
return resolveUserPath(config.prefsPath.trim());
|
|
140
|
-
const envPath = process.env.
|
|
144
|
+
const envPath = process.env.CLAWDBOT_TTS_PREFS?.trim();
|
|
141
145
|
if (envPath)
|
|
142
146
|
return resolveUserPath(envPath);
|
|
143
147
|
return path.join(CONFIG_DIR, "settings", "tts.json");
|
|
@@ -570,7 +574,14 @@ function parseTtsDirectives(text, policy) {
|
|
|
570
574
|
warnings,
|
|
571
575
|
};
|
|
572
576
|
}
|
|
573
|
-
export const OPENAI_TTS_MODELS = ["gpt-4o-mini-tts"];
|
|
577
|
+
export const OPENAI_TTS_MODELS = ["gpt-4o-mini-tts", "tts-1", "tts-1-hd"];
|
|
578
|
+
/**
|
|
579
|
+
* Custom OpenAI-compatible TTS endpoint.
|
|
580
|
+
* When set, model/voice validation is relaxed to allow non-OpenAI models.
|
|
581
|
+
* Example: OPENAI_TTS_BASE_URL=http://localhost:8880/v1
|
|
582
|
+
*/
|
|
583
|
+
const OPENAI_TTS_BASE_URL = (process.env.OPENAI_TTS_BASE_URL?.trim() || "https://api.openai.com/v1").replace(/\/+$/, "");
|
|
584
|
+
const isCustomOpenAIEndpoint = OPENAI_TTS_BASE_URL !== "https://api.openai.com/v1";
|
|
574
585
|
export const OPENAI_TTS_VOICES = [
|
|
575
586
|
"alloy",
|
|
576
587
|
"ash",
|
|
@@ -583,9 +594,15 @@ export const OPENAI_TTS_VOICES = [
|
|
|
583
594
|
"shimmer",
|
|
584
595
|
];
|
|
585
596
|
function isValidOpenAIModel(model) {
|
|
597
|
+
// Allow any model when using custom endpoint (e.g., Kokoro, LocalAI)
|
|
598
|
+
if (isCustomOpenAIEndpoint)
|
|
599
|
+
return true;
|
|
586
600
|
return OPENAI_TTS_MODELS.includes(model);
|
|
587
601
|
}
|
|
588
602
|
function isValidOpenAIVoice(voice) {
|
|
603
|
+
// Allow any voice when using custom endpoint (e.g., Kokoro Chinese voices)
|
|
604
|
+
if (isCustomOpenAIEndpoint)
|
|
605
|
+
return true;
|
|
589
606
|
return OPENAI_TTS_VOICES.includes(voice);
|
|
590
607
|
}
|
|
591
608
|
function resolveSummaryModelRef(cfg, config) {
|
|
@@ -737,7 +754,7 @@ async function openaiTTS(params) {
|
|
|
737
754
|
const controller = new AbortController();
|
|
738
755
|
const timeout = setTimeout(() => controller.abort(), timeoutMs);
|
|
739
756
|
try {
|
|
740
|
-
const response = await fetch(
|
|
757
|
+
const response = await fetch(`${OPENAI_TTS_BASE_URL}/audio/speech`, {
|
|
741
758
|
method: "POST",
|
|
742
759
|
headers: {
|
|
743
760
|
Authorization: `Bearer ${apiKey}`,
|
|
@@ -942,6 +959,87 @@ export async function textToSpeech(params) {
|
|
|
942
959
|
error: `TTS conversion failed: ${lastError || "no providers available"}`,
|
|
943
960
|
};
|
|
944
961
|
}
|
|
962
|
+
export async function textToSpeechTelephony(params) {
|
|
963
|
+
const config = resolveTtsConfig(params.cfg);
|
|
964
|
+
const prefsPath = params.prefsPath ?? resolveTtsPrefsPath(config);
|
|
965
|
+
if (params.text.length > config.maxTextLength) {
|
|
966
|
+
return {
|
|
967
|
+
success: false,
|
|
968
|
+
error: `Text too long (${params.text.length} chars, max ${config.maxTextLength})`,
|
|
969
|
+
};
|
|
970
|
+
}
|
|
971
|
+
const userProvider = getTtsProvider(config, prefsPath);
|
|
972
|
+
const providers = resolveTtsProviderOrder(userProvider);
|
|
973
|
+
let lastError;
|
|
974
|
+
for (const provider of providers) {
|
|
975
|
+
const providerStart = Date.now();
|
|
976
|
+
try {
|
|
977
|
+
if (provider === "edge") {
|
|
978
|
+
lastError = "edge: unsupported for telephony";
|
|
979
|
+
continue;
|
|
980
|
+
}
|
|
981
|
+
const apiKey = resolveTtsApiKey(config, provider);
|
|
982
|
+
if (!apiKey) {
|
|
983
|
+
lastError = `No API key for ${provider}`;
|
|
984
|
+
continue;
|
|
985
|
+
}
|
|
986
|
+
if (provider === "elevenlabs") {
|
|
987
|
+
const output = TELEPHONY_OUTPUT.elevenlabs;
|
|
988
|
+
const audioBuffer = await elevenLabsTTS({
|
|
989
|
+
text: params.text,
|
|
990
|
+
apiKey,
|
|
991
|
+
baseUrl: config.elevenlabs.baseUrl,
|
|
992
|
+
voiceId: config.elevenlabs.voiceId,
|
|
993
|
+
modelId: config.elevenlabs.modelId,
|
|
994
|
+
outputFormat: output.format,
|
|
995
|
+
seed: config.elevenlabs.seed,
|
|
996
|
+
applyTextNormalization: config.elevenlabs.applyTextNormalization,
|
|
997
|
+
languageCode: config.elevenlabs.languageCode,
|
|
998
|
+
voiceSettings: config.elevenlabs.voiceSettings,
|
|
999
|
+
timeoutMs: config.timeoutMs,
|
|
1000
|
+
});
|
|
1001
|
+
return {
|
|
1002
|
+
success: true,
|
|
1003
|
+
audioBuffer,
|
|
1004
|
+
latencyMs: Date.now() - providerStart,
|
|
1005
|
+
provider,
|
|
1006
|
+
outputFormat: output.format,
|
|
1007
|
+
sampleRate: output.sampleRate,
|
|
1008
|
+
};
|
|
1009
|
+
}
|
|
1010
|
+
const output = TELEPHONY_OUTPUT.openai;
|
|
1011
|
+
const audioBuffer = await openaiTTS({
|
|
1012
|
+
text: params.text,
|
|
1013
|
+
apiKey,
|
|
1014
|
+
model: config.openai.model,
|
|
1015
|
+
voice: config.openai.voice,
|
|
1016
|
+
responseFormat: output.format,
|
|
1017
|
+
timeoutMs: config.timeoutMs,
|
|
1018
|
+
});
|
|
1019
|
+
return {
|
|
1020
|
+
success: true,
|
|
1021
|
+
audioBuffer,
|
|
1022
|
+
latencyMs: Date.now() - providerStart,
|
|
1023
|
+
provider,
|
|
1024
|
+
outputFormat: output.format,
|
|
1025
|
+
sampleRate: output.sampleRate,
|
|
1026
|
+
};
|
|
1027
|
+
}
|
|
1028
|
+
catch (err) {
|
|
1029
|
+
const error = err;
|
|
1030
|
+
if (error.name === "AbortError") {
|
|
1031
|
+
lastError = `${provider}: request timed out`;
|
|
1032
|
+
}
|
|
1033
|
+
else {
|
|
1034
|
+
lastError = `${provider}: ${error.message}`;
|
|
1035
|
+
}
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
return {
|
|
1039
|
+
success: false,
|
|
1040
|
+
error: `TTS conversion failed: ${lastError || "no providers available"}`,
|
|
1041
|
+
};
|
|
1042
|
+
}
|
|
945
1043
|
export async function maybeApplyTtsToPayload(params) {
|
|
946
1044
|
const config = resolveTtsConfig(params.cfg);
|
|
947
1045
|
const prefsPath = resolveTtsPrefsPath(config);
|
|
@@ -987,28 +1085,32 @@ export async function maybeApplyTtsToPayload(params) {
|
|
|
987
1085
|
let wasSummarized = false;
|
|
988
1086
|
if (textForAudio.length > maxLength) {
|
|
989
1087
|
if (!isSummarizationEnabled(prefsPath)) {
|
|
990
|
-
|
|
991
|
-
|
|
1088
|
+
// Truncate text when summarization is disabled
|
|
1089
|
+
logVerbose(`TTS: truncating long text (${textForAudio.length} > ${maxLength}), summarization disabled.`);
|
|
1090
|
+
textForAudio = `${textForAudio.slice(0, maxLength - 3)}...`;
|
|
992
1091
|
}
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1092
|
+
else {
|
|
1093
|
+
// Summarize text when enabled
|
|
1094
|
+
try {
|
|
1095
|
+
const summary = await summarizeText({
|
|
1096
|
+
text: textForAudio,
|
|
1097
|
+
targetLength: maxLength,
|
|
1098
|
+
cfg: params.cfg,
|
|
1099
|
+
config,
|
|
1100
|
+
timeoutMs: config.timeoutMs,
|
|
1101
|
+
});
|
|
1102
|
+
textForAudio = summary.summary;
|
|
1103
|
+
wasSummarized = true;
|
|
1104
|
+
if (textForAudio.length > config.maxTextLength) {
|
|
1105
|
+
logVerbose(`TTS: summary exceeded hard limit (${textForAudio.length} > ${config.maxTextLength}); truncating.`);
|
|
1106
|
+
textForAudio = `${textForAudio.slice(0, config.maxTextLength - 3)}...`;
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
catch (err) {
|
|
1110
|
+
const error = err;
|
|
1111
|
+
logVerbose(`TTS: summarization failed, truncating instead: ${error.message}`);
|
|
1112
|
+
textForAudio = `${textForAudio.slice(0, maxLength - 3)}...`;
|
|
1006
1113
|
}
|
|
1007
|
-
}
|
|
1008
|
-
catch (err) {
|
|
1009
|
-
const error = err;
|
|
1010
|
-
logVerbose(`TTS: summarization failed: ${error.message}`);
|
|
1011
|
-
return nextPayload;
|
|
1012
1114
|
}
|
|
1013
1115
|
}
|
|
1014
1116
|
const ttsStart = Date.now();
|
|
@@ -1030,11 +1132,12 @@ export async function maybeApplyTtsToPayload(params) {
|
|
|
1030
1132
|
};
|
|
1031
1133
|
const channelId = resolveChannelId(params.channel);
|
|
1032
1134
|
const shouldVoice = channelId === "telegram" && result.voiceCompatible === true;
|
|
1033
|
-
|
|
1135
|
+
const finalPayload = {
|
|
1034
1136
|
...nextPayload,
|
|
1035
1137
|
mediaUrl: result.audioPath,
|
|
1036
1138
|
audioAsVoice: shouldVoice || params.payload.audioAsVoice,
|
|
1037
1139
|
};
|
|
1140
|
+
return finalPayload;
|
|
1038
1141
|
}
|
|
1039
1142
|
lastTtsAttempt = {
|
|
1040
1143
|
timestamp: Date.now(),
|
|
@@ -42,7 +42,7 @@ export class FilterableSelectList {
|
|
|
42
42
|
const inputText = inputLines[0] ?? "";
|
|
43
43
|
lines.push(filterLabel + inputText);
|
|
44
44
|
// Separator
|
|
45
|
-
lines.push(chalk.dim("─".repeat(width)));
|
|
45
|
+
lines.push(chalk.dim("─".repeat(Math.max(0, width))));
|
|
46
46
|
// Select list
|
|
47
47
|
const listLines = this.selectList.render(width);
|
|
48
48
|
lines.push(...listLines);
|
|
@@ -159,7 +159,8 @@ export class SearchableSelectList {
|
|
|
159
159
|
const maxValueWidth = Math.min(30, width - prefixWidth - 4);
|
|
160
160
|
const truncatedValue = truncateToWidth(displayValue, maxValueWidth, "");
|
|
161
161
|
const valueText = this.highlightMatch(truncatedValue, query);
|
|
162
|
-
const
|
|
162
|
+
const spacingWidth = Math.max(1, 32 - visibleWidth(valueText));
|
|
163
|
+
const spacing = " ".repeat(spacingWidth);
|
|
163
164
|
const descriptionStart = prefixWidth + visibleWidth(valueText) + spacing.length;
|
|
164
165
|
const remainingWidth = width - descriptionStart - 2;
|
|
165
166
|
if (remainingWidth > 10) {
|
package/dist/tui/gateway-chat.js
CHANGED
|
@@ -25,7 +25,7 @@ export class GatewayChatClient {
|
|
|
25
25
|
token: resolved.token,
|
|
26
26
|
password: resolved.password,
|
|
27
27
|
clientName: GATEWAY_CLIENT_NAMES.GATEWAY_CLIENT,
|
|
28
|
-
clientDisplayName: "
|
|
28
|
+
clientDisplayName: "moltbot-tui",
|
|
29
29
|
clientVersion: VERSION,
|
|
30
30
|
platform: process.platform,
|
|
31
31
|
mode: GATEWAY_CLIENT_MODES.UI,
|
|
@@ -131,14 +131,14 @@ export function resolveGatewayConnection(opts) {
|
|
|
131
131
|
? typeof remote?.token === "string" && remote.token.trim().length > 0
|
|
132
132
|
? remote.token.trim()
|
|
133
133
|
: undefined
|
|
134
|
-
: process.env.
|
|
134
|
+
: process.env.CLAWDBOT_GATEWAY_TOKEN?.trim() ||
|
|
135
135
|
(typeof authToken === "string" && authToken.trim().length > 0
|
|
136
136
|
? authToken.trim()
|
|
137
137
|
: undefined));
|
|
138
138
|
const password = (typeof opts.password === "string" && opts.password.trim().length > 0
|
|
139
139
|
? opts.password.trim()
|
|
140
140
|
: undefined) ||
|
|
141
|
-
process.env.
|
|
141
|
+
process.env.CLAWDBOT_GATEWAY_PASSWORD?.trim() ||
|
|
142
142
|
(typeof remote?.password === "string" && remote.password.trim().length > 0
|
|
143
143
|
? remote.password.trim()
|
|
144
144
|
: undefined);
|
package/dist/tui/tui.js
CHANGED
|
@@ -241,7 +241,7 @@ export async function runTui(opts) {
|
|
|
241
241
|
const updateHeader = () => {
|
|
242
242
|
const sessionLabel = formatSessionKey(currentSessionKey);
|
|
243
243
|
const agentLabel = formatAgentLabel(currentAgentId);
|
|
244
|
-
header.setText(theme.header(`
|
|
244
|
+
header.setText(theme.header(`moltbot tui - ${client.connection.url} - agent ${agentLabel} - session ${sessionLabel}`));
|
|
245
245
|
};
|
|
246
246
|
const busyStates = new Set(["sending", "waiting", "streaming", "running"]);
|
|
247
247
|
let statusText = null;
|
package/dist/utils.js
CHANGED
|
@@ -187,10 +187,10 @@ export function resolveUserPath(input) {
|
|
|
187
187
|
return path.resolve(trimmed);
|
|
188
188
|
}
|
|
189
189
|
export function resolveConfigDir(env = process.env, homedir = os.homedir) {
|
|
190
|
-
const override = env.
|
|
190
|
+
const override = env.CLAWDBOT_STATE_DIR?.trim();
|
|
191
191
|
if (override)
|
|
192
192
|
return resolveUserPath(override);
|
|
193
|
-
return path.join(homedir(), ".
|
|
193
|
+
return path.join(homedir(), ".clawdbot");
|
|
194
194
|
}
|
|
195
195
|
export function resolveHomeDir() {
|
|
196
196
|
const envHome = process.env.HOME?.trim();
|
|
@@ -243,5 +243,5 @@ export function formatTerminalLink(label, url, opts) {
|
|
|
243
243
|
}
|
|
244
244
|
return `\u001b]8;;${safeUrl}\u0007${safeLabel}\u001b]8;;\u0007`;
|
|
245
245
|
}
|
|
246
|
-
// Configuration root; can be overridden via
|
|
246
|
+
// Configuration root; can be overridden via CLAWDBOT_STATE_DIR.
|
|
247
247
|
export const CONFIG_DIR = resolveConfigDir();
|
package/dist/version.js
CHANGED
|
@@ -9,10 +9,10 @@ function readVersionFromPackageJson() {
|
|
|
9
9
|
return null;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
// Single source of truth for the current
|
|
12
|
+
// Single source of truth for the current moltbot version.
|
|
13
13
|
// - Embedded/bundled builds: injected define or env var.
|
|
14
14
|
// - Dev/npm builds: package.json.
|
|
15
|
-
export const VERSION = (typeof
|
|
16
|
-
process.env.
|
|
15
|
+
export const VERSION = (typeof __CLAWDBOT_VERSION__ === "string" && __CLAWDBOT_VERSION__) ||
|
|
16
|
+
process.env.CLAWDBOT_BUNDLED_VERSION ||
|
|
17
17
|
readVersionFromPackageJson() ||
|
|
18
18
|
"0.0.0";
|
|
@@ -9,7 +9,7 @@ export function requireActiveWebListener(accountId) {
|
|
|
9
9
|
const id = resolveWebAccountId(accountId);
|
|
10
10
|
const listener = listeners.get(id) ?? null;
|
|
11
11
|
if (!listener) {
|
|
12
|
-
throw new Error(`No active WhatsApp Web listener (account: ${id}). Start the gateway, then link WhatsApp with: ${formatCliCommand(`
|
|
12
|
+
throw new Error(`No active WhatsApp Web listener (account: ${id}). Start the gateway, then link WhatsApp with: ${formatCliCommand(`moltbot channels login --channel whatsapp --account ${id}`)}.`);
|
|
13
13
|
}
|
|
14
14
|
return { accountId: id, listener };
|
|
15
15
|
}
|
package/dist/web/auth-store.js
CHANGED
|
@@ -162,7 +162,7 @@ export async function pickWebChannel(pref, authDir = resolveDefaultWebAuthDir())
|
|
|
162
162
|
const choice = pref === "auto" ? "web" : pref;
|
|
163
163
|
const hasWeb = await webAuthExists(authDir);
|
|
164
164
|
if (!hasWeb) {
|
|
165
|
-
throw new Error(`No WhatsApp Web session found. Run \`${formatCliCommand("
|
|
165
|
+
throw new Error(`No WhatsApp Web session found. Run \`${formatCliCommand("moltbot channels login --channel whatsapp --verbose")}\` to link.`);
|
|
166
166
|
}
|
|
167
167
|
return choice;
|
|
168
168
|
}
|
|
@@ -177,7 +177,7 @@ export async function processMessage(params) {
|
|
|
177
177
|
normalizeE164(params.msg.from) === normalizeE164(params.msg.selfE164 ?? "");
|
|
178
178
|
const responsePrefix = prefixContext.responsePrefix ??
|
|
179
179
|
(configuredResponsePrefix === undefined && isSelfChat
|
|
180
|
-
? (resolveIdentityNamePrefix(params.cfg, params.route.agentId) ?? "[
|
|
180
|
+
? (resolveIdentityNamePrefix(params.cfg, params.route.agentId) ?? "[moltbot]")
|
|
181
181
|
: undefined);
|
|
182
182
|
const ctxPayload = finalizeInboundContext({
|
|
183
183
|
Body: combinedBody,
|
|
@@ -312,7 +312,7 @@ export async function monitorWebChannel(verbose, listenerFactory = monitorWebInb
|
|
|
312
312
|
sessionKey: connectRoute.sessionKey,
|
|
313
313
|
});
|
|
314
314
|
if (loggedOut) {
|
|
315
|
-
runtime.error(`WhatsApp session logged out. Run \`${formatCliCommand("
|
|
315
|
+
runtime.error(`WhatsApp session logged out. Run \`${formatCliCommand("moltbot channels login --channel web")}\` to relink.`);
|
|
316
316
|
await closeListener();
|
|
317
317
|
break;
|
|
318
318
|
}
|
package/dist/web/login.js
CHANGED
|
@@ -47,7 +47,7 @@ export async function loginWeb(verbose, waitForConnection, runtime = defaultRunt
|
|
|
47
47
|
isLegacyAuthDir: account.isLegacyAuthDir,
|
|
48
48
|
runtime,
|
|
49
49
|
});
|
|
50
|
-
console.error(danger(`WhatsApp reported the session is logged out. Cleared cached web session; please rerun ${formatCliCommand("
|
|
50
|
+
console.error(danger(`WhatsApp reported the session is logged out. Cleared cached web session; please rerun ${formatCliCommand("moltbot channels login")} and scan the QR again.`));
|
|
51
51
|
throw new Error("Session logged out; cache cleared. Re-run login.");
|
|
52
52
|
}
|
|
53
53
|
const formatted = formatError(err);
|
package/dist/web/session.js
CHANGED
|
@@ -80,7 +80,7 @@ export async function createWaSocket(printQr, verbose, opts = {}) {
|
|
|
80
80
|
version,
|
|
81
81
|
logger,
|
|
82
82
|
printQRInTerminal: false,
|
|
83
|
-
browser: ["
|
|
83
|
+
browser: ["moltbot", "cli", VERSION],
|
|
84
84
|
syncFullHistory: false,
|
|
85
85
|
markOnlineOnConnect: false,
|
|
86
86
|
});
|
|
@@ -98,7 +98,7 @@ export async function createWaSocket(printQr, verbose, opts = {}) {
|
|
|
98
98
|
if (connection === "close") {
|
|
99
99
|
const status = getStatusCode(lastDisconnect?.error);
|
|
100
100
|
if (status === DisconnectReason.loggedOut) {
|
|
101
|
-
console.error(danger(`WhatsApp session logged out. Run: ${formatCliCommand("
|
|
101
|
+
console.error(danger(`WhatsApp session logged out. Run: ${formatCliCommand("moltbot channels login")}`));
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
if (connection === "open" && verbose) {
|
|
@@ -109,6 +109,7 @@ export async function finalizeOnboardingWizard(options) {
|
|
|
109
109
|
token: settings.gatewayToken,
|
|
110
110
|
runtime: daemonRuntime,
|
|
111
111
|
warn: (message, title) => prompter.note(message, title),
|
|
112
|
+
config: nextConfig,
|
|
112
113
|
});
|
|
113
114
|
progress.update("Installing Gateway service…");
|
|
114
115
|
await service.install({
|
|
@@ -151,8 +152,8 @@ export async function finalizeOnboardingWizard(options) {
|
|
|
151
152
|
runtime.error(formatHealthCheckFailure(err));
|
|
152
153
|
await prompter.note([
|
|
153
154
|
"Docs:",
|
|
154
|
-
"https://docs.
|
|
155
|
-
"https://docs.
|
|
155
|
+
"https://docs.molt.bot/gateway/health",
|
|
156
|
+
"https://docs.molt.bot/gateway/troubleshooting",
|
|
156
157
|
].join("\n"), "Health check help");
|
|
157
158
|
}
|
|
158
159
|
}
|
|
@@ -198,7 +199,7 @@ export async function finalizeOnboardingWizard(options) {
|
|
|
198
199
|
tokenParam ? `Web UI (with token): ${authedUrl}` : undefined,
|
|
199
200
|
`Gateway WS: ${links.wsUrl}`,
|
|
200
201
|
gatewayStatusLine,
|
|
201
|
-
"Docs: https://docs.
|
|
202
|
+
"Docs: https://docs.molt.bot/web/control-ui",
|
|
202
203
|
]
|
|
203
204
|
.filter(Boolean)
|
|
204
205
|
.join("\n"), "Control UI");
|
|
@@ -217,9 +218,9 @@ export async function finalizeOnboardingWizard(options) {
|
|
|
217
218
|
}
|
|
218
219
|
await prompter.note([
|
|
219
220
|
"Gateway token: shared auth for the Gateway + Control UI.",
|
|
220
|
-
"Stored in: ~/.
|
|
221
|
-
"Web UI stores a copy in this browser's localStorage (
|
|
222
|
-
`Get the tokenized link anytime: ${formatCliCommand("
|
|
221
|
+
"Stored in: ~/.clawdbot/moltbot.json (gateway.auth.token) or CLAWDBOT_GATEWAY_TOKEN.",
|
|
222
|
+
"Web UI stores a copy in this browser's localStorage (moltbot.control.settings.v1).",
|
|
223
|
+
`Get the tokenized link anytime: ${formatCliCommand("moltbot dashboard --no-open")}`,
|
|
223
224
|
].join("\n"), "Token");
|
|
224
225
|
hatchChoice = (await prompter.select({
|
|
225
226
|
message: "How do you want to hatch your bot?",
|
|
@@ -243,7 +244,7 @@ export async function finalizeOnboardingWizard(options) {
|
|
|
243
244
|
seededInBackground = await openUrlInBackground(authedUrl);
|
|
244
245
|
}
|
|
245
246
|
if (seededInBackground) {
|
|
246
|
-
await prompter.note(`Web UI seeded in the background. Open later with: ${formatCliCommand("
|
|
247
|
+
await prompter.note(`Web UI seeded in the background. Open later with: ${formatCliCommand("moltbot dashboard --no-open")}`, "Web UI");
|
|
247
248
|
}
|
|
248
249
|
}
|
|
249
250
|
else if (hatchChoice === "web") {
|
|
@@ -268,22 +269,22 @@ export async function finalizeOnboardingWizard(options) {
|
|
|
268
269
|
await prompter.note([
|
|
269
270
|
`Dashboard link (with token): ${authedUrl}`,
|
|
270
271
|
controlUiOpened
|
|
271
|
-
? "Opened in your browser. Keep that tab to control
|
|
272
|
-
: "Copy/paste this URL in a browser on this machine to control
|
|
272
|
+
? "Opened in your browser. Keep that tab to control Moltbot."
|
|
273
|
+
: "Copy/paste this URL in a browser on this machine to control Moltbot.",
|
|
273
274
|
controlUiOpenHint,
|
|
274
275
|
]
|
|
275
276
|
.filter(Boolean)
|
|
276
277
|
.join("\n"), "Dashboard ready");
|
|
277
278
|
}
|
|
278
279
|
else {
|
|
279
|
-
await prompter.note(`When you're ready: ${formatCliCommand("
|
|
280
|
+
await prompter.note(`When you're ready: ${formatCliCommand("moltbot dashboard --no-open")}`, "Later");
|
|
280
281
|
}
|
|
281
282
|
}
|
|
282
283
|
else if (opts.skipUi) {
|
|
283
284
|
await prompter.note("Skipping Control UI/TUI prompts.", "Control UI");
|
|
284
285
|
}
|
|
285
|
-
await prompter.note(["Back up your agent workspace.", "Docs: https://docs.
|
|
286
|
-
await prompter.note("Running agents on your computer is risky — harden your setup: https://docs.
|
|
286
|
+
await prompter.note(["Back up your agent workspace.", "Docs: https://docs.molt.bot/concepts/agent-workspace"].join("\n"), "Workspace backup");
|
|
287
|
+
await prompter.note("Running agents on your computer is risky — harden your setup: https://docs.molt.bot/security", "Security");
|
|
287
288
|
const shouldOpenControlUi = !opts.skipUi &&
|
|
288
289
|
settings.authMode === "token" &&
|
|
289
290
|
Boolean(settings.gatewayToken) &&
|
|
@@ -310,8 +311,8 @@ export async function finalizeOnboardingWizard(options) {
|
|
|
310
311
|
await prompter.note([
|
|
311
312
|
`Dashboard link (with token): ${authedUrl}`,
|
|
312
313
|
controlUiOpened
|
|
313
|
-
? "Opened in your browser. Keep that tab to control
|
|
314
|
-
: "Copy/paste this URL in a browser on this machine to control
|
|
314
|
+
? "Opened in your browser. Keep that tab to control Moltbot."
|
|
315
|
+
: "Copy/paste this URL in a browser on this machine to control Moltbot.",
|
|
315
316
|
controlUiOpenHint,
|
|
316
317
|
]
|
|
317
318
|
.filter(Boolean)
|
|
@@ -327,24 +328,24 @@ export async function finalizeOnboardingWizard(options) {
|
|
|
327
328
|
webSearchKey
|
|
328
329
|
? "API key: stored in config (tools.web.search.apiKey)."
|
|
329
330
|
: "API key: provided via BRAVE_API_KEY env var (Gateway environment).",
|
|
330
|
-
"Docs: https://docs.
|
|
331
|
+
"Docs: https://docs.molt.bot/tools/web",
|
|
331
332
|
].join("\n")
|
|
332
333
|
: [
|
|
333
334
|
"If you want your agent to be able to search the web, you’ll need an API key.",
|
|
334
335
|
"",
|
|
335
|
-
"
|
|
336
|
+
"Moltbot uses Brave Search for the `web_search` tool. Without a Brave Search API key, web search won’t work.",
|
|
336
337
|
"",
|
|
337
338
|
"Set it up interactively:",
|
|
338
|
-
`- Run: ${formatCliCommand("
|
|
339
|
+
`- Run: ${formatCliCommand("moltbot configure --section web")}`,
|
|
339
340
|
"- Enable web_search and paste your Brave Search API key",
|
|
340
341
|
"",
|
|
341
342
|
"Alternative: set BRAVE_API_KEY in the Gateway environment (no config changes).",
|
|
342
|
-
"Docs: https://docs.
|
|
343
|
+
"Docs: https://docs.molt.bot/tools/web",
|
|
343
344
|
].join("\n"), "Web search (optional)");
|
|
344
|
-
await prompter.note('What now: https://
|
|
345
|
+
await prompter.note('What now: https://molt.bot/showcase ("What People Are Building").', "What now");
|
|
345
346
|
await prompter.outro(controlUiOpened
|
|
346
|
-
? "Onboarding complete. Dashboard opened with your token; keep that tab to control
|
|
347
|
+
? "Onboarding complete. Dashboard opened with your token; keep that tab to control Moltbot."
|
|
347
348
|
: seededInBackground
|
|
348
349
|
? "Onboarding complete. Web UI seeded in the background; open it anytime with the tokenized link above."
|
|
349
|
-
: "Onboarding complete. Use the tokenized dashboard link above to control
|
|
350
|
+
: "Onboarding complete. Use the tokenized dashboard link above to control Moltbot.");
|
|
350
351
|
}
|
|
@@ -53,11 +53,6 @@ export async function configureGatewayForOnboarding(opts) {
|
|
|
53
53
|
: (await prompter.select({
|
|
54
54
|
message: "Gateway auth",
|
|
55
55
|
options: [
|
|
56
|
-
{
|
|
57
|
-
value: "off",
|
|
58
|
-
label: "Off (loopback only)",
|
|
59
|
-
hint: "Not recommended unless you fully trust local processes",
|
|
60
|
-
},
|
|
61
56
|
{
|
|
62
57
|
value: "token",
|
|
63
58
|
label: "Token",
|
|
@@ -100,7 +95,7 @@ export async function configureGatewayForOnboarding(opts) {
|
|
|
100
95
|
}
|
|
101
96
|
let tailscaleResetOnExit = flow === "quickstart" ? quickstartGateway.tailscaleResetOnExit : false;
|
|
102
97
|
if (tailscaleMode !== "off" && flow !== "quickstart") {
|
|
103
|
-
await prompter.note(["Docs:", "https://docs.
|
|
98
|
+
await prompter.note(["Docs:", "https://docs.molt.bot/gateway/tailscale", "https://docs.molt.bot/web"].join("\n"), "Tailscale");
|
|
104
99
|
tailscaleResetOnExit = Boolean(await prompter.confirm({
|
|
105
100
|
message: "Reset Tailscale serve/funnel on exit?",
|
|
106
101
|
initialValue: false,
|
|
@@ -108,17 +103,12 @@ export async function configureGatewayForOnboarding(opts) {
|
|
|
108
103
|
}
|
|
109
104
|
// Safety + constraints:
|
|
110
105
|
// - Tailscale wants bind=loopback so we never expose a non-loopback server + tailscale serve/funnel at once.
|
|
111
|
-
// - Auth off only allowed for bind=loopback.
|
|
112
106
|
// - Funnel requires password auth.
|
|
113
107
|
if (tailscaleMode !== "off" && bind !== "loopback") {
|
|
114
108
|
await prompter.note("Tailscale requires bind=loopback. Adjusting bind to loopback.", "Note");
|
|
115
109
|
bind = "loopback";
|
|
116
110
|
customBindHost = undefined;
|
|
117
111
|
}
|
|
118
|
-
if (authMode === "off" && bind !== "loopback") {
|
|
119
|
-
await prompter.note("Non-loopback bind requires auth. Switching to token auth.", "Note");
|
|
120
|
-
authMode = "token";
|
|
121
|
-
}
|
|
122
112
|
if (tailscaleMode === "funnel" && authMode !== "password") {
|
|
123
113
|
await prompter.note("Tailscale funnel requires password auth.", "Note");
|
|
124
114
|
authMode = "password";
|
|
@@ -20,12 +20,26 @@ async function requireRiskAcknowledgement(params) {
|
|
|
20
20
|
if (params.opts.acceptRisk === true)
|
|
21
21
|
return;
|
|
22
22
|
await params.prompter.note([
|
|
23
|
-
"
|
|
23
|
+
"Security warning — please read.",
|
|
24
24
|
"",
|
|
25
|
-
"
|
|
25
|
+
"Moltbot is a hobby project and still in beta. Expect sharp edges.",
|
|
26
|
+
"This bot can read files and run actions if tools are enabled.",
|
|
27
|
+
"A bad prompt can trick it into doing unsafe things.",
|
|
26
28
|
"",
|
|
27
|
-
"If you’re
|
|
28
|
-
"
|
|
29
|
+
"If you’re not comfortable with basic security and access control, don’t run Moltbot.",
|
|
30
|
+
"Ask someone experienced to help before enabling tools or exposing it to the internet.",
|
|
31
|
+
"",
|
|
32
|
+
"Recommended baseline:",
|
|
33
|
+
"- Pairing/allowlists + mention gating.",
|
|
34
|
+
"- Sandbox + least-privilege tools.",
|
|
35
|
+
"- Keep secrets out of the agent’s reachable filesystem.",
|
|
36
|
+
"- Use the strongest available model for any bot with tools or untrusted inboxes.",
|
|
37
|
+
"",
|
|
38
|
+
"Run regularly:",
|
|
39
|
+
"moltbot security audit --deep",
|
|
40
|
+
"moltbot security audit --fix",
|
|
41
|
+
"",
|
|
42
|
+
"Must read: https://docs.molt.bot/gateway/security",
|
|
29
43
|
].join("\n"), "Security");
|
|
30
44
|
const ok = await params.prompter.confirm({
|
|
31
45
|
message: "I understand this is powerful and inherently risky. Continue?",
|
|
@@ -37,7 +51,7 @@ async function requireRiskAcknowledgement(params) {
|
|
|
37
51
|
}
|
|
38
52
|
export async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
|
|
39
53
|
printWizardHeader(runtime);
|
|
40
|
-
await prompter.intro("
|
|
54
|
+
await prompter.intro("Moltbot onboarding");
|
|
41
55
|
await requireRiskAcknowledgement({ opts, prompter });
|
|
42
56
|
const snapshot = await readConfigFileSnapshot();
|
|
43
57
|
let baseConfig = snapshot.valid ? snapshot.config : {};
|
|
@@ -47,14 +61,14 @@ export async function runOnboardingWizard(opts, runtime = defaultRuntime, prompt
|
|
|
47
61
|
await prompter.note([
|
|
48
62
|
...snapshot.issues.map((iss) => `- ${iss.path}: ${iss.message}`),
|
|
49
63
|
"",
|
|
50
|
-
"Docs: https://docs.
|
|
64
|
+
"Docs: https://docs.molt.bot/gateway/configuration",
|
|
51
65
|
].join("\n"), "Config issues");
|
|
52
66
|
}
|
|
53
|
-
await prompter.outro(`Config invalid. Run \`${formatCliCommand("
|
|
67
|
+
await prompter.outro(`Config invalid. Run \`${formatCliCommand("moltbot doctor")}\` to repair it, then re-run onboarding.`);
|
|
54
68
|
runtime.exit(1);
|
|
55
69
|
return;
|
|
56
70
|
}
|
|
57
|
-
const quickstartHint = `Configure details later via ${formatCliCommand("
|
|
71
|
+
const quickstartHint = `Configure details later via ${formatCliCommand("moltbot configure")}.`;
|
|
58
72
|
const manualHint = "Configure port, network, Tailscale, and auth options.";
|
|
59
73
|
const explicitFlowRaw = opts.flow?.trim();
|
|
60
74
|
const normalizedExplicitFlow = explicitFlowRaw === "manual" ? "advanced" : explicitFlowRaw;
|
|
@@ -167,8 +181,6 @@ export async function runOnboardingWizard(opts, runtime = defaultRuntime, prompt
|
|
|
167
181
|
return "Auto";
|
|
168
182
|
};
|
|
169
183
|
const formatAuth = (value) => {
|
|
170
|
-
if (value === "off")
|
|
171
|
-
return "Off (loopback only)";
|
|
172
184
|
if (value === "token")
|
|
173
185
|
return "Token (default)";
|
|
174
186
|
return "Password";
|
|
@@ -205,8 +217,8 @@ export async function runOnboardingWizard(opts, runtime = defaultRuntime, prompt
|
|
|
205
217
|
const localUrl = `ws://127.0.0.1:${localPort}`;
|
|
206
218
|
const localProbe = await probeGatewayReachable({
|
|
207
219
|
url: localUrl,
|
|
208
|
-
token: baseConfig.gateway?.auth?.token ?? process.env.
|
|
209
|
-
password: baseConfig.gateway?.auth?.password ?? process.env.
|
|
220
|
+
token: baseConfig.gateway?.auth?.token ?? process.env.CLAWDBOT_GATEWAY_TOKEN,
|
|
221
|
+
password: baseConfig.gateway?.auth?.password ?? process.env.CLAWDBOT_GATEWAY_PASSWORD,
|
|
210
222
|
});
|
|
211
223
|
const remoteUrl = baseConfig.gateway?.remote?.url?.trim() ?? "";
|
|
212
224
|
const remoteProbe = remoteUrl
|
|
@@ -278,7 +290,6 @@ export async function runOnboardingWizard(opts, runtime = defaultRuntime, prompt
|
|
|
278
290
|
prompter,
|
|
279
291
|
store: authStore,
|
|
280
292
|
includeSkip: true,
|
|
281
|
-
includeClaudeCliIfMissing: true,
|
|
282
293
|
}));
|
|
283
294
|
const authResult = await applyAuthChoice({
|
|
284
295
|
authChoice,
|
package/docs/CNAME
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
docs.molt.bot
|