@gguf/pigbot 0.0.5 → 0.0.7
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 +1208 -10
- package/LICENSE +2 -2
- package/README.md +347 -37
- 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 -5
- 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/agent-scope.js +1 -1
- package/dist/agents/anthropic-payload-log.js +2 -2
- package/dist/agents/auth-profiles/doctor.js +1 -1
- package/dist/agents/auth-profiles/paths.js +3 -3
- package/dist/agents/bash-tools.exec.js +1 -1
- package/dist/agents/bash-tools.shared.js +2 -2
- package/dist/agents/cache-trace.js +5 -5
- package/dist/agents/channel-tools.js +31 -2
- package/dist/agents/cli-runner/helpers.js +3 -3
- package/dist/agents/cli-runner.js +3 -3
- package/dist/agents/context.js +4 -4
- package/dist/agents/docs-path.js +3 -3
- package/dist/agents/identity.js +1 -1
- package/dist/agents/live-auth-keys.js +2 -2
- package/dist/agents/memory-search.js +5 -0
- package/dist/agents/minimax-vlm.js +1 -1
- package/dist/agents/model-auth.js +2 -1
- package/dist/agents/model-catalog.js +4 -4
- package/dist/agents/model-selection.js +1 -1
- package/dist/agents/models-config.js +3 -3
- package/dist/agents/models-config.providers.js +40 -8
- package/dist/agents/{moltbot-tools.js → openclaw-tools.js} +1 -1
- package/dist/agents/pi-embedded-helpers/errors.js +20 -0
- package/dist/agents/pi-embedded-helpers/openai.js +1 -1
- package/dist/agents/pi-embedded-helpers.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/model.js +2 -2
- package/dist/agents/pi-embedded-runner/run/attempt.js +6 -6
- package/dist/agents/pi-embedded-runner/run.js +31 -5
- 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-tools.js +5 -5
- package/dist/agents/pi-tools.read.js +2 -2
- package/dist/agents/sandbox/browser.js +16 -11
- package/dist/agents/sandbox/constants.js +7 -7
- package/dist/agents/sandbox/docker.js +17 -14
- 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 +2 -2
- package/dist/agents/skills/bundled-dir.js +1 -1
- package/dist/agents/skills/config.js +2 -1
- package/dist/agents/skills/frontmatter.js +11 -3
- package/dist/agents/skills/workspace.js +6 -6
- package/dist/agents/synthetic-models.js +8 -0
- package/dist/agents/system-prompt.js +21 -21
- package/dist/agents/tool-images.js +1 -1
- package/dist/agents/tool-policy.js +2 -2
- package/dist/agents/tools/browser-tool.js +5 -5
- package/dist/agents/tools/image-tool.js +2 -2
- package/dist/agents/tools/memory-tool.js +1 -1
- package/dist/agents/tools/sessions-send-tool.js +2 -2
- package/dist/agents/tools/web-search.js +7 -7
- package/dist/agents/transcript-policy.js +2 -1
- package/dist/agents/workspace.js +3 -3
- package/dist/auto-reply/commands-registry.data.js +1 -1
- package/dist/auto-reply/reply/agent-runner-execution.js +1 -1
- package/dist/auto-reply/reply/bash-command.js +2 -2
- package/dist/auto-reply/reply/commands-context-report.js +2 -2
- package/dist/auto-reply/reply/commands-session.js +4 -4
- package/dist/auto-reply/reply/directive-handling.shared.js +1 -1
- package/dist/auto-reply/reply/dispatch-from-config.js +21 -0
- package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
- package/dist/auto-reply/reply/get-reply.js +1 -1
- package/dist/auto-reply/reply/groups.js +1 -1
- package/dist/auto-reply/reply/mentions.js +3 -2
- package/dist/auto-reply/reply/normalize-reply.js +12 -4
- package/dist/auto-reply/reply/reply-dispatcher.js +8 -1
- package/dist/auto-reply/reply/reply-elevated.js +1 -1
- package/dist/auto-reply/reply/stage-sandbox-media.js +1 -1
- package/dist/auto-reply/status.js +2 -2
- package/dist/browser/chrome.js +13 -13
- package/dist/browser/chrome.profile-decoration.js +5 -5
- package/dist/browser/client-fetch.js +3 -3
- package/dist/browser/config.js +11 -11
- package/dist/browser/constants.js +3 -3
- package/dist/browser/control-service.js +1 -1
- package/dist/browser/extension-relay.js +3 -3
- package/dist/browser/profiles-service.js +2 -2
- package/dist/browser/profiles.js +1 -1
- 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 +2 -2
- package/dist/browser/routes/agent.debug.js +1 -1
- package/dist/browser/server-context.js +9 -9
- package/dist/browser/server.js +2 -2
- package/dist/build-info.json +2 -2
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +24 -19
- package/dist/canvas-host/a2ui/index.html +28 -28
- package/dist/canvas-host/a2ui.js +14 -18
- package/dist/canvas-host/server.js +33 -35
- package/dist/channels/plugins/catalog.js +7 -7
- package/dist/channels/plugins/helpers.js +2 -2
- 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 +5 -5
- package/dist/channels/plugins/onboarding/telegram.js +3 -3
- package/dist/channels/plugins/onboarding/whatsapp.js +4 -4
- 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 +2 -2
- package/dist/cli/banner.js +10 -11
- package/dist/cli/browser-cli-actions-input/register.files-downloads.js +1 -1
- package/dist/cli/browser-cli-examples.js +29 -29
- package/dist/cli/browser-cli-extension.js +5 -5
- package/dist/cli/browser-cli-manage.js +4 -4
- package/dist/cli/browser-cli.js +3 -3
- package/dist/cli/channel-options.js +1 -1
- package/dist/cli/channels-cli.js +1 -1
- package/dist/cli/cli-name.js +4 -8
- package/dist/cli/command-format.js +3 -3
- package/dist/cli/config-cli.js +2 -2
- package/dist/cli/cron-cli/register.js +1 -1
- package/dist/cli/daemon-cli/install.js +2 -2
- package/dist/cli/daemon-cli/register.js +1 -1
- package/dist/cli/daemon-cli/shared.js +11 -13
- package/dist/cli/daemon-cli/status.gather.js +2 -5
- package/dist/cli/daemon-cli/status.print.js +9 -17
- package/dist/cli/directory-cli.js +1 -1
- package/dist/cli/dns-cli.js +20 -13
- package/dist/cli/docs-cli.js +2 -2
- package/dist/cli/exec-approvals-cli.js +2 -2
- package/dist/cli/gateway-cli/dev.js +7 -5
- package/dist/cli/gateway-cli/register.js +12 -6
- package/dist/cli/gateway-cli/run.js +15 -14
- 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 +36 -5
- package/dist/cli/models-cli.js +1 -1
- package/dist/cli/node-cli/daemon.js +3 -3
- package/dist/cli/node-cli/register.js +1 -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 +14 -11
- package/dist/cli/program/preaction.js +1 -1
- package/dist/cli/program/register.agent.js +15 -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 +3 -3
- package/dist/cli/program/register.status-health-sessions.js +13 -13
- package/dist/cli/program/register.subclis.js +7 -2
- package/dist/cli/route.js +1 -1
- package/dist/cli/run-main.js +3 -3
- package/dist/cli/sandbox-cli.js +19 -19
- package/dist/cli/security-cli.js +4 -4
- package/dist/cli/skills-cli.js +3 -3
- package/dist/cli/system-cli.js +1 -1
- package/dist/cli/tagline.js +11 -9
- package/dist/cli/tui-cli.js +1 -1
- package/dist/cli/update-cli.js +48 -45
- package/dist/cli/webhooks-cli.js +6 -6
- package/dist/commands/agent-via-gateway.js +1 -1
- package/dist/commands/agent.js +1 -1
- package/dist/commands/agents.command-shared.js +1 -1
- package/dist/commands/agents.commands.add.js +2 -2
- package/dist/commands/agents.commands.list.js +1 -1
- package/dist/commands/auth-choice-options.js +10 -0
- package/dist/commands/auth-choice.apply.api-providers.js +49 -1
- package/dist/commands/auth-choice.apply.openai.js +1 -1
- package/dist/commands/auth-choice.apply.plugin-provider.js +2 -2
- package/dist/commands/auth-choice.preferred-provider.js +1 -0
- 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 +2 -2
- package/dist/commands/configure.gateway.js +1 -1
- package/dist/commands/configure.wizard.js +21 -21
- package/dist/commands/daemon-install-helpers.js +2 -2
- package/dist/commands/dashboard.js +2 -2
- package/dist/commands/docs.js +5 -5
- package/dist/commands/doctor-auth.js +5 -5
- package/dist/commands/doctor-config-flow.js +64 -7
- package/dist/commands/doctor-format.js +5 -5
- package/dist/commands/doctor-gateway-daemon-flow.js +7 -4
- package/dist/commands/doctor-gateway-services.js +72 -65
- package/dist/commands/doctor-platform-notes.js +51 -9
- package/dist/commands/doctor-sandbox.js +4 -4
- package/dist/commands/doctor-security.js +7 -7
- package/dist/commands/doctor-state-integrity.js +9 -7
- package/dist/commands/doctor-state-migrations.js +1 -1
- 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 +5 -27
- package/dist/commands/doctor.js +11 -11
- package/dist/commands/gateway-status/helpers.js +2 -2
- package/dist/commands/gateway-status.js +9 -3
- package/dist/commands/health.js +2 -2
- package/dist/commands/models/auth.js +1 -1
- 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 +4 -4
- package/dist/commands/node-daemon-install-helpers.js +1 -1
- package/dist/commands/onboard-auth.config-core.js +65 -1
- package/dist/commands/onboard-auth.credentials.js +14 -2
- package/dist/commands/onboard-auth.js +2 -2
- package/dist/commands/onboard-channels.js +5 -5
- package/dist/commands/onboard-helpers.js +9 -8
- package/dist/commands/onboard-hooks.js +4 -4
- package/dist/commands/onboard-non-interactive/local/auth-choice.js +21 -1
- 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 +7 -3
- package/dist/commands/onboard-skills.js +2 -2
- package/dist/commands/onboard.js +3 -3
- 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 +9 -7
- 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 +8 -6
- package/dist/config/config.js +1 -1
- package/dist/config/io.js +13 -14
- package/dist/config/paths.js +107 -33
- package/dist/config/schema.js +14 -12
- package/dist/config/sessions/store.js +1 -1
- package/dist/config/sessions/transcript.js +1 -1
- 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-runtime.js +1 -0
- package/dist/config/zod-schema.js +3 -2
- package/dist/config/zod-schema.session.js +6 -1
- package/dist/control-ui/apple-touch-icon.png +0 -0
- package/dist/control-ui/assets/index-BKPyesll.css +1 -0
- package/dist/control-ui/assets/{index-CxLFx0Ae.js → index-DFDgq9AK.js} +397 -366
- package/dist/control-ui/assets/index-DFDgq9AK.js.map +1 -0
- package/dist/control-ui/favicon-32.png +0 -0
- package/dist/control-ui/favicon.svg +22 -0
- package/dist/control-ui/index.html +7 -5
- package/dist/daemon/constants.js +19 -25
- package/dist/daemon/inspect.js +64 -28
- package/dist/daemon/launchd.js +7 -7
- 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 +25 -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/send.outbound.js +4 -4
- package/dist/discord/send.shared.js +32 -1
- package/dist/discord/targets.js +79 -0
- package/dist/entry.js +9 -8
- package/dist/gateway/auth.js +6 -3
- package/dist/gateway/call.js +3 -1
- package/dist/gateway/control-ui.js +4 -4
- package/dist/gateway/hooks.js +3 -1
- package/dist/gateway/http-utils.js +5 -3
- 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/server/ws-connection/message-handler.js +1 -1
- package/dist/gateway/server-browser.js +2 -2
- package/dist/gateway/server-constants.js +2 -2
- package/dist/gateway/server-cron.js +1 -1
- package/dist/gateway/server-discovery-runtime.js +12 -4
- package/dist/gateway/server-discovery.js +7 -7
- package/dist/gateway/server-http.js +1 -1
- package/dist/gateway/server-methods/config.js +2 -2
- package/dist/gateway/server-methods/logs.js +1 -1
- package/dist/gateway/server-methods/update.js +2 -2
- package/dist/gateway/server-plugins.js +2 -2
- package/dist/gateway/server-reload-handlers.js +5 -5
- package/dist/gateway/server-runtime-config.js +3 -3
- package/dist/gateway/server-startup.js +6 -6
- package/dist/gateway/server.impl.js +8 -7
- package/dist/gateway/session-utils.fs.js +2 -1
- package/dist/gateway/test-helpers.mocks.js +8 -6
- package/dist/gateway/test-helpers.server.js +28 -28
- package/dist/gateway/tools-invoke-http.js +40 -4
- 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 +2 -1
- package/dist/hooks/bundled/session-memory/HOOK.md +30 -7
- package/dist/hooks/bundled/session-memory/handler.js +19 -12
- package/dist/hooks/bundled/soul-evil/HOOK.md +5 -5
- package/dist/hooks/bundled-dir.js +2 -2
- package/dist/hooks/config.js +1 -1
- package/dist/hooks/frontmatter.js +11 -3
- package/dist/hooks/gmail-ops.js +1 -1
- package/dist/hooks/gmail-watcher.js +1 -1
- package/dist/hooks/hooks-status.js +2 -2
- package/dist/hooks/install.js +8 -8
- package/dist/hooks/internal-hooks.js +1 -1
- package/dist/hooks/llm-slug-generator.js +1 -1
- package/dist/hooks/loader.js +1 -1
- package/dist/hooks/plugin-hooks.js +2 -2
- package/dist/hooks/workspace.js +9 -9
- package/dist/imessage/monitor/monitor-provider.js +2 -2
- package/dist/index.js +4 -4
- package/dist/infra/bonjour-discovery.js +21 -17
- package/dist/infra/bonjour.js +10 -9
- package/dist/infra/device-identity.js +1 -1
- package/dist/infra/diagnostic-flags.js +1 -1
- package/dist/infra/dotenv.js +1 -1
- package/dist/infra/exec-approvals.js +2 -2
- package/dist/infra/gateway-lock.js +3 -2
- package/dist/infra/machine-name.js +1 -1
- package/dist/infra/{moltbot-root.js → openclaw-root.js} +2 -2
- package/dist/infra/outbound/outbound-session.js +18 -0
- package/dist/infra/outbound/targets.js +1 -1
- package/dist/infra/path-env.js +10 -9
- package/dist/infra/ports-format.js +3 -2
- package/dist/infra/ports.js +2 -2
- package/dist/infra/provider-usage.auth.js +33 -0
- package/dist/infra/provider-usage.fetch.claude.js +1 -1
- package/dist/infra/provider-usage.fetch.minimax.js +1 -1
- package/dist/infra/provider-usage.load.js +6 -0
- package/dist/infra/provider-usage.shared.js +2 -0
- package/dist/infra/restart-sentinel.js +1 -1
- package/dist/infra/restart.js +4 -4
- package/dist/infra/runtime-guard.js +2 -2
- package/dist/infra/shell-env.js +4 -4
- package/dist/infra/ssh-config.js +2 -1
- package/dist/infra/ssh-tunnel.js +8 -1
- package/dist/infra/state-migrations.js +165 -6
- package/dist/infra/system-presence.js +1 -1
- package/dist/infra/tailscale.js +1 -1
- package/dist/infra/tls/gateway.js +1 -1
- package/dist/infra/unhandled-rejections.js +56 -33
- package/dist/infra/update-check.js +1 -1
- package/dist/infra/update-global.js +21 -11
- package/dist/infra/update-runner.js +7 -7
- package/dist/infra/update-startup.js +3 -3
- package/dist/infra/voicewake.js +1 -1
- package/dist/infra/warnings.js +1 -1
- package/dist/infra/widearea-dns.js +31 -14
- package/dist/logging/logger.js +4 -4
- package/dist/macos/gateway-daemon.js +9 -6
- 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 +1 -1
- package/dist/media/mime.js +3 -0
- package/dist/media-understanding/apply.js +278 -1
- package/dist/media-understanding/attachments.js +1 -1
- package/dist/media-understanding/providers/image.js +2 -2
- package/dist/media-understanding/runner.js +1 -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/memory/internal.js +49 -16
- package/dist/memory/manager-cache-key.js +1 -0
- package/dist/memory/manager.js +62 -10
- package/dist/memory/sync-memory-files.js +1 -1
- package/dist/node-host/runner.js +6 -6
- package/dist/pairing/pairing-messages.js +2 -2
- package/dist/plugins/bundled-dir.js +1 -1
- package/dist/plugins/cli.js +2 -2
- package/dist/plugins/config-state.js +60 -0
- package/dist/plugins/discovery.js +14 -12
- package/dist/plugins/install.js +8 -8
- package/dist/plugins/loader.js +4 -7
- package/dist/plugins/manifest-registry.js +4 -4
- package/dist/plugins/manifest.js +4 -7
- package/dist/plugins/providers.js +2 -2
- package/dist/plugins/registry.js +2 -2
- package/dist/plugins/runtime.js +1 -1
- package/dist/plugins/status.js +2 -2
- package/dist/plugins/tools.js +2 -2
- package/dist/plugins/update.js +3 -3
- package/dist/providers/qwen-portal-oauth.js +1 -1
- package/dist/routing/resolve-route.js +2 -0
- package/dist/routing/session-key.js +5 -0
- package/dist/security/audit-extra.js +2 -2
- package/dist/security/audit.js +7 -7
- package/dist/shared/text/reasoning-tags.js +44 -3
- package/dist/slack/monitor/commands.js +4 -3
- package/dist/slack/monitor/slash.js +62 -59
- package/dist/slack/monitor.test-helpers.js +1 -1
- package/dist/telegram/accounts.js +1 -1
- package/dist/telegram/bot/delivery.js +26 -3
- package/dist/telegram/bot/helpers.js +13 -2
- package/dist/telegram/bot-message-context.js +8 -4
- package/dist/telegram/bot-message-dispatch.js +36 -5
- package/dist/telegram/bot-native-commands.js +50 -11
- package/dist/telegram/bot.js +7 -5
- package/dist/telegram/download.js +1 -1
- package/dist/telegram/monitor.js +19 -1
- package/dist/telegram/network-config.js +2 -2
- package/dist/telegram/network-errors.js +4 -0
- package/dist/terminal/links.js +1 -1
- package/dist/tts/tts.js +12 -6
- package/dist/tui/gateway-chat.js +3 -3
- package/dist/tui/tui.js +1 -1
- package/dist/utils.js +12 -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/broadcast.js +2 -0
- package/dist/web/auto-reply/monitor/process-message.js +1 -1
- package/dist/web/auto-reply/monitor.js +1 -1
- package/dist/web/login.js +1 -1
- package/dist/web/session.js +2 -2
- package/dist/wizard/onboarding.finalize.js +24 -21
- package/dist/wizard/onboarding.gateway-config.js +1 -1
- package/dist/wizard/onboarding.js +11 -11
- package/docs/CNAME +1 -1
- package/docs/_config.yml +3 -3
- package/docs/_layouts/default.html +9 -9
- package/docs/assets/openclaw-logo-text-dark.png +0 -0
- package/docs/assets/openclaw-logo-text.png +0 -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 +7 -7
- package/docs/automation/gmail-pubsub.md +25 -25
- package/docs/automation/poll.md +7 -7
- package/docs/automation/webhook.md +5 -5
- package/docs/bedrock.md +10 -10
- package/docs/brave-search.md +1 -1
- package/docs/broadcast-groups.md +6 -6
- package/docs/channels/bluebubbles.md +12 -12
- package/docs/channels/discord.md +15 -15
- package/docs/channels/googlechat.md +16 -16
- package/docs/channels/imessage.md +13 -13
- package/docs/channels/index.md +4 -4
- package/docs/channels/line.md +6 -6
- package/docs/channels/location.md +1 -1
- package/docs/channels/matrix.md +14 -14
- package/docs/channels/mattermost.md +8 -8
- package/docs/channels/msteams.md +26 -26
- package/docs/channels/nextcloud-talk.md +7 -7
- package/docs/channels/nostr.md +9 -9
- package/docs/channels/signal.md +9 -9
- package/docs/channels/slack.md +16 -16
- package/docs/channels/telegram.md +23 -23
- package/docs/channels/tlon.md +5 -5
- package/docs/channels/troubleshooting.md +2 -2
- package/docs/channels/twitch.md +14 -14
- 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 +12 -12
- package/docs/cli/approvals.md +14 -14
- package/docs/cli/browser.md +24 -24
- 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 -6
- 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 +35 -35
- package/docs/cli/index.md +42 -42
- package/docs/cli/logs.md +6 -6
- package/docs/cli/memory.md +12 -11
- package/docs/cli/message.md +11 -11
- package/docs/cli/models.md +15 -15
- package/docs/cli/node.md +14 -14
- package/docs/cli/nodes.md +14 -14
- package/docs/cli/onboard.md +7 -7
- package/docs/cli/pairing.md +4 -4
- package/docs/cli/plugins.md +16 -16
- package/docs/cli/reset.md +5 -5
- package/docs/cli/sandbox.md +28 -28
- package/docs/cli/security.md +6 -6
- 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 +27 -27
- package/docs/concepts/agent.md +12 -12
- package/docs/concepts/architecture.md +2 -2
- package/docs/concepts/channel-routing.md +5 -5
- package/docs/concepts/compaction.md +5 -5
- package/docs/concepts/context.md +6 -6
- package/docs/concepts/group-messages.md +7 -7
- package/docs/concepts/groups.md +5 -5
- package/docs/concepts/markdown-formatting.md +3 -3
- package/docs/concepts/memory.md +41 -19
- package/docs/concepts/messages.md +4 -4
- package/docs/concepts/model-failover.md +14 -14
- package/docs/concepts/model-providers.md +25 -24
- package/docs/concepts/models.md +27 -27
- package/docs/concepts/multi-agent.md +31 -31
- package/docs/concepts/oauth.md +22 -22
- 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 +18 -16
- package/docs/concepts/streaming.md +3 -3
- package/docs/concepts/system-prompt.md +11 -11
- package/docs/concepts/timezone.md +2 -2
- package/docs/concepts/typebox.md +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 +6 -6
- package/docs/debugging.md +18 -18
- package/docs/diagnostics/flags.md +7 -7
- package/docs/docs.json +21 -5
- 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 +12 -12
- package/docs/gateway/authentication.md +22 -22
- 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 +12 -12
- package/docs/gateway/configuration-examples.md +26 -25
- package/docs/gateway/configuration.md +155 -153
- 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 +63 -63
- package/docs/gateway/local-models.md +2 -2
- package/docs/gateway/logging.md +8 -8
- package/docs/gateway/multiple-gateways.md +24 -24
- 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 +4 -4
- package/docs/gateway/remote-gateway-readme.md +10 -10
- package/docs/gateway/remote.md +4 -4
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +7 -7
- package/docs/gateway/sandboxing.md +6 -6
- package/docs/gateway/security/formal-verification.md +67 -14
- package/docs/gateway/security/index.md +56 -59
- package/docs/gateway/tailscale.md +10 -10
- package/docs/gateway/tools-invoke-http-api.md +5 -5
- package/docs/gateway/troubleshooting.md +112 -112
- package/docs/help/faq.md +338 -338
- package/docs/help/troubleshooting.md +16 -16
- package/docs/hooks/soul-evil.md +2 -2
- package/docs/hooks.md +62 -62
- package/docs/index.md +45 -36
- package/docs/install/ansible.md +35 -35
- package/docs/install/development-channels.md +10 -10
- package/docs/install/docker.md +45 -45
- package/docs/install/index.md +33 -33
- package/docs/install/installer.md +24 -24
- package/docs/install/migrating.md +36 -36
- package/docs/install/nix.md +18 -18
- package/docs/install/node.md +4 -4
- package/docs/install/uninstall.md +29 -29
- package/docs/install/updating.md +51 -51
- package/docs/logging.md +59 -59
- package/docs/multi-agent-sandbox-tools.md +15 -15
- 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 +3 -3
- package/docs/northflank.mdx +9 -9
- package/docs/perplexity.md +2 -2
- package/docs/platforms/android.md +14 -14
- package/docs/platforms/digitalocean.md +26 -26
- package/docs/platforms/exe-dev.md +68 -130
- package/docs/platforms/fly.md +33 -33
- package/docs/platforms/gcp.md +58 -58
- package/docs/platforms/hetzner.md +45 -45
- package/docs/platforms/index.md +8 -8
- package/docs/platforms/ios.md +13 -13
- package/docs/platforms/linux.md +11 -11
- package/docs/platforms/mac/bundled-gateway.md +14 -14
- package/docs/platforms/mac/canvas.md +14 -14
- package/docs/platforms/mac/child-process.md +5 -5
- package/docs/platforms/mac/dev-setup.md +10 -10
- package/docs/platforms/mac/health.md +2 -2
- package/docs/platforms/mac/icon.md +1 -1
- package/docs/platforms/mac/logging.md +4 -4
- package/docs/platforms/mac/menu-bar.md +1 -1
- package/docs/platforms/mac/peekaboo.md +9 -9
- package/docs/platforms/mac/permissions.md +1 -1
- package/docs/platforms/mac/release.md +18 -18
- package/docs/platforms/mac/remote.md +14 -14
- package/docs/platforms/mac/signing.md +7 -7
- package/docs/platforms/mac/skills.md +4 -4
- package/docs/platforms/mac/webchat.md +1 -1
- package/docs/platforms/mac/xpc.md +4 -4
- package/docs/platforms/macos-vm.md +27 -27
- package/docs/platforms/macos.md +16 -16
- package/docs/platforms/oracle.md +35 -35
- package/docs/platforms/raspberry-pi.md +22 -22
- package/docs/platforms/windows.md +11 -11
- package/docs/plugin.md +65 -65
- package/docs/plugins/agent-tools.md +1 -1
- package/docs/plugins/manifest.md +4 -4
- package/docs/plugins/voice-call.md +12 -12
- package/docs/plugins/zalouser.md +9 -9
- package/docs/prose.md +9 -9
- package/docs/providers/anthropic.md +16 -16
- package/docs/providers/claude-max-api-proxy.md +4 -4
- 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 +4 -3
- package/docs/providers/minimax.md +9 -9
- package/docs/providers/models.md +3 -3
- package/docs/providers/moonshot.md +15 -4
- package/docs/providers/ollama.md +11 -11
- package/docs/providers/openai.md +6 -6
- 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 +23 -23
- package/docs/providers/vercel-ai-gateway.md +4 -4
- package/docs/providers/xiaomi.md +62 -0
- package/docs/providers/zai.md +5 -5
- package/docs/railway.mdx +8 -8
- 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 +17 -17
- 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 +1 -1
- package/docs/reference/templates/TOOLS.dev.md +1 -1
- package/docs/reference/templates/USER.dev.md +2 -2
- package/docs/reference/test.md +2 -2
- package/docs/reference/transcript-hygiene.md +1 -1
- package/docs/render.mdx +13 -13
- package/docs/scripts.md +1 -1
- package/docs/security/formal-verification.md +66 -13
- package/docs/start/getting-started.md +29 -29
- package/docs/start/hubs.md +2 -2
- package/docs/start/lore.md +14 -14
- package/docs/start/onboarding.md +7 -7
- package/docs/start/{clawd.md → openclaw.md} +35 -35
- package/docs/start/pairing.md +10 -10
- package/docs/start/setup.md +22 -22
- package/docs/start/showcase.md +32 -32
- package/docs/start/wizard.md +30 -30
- 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 +16 -16
- package/docs/tools/browser-login.md +6 -6
- package/docs/tools/browser.md +126 -126
- package/docs/tools/chrome-extension.md +17 -17
- package/docs/tools/clawdhub.md +7 -7
- package/docs/tools/creating-skills.md +6 -6
- package/docs/tools/exec-approvals.md +5 -5
- package/docs/tools/exec.md +4 -4
- package/docs/tools/firecrawl.md +2 -2
- package/docs/tools/index.md +13 -13
- package/docs/tools/llm-task.md +2 -2
- package/docs/tools/lobster.md +13 -13
- package/docs/tools/skills-config.md +2 -2
- package/docs/tools/skills.md +31 -31
- package/docs/tools/slash-commands.md +8 -8
- package/docs/tools/web.md +8 -8
- package/docs/tts.md +11 -11
- package/docs/tui.md +7 -7
- package/docs/vps.md +1 -1
- package/docs/web/control-ui.md +8 -8
- package/docs/web/dashboard.md +6 -6
- package/docs/web/index.md +5 -5
- package/extensions/bluebubbles/index.ts +3 -3
- package/extensions/bluebubbles/package.json +5 -5
- package/extensions/bluebubbles/src/accounts.ts +9 -9
- package/extensions/bluebubbles/src/actions.test.ts +22 -22
- package/extensions/bluebubbles/src/actions.ts +6 -6
- package/extensions/bluebubbles/src/attachments.ts +2 -2
- package/extensions/bluebubbles/src/channel.ts +17 -17
- package/extensions/bluebubbles/src/chat.ts +2 -2
- package/extensions/bluebubbles/src/config-schema.ts +1 -1
- package/extensions/bluebubbles/src/media-send.ts +2 -2
- package/extensions/bluebubbles/src/monitor.test.ts +48 -48
- package/extensions/bluebubbles/src/monitor.ts +6 -6
- package/extensions/bluebubbles/src/onboarding.ts +9 -9
- package/extensions/bluebubbles/src/reactions.ts +2 -2
- package/extensions/bluebubbles/src/runtime.ts +1 -1
- package/extensions/bluebubbles/src/send.ts +2 -2
- package/extensions/copilot-proxy/README.md +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 +2 -2
- package/extensions/google-antigravity-auth/package.json +4 -4
- package/extensions/google-gemini-cli-auth/README.md +5 -5
- package/extensions/google-gemini-cli-auth/index.ts +3 -3
- package/extensions/google-gemini-cli-auth/oauth.ts +4 -4
- package/extensions/google-gemini-cli-auth/package.json +4 -4
- package/extensions/googlechat/index.ts +4 -4
- package/extensions/googlechat/node_modules/.bin/openclaw +16 -0
- package/extensions/googlechat/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/googlechat/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/googlechat/package.json +7 -7
- package/extensions/googlechat/src/accounts.ts +9 -9
- package/extensions/googlechat/src/actions.ts +8 -8
- package/extensions/googlechat/src/api.ts +1 -1
- package/extensions/googlechat/src/channel.ts +23 -23
- package/extensions/googlechat/src/monitor.ts +9 -9
- package/extensions/googlechat/src/onboarding.ts +11 -11
- package/extensions/googlechat/src/runtime.ts +1 -1
- package/extensions/googlechat/src/types.config.ts +1 -1
- package/extensions/imessage/index.ts +3 -3
- package/extensions/imessage/package.json +4 -4
- package/extensions/imessage/src/channel.ts +1 -1
- package/extensions/imessage/src/runtime.ts +1 -1
- package/extensions/line/index.ts +3 -3
- package/extensions/line/node_modules/.bin/openclaw +16 -0
- package/extensions/line/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/line/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/line/package.json +6 -6
- package/extensions/line/src/card-command.ts +3 -3
- package/extensions/line/src/channel.logout.test.ts +4 -4
- package/extensions/line/src/channel.sendPayload.test.ts +8 -8
- package/extensions/line/src/channel.ts +5 -5
- package/extensions/line/src/runtime.ts +1 -1
- package/extensions/llm-task/README.md +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 +6 -6
- package/extensions/lobster/README.md +7 -7
- package/extensions/lobster/index.ts +2 -2
- package/extensions/lobster/package.json +3 -3
- package/extensions/lobster/src/lobster-tool.test.ts +7 -7
- package/extensions/lobster/src/lobster-tool.ts +2 -2
- package/extensions/matrix/CHANGELOG.md +14 -9
- package/extensions/matrix/index.ts +3 -3
- package/extensions/matrix/node_modules/.bin/markdown-it +0 -5
- package/extensions/matrix/node_modules/.bin/markdown-it.CMD +0 -5
- package/extensions/matrix/node_modules/.bin/markdown-it.ps1 +0 -13
- package/extensions/matrix/node_modules/.bin/openclaw +16 -0
- package/extensions/matrix/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/matrix/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/matrix/package.json +6 -6
- 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/client/config.ts +1 -1
- package/extensions/matrix/src/matrix/deps.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/events.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/handler.ts +5 -5
- package/extensions/matrix/src/matrix/monitor/index.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/location.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/media.test.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/replies.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/rooms.ts +1 -1
- package/extensions/matrix/src/matrix/poll-types.ts +1 -1
- package/extensions/matrix/src/matrix/send/client.ts +1 -1
- package/extensions/matrix/src/matrix/send.test.ts +1 -1
- package/extensions/matrix/src/matrix/send.ts +1 -1
- package/extensions/matrix/src/onboarding.ts +2 -2
- 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/mattermost/index.ts +3 -3
- package/extensions/mattermost/package.json +5 -5
- package/extensions/mattermost/src/channel.ts +1 -1
- package/extensions/mattermost/src/config-schema.ts +1 -1
- package/extensions/mattermost/src/group-mentions.ts +1 -1
- package/extensions/mattermost/src/mattermost/accounts.ts +9 -9
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
- package/extensions/mattermost/src/mattermost/monitor.ts +4 -4
- package/extensions/mattermost/src/onboarding-helpers.ts +4 -4
- package/extensions/mattermost/src/onboarding.ts +4 -4
- package/extensions/mattermost/src/runtime.ts +1 -1
- package/extensions/mattermost/src/types.ts +1 -1
- package/extensions/memory-core/index.ts +3 -3
- package/extensions/memory-core/node_modules/.bin/openclaw +16 -0
- package/extensions/memory-core/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/memory-core/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/memory-core/package.json +6 -6
- package/extensions/memory-lancedb/config.ts +26 -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 +0 -5
- package/extensions/memory-lancedb/node_modules/.bin/openai.CMD +0 -5
- package/extensions/memory-lancedb/node_modules/.bin/openai.ps1 +0 -13
- package/extensions/memory-lancedb/{clawdbot.plugin.json → openclaw.plugin.json} +1 -1
- package/extensions/memory-lancedb/package.json +4 -4
- package/extensions/msteams/CHANGELOG.md +12 -7
- package/extensions/msteams/index.ts +3 -3
- package/extensions/msteams/node_modules/.bin/openclaw +16 -0
- package/extensions/msteams/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/msteams/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/msteams/package.json +6 -6
- package/extensions/msteams/src/attachments.test.ts +1 -1
- package/extensions/msteams/src/channel.directory.test.ts +2 -2
- package/extensions/msteams/src/channel.ts +3 -3
- package/extensions/msteams/src/conversation-store-fs.test.ts +6 -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 +2 -2
- package/extensions/msteams/src/polls-store.test.ts +1 -1
- package/extensions/msteams/src/polls.test.ts +6 -5
- package/extensions/msteams/src/polls.ts +9 -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 +3 -3
- 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 +9 -4
- package/extensions/nostr/README.md +5 -5
- package/extensions/nostr/index.ts +6 -6
- package/extensions/nostr/node_modules/.bin/openclaw +16 -0
- package/extensions/nostr/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/nostr/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/nostr/package.json +6 -6
- package/extensions/nostr/src/channel.ts +2 -2
- package/extensions/nostr/src/config-schema.ts +1 -1
- package/extensions/nostr/src/nostr-state-store.test.ts +9 -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/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/twitch/CHANGELOG.md +6 -1
- package/extensions/twitch/README.md +8 -8
- package/extensions/twitch/index.ts +3 -3
- package/extensions/twitch/node_modules/.bin/openclaw +16 -0
- package/extensions/twitch/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/twitch/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/twitch/package.json +5 -5
- package/extensions/twitch/src/actions.ts +1 -1
- package/extensions/twitch/src/config-schema.ts +1 -1
- package/extensions/twitch/src/config.ts +3 -3
- package/extensions/twitch/src/monitor.ts +3 -3
- package/extensions/twitch/src/onboarding.test.ts +1 -1
- package/extensions/twitch/src/onboarding.ts +13 -13
- package/extensions/twitch/src/outbound.test.ts +2 -2
- package/extensions/twitch/src/outbound.ts +2 -2
- package/extensions/twitch/src/plugin.test.ts +2 -2
- package/extensions/twitch/src/plugin.ts +9 -9
- package/extensions/twitch/src/runtime.ts +1 -1
- package/extensions/twitch/src/send.test.ts +2 -2
- package/extensions/twitch/src/send.ts +5 -5
- package/extensions/twitch/src/token.test.ts +12 -12
- package/extensions/twitch/src/token.ts +7 -7
- package/extensions/twitch/src/twitch-client.ts +4 -4
- package/extensions/twitch/src/types.ts +3 -3
- package/extensions/twitch/src/utils/markdown.ts +1 -1
- package/extensions/voice-call/CHANGELOG.md +16 -11
- package/extensions/voice-call/README.md +16 -16
- package/extensions/voice-call/package.json +4 -4
- package/extensions/voice-call/src/cli.ts +16 -4
- package/extensions/voice-call/src/core-bridge.ts +5 -5
- package/extensions/voice-call/src/manager.test.ts +2 -2
- package/extensions/voice-call/src/manager.ts +17 -5
- package/extensions/voice-call/src/response-generator.ts +1 -1
- 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 +14 -9
- package/extensions/zalo/README.md +4 -4
- package/extensions/zalo/index.ts +3 -3
- package/extensions/zalo/node_modules/.bin/openclaw +16 -0
- package/extensions/zalo/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/zalo/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/zalo/package.json +6 -6
- package/extensions/zalo/src/accounts.ts +9 -9
- package/extensions/zalo/src/actions.ts +6 -6
- package/extensions/zalo/src/channel.directory.test.ts +2 -2
- package/extensions/zalo/src/channel.ts +20 -20
- package/extensions/zalo/src/config-schema.ts +1 -1
- package/extensions/zalo/src/monitor.ts +9 -9
- package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
- package/extensions/zalo/src/onboarding.ts +27 -27
- package/extensions/zalo/src/runtime.ts +1 -1
- package/extensions/zalo/src/send.ts +2 -2
- package/extensions/zalo/src/status-issues.ts +1 -1
- package/extensions/zalo/src/token.ts +1 -1
- package/extensions/zalouser/CHANGELOG.md +9 -4
- package/extensions/zalouser/README.md +18 -18
- package/extensions/zalouser/index.ts +3 -3
- package/extensions/zalouser/node_modules/.bin/openclaw +16 -0
- package/extensions/zalouser/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/zalouser/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/zalouser/package.json +6 -6
- package/extensions/zalouser/src/accounts.ts +10 -10
- package/extensions/zalouser/src/channel.ts +27 -27
- package/extensions/zalouser/src/config-schema.ts +1 -1
- package/extensions/zalouser/src/monitor.ts +5 -5
- package/extensions/zalouser/src/onboarding.ts +32 -32
- package/extensions/zalouser/src/runtime.ts +1 -1
- package/extensions/zalouser/src/status-issues.ts +2 -2
- package/openclaw.mjs +14 -0
- package/package.json +35 -25
- package/scripts/postinstall.js +1 -0
- package/skills/1password/SKILL.md +3 -3
- package/skills/apple-notes/SKILL.md +2 -2
- package/skills/apple-reminders/SKILL.md +1 -1
- package/skills/bear-notes/SKILL.md +1 -1
- package/skills/bird/SKILL.md +1 -1
- package/skills/blogwatcher/SKILL.md +1 -1
- package/skills/blucli/SKILL.md +1 -1
- package/skills/bluebubbles/SKILL.md +1 -1
- package/skills/camsnap/SKILL.md +1 -1
- package/skills/canvas/SKILL.md +6 -6
- package/skills/clawdhub/SKILL.md +2 -2
- package/skills/coding-agent/SKILL.md +6 -6
- package/skills/discord/SKILL.md +5 -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 -1
- package/skills/gog/SKILL.md +1 -1
- package/skills/goplaces/SKILL.md +1 -1
- package/skills/himalaya/SKILL.md +1 -1
- package/skills/imsg/SKILL.md +1 -1
- package/skills/local-places/SKILL.md +1 -1
- package/skills/mcporter/SKILL.md +1 -1
- package/skills/model-usage/SKILL.md +1 -1
- package/skills/nano-banana-pro/SKILL.md +3 -3
- package/skills/nano-banana-pro/scripts/generate_image.py +1 -1
- package/skills/nano-pdf/SKILL.md +1 -1
- package/skills/notion/SKILL.md +1 -1
- package/skills/obsidian/SKILL.md +1 -1
- package/skills/openai-image-gen/SKILL.md +1 -1
- package/skills/openai-whisper/SKILL.md +1 -1
- package/skills/openai-whisper-api/SKILL.md +2 -2
- package/skills/openhue/SKILL.md +1 -1
- package/skills/oracle/SKILL.md +1 -1
- package/skills/ordercli/SKILL.md +1 -1
- package/skills/peekaboo/SKILL.md +1 -1
- package/skills/sag/SKILL.md +1 -1
- package/skills/session-logs/SKILL.md +1 -1
- package/skills/sherpa-onnx-tts/SKILL.md +2 -2
- package/skills/slack/SKILL.md +4 -4
- package/skills/songsee/SKILL.md +1 -1
- package/skills/sonoscli/SKILL.md +1 -1
- package/skills/spotify-player/SKILL.md +1 -1
- package/skills/summarize/SKILL.md +1 -1
- package/skills/things-mac/SKILL.md +3 -3
- package/skills/tmux/SKILL.md +7 -7
- package/skills/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/control-ui/assets/index-BAFzd9IE.css +0 -1
- package/dist/control-ui/assets/index-CxLFx0Ae.js.map +0 -1
- package/dist/control-ui/pixel_pig_icon.png +0 -0
- package/dist/daemon/legacy.js +0 -44
- /package/dist/config/{types.clawdbot.js → types.openclaw.js} +0 -0
- /package/docs/{whatsapp-clawd.jpg → whatsapp-openclaw.jpg} +0 -0
- /package/extensions/bluebubbles/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/copilot-proxy/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/diagnostics-otel/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/discord/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/google-antigravity-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/google-gemini-cli-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/googlechat/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/imessage/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/line/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/llm-task/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/lobster/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/matrix/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/mattermost/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/memory-core/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/msteams/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/nextcloud-talk/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/nostr/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/open-prose/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/qwen-portal-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/signal/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/slack/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/telegram/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/tlon/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/twitch/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/voice-call/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/whatsapp/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/zalo/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/zalouser/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
|
@@ -37,7 +37,7 @@ async function promptWhatsAppAllowFrom(cfg, _runtime, prompter, options) {
|
|
|
37
37
|
const existingAllowFrom = cfg.channels?.whatsapp?.allowFrom ?? [];
|
|
38
38
|
const existingLabel = existingAllowFrom.length > 0 ? existingAllowFrom.join(", ") : "unset";
|
|
39
39
|
if (options?.forceAllowlist) {
|
|
40
|
-
await prompter.note("We need the sender/owner number so
|
|
40
|
+
await prompter.note("We need the sender/owner number so OpenClaw can allowlist you.", "WhatsApp number");
|
|
41
41
|
const entry = await prompter.text({
|
|
42
42
|
message: "Your personal WhatsApp number (the phone you will message from)",
|
|
43
43
|
placeholder: "+15555550123",
|
|
@@ -81,11 +81,11 @@ async function promptWhatsAppAllowFrom(cfg, _runtime, prompter, options) {
|
|
|
81
81
|
message: "WhatsApp phone setup",
|
|
82
82
|
options: [
|
|
83
83
|
{ value: "personal", label: "This is my personal phone number" },
|
|
84
|
-
{ value: "separate", label: "Separate phone just for
|
|
84
|
+
{ value: "separate", label: "Separate phone just for OpenClaw" },
|
|
85
85
|
],
|
|
86
86
|
}));
|
|
87
87
|
if (phoneMode === "personal") {
|
|
88
|
-
await prompter.note("We need the sender/owner number so
|
|
88
|
+
await prompter.note("We need the sender/owner number so OpenClaw can allowlist you.", "WhatsApp number");
|
|
89
89
|
const entry = await prompter.text({
|
|
90
90
|
message: "Your personal WhatsApp number (the phone you will message from)",
|
|
91
91
|
placeholder: "+15555550123",
|
|
@@ -273,7 +273,7 @@ export const whatsappOnboardingAdapter = {
|
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
275
|
else if (!linked) {
|
|
276
|
-
await prompter.note(`Run \`${formatCliCommand("
|
|
276
|
+
await prompter.note(`Run \`${formatCliCommand("openclaw channels login")}\` later to link WhatsApp.`, "WhatsApp");
|
|
277
277
|
}
|
|
278
278
|
next = await promptWhatsAppAllowFrom(next, runtime, prompter, {
|
|
279
279
|
forceAllowlist: forceAllowFrom,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const PAIRING_APPROVED_MESSAGE = "✅
|
|
1
|
+
export const PAIRING_APPROVED_MESSAGE = "✅ OpenClaw access approved. Send a message to start chatting.";
|
|
@@ -42,7 +42,7 @@ export function collectBlueBubblesStatusIssues(accounts) {
|
|
|
42
42
|
accountId,
|
|
43
43
|
kind: "config",
|
|
44
44
|
message: "Not configured (missing serverUrl or password).",
|
|
45
|
-
fix: "Run:
|
|
45
|
+
fix: "Run: openclaw channels add bluebubbles --http-url <server-url> --password <password>",
|
|
46
46
|
});
|
|
47
47
|
continue;
|
|
48
48
|
}
|
|
@@ -34,7 +34,7 @@ export function collectWhatsAppStatusIssues(accounts) {
|
|
|
34
34
|
accountId,
|
|
35
35
|
kind: "auth",
|
|
36
36
|
message: "Not linked (no WhatsApp Web session).",
|
|
37
|
-
fix: `Run: ${formatCliCommand("
|
|
37
|
+
fix: `Run: ${formatCliCommand("openclaw channels login")} (scan QR on the gateway host).`,
|
|
38
38
|
});
|
|
39
39
|
continue;
|
|
40
40
|
}
|
|
@@ -44,7 +44,7 @@ export function collectWhatsAppStatusIssues(accounts) {
|
|
|
44
44
|
accountId,
|
|
45
45
|
kind: "runtime",
|
|
46
46
|
message: `Linked but disconnected${reconnectAttempts != null ? ` (reconnectAttempts=${reconnectAttempts})` : ""}${lastError ? `: ${lastError}` : "."}`,
|
|
47
|
-
fix: `Run: ${formatCliCommand("
|
|
47
|
+
fix: `Run: ${formatCliCommand("openclaw doctor")} (or restart the gateway). If it persists, relink via channels login and check logs.`,
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -12,7 +12,7 @@ export const CHAT_CHANNEL_ORDER = [
|
|
|
12
12
|
];
|
|
13
13
|
export const CHANNEL_IDS = [...CHAT_CHANNEL_ORDER];
|
|
14
14
|
export const DEFAULT_CHAT_CHANNEL = "whatsapp";
|
|
15
|
-
const WEBSITE_URL = "https://
|
|
15
|
+
const WEBSITE_URL = "https://openclaw.ai";
|
|
16
16
|
const CHAT_CHANNEL_META = {
|
|
17
17
|
telegram: {
|
|
18
18
|
id: "telegram",
|
package/dist/cli/acp-cli.js
CHANGED
|
@@ -15,7 +15,7 @@ export function registerAcpCli(program) {
|
|
|
15
15
|
.option("--reset-session", "Reset the session key before first use", false)
|
|
16
16
|
.option("--no-prefix-cwd", "Do not prefix prompts with the working directory", false)
|
|
17
17
|
.option("--verbose, -v", "Verbose logging to stderr", false)
|
|
18
|
-
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/acp", "docs.
|
|
18
|
+
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/acp", "docs.openclaw.ai/cli/acp")}\n`)
|
|
19
19
|
.action((opts) => {
|
|
20
20
|
try {
|
|
21
21
|
serveAcpGateway({
|
|
@@ -39,7 +39,7 @@ export function registerAcpCli(program) {
|
|
|
39
39
|
.command("client")
|
|
40
40
|
.description("Run an interactive ACP client against the local ACP bridge")
|
|
41
41
|
.option("--cwd <dir>", "Working directory for the ACP session")
|
|
42
|
-
.option("--server <command>", "ACP server command (default:
|
|
42
|
+
.option("--server <command>", "ACP server command (default: openclaw)")
|
|
43
43
|
.option("--server-args <args...>", "Extra arguments for the ACP server")
|
|
44
44
|
.option("--server-verbose", "Enable verbose logging on the ACP server", false)
|
|
45
45
|
.option("--verbose, -v", "Verbose client logging", false)
|
package/dist/cli/argv.js
CHANGED
|
@@ -89,14 +89,14 @@ export function buildParseArgv(params) {
|
|
|
89
89
|
const programName = params.programName ?? "";
|
|
90
90
|
const normalizedArgv = programName && baseArgv[0] === programName
|
|
91
91
|
? baseArgv.slice(1)
|
|
92
|
-
: baseArgv[0]?.endsWith("
|
|
92
|
+
: baseArgv[0]?.endsWith("openclaw")
|
|
93
93
|
? baseArgv.slice(1)
|
|
94
94
|
: baseArgv;
|
|
95
95
|
const executable = (normalizedArgv[0]?.split(/[/\\]/).pop() ?? "").toLowerCase();
|
|
96
96
|
const looksLikeNode = normalizedArgv.length >= 2 && (isNodeExecutable(executable) || isBunExecutable(executable));
|
|
97
97
|
if (looksLikeNode)
|
|
98
98
|
return normalizedArgv;
|
|
99
|
-
return ["node", programName || "
|
|
99
|
+
return ["node", programName || "openclaw", ...normalizedArgv];
|
|
100
100
|
}
|
|
101
101
|
const nodeExecutablePattern = /^node-\d+(?:\.\d+)*(?:\.exe)?$/;
|
|
102
102
|
function isNodeExecutable(executable) {
|
package/dist/cli/banner.js
CHANGED
|
@@ -2,7 +2,6 @@ import { resolveCommitHash } from "../infra/git-commit.js";
|
|
|
2
2
|
import { visibleWidth } from "../terminal/ansi.js";
|
|
3
3
|
import { isRich, theme } from "../terminal/theme.js";
|
|
4
4
|
import { pickTagline } from "./tagline.js";
|
|
5
|
-
import { resolveCliName } from "./cli-name.js";
|
|
6
5
|
let bannerEmitted = false;
|
|
7
6
|
const graphemeSegmenter = typeof Intl !== "undefined" && "Segmenter" in Intl
|
|
8
7
|
? new Intl.Segmenter(undefined, { granularity: "grapheme" })
|
|
@@ -24,8 +23,7 @@ export function formatCliBannerLine(version, options = {}) {
|
|
|
24
23
|
const commitLabel = commit ?? "unknown";
|
|
25
24
|
const tagline = pickTagline(options);
|
|
26
25
|
const rich = options.richTty ?? isRich();
|
|
27
|
-
const
|
|
28
|
-
const title = cliName === "moltbot" ? "🦞 Moltbot" : "🦞 Moltbot";
|
|
26
|
+
const title = "🦞 OpenClaw";
|
|
29
27
|
const prefix = "🦞 ";
|
|
30
28
|
const columns = options.columns ?? process.stdout.columns ?? 120;
|
|
31
29
|
const plainFullLine = `${title} ${version} (${commitLabel}) — ${tagline}`;
|
|
@@ -46,12 +44,13 @@ export function formatCliBannerLine(version, options = {}) {
|
|
|
46
44
|
return `${line1}\n${line2}`;
|
|
47
45
|
}
|
|
48
46
|
const LOBSTER_ASCII = [
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
47
|
+
"▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄",
|
|
48
|
+
"██░▄▄▄░██░▄▄░██░▄▄▄██░▀██░██░▄▄▀██░████░▄▄▀██░███░██",
|
|
49
|
+
"██░███░██░▀▀░██░▄▄▄██░█░█░██░█████░████░▀▀░██░█░█░██",
|
|
50
|
+
"██░▀▀▀░██░█████░▀▀▀██░██▄░██░▀▀▄██░▀▀░█░██░██▄▀▄▀▄██",
|
|
51
|
+
"▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀",
|
|
52
|
+
" 🦞 OPENCLAW 🦞 ",
|
|
53
|
+
" ",
|
|
55
54
|
];
|
|
56
55
|
export function formatCliBannerArt(options = {}) {
|
|
57
56
|
const rich = options.richTty ?? isRich();
|
|
@@ -67,10 +66,10 @@ export function formatCliBannerArt(options = {}) {
|
|
|
67
66
|
return theme.muted(ch);
|
|
68
67
|
};
|
|
69
68
|
const colored = LOBSTER_ASCII.map((line) => {
|
|
70
|
-
if (line.includes("
|
|
69
|
+
if (line.includes("OPENCLAW")) {
|
|
71
70
|
return (theme.muted(" ") +
|
|
72
71
|
theme.accent("🦞") +
|
|
73
|
-
theme.info("
|
|
72
|
+
theme.info(" OPENCLAW ") +
|
|
74
73
|
theme.accent("🦞"));
|
|
75
74
|
}
|
|
76
75
|
return splitGraphemes(line).map(colorChar).join("");
|
|
@@ -44,7 +44,7 @@ export function registerBrowserFilesAndDownloadsCommands(browser, parentOpts) {
|
|
|
44
44
|
browser
|
|
45
45
|
.command("waitfordownload")
|
|
46
46
|
.description("Wait for the next download (and save it)")
|
|
47
|
-
.argument("[path]", "Save path (default: /tmp/
|
|
47
|
+
.argument("[path]", "Save path (default: /tmp/openclaw/downloads/...)")
|
|
48
48
|
.option("--target-id <id>", "CDP target id (or unique prefix)")
|
|
49
49
|
.option("--timeout-ms <ms>", "How long to wait for the next download (default: 120000)", (v) => Number(v))
|
|
50
50
|
.action(async (outPath, opts, cmd) => {
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
export const browserCoreExamples = [
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
2
|
+
"openclaw browser status",
|
|
3
|
+
"openclaw browser start",
|
|
4
|
+
"openclaw browser stop",
|
|
5
|
+
"openclaw browser tabs",
|
|
6
|
+
"openclaw browser open https://example.com",
|
|
7
|
+
"openclaw browser focus abcd1234",
|
|
8
|
+
"openclaw browser close abcd1234",
|
|
9
|
+
"openclaw browser screenshot",
|
|
10
|
+
"openclaw browser screenshot --full-page",
|
|
11
|
+
"openclaw browser screenshot --ref 12",
|
|
12
|
+
"openclaw browser snapshot",
|
|
13
|
+
"openclaw browser snapshot --format aria --limit 200",
|
|
14
|
+
"openclaw browser snapshot --efficient",
|
|
15
|
+
"openclaw browser snapshot --labels",
|
|
16
16
|
];
|
|
17
17
|
export const browserActionExamples = [
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
'
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
'
|
|
28
|
-
"
|
|
29
|
-
'
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
18
|
+
"openclaw browser navigate https://example.com",
|
|
19
|
+
"openclaw browser resize 1280 720",
|
|
20
|
+
"openclaw browser click 12 --double",
|
|
21
|
+
'openclaw browser type 23 "hello" --submit',
|
|
22
|
+
"openclaw browser press Enter",
|
|
23
|
+
"openclaw browser hover 44",
|
|
24
|
+
"openclaw browser drag 10 11",
|
|
25
|
+
"openclaw browser select 9 OptionA OptionB",
|
|
26
|
+
"openclaw browser upload /tmp/file.pdf",
|
|
27
|
+
'openclaw browser fill --fields \'[{"ref":"1","value":"Ada"}]\'',
|
|
28
|
+
"openclaw browser dialog --accept",
|
|
29
|
+
'openclaw browser wait --text "Done"',
|
|
30
|
+
"openclaw browser evaluate --fn '(el) => el.textContent' --ref 7",
|
|
31
|
+
"openclaw browser console --level error",
|
|
32
|
+
"openclaw browser pdf",
|
|
33
33
|
];
|
|
@@ -23,7 +23,7 @@ function hasManifest(dir) {
|
|
|
23
23
|
export async function installChromeExtension(opts) {
|
|
24
24
|
const src = opts?.sourceDir ?? bundledExtensionRootDir();
|
|
25
25
|
if (!hasManifest(src)) {
|
|
26
|
-
throw new Error("Bundled Chrome extension is missing. Reinstall
|
|
26
|
+
throw new Error("Bundled Chrome extension is missing. Reinstall OpenClaw and try again.");
|
|
27
27
|
}
|
|
28
28
|
const stateDir = opts?.stateDir ?? STATE_DIR;
|
|
29
29
|
const dest = path.join(stateDir, "browser", "chrome-extension");
|
|
@@ -67,9 +67,9 @@ export function registerBrowserExtensionCommands(browser, parentOpts) {
|
|
|
67
67
|
"Next:",
|
|
68
68
|
`- Chrome → chrome://extensions → enable “Developer mode”`,
|
|
69
69
|
`- “Load unpacked” → select: ${displayPath}`,
|
|
70
|
-
`- Pin “
|
|
70
|
+
`- Pin “OpenClaw Browser Relay”, then click it on the tab (badge shows ON)`,
|
|
71
71
|
"",
|
|
72
|
-
`${theme.muted("Docs:")} ${formatDocsLink("/tools/chrome-extension", "docs.
|
|
72
|
+
`${theme.muted("Docs:")} ${formatDocsLink("/tools/chrome-extension", "docs.openclaw.ai/tools/chrome-extension")}`,
|
|
73
73
|
].join("\n")));
|
|
74
74
|
});
|
|
75
75
|
ext
|
|
@@ -80,8 +80,8 @@ export function registerBrowserExtensionCommands(browser, parentOpts) {
|
|
|
80
80
|
const dir = installedExtensionRootDir();
|
|
81
81
|
if (!hasManifest(dir)) {
|
|
82
82
|
defaultRuntime.error(danger([
|
|
83
|
-
`Chrome extension is not installed. Run: "${formatCliCommand("
|
|
84
|
-
`Docs: ${formatDocsLink("/tools/chrome-extension", "docs.
|
|
83
|
+
`Chrome extension is not installed. Run: "${formatCliCommand("openclaw browser extension install")}"`,
|
|
84
|
+
`Docs: ${formatDocsLink("/tools/chrome-extension", "docs.openclaw.ai/tools/chrome-extension")}`,
|
|
85
85
|
].join("\n")));
|
|
86
86
|
defaultRuntime.exit(1);
|
|
87
87
|
}
|
|
@@ -30,7 +30,7 @@ export function registerBrowserManageCommands(browser, parentOpts) {
|
|
|
30
30
|
const detectedPath = status.detectedExecutablePath ?? status.executablePath;
|
|
31
31
|
const detectedDisplay = detectedPath ? shortenHomePath(detectedPath) : "auto";
|
|
32
32
|
defaultRuntime.log([
|
|
33
|
-
`profile: ${status.profile ?? "
|
|
33
|
+
`profile: ${status.profile ?? "openclaw"}`,
|
|
34
34
|
`enabled: ${status.enabled}`,
|
|
35
35
|
`running: ${status.running}`,
|
|
36
36
|
`cdpPort: ${status.cdpPort}`,
|
|
@@ -64,7 +64,7 @@ export function registerBrowserManageCommands(browser, parentOpts) {
|
|
|
64
64
|
defaultRuntime.log(JSON.stringify(status, null, 2));
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
|
-
const name = status.profile ?? "
|
|
67
|
+
const name = status.profile ?? "openclaw";
|
|
68
68
|
defaultRuntime.log(info(`🦞 browser [${name}] running: ${status.running}`));
|
|
69
69
|
});
|
|
70
70
|
});
|
|
@@ -89,7 +89,7 @@ export function registerBrowserManageCommands(browser, parentOpts) {
|
|
|
89
89
|
defaultRuntime.log(JSON.stringify(status, null, 2));
|
|
90
90
|
return;
|
|
91
91
|
}
|
|
92
|
-
const name = status.profile ?? "
|
|
92
|
+
const name = status.profile ?? "openclaw";
|
|
93
93
|
defaultRuntime.log(info(`🦞 browser [${name}] running: ${status.running}`));
|
|
94
94
|
});
|
|
95
95
|
});
|
|
@@ -355,7 +355,7 @@ export function registerBrowserManageCommands(browser, parentOpts) {
|
|
|
355
355
|
.requiredOption("--name <name>", "Profile name (lowercase, numbers, hyphens)")
|
|
356
356
|
.option("--color <hex>", "Profile color (hex format, e.g. #0066CC)")
|
|
357
357
|
.option("--cdp-url <url>", "CDP URL for remote Chrome (http/https)")
|
|
358
|
-
.option("--driver <driver>", "Profile driver (
|
|
358
|
+
.option("--driver <driver>", "Profile driver (openclaw|extension). Default: openclaw")
|
|
359
359
|
.action(async (opts, cmd) => {
|
|
360
360
|
const parent = parentOpts(cmd);
|
|
361
361
|
await runBrowserCommand(async () => {
|
package/dist/cli/browser-cli.js
CHANGED
|
@@ -16,13 +16,13 @@ import { addGatewayClientOptions } from "./gateway-rpc.js";
|
|
|
16
16
|
export function registerBrowserCli(program) {
|
|
17
17
|
const browser = program
|
|
18
18
|
.command("browser")
|
|
19
|
-
.description("Manage
|
|
19
|
+
.description("Manage OpenClaw's dedicated browser (Chrome/Chromium)")
|
|
20
20
|
.option("--browser-profile <name>", "Browser profile name (default from config)")
|
|
21
21
|
.option("--json", "Output machine-readable JSON", false)
|
|
22
|
-
.addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatHelpExamples([...browserCoreExamples, ...browserActionExamples].map((cmd) => [cmd, ""]), true)}\n\n${theme.muted("Docs:")} ${formatDocsLink("/cli/browser", "docs.
|
|
22
|
+
.addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatHelpExamples([...browserCoreExamples, ...browserActionExamples].map((cmd) => [cmd, ""]), true)}\n\n${theme.muted("Docs:")} ${formatDocsLink("/cli/browser", "docs.openclaw.ai/cli/browser")}\n`)
|
|
23
23
|
.action(() => {
|
|
24
24
|
browser.outputHelp();
|
|
25
|
-
defaultRuntime.error(danger(`Missing subcommand. Try: "${formatCliCommand("
|
|
25
|
+
defaultRuntime.error(danger(`Missing subcommand. Try: "${formatCliCommand("openclaw browser status")}"`));
|
|
26
26
|
defaultRuntime.exit(1);
|
|
27
27
|
});
|
|
28
28
|
addGatewayClientOptions(browser);
|
|
@@ -17,7 +17,7 @@ function dedupe(values) {
|
|
|
17
17
|
export function resolveCliChannelOptions() {
|
|
18
18
|
const catalog = listChannelPluginCatalogEntries().map((entry) => entry.id);
|
|
19
19
|
const base = dedupe([...CHAT_CHANNEL_ORDER, ...catalog]);
|
|
20
|
-
if (isTruthyEnvValue(process.env.
|
|
20
|
+
if (isTruthyEnvValue(process.env.OPENCLAW_EAGER_CHANNEL_OPTIONS)) {
|
|
21
21
|
ensurePluginRegistryLoaded();
|
|
22
22
|
const pluginIds = listChannelPlugins().map((plugin) => plugin.id);
|
|
23
23
|
return dedupe([...base, ...pluginIds]);
|
package/dist/cli/channels-cli.js
CHANGED
|
@@ -57,7 +57,7 @@ export function registerChannelsCli(program) {
|
|
|
57
57
|
const channels = program
|
|
58
58
|
.command("channels")
|
|
59
59
|
.description("Manage chat channel accounts")
|
|
60
|
-
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/channels", "docs.
|
|
60
|
+
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/channels", "docs.openclaw.ai/cli/channels")}\n`);
|
|
61
61
|
channels
|
|
62
62
|
.command("list")
|
|
63
63
|
.description("List configured channels + auth profiles")
|
package/dist/cli/cli-name.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
export const DEFAULT_CLI_NAME = "
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
export function resolveCliName(argv = process.argv, env = process.env) {
|
|
7
|
-
const override = env.MOLTBOT_CLI_NAME?.trim() || env.CLAWDBOT_CLI_NAME?.trim();
|
|
8
|
-
if (override)
|
|
9
|
-
return override;
|
|
2
|
+
export const DEFAULT_CLI_NAME = "openclaw";
|
|
3
|
+
const KNOWN_CLI_NAMES = new Set([DEFAULT_CLI_NAME]);
|
|
4
|
+
const CLI_PREFIX_RE = /^(?:((?:pnpm|npm|bunx|npx)\s+))?(openclaw)\b/;
|
|
5
|
+
export function resolveCliName(argv = process.argv) {
|
|
10
6
|
const argv1 = argv[1];
|
|
11
7
|
if (!argv1)
|
|
12
8
|
return DEFAULT_CLI_NAME;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { normalizeProfileName } from "./profile-utils.js";
|
|
2
2
|
import { replaceCliName, resolveCliName } from "./cli-name.js";
|
|
3
|
-
const CLI_PREFIX_RE = /^(?:pnpm|npm|bunx|npx)\s+
|
|
3
|
+
const CLI_PREFIX_RE = /^(?:pnpm|npm|bunx|npx)\s+openclaw\b|^openclaw\b/;
|
|
4
4
|
const PROFILE_FLAG_RE = /(?:^|\s)--profile(?:\s|=|$)/;
|
|
5
5
|
const DEV_FLAG_RE = /(?:^|\s)--dev(?:\s|$)/;
|
|
6
6
|
export function formatCliCommand(command, env = process.env) {
|
|
7
|
-
const cliName = resolveCliName(
|
|
7
|
+
const cliName = resolveCliName();
|
|
8
8
|
const normalizedCommand = replaceCliName(command, cliName);
|
|
9
|
-
const profile = normalizeProfileName(env.
|
|
9
|
+
const profile = normalizeProfileName(env.OPENCLAW_PROFILE);
|
|
10
10
|
if (!profile)
|
|
11
11
|
return normalizedCommand;
|
|
12
12
|
if (!CLI_PREFIX_RE.test(normalizedCommand))
|
package/dist/cli/config-cli.js
CHANGED
|
@@ -180,7 +180,7 @@ async function loadValidConfig() {
|
|
|
180
180
|
for (const issue of snapshot.issues) {
|
|
181
181
|
defaultRuntime.error(`- ${issue.path || "<root>"}: ${issue.message}`);
|
|
182
182
|
}
|
|
183
|
-
defaultRuntime.error(`Run \`${formatCliCommand("
|
|
183
|
+
defaultRuntime.error(`Run \`${formatCliCommand("openclaw doctor")}\` to repair, then retry.`);
|
|
184
184
|
defaultRuntime.exit(1);
|
|
185
185
|
return snapshot;
|
|
186
186
|
}
|
|
@@ -188,7 +188,7 @@ export function registerConfigCli(program) {
|
|
|
188
188
|
const cmd = program
|
|
189
189
|
.command("config")
|
|
190
190
|
.description("Config helpers (get/set/unset). Run without subcommand for the wizard.")
|
|
191
|
-
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.
|
|
191
|
+
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.openclaw.ai/cli/config")}\n`)
|
|
192
192
|
.option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], [])
|
|
193
193
|
.action(async (opts) => {
|
|
194
194
|
const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("../commands/configure.js");
|
|
@@ -7,7 +7,7 @@ export function registerCronCli(program) {
|
|
|
7
7
|
const cron = program
|
|
8
8
|
.command("cron")
|
|
9
9
|
.description("Manage cron jobs (via Gateway)")
|
|
10
|
-
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/cron", "docs.
|
|
10
|
+
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/cron", "docs.openclaw.ai/cli/cron")}\n`);
|
|
11
11
|
registerCronStatusCommand(cron);
|
|
12
12
|
registerCronListCommand(cron);
|
|
13
13
|
registerCronAddCommand(cron);
|
|
@@ -65,7 +65,7 @@ export async function runDaemonInstall(opts) {
|
|
|
65
65
|
});
|
|
66
66
|
if (!json) {
|
|
67
67
|
defaultRuntime.log(`Gateway service already ${service.loadedText}.`);
|
|
68
|
-
defaultRuntime.log(`Reinstall with: ${formatCliCommand("
|
|
68
|
+
defaultRuntime.log(`Reinstall with: ${formatCliCommand("openclaw gateway install --force")}`);
|
|
69
69
|
}
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
@@ -73,7 +73,7 @@ export async function runDaemonInstall(opts) {
|
|
|
73
73
|
const { programArguments, workingDirectory, environment } = await buildGatewayInstallPlan({
|
|
74
74
|
env: process.env,
|
|
75
75
|
port,
|
|
76
|
-
token: opts.token || cfg.gateway?.auth?.token || process.env.
|
|
76
|
+
token: opts.token || cfg.gateway?.auth?.token || process.env.OPENCLAW_GATEWAY_TOKEN,
|
|
77
77
|
runtime: runtimeRaw,
|
|
78
78
|
warn: (message) => {
|
|
79
79
|
if (json)
|
|
@@ -6,7 +6,7 @@ export function registerDaemonCli(program) {
|
|
|
6
6
|
const daemon = program
|
|
7
7
|
.command("daemon")
|
|
8
8
|
.description("Manage the Gateway service (launchd/systemd/schtasks)")
|
|
9
|
-
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/gateway", "docs.
|
|
9
|
+
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/gateway", "docs.openclaw.ai/cli/gateway")}\n`);
|
|
10
10
|
daemon
|
|
11
11
|
.command("status")
|
|
12
12
|
.description("Show service install status + probe the Gateway")
|
|
@@ -45,13 +45,11 @@ export function pickProbeHostForBind(bindMode, tailnetIPv4, customBindHost) {
|
|
|
45
45
|
return "127.0.0.1";
|
|
46
46
|
}
|
|
47
47
|
const SAFE_DAEMON_ENV_KEYS = [
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"CLAWDBOT_GATEWAY_PORT",
|
|
54
|
-
"CLAWDBOT_NIX_MODE",
|
|
48
|
+
"OPENCLAW_PROFILE",
|
|
49
|
+
"OPENCLAW_STATE_DIR",
|
|
50
|
+
"OPENCLAW_CONFIG_PATH",
|
|
51
|
+
"OPENCLAW_GATEWAY_PORT",
|
|
52
|
+
"OPENCLAW_NIX_MODE",
|
|
55
53
|
];
|
|
56
54
|
export function filterDaemonEnv(env) {
|
|
57
55
|
if (!env)
|
|
@@ -115,7 +113,7 @@ export function renderRuntimeHints(runtime, env = process.env) {
|
|
|
115
113
|
}
|
|
116
114
|
})();
|
|
117
115
|
if (runtime.missingUnit) {
|
|
118
|
-
hints.push(`Service not installed. Run: ${formatCliCommand("
|
|
116
|
+
hints.push(`Service not installed. Run: ${formatCliCommand("openclaw gateway install", env)}`);
|
|
119
117
|
if (fileLog)
|
|
120
118
|
hints.push(`File logs: ${fileLog}`);
|
|
121
119
|
return hints;
|
|
@@ -129,11 +127,11 @@ export function renderRuntimeHints(runtime, env = process.env) {
|
|
|
129
127
|
hints.push(`Launchd stderr (if installed): ${logs.stderrPath}`);
|
|
130
128
|
}
|
|
131
129
|
else if (process.platform === "linux") {
|
|
132
|
-
const unit = resolveGatewaySystemdServiceName(env.
|
|
130
|
+
const unit = resolveGatewaySystemdServiceName(env.OPENCLAW_PROFILE);
|
|
133
131
|
hints.push(`Logs: journalctl --user -u ${unit}.service -n 200 --no-pager`);
|
|
134
132
|
}
|
|
135
133
|
else if (process.platform === "win32") {
|
|
136
|
-
const task = resolveGatewayWindowsTaskName(env.
|
|
134
|
+
const task = resolveGatewayWindowsTaskName(env.OPENCLAW_PROFILE);
|
|
137
135
|
hints.push(`Logs: schtasks /Query /TN "${task}" /V /FO LIST`);
|
|
138
136
|
}
|
|
139
137
|
}
|
|
@@ -141,10 +139,10 @@ export function renderRuntimeHints(runtime, env = process.env) {
|
|
|
141
139
|
}
|
|
142
140
|
export function renderGatewayServiceStartHints(env = process.env) {
|
|
143
141
|
const base = [
|
|
144
|
-
formatCliCommand("
|
|
145
|
-
formatCliCommand("
|
|
142
|
+
formatCliCommand("openclaw gateway install", env),
|
|
143
|
+
formatCliCommand("openclaw gateway", env),
|
|
146
144
|
];
|
|
147
|
-
const profile = env.
|
|
145
|
+
const profile = env.OPENCLAW_PROFILE;
|
|
148
146
|
switch (process.platform) {
|
|
149
147
|
case "darwin": {
|
|
150
148
|
const label = resolveGatewayLaunchAgentLabel(profile);
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { createConfigIO, resolveConfigPath, resolveGatewayPort, resolveStateDir, } from "../../config/config.js";
|
|
2
2
|
import { readLastGatewayErrorLine } from "../../daemon/diagnostics.js";
|
|
3
3
|
import { findExtraGatewayServices } from "../../daemon/inspect.js";
|
|
4
|
-
import { findLegacyGatewayServices } from "../../daemon/legacy.js";
|
|
5
4
|
import { resolveGatewayService } from "../../daemon/service.js";
|
|
6
5
|
import { auditGatewayServiceConfig } from "../../daemon/service-audit.js";
|
|
7
6
|
import { resolveGatewayBindHost } from "../../gateway/net.js";
|
|
@@ -98,7 +97,6 @@ export async function gatherDaemonStatus(opts) {
|
|
|
98
97
|
hints: portCliDiagnostics.hints,
|
|
99
98
|
}
|
|
100
99
|
: undefined;
|
|
101
|
-
const legacyServices = await findLegacyGatewayServices(process.env).catch(() => []);
|
|
102
100
|
const extraServices = await findExtraGatewayServices(process.env, { deep: Boolean(opts.deep) }).catch(() => []);
|
|
103
101
|
const timeoutMsRaw = Number.parseInt(String(opts.rpc.timeout ?? "10000"), 10);
|
|
104
102
|
const timeoutMs = Number.isFinite(timeoutMsRaw) && timeoutMsRaw > 0 ? timeoutMsRaw : 10_000;
|
|
@@ -106,10 +104,10 @@ export async function gatherDaemonStatus(opts) {
|
|
|
106
104
|
? await probeGatewayStatus({
|
|
107
105
|
url: probeUrl,
|
|
108
106
|
token: opts.rpc.token ||
|
|
109
|
-
mergedDaemonEnv.
|
|
107
|
+
mergedDaemonEnv.OPENCLAW_GATEWAY_TOKEN ||
|
|
110
108
|
daemonCfg.gateway?.auth?.token,
|
|
111
109
|
password: opts.rpc.password ||
|
|
112
|
-
mergedDaemonEnv.
|
|
110
|
+
mergedDaemonEnv.OPENCLAW_GATEWAY_PASSWORD ||
|
|
113
111
|
daemonCfg.gateway?.auth?.password,
|
|
114
112
|
timeoutMs,
|
|
115
113
|
json: opts.rpc.json,
|
|
@@ -148,7 +146,6 @@ export async function gatherDaemonStatus(opts) {
|
|
|
148
146
|
...(portCliStatus ? { portCli: portCliStatus } : {}),
|
|
149
147
|
lastError,
|
|
150
148
|
...(rpc ? { rpc: { ...rpc, url: probeUrl } } : {}),
|
|
151
|
-
legacyServices,
|
|
152
149
|
extraServices,
|
|
153
150
|
};
|
|
154
151
|
}
|
|
@@ -42,7 +42,7 @@ export function printDaemonStatus(status, opts) {
|
|
|
42
42
|
const warnText = (value) => colorize(rich, theme.warn, value);
|
|
43
43
|
const errorText = (value) => colorize(rich, theme.error, value);
|
|
44
44
|
const spacer = () => defaultRuntime.log("");
|
|
45
|
-
const { service, rpc,
|
|
45
|
+
const { service, rpc, extraServices } = status;
|
|
46
46
|
const serviceStatus = service.loaded
|
|
47
47
|
? okText(service.loadedText)
|
|
48
48
|
: warnText(service.notLoadedText);
|
|
@@ -74,7 +74,7 @@ export function printDaemonStatus(status, opts) {
|
|
|
74
74
|
const detail = issue.detail ? ` (${issue.detail})` : "";
|
|
75
75
|
defaultRuntime.error(`${warnText("Service config issue:")} ${issue.message}${detail}`);
|
|
76
76
|
}
|
|
77
|
-
defaultRuntime.error(warnText(`Recommendation: run "${formatCliCommand("
|
|
77
|
+
defaultRuntime.error(warnText(`Recommendation: run "${formatCliCommand("openclaw doctor")}" (or "${formatCliCommand("openclaw doctor --repair")}").`));
|
|
78
78
|
}
|
|
79
79
|
if (status.config) {
|
|
80
80
|
const cliCfg = `${shortenHomePath(status.config.cli.path)}${status.config.cli.exists ? "" : " (missing)"}${status.config.cli.valid ? "" : " (invalid)"}`;
|
|
@@ -95,7 +95,7 @@ export function printDaemonStatus(status, opts) {
|
|
|
95
95
|
}
|
|
96
96
|
if (status.config.mismatch) {
|
|
97
97
|
defaultRuntime.error(errorText("Root cause: CLI and service are using different config paths (likely a profile/state-dir mismatch)."));
|
|
98
|
-
defaultRuntime.error(errorText(`Fix: rerun \`${formatCliCommand("
|
|
98
|
+
defaultRuntime.error(errorText(`Fix: rerun \`${formatCliCommand("openclaw gateway install --force")}\` from the same --profile / OPENCLAW_STATE_DIR you expect.`));
|
|
99
99
|
}
|
|
100
100
|
spacer();
|
|
101
101
|
}
|
|
@@ -176,9 +176,9 @@ export function printDaemonStatus(status, opts) {
|
|
|
176
176
|
}
|
|
177
177
|
if (service.runtime?.cachedLabel) {
|
|
178
178
|
const env = (service.command?.environment ?? process.env);
|
|
179
|
-
const labelValue = resolveGatewayLaunchAgentLabel(env.
|
|
179
|
+
const labelValue = resolveGatewayLaunchAgentLabel(env.OPENCLAW_PROFILE);
|
|
180
180
|
defaultRuntime.error(errorText(`LaunchAgent label cached but plist missing. Clear with: launchctl bootout gui/$UID/${labelValue}`));
|
|
181
|
-
defaultRuntime.error(errorText(`Then reinstall: ${formatCliCommand("
|
|
181
|
+
defaultRuntime.error(errorText(`Then reinstall: ${formatCliCommand("openclaw gateway install")}`));
|
|
182
182
|
spacer();
|
|
183
183
|
}
|
|
184
184
|
for (const line of renderPortDiagnosticsForCli(status, rpc?.ok)) {
|
|
@@ -203,7 +203,7 @@ export function printDaemonStatus(status, opts) {
|
|
|
203
203
|
}
|
|
204
204
|
if (process.platform === "linux") {
|
|
205
205
|
const env = (service.command?.environment ?? process.env);
|
|
206
|
-
const unit = resolveGatewaySystemdServiceName(env.
|
|
206
|
+
const unit = resolveGatewaySystemdServiceName(env.OPENCLAW_PROFILE);
|
|
207
207
|
defaultRuntime.error(errorText(`Logs: journalctl --user -u ${unit}.service -n 200 --no-pager`));
|
|
208
208
|
}
|
|
209
209
|
else if (process.platform === "darwin") {
|
|
@@ -213,14 +213,6 @@ export function printDaemonStatus(status, opts) {
|
|
|
213
213
|
}
|
|
214
214
|
spacer();
|
|
215
215
|
}
|
|
216
|
-
if (legacyServices.length > 0) {
|
|
217
|
-
defaultRuntime.error(errorText("Legacy gateway services detected:"));
|
|
218
|
-
for (const svc of legacyServices) {
|
|
219
|
-
defaultRuntime.error(`- ${errorText(svc.label)} (${svc.detail})`);
|
|
220
|
-
}
|
|
221
|
-
defaultRuntime.error(errorText(`Cleanup: ${formatCliCommand("moltbot doctor")}`));
|
|
222
|
-
spacer();
|
|
223
|
-
}
|
|
224
216
|
if (extraServices.length > 0) {
|
|
225
217
|
defaultRuntime.error(errorText("Other gateway-like services detected (best effort):"));
|
|
226
218
|
for (const svc of extraServices) {
|
|
@@ -231,11 +223,11 @@ export function printDaemonStatus(status, opts) {
|
|
|
231
223
|
}
|
|
232
224
|
spacer();
|
|
233
225
|
}
|
|
234
|
-
if (
|
|
226
|
+
if (extraServices.length > 0) {
|
|
235
227
|
defaultRuntime.error(errorText("Recommendation: run a single gateway per machine for most setups. One gateway supports multiple agents (see docs: /gateway#multiple-gateways-same-host)."));
|
|
236
228
|
defaultRuntime.error(errorText("If you need multiple gateways (e.g., a rescue bot on the same host), isolate ports + config/state (see docs: /gateway#multiple-gateways-same-host)."));
|
|
237
229
|
spacer();
|
|
238
230
|
}
|
|
239
|
-
defaultRuntime.log(`${label("Troubles:")} run ${formatCliCommand("
|
|
240
|
-
defaultRuntime.log(`${label("Troubleshooting:")} https://docs.
|
|
231
|
+
defaultRuntime.log(`${label("Troubles:")} run ${formatCliCommand("openclaw status")}`);
|
|
232
|
+
defaultRuntime.log(`${label("Troubleshooting:")} https://docs.openclaw.ai/troubleshooting`);
|
|
241
233
|
}
|
|
@@ -33,7 +33,7 @@ export function registerDirectoryCli(program) {
|
|
|
33
33
|
const directory = program
|
|
34
34
|
.command("directory")
|
|
35
35
|
.description("Directory lookups (self, peers, groups) for channels that support it")
|
|
36
|
-
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/directory", "docs.
|
|
36
|
+
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/directory", "docs.openclaw.ai/cli/directory")}\n`)
|
|
37
37
|
.action(() => {
|
|
38
38
|
directory.help({ error: true });
|
|
39
39
|
});
|