@gguf/pigbot 0.0.6 → 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 +1206 -12
- 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/assets/images/icon.png +0 -0
- 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/extension.js +0 -70
- /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
package/dist/cli/tagline.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const DEFAULT_TAGLINE = "All your chats, one
|
|
1
|
+
const DEFAULT_TAGLINE = "All your chats, one OpenClaw.";
|
|
2
2
|
const HOLIDAY_TAGLINES = {
|
|
3
3
|
newYear: "New Year's Day: New year, new config—same old EADDRINUSE, but this time we resolve it like grown-ups.",
|
|
4
4
|
lunarNewYear: "Lunar New Year: May your builds be lucky, your branches prosperous, and your merge conflicts chased away with fireworks.",
|
|
@@ -53,7 +53,7 @@ const TAGLINES = [
|
|
|
53
53
|
"Shell yeah—I'm here to pinch the toil and leave you the glory.",
|
|
54
54
|
"If it's repetitive, I'll automate it; if it's hard, I'll bring jokes and a rollback plan.",
|
|
55
55
|
"Because texting yourself reminders is so 2024.",
|
|
56
|
-
"
|
|
56
|
+
"Your inbox, your infra, your rules.",
|
|
57
57
|
'Turning "I\'ll reply later" into "my bot replied instantly".',
|
|
58
58
|
"The only crab in your contacts you actually want to hear from. 🦞",
|
|
59
59
|
"Chat automation for people who peaked at IRC.",
|
|
@@ -61,14 +61,16 @@ const TAGLINES = [
|
|
|
61
61
|
"IPC, but it's your phone.",
|
|
62
62
|
"The UNIX philosophy meets your DMs.",
|
|
63
63
|
"curl for conversations.",
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"End-to-end encrypted,
|
|
67
|
-
"The only bot
|
|
64
|
+
"Less middlemen, more messages.",
|
|
65
|
+
"Ship fast, log faster.",
|
|
66
|
+
"End-to-end encrypted, drama-to-drama excluded.",
|
|
67
|
+
"The only bot that stays out of your training set.",
|
|
68
68
|
'WhatsApp automation without the "please accept our new privacy policy".',
|
|
69
69
|
"Chat APIs that don't require a Senate hearing.",
|
|
70
|
-
"
|
|
71
|
-
"
|
|
70
|
+
"Meta wishes they shipped this fast.",
|
|
71
|
+
"Because the right answer is usually a script.",
|
|
72
|
+
"Your messages, your servers, your control.",
|
|
73
|
+
"OpenAI-compatible, not OpenAI-dependent.",
|
|
72
74
|
"iMessage green bubble energy, but for everyone.",
|
|
73
75
|
"Siri's competent cousin.",
|
|
74
76
|
"Works on Android. Crazy concept, we know.",
|
|
@@ -192,7 +194,7 @@ export function activeTaglines(options = {}) {
|
|
|
192
194
|
}
|
|
193
195
|
export function pickTagline(options = {}) {
|
|
194
196
|
const env = options.env ?? process.env;
|
|
195
|
-
const override = env?.
|
|
197
|
+
const override = env?.OPENCLAW_TAGLINE_INDEX;
|
|
196
198
|
if (override !== undefined) {
|
|
197
199
|
const parsed = Number.parseInt(override, 10);
|
|
198
200
|
if (!Number.isNaN(parsed) && parsed >= 0) {
|
package/dist/cli/tui-cli.js
CHANGED
|
@@ -16,7 +16,7 @@ export function registerTuiCli(program) {
|
|
|
16
16
|
.option("--message <text>", "Send an initial message after connecting")
|
|
17
17
|
.option("--timeout-ms <ms>", "Agent timeout in ms (defaults to agents.defaults.timeoutSeconds)")
|
|
18
18
|
.option("--history-limit <n>", "History entries to load", "200")
|
|
19
|
-
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/tui", "docs.
|
|
19
|
+
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/tui", "docs.openclaw.ai/cli/tui")}\n`)
|
|
20
20
|
.action(async (opts) => {
|
|
21
21
|
try {
|
|
22
22
|
const timeoutMs = parseTimeoutMs(opts.timeoutMs);
|
package/dist/cli/update-cli.js
CHANGED
|
@@ -3,7 +3,7 @@ import fs from "node:fs/promises";
|
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { readConfigFileSnapshot, writeConfigFile } from "../config/config.js";
|
|
6
|
-
import {
|
|
6
|
+
import { resolveOpenClawPackageRoot } from "../infra/openclaw-root.js";
|
|
7
7
|
import { checkUpdateStatus, compareSemverStrings, fetchNpmTagVersion, resolveNpmChannelTag, } from "../infra/update-check.js";
|
|
8
8
|
import { parseSemver } from "../infra/runtime-guard.js";
|
|
9
9
|
import { runGatewayUpdate, } from "../infra/update-runner.js";
|
|
@@ -34,7 +34,7 @@ const STEP_LABELS = {
|
|
|
34
34
|
"deps install": "Installing dependencies",
|
|
35
35
|
build: "Building",
|
|
36
36
|
"ui:build": "Building UI",
|
|
37
|
-
"
|
|
37
|
+
"openclaw doctor": "Running doctor checks",
|
|
38
38
|
"git rev-parse HEAD (after)": "Verifying update",
|
|
39
39
|
"global update": "Updating via package manager",
|
|
40
40
|
"global install": "Installing global package",
|
|
@@ -62,19 +62,19 @@ const UPDATE_QUIPS = [
|
|
|
62
62
|
"Version bump! Same chaos energy, fewer crashes (probably).",
|
|
63
63
|
];
|
|
64
64
|
const MAX_LOG_CHARS = 8000;
|
|
65
|
-
const DEFAULT_PACKAGE_NAME = "
|
|
66
|
-
const CORE_PACKAGE_NAMES = new Set([DEFAULT_PACKAGE_NAME
|
|
65
|
+
const DEFAULT_PACKAGE_NAME = "openclaw";
|
|
66
|
+
const CORE_PACKAGE_NAMES = new Set([DEFAULT_PACKAGE_NAME]);
|
|
67
67
|
const CLI_NAME = resolveCliName();
|
|
68
|
-
const
|
|
69
|
-
const DEFAULT_GIT_DIR = path.join(os.homedir(), "
|
|
68
|
+
const OPENCLAW_REPO_URL = "https://github.com/openclaw/openclaw.git";
|
|
69
|
+
const DEFAULT_GIT_DIR = path.join(os.homedir(), ".openclaw");
|
|
70
70
|
function normalizeTag(value) {
|
|
71
71
|
if (!value)
|
|
72
72
|
return null;
|
|
73
73
|
const trimmed = value.trim();
|
|
74
74
|
if (!trimmed)
|
|
75
75
|
return null;
|
|
76
|
-
if (trimmed.startsWith("
|
|
77
|
-
return trimmed.slice("
|
|
76
|
+
if (trimmed.startsWith("openclaw@"))
|
|
77
|
+
return trimmed.slice("openclaw@".length);
|
|
78
78
|
if (trimmed.startsWith(`${DEFAULT_PACKAGE_NAME}@`)) {
|
|
79
79
|
return trimmed.slice(`${DEFAULT_PACKAGE_NAME}@`.length);
|
|
80
80
|
}
|
|
@@ -150,9 +150,12 @@ async function isEmptyDir(targetPath) {
|
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
152
|
function resolveGitInstallDir() {
|
|
153
|
-
const override = process.env.
|
|
153
|
+
const override = process.env.OPENCLAW_GIT_DIR?.trim();
|
|
154
154
|
if (override)
|
|
155
155
|
return path.resolve(override);
|
|
156
|
+
return resolveDefaultGitDir();
|
|
157
|
+
}
|
|
158
|
+
function resolveDefaultGitDir() {
|
|
156
159
|
return DEFAULT_GIT_DIR;
|
|
157
160
|
}
|
|
158
161
|
function resolveNodeRunner() {
|
|
@@ -200,7 +203,7 @@ async function ensureGitCheckout(params) {
|
|
|
200
203
|
if (!dirExists) {
|
|
201
204
|
return await runUpdateStep({
|
|
202
205
|
name: "git clone",
|
|
203
|
-
argv: ["git", "clone",
|
|
206
|
+
argv: ["git", "clone", OPENCLAW_REPO_URL, params.dir],
|
|
204
207
|
timeoutMs: params.timeoutMs,
|
|
205
208
|
progress: params.progress,
|
|
206
209
|
});
|
|
@@ -208,18 +211,18 @@ async function ensureGitCheckout(params) {
|
|
|
208
211
|
if (!(await isGitCheckout(params.dir))) {
|
|
209
212
|
const empty = await isEmptyDir(params.dir);
|
|
210
213
|
if (!empty) {
|
|
211
|
-
throw new Error(`
|
|
214
|
+
throw new Error(`OPENCLAW_GIT_DIR points at a non-git directory: ${params.dir}. Set OPENCLAW_GIT_DIR to an empty folder or an openclaw checkout.`);
|
|
212
215
|
}
|
|
213
216
|
return await runUpdateStep({
|
|
214
217
|
name: "git clone",
|
|
215
|
-
argv: ["git", "clone",
|
|
218
|
+
argv: ["git", "clone", OPENCLAW_REPO_URL, params.dir],
|
|
216
219
|
cwd: params.dir,
|
|
217
220
|
timeoutMs: params.timeoutMs,
|
|
218
221
|
progress: params.progress,
|
|
219
222
|
});
|
|
220
223
|
}
|
|
221
224
|
if (!(await isCorePackage(params.dir))) {
|
|
222
|
-
throw new Error(`
|
|
225
|
+
throw new Error(`OPENCLAW_GIT_DIR does not look like a core checkout: ${params.dir}.`);
|
|
223
226
|
}
|
|
224
227
|
return null;
|
|
225
228
|
}
|
|
@@ -254,7 +257,7 @@ export async function updateStatusCommand(opts) {
|
|
|
254
257
|
defaultRuntime.exit(1);
|
|
255
258
|
return;
|
|
256
259
|
}
|
|
257
|
-
const root = (await
|
|
260
|
+
const root = (await resolveOpenClawPackageRoot({
|
|
258
261
|
moduleUrl: import.meta.url,
|
|
259
262
|
argv1: process.argv[1],
|
|
260
263
|
cwd: process.cwd(),
|
|
@@ -317,7 +320,7 @@ export async function updateStatusCommand(opts) {
|
|
|
317
320
|
Value: updateAvailability.available ? theme.warn(`available · ${updateLine}`) : updateLine,
|
|
318
321
|
},
|
|
319
322
|
];
|
|
320
|
-
defaultRuntime.log(theme.heading("
|
|
323
|
+
defaultRuntime.log(theme.heading("OpenClaw update status"));
|
|
321
324
|
defaultRuntime.log("");
|
|
322
325
|
defaultRuntime.log(renderTable({
|
|
323
326
|
width: tableWidth,
|
|
@@ -447,7 +450,7 @@ export async function updateCommand(opts) {
|
|
|
447
450
|
defaultRuntime.exit(1);
|
|
448
451
|
return;
|
|
449
452
|
}
|
|
450
|
-
const root = (await
|
|
453
|
+
const root = (await resolveOpenClawPackageRoot({
|
|
451
454
|
moduleUrl: import.meta.url,
|
|
452
455
|
argv1: process.argv[1],
|
|
453
456
|
cwd: process.cwd(),
|
|
@@ -540,7 +543,7 @@ export async function updateCommand(opts) {
|
|
|
540
543
|
}
|
|
541
544
|
const showProgress = !opts.json && process.stdout.isTTY;
|
|
542
545
|
if (!opts.json) {
|
|
543
|
-
defaultRuntime.log(theme.heading("Updating
|
|
546
|
+
defaultRuntime.log(theme.heading("Updating OpenClaw..."));
|
|
544
547
|
defaultRuntime.log("");
|
|
545
548
|
}
|
|
546
549
|
const { progress, stop } = createUpdateProgress(showProgress);
|
|
@@ -666,8 +669,8 @@ export async function updateCommand(opts) {
|
|
|
666
669
|
defaultRuntime.log(theme.warn("Skipped: working directory has uncommitted changes. Commit or stash them first."));
|
|
667
670
|
}
|
|
668
671
|
if (result.reason === "not-git-install") {
|
|
669
|
-
defaultRuntime.log(theme.warn(`Skipped: this
|
|
670
|
-
defaultRuntime.log(theme.muted(`Examples: \`${replaceCliName("npm i -g
|
|
672
|
+
defaultRuntime.log(theme.warn(`Skipped: this OpenClaw install isn't a git checkout, and the package manager couldn't be detected. Update via your package manager, then run \`${replaceCliName(formatCliCommand("openclaw doctor"), CLI_NAME)}\` and \`${replaceCliName(formatCliCommand("openclaw gateway restart"), CLI_NAME)}\`.`));
|
|
673
|
+
defaultRuntime.log(theme.muted(`Examples: \`${replaceCliName("npm i -g openclaw@latest", CLI_NAME)}\` or \`${replaceCliName("pnpm add -g openclaw@latest", CLI_NAME)}\``));
|
|
671
674
|
}
|
|
672
675
|
defaultRuntime.exit(0);
|
|
673
676
|
return;
|
|
@@ -755,7 +758,7 @@ export async function updateCommand(opts) {
|
|
|
755
758
|
if (!opts.json && restarted) {
|
|
756
759
|
defaultRuntime.log(theme.success("Daemon restarted successfully."));
|
|
757
760
|
defaultRuntime.log("");
|
|
758
|
-
process.env.
|
|
761
|
+
process.env.OPENCLAW_UPDATE_IN_PROGRESS = "1";
|
|
759
762
|
try {
|
|
760
763
|
const { doctorCommand } = await import("../commands/doctor.js");
|
|
761
764
|
const interactiveDoctor = Boolean(process.stdin.isTTY) && !opts.json && opts.yes !== true;
|
|
@@ -765,24 +768,24 @@ export async function updateCommand(opts) {
|
|
|
765
768
|
defaultRuntime.log(theme.warn(`Doctor failed: ${String(err)}`));
|
|
766
769
|
}
|
|
767
770
|
finally {
|
|
768
|
-
delete process.env.
|
|
771
|
+
delete process.env.OPENCLAW_UPDATE_IN_PROGRESS;
|
|
769
772
|
}
|
|
770
773
|
}
|
|
771
774
|
}
|
|
772
775
|
catch (err) {
|
|
773
776
|
if (!opts.json) {
|
|
774
777
|
defaultRuntime.log(theme.warn(`Daemon restart failed: ${String(err)}`));
|
|
775
|
-
defaultRuntime.log(theme.muted(`You may need to restart the service manually: ${replaceCliName(formatCliCommand("
|
|
778
|
+
defaultRuntime.log(theme.muted(`You may need to restart the service manually: ${replaceCliName(formatCliCommand("openclaw gateway restart"), CLI_NAME)}`));
|
|
776
779
|
}
|
|
777
780
|
}
|
|
778
781
|
}
|
|
779
782
|
else if (!opts.json) {
|
|
780
783
|
defaultRuntime.log("");
|
|
781
784
|
if (result.mode === "npm" || result.mode === "pnpm") {
|
|
782
|
-
defaultRuntime.log(theme.muted(`Tip: Run \`${replaceCliName(formatCliCommand("
|
|
785
|
+
defaultRuntime.log(theme.muted(`Tip: Run \`${replaceCliName(formatCliCommand("openclaw doctor"), CLI_NAME)}\`, then \`${replaceCliName(formatCliCommand("openclaw gateway restart"), CLI_NAME)}\` to apply updates to a running gateway.`));
|
|
783
786
|
}
|
|
784
787
|
else {
|
|
785
|
-
defaultRuntime.log(theme.muted(`Tip: Run \`${replaceCliName(formatCliCommand("
|
|
788
|
+
defaultRuntime.log(theme.muted(`Tip: Run \`${replaceCliName(formatCliCommand("openclaw gateway restart"), CLI_NAME)}\` to apply updates to a running gateway.`));
|
|
786
789
|
}
|
|
787
790
|
}
|
|
788
791
|
if (!opts.json) {
|
|
@@ -791,7 +794,7 @@ export async function updateCommand(opts) {
|
|
|
791
794
|
}
|
|
792
795
|
export async function updateWizardCommand(opts = {}) {
|
|
793
796
|
if (!process.stdin.isTTY) {
|
|
794
|
-
defaultRuntime.error("Update wizard requires a TTY. Use `
|
|
797
|
+
defaultRuntime.error("Update wizard requires a TTY. Use `openclaw update --channel <stable|beta|dev>` instead.");
|
|
795
798
|
defaultRuntime.exit(1);
|
|
796
799
|
return;
|
|
797
800
|
}
|
|
@@ -801,7 +804,7 @@ export async function updateWizardCommand(opts = {}) {
|
|
|
801
804
|
defaultRuntime.exit(1);
|
|
802
805
|
return;
|
|
803
806
|
}
|
|
804
|
-
const root = (await
|
|
807
|
+
const root = (await resolveOpenClawPackageRoot({
|
|
805
808
|
moduleUrl: import.meta.url,
|
|
806
809
|
argv1: process.argv[1],
|
|
807
810
|
cwd: process.cwd(),
|
|
@@ -871,13 +874,13 @@ export async function updateWizardCommand(opts = {}) {
|
|
|
871
874
|
if (dirExists) {
|
|
872
875
|
const empty = await isEmptyDir(gitDir);
|
|
873
876
|
if (!empty) {
|
|
874
|
-
defaultRuntime.error(`
|
|
877
|
+
defaultRuntime.error(`OPENCLAW_GIT_DIR points at a non-git directory: ${gitDir}. Set OPENCLAW_GIT_DIR to an empty folder or an openclaw checkout.`);
|
|
875
878
|
defaultRuntime.exit(1);
|
|
876
879
|
return;
|
|
877
880
|
}
|
|
878
881
|
}
|
|
879
882
|
const ok = await confirm({
|
|
880
|
-
message: stylePromptMessage(`Create a git checkout at ${gitDir}? (override via
|
|
883
|
+
message: stylePromptMessage(`Create a git checkout at ${gitDir}? (override via OPENCLAW_GIT_DIR)`),
|
|
881
884
|
initialValue: true,
|
|
882
885
|
});
|
|
883
886
|
if (isCancel(ok) || ok === false) {
|
|
@@ -911,7 +914,7 @@ export async function updateWizardCommand(opts = {}) {
|
|
|
911
914
|
export function registerUpdateCli(program) {
|
|
912
915
|
const update = program
|
|
913
916
|
.command("update")
|
|
914
|
-
.description("Update
|
|
917
|
+
.description("Update OpenClaw to the latest version")
|
|
915
918
|
.option("--json", "Output result as JSON", false)
|
|
916
919
|
.option("--no-restart", "Skip restarting the gateway service after a successful update")
|
|
917
920
|
.option("--channel <stable|beta|dev>", "Persist update channel (git + npm)")
|
|
@@ -920,15 +923,15 @@ export function registerUpdateCli(program) {
|
|
|
920
923
|
.option("--yes", "Skip confirmation prompts (non-interactive)", false)
|
|
921
924
|
.addHelpText("after", () => {
|
|
922
925
|
const examples = [
|
|
923
|
-
["
|
|
924
|
-
["
|
|
925
|
-
["
|
|
926
|
-
["
|
|
927
|
-
["
|
|
928
|
-
["
|
|
929
|
-
["
|
|
930
|
-
["
|
|
931
|
-
["
|
|
926
|
+
["openclaw update", "Update a source checkout (git)"],
|
|
927
|
+
["openclaw update --channel beta", "Switch to beta channel (git + npm)"],
|
|
928
|
+
["openclaw update --channel dev", "Switch to dev channel (git + npm)"],
|
|
929
|
+
["openclaw update --tag beta", "One-off update to a dist-tag or version"],
|
|
930
|
+
["openclaw update --no-restart", "Update without restarting the service"],
|
|
931
|
+
["openclaw update --json", "Output result as JSON"],
|
|
932
|
+
["openclaw update --yes", "Non-interactive (accept downgrade prompts)"],
|
|
933
|
+
["openclaw update wizard", "Interactive update wizard"],
|
|
934
|
+
["openclaw --update", "Shorthand for openclaw update"],
|
|
932
935
|
];
|
|
933
936
|
const fmtExamples = examples
|
|
934
937
|
.map(([cmd, desc]) => ` ${theme.command(cmd)} ${theme.muted(`# ${desc}`)}`)
|
|
@@ -940,7 +943,7 @@ ${theme.heading("What this does:")}
|
|
|
940
943
|
|
|
941
944
|
${theme.heading("Switch channels:")}
|
|
942
945
|
- Use --channel stable|beta|dev to persist the update channel in config
|
|
943
|
-
- Run
|
|
946
|
+
- Run openclaw update status to see the active channel and source
|
|
944
947
|
- Use --tag <dist-tag|version> for a one-off npm update without persisting
|
|
945
948
|
|
|
946
949
|
${theme.heading("Non-interactive:")}
|
|
@@ -956,7 +959,7 @@ ${theme.heading("Notes:")}
|
|
|
956
959
|
- Downgrades require confirmation (can break configuration)
|
|
957
960
|
- Skips update if the working directory has uncommitted changes
|
|
958
961
|
|
|
959
|
-
${theme.muted("Docs:")} ${formatDocsLink("/cli/update", "docs.
|
|
962
|
+
${theme.muted("Docs:")} ${formatDocsLink("/cli/update", "docs.openclaw.ai/cli/update")}`;
|
|
960
963
|
})
|
|
961
964
|
.action(async (opts) => {
|
|
962
965
|
try {
|
|
@@ -978,7 +981,7 @@ ${theme.muted("Docs:")} ${formatDocsLink("/cli/update", "docs.molt.bot/cli/updat
|
|
|
978
981
|
.command("wizard")
|
|
979
982
|
.description("Interactive update wizard")
|
|
980
983
|
.option("--timeout <seconds>", "Timeout for each update step in seconds (default: 1200)")
|
|
981
|
-
.addHelpText("after", `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/update", "docs.
|
|
984
|
+
.addHelpText("after", `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/update", "docs.openclaw.ai/cli/update")}\n`)
|
|
982
985
|
.action(async (opts) => {
|
|
983
986
|
try {
|
|
984
987
|
await updateWizardCommand({ timeout: opts.timeout });
|
|
@@ -994,10 +997,10 @@ ${theme.muted("Docs:")} ${formatDocsLink("/cli/update", "docs.molt.bot/cli/updat
|
|
|
994
997
|
.option("--json", "Output result as JSON", false)
|
|
995
998
|
.option("--timeout <seconds>", "Timeout for update checks in seconds (default: 3)")
|
|
996
999
|
.addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatHelpExamples([
|
|
997
|
-
["
|
|
998
|
-
["
|
|
999
|
-
["
|
|
1000
|
-
])}\n\n${theme.heading("Notes:")}\n${theme.muted("- Shows current update channel (stable/beta/dev) and source")}\n${theme.muted("- Includes git tag/branch/SHA for source checkouts")}\n\n${theme.muted("Docs:")} ${formatDocsLink("/cli/update", "docs.
|
|
1000
|
+
["openclaw update status", "Show channel + version status."],
|
|
1001
|
+
["openclaw update status --json", "JSON output."],
|
|
1002
|
+
["openclaw update status --timeout 10", "Custom timeout."],
|
|
1003
|
+
])}\n\n${theme.heading("Notes:")}\n${theme.muted("- Shows current update channel (stable/beta/dev) and source")}\n${theme.muted("- Includes git tag/branch/SHA for source checkouts")}\n\n${theme.muted("Docs:")} ${formatDocsLink("/cli/update", "docs.openclaw.ai/cli/update")}`)
|
|
1001
1004
|
.action(async (opts) => {
|
|
1002
1005
|
try {
|
|
1003
1006
|
await updateStatusCommand({
|
package/dist/cli/webhooks-cli.js
CHANGED
|
@@ -8,18 +8,18 @@ export function registerWebhooksCli(program) {
|
|
|
8
8
|
const webhooks = program
|
|
9
9
|
.command("webhooks")
|
|
10
10
|
.description("Webhook helpers and integrations")
|
|
11
|
-
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/webhooks", "docs.
|
|
11
|
+
.addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/webhooks", "docs.openclaw.ai/cli/webhooks")}\n`);
|
|
12
12
|
const gmail = webhooks.command("gmail").description("Gmail Pub/Sub hooks (via gogcli)");
|
|
13
13
|
gmail
|
|
14
14
|
.command("setup")
|
|
15
|
-
.description("Configure Gmail watch + Pub/Sub +
|
|
15
|
+
.description("Configure Gmail watch + Pub/Sub + OpenClaw hooks")
|
|
16
16
|
.requiredOption("--account <email>", "Gmail account to watch")
|
|
17
17
|
.option("--project <id>", "GCP project id (OAuth client owner)")
|
|
18
18
|
.option("--topic <name>", "Pub/Sub topic name", DEFAULT_GMAIL_TOPIC)
|
|
19
19
|
.option("--subscription <name>", "Pub/Sub subscription name", DEFAULT_GMAIL_SUBSCRIPTION)
|
|
20
20
|
.option("--label <label>", "Gmail label to watch", DEFAULT_GMAIL_LABEL)
|
|
21
|
-
.option("--hook-url <url>", "
|
|
22
|
-
.option("--hook-token <token>", "
|
|
21
|
+
.option("--hook-url <url>", "OpenClaw hook URL")
|
|
22
|
+
.option("--hook-token <token>", "OpenClaw hook token")
|
|
23
23
|
.option("--push-token <token>", "Push token for gog watch serve")
|
|
24
24
|
.option("--bind <host>", "gog watch serve bind host", DEFAULT_GMAIL_SERVE_BIND)
|
|
25
25
|
.option("--port <port>", "gog watch serve port", String(DEFAULT_GMAIL_SERVE_PORT))
|
|
@@ -49,8 +49,8 @@ export function registerWebhooksCli(program) {
|
|
|
49
49
|
.option("--topic <topic>", "Pub/Sub topic path (projects/.../topics/..)")
|
|
50
50
|
.option("--subscription <name>", "Pub/Sub subscription name")
|
|
51
51
|
.option("--label <label>", "Gmail label to watch")
|
|
52
|
-
.option("--hook-url <url>", "
|
|
53
|
-
.option("--hook-token <token>", "
|
|
52
|
+
.option("--hook-url <url>", "OpenClaw hook URL")
|
|
53
|
+
.option("--hook-token <token>", "OpenClaw hook token")
|
|
54
54
|
.option("--push-token <token>", "Push token for gog watch serve")
|
|
55
55
|
.option("--bind <host>", "gog watch serve bind host")
|
|
56
56
|
.option("--port <port>", "gog watch serve port")
|
|
@@ -42,7 +42,7 @@ export async function agentViaGatewayCommand(opts, runtime) {
|
|
|
42
42
|
if (agentId) {
|
|
43
43
|
const knownAgents = listAgentIds(cfg);
|
|
44
44
|
if (!knownAgents.includes(agentId)) {
|
|
45
|
-
throw new Error(`Unknown agent id "${agentIdRaw}". Use "${formatCliCommand("
|
|
45
|
+
throw new Error(`Unknown agent id "${agentIdRaw}". Use "${formatCliCommand("openclaw agents list")}" to see configured agents.`);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
const timeoutSeconds = parseTimeoutSeconds({ cfg, timeout: opts.timeout });
|
package/dist/commands/agent.js
CHANGED
|
@@ -42,7 +42,7 @@ export async function agentCommand(opts, runtime = defaultRuntime, deps = create
|
|
|
42
42
|
if (agentIdOverride) {
|
|
43
43
|
const knownAgents = listAgentIds(cfg);
|
|
44
44
|
if (!knownAgents.includes(agentIdOverride)) {
|
|
45
|
-
throw new Error(`Unknown agent id "${agentIdOverrideRaw}". Use "${formatCliCommand("
|
|
45
|
+
throw new Error(`Unknown agent id "${agentIdOverrideRaw}". Use "${formatCliCommand("openclaw agents list")}" to see configured agents.`);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
if (agentIdOverride && opts.sessionKey) {
|
|
@@ -10,7 +10,7 @@ export async function requireValidConfig(runtime) {
|
|
|
10
10
|
? snapshot.issues.map((issue) => `- ${issue.path}: ${issue.message}`).join("\n")
|
|
11
11
|
: "Unknown validation issue.";
|
|
12
12
|
runtime.error(`Config invalid:\n${issues}`);
|
|
13
|
-
runtime.error(`Fix the config or run ${formatCliCommand("
|
|
13
|
+
runtime.error(`Fix the config or run ${formatCliCommand("openclaw doctor")}.`);
|
|
14
14
|
runtime.exit(1);
|
|
15
15
|
return null;
|
|
16
16
|
}
|
|
@@ -129,7 +129,7 @@ export async function agentsAddCommand(opts, runtime = defaultRuntime, params) {
|
|
|
129
129
|
}
|
|
130
130
|
const prompter = createClackPrompter();
|
|
131
131
|
try {
|
|
132
|
-
await prompter.intro("Add
|
|
132
|
+
await prompter.intro("Add OpenClaw agent");
|
|
133
133
|
const name = nameInput ??
|
|
134
134
|
(await prompter.text({
|
|
135
135
|
message: "Agent name",
|
|
@@ -262,7 +262,7 @@ export async function agentsAddCommand(opts, runtime = defaultRuntime, params) {
|
|
|
262
262
|
else {
|
|
263
263
|
await prompter.note([
|
|
264
264
|
"Routing unchanged. Add bindings when you're ready.",
|
|
265
|
-
"Docs: https://docs.
|
|
265
|
+
"Docs: https://docs.openclaw.ai/concepts/multi-agent",
|
|
266
266
|
].join("\n"), "Routing");
|
|
267
267
|
}
|
|
268
268
|
}
|
|
@@ -93,6 +93,6 @@ export async function agentsListCommand(opts, runtime = defaultRuntime) {
|
|
|
93
93
|
}
|
|
94
94
|
const lines = ["Agents:", ...summaries.map(formatSummary)];
|
|
95
95
|
lines.push("Routing rules map channel/account/peer to an agent. Use --bindings for full rules.");
|
|
96
|
-
lines.push(`Channel status reflects local config/creds. For live health: ${formatCliCommand("
|
|
96
|
+
lines.push(`Channel status reflects local config/creds. For live health: ${formatCliCommand("openclaw channels status --probe")}.`);
|
|
97
97
|
runtime.log(lines.join("\n"));
|
|
98
98
|
}
|
|
@@ -71,6 +71,12 @@ const AUTH_CHOICE_GROUP_DEFS = [
|
|
|
71
71
|
hint: "API key",
|
|
72
72
|
choices: ["zai-api-key"],
|
|
73
73
|
},
|
|
74
|
+
{
|
|
75
|
+
value: "xiaomi",
|
|
76
|
+
label: "Xiaomi",
|
|
77
|
+
hint: "API key",
|
|
78
|
+
choices: ["xiaomi-api-key"],
|
|
79
|
+
},
|
|
74
80
|
{
|
|
75
81
|
value: "opencode-zen",
|
|
76
82
|
label: "OpenCode Zen",
|
|
@@ -122,6 +128,10 @@ export function buildAuthChoiceOptions(params) {
|
|
|
122
128
|
hint: "Uses the bundled Gemini CLI auth plugin",
|
|
123
129
|
});
|
|
124
130
|
options.push({ value: "zai-api-key", label: "Z.AI (GLM 4.7) API key" });
|
|
131
|
+
options.push({
|
|
132
|
+
value: "xiaomi-api-key",
|
|
133
|
+
label: "Xiaomi API key",
|
|
134
|
+
});
|
|
125
135
|
options.push({ value: "qwen-portal", label: "Qwen OAuth" });
|
|
126
136
|
options.push({
|
|
127
137
|
value: "copilot-proxy",
|
|
@@ -3,7 +3,7 @@ import { resolveEnvApiKey } from "../agents/model-auth.js";
|
|
|
3
3
|
import { formatApiKeyPreview, normalizeApiKeyInput, validateApiKeyInput, } from "./auth-choice.api-key.js";
|
|
4
4
|
import { applyDefaultModelChoice } from "./auth-choice.default-model.js";
|
|
5
5
|
import { applyGoogleGeminiModelDefault, GOOGLE_GEMINI_DEFAULT_MODEL, } from "./google-gemini-model-default.js";
|
|
6
|
-
import { applyAuthProfileConfig, applyKimiCodeConfig, applyKimiCodeProviderConfig, applyMoonshotConfig, applyMoonshotProviderConfig, applyOpencodeZenConfig, applyOpencodeZenProviderConfig, applyOpenrouterConfig, applyOpenrouterProviderConfig, applySyntheticConfig, applySyntheticProviderConfig, applyVeniceConfig, applyVeniceProviderConfig, applyVercelAiGatewayConfig, applyVercelAiGatewayProviderConfig, applyZaiConfig, KIMI_CODE_MODEL_REF, MOONSHOT_DEFAULT_MODEL_REF, OPENROUTER_DEFAULT_MODEL_REF, SYNTHETIC_DEFAULT_MODEL_REF, VENICE_DEFAULT_MODEL_REF, VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, setGeminiApiKey, setKimiCodeApiKey, setMoonshotApiKey, setOpencodeZenApiKey, setOpenrouterApiKey, setSyntheticApiKey, setVeniceApiKey, setVercelAiGatewayApiKey, setZaiApiKey, ZAI_DEFAULT_MODEL_REF, } from "./onboard-auth.js";
|
|
6
|
+
import { applyAuthProfileConfig, applyKimiCodeConfig, applyKimiCodeProviderConfig, applyMoonshotConfig, applyMoonshotProviderConfig, applyOpencodeZenConfig, applyOpencodeZenProviderConfig, applyOpenrouterConfig, applyOpenrouterProviderConfig, applySyntheticConfig, applySyntheticProviderConfig, applyVeniceConfig, applyVeniceProviderConfig, applyVercelAiGatewayConfig, applyVercelAiGatewayProviderConfig, applyXiaomiConfig, applyXiaomiProviderConfig, applyZaiConfig, KIMI_CODE_MODEL_REF, MOONSHOT_DEFAULT_MODEL_REF, OPENROUTER_DEFAULT_MODEL_REF, SYNTHETIC_DEFAULT_MODEL_REF, VENICE_DEFAULT_MODEL_REF, VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, XIAOMI_DEFAULT_MODEL_REF, setGeminiApiKey, setKimiCodeApiKey, setMoonshotApiKey, setOpencodeZenApiKey, setOpenrouterApiKey, setSyntheticApiKey, setVeniceApiKey, setVercelAiGatewayApiKey, setXiaomiApiKey, setZaiApiKey, ZAI_DEFAULT_MODEL_REF, } from "./onboard-auth.js";
|
|
7
7
|
import { OPENCODE_ZEN_DEFAULT_MODEL } from "./opencode-zen-model-default.js";
|
|
8
8
|
export async function applyAuthChoiceApiProviders(params) {
|
|
9
9
|
let nextConfig = params.config;
|
|
@@ -36,6 +36,9 @@ export async function applyAuthChoiceApiProviders(params) {
|
|
|
36
36
|
else if (params.opts.tokenProvider === "zai") {
|
|
37
37
|
authChoice = "zai-api-key";
|
|
38
38
|
}
|
|
39
|
+
else if (params.opts.tokenProvider === "xiaomi") {
|
|
40
|
+
authChoice = "xiaomi-api-key";
|
|
41
|
+
}
|
|
39
42
|
else if (params.opts.tokenProvider === "synthetic") {
|
|
40
43
|
authChoice = "synthetic-api-key";
|
|
41
44
|
}
|
|
@@ -362,6 +365,51 @@ export async function applyAuthChoiceApiProviders(params) {
|
|
|
362
365
|
}
|
|
363
366
|
return { config: nextConfig, agentModelOverride };
|
|
364
367
|
}
|
|
368
|
+
if (authChoice === "xiaomi-api-key") {
|
|
369
|
+
let hasCredential = false;
|
|
370
|
+
if (!hasCredential && params.opts?.token && params.opts?.tokenProvider === "xiaomi") {
|
|
371
|
+
await setXiaomiApiKey(normalizeApiKeyInput(params.opts.token), params.agentDir);
|
|
372
|
+
hasCredential = true;
|
|
373
|
+
}
|
|
374
|
+
const envKey = resolveEnvApiKey("xiaomi");
|
|
375
|
+
if (envKey) {
|
|
376
|
+
const useExisting = await params.prompter.confirm({
|
|
377
|
+
message: `Use existing XIAOMI_API_KEY (${envKey.source}, ${formatApiKeyPreview(envKey.apiKey)})?`,
|
|
378
|
+
initialValue: true,
|
|
379
|
+
});
|
|
380
|
+
if (useExisting) {
|
|
381
|
+
await setXiaomiApiKey(envKey.apiKey, params.agentDir);
|
|
382
|
+
hasCredential = true;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
if (!hasCredential) {
|
|
386
|
+
const key = await params.prompter.text({
|
|
387
|
+
message: "Enter Xiaomi API key",
|
|
388
|
+
validate: validateApiKeyInput,
|
|
389
|
+
});
|
|
390
|
+
await setXiaomiApiKey(normalizeApiKeyInput(String(key)), params.agentDir);
|
|
391
|
+
}
|
|
392
|
+
nextConfig = applyAuthProfileConfig(nextConfig, {
|
|
393
|
+
profileId: "xiaomi:default",
|
|
394
|
+
provider: "xiaomi",
|
|
395
|
+
mode: "api_key",
|
|
396
|
+
});
|
|
397
|
+
{
|
|
398
|
+
const applied = await applyDefaultModelChoice({
|
|
399
|
+
config: nextConfig,
|
|
400
|
+
setDefaultModel: params.setDefaultModel,
|
|
401
|
+
defaultModel: XIAOMI_DEFAULT_MODEL_REF,
|
|
402
|
+
applyDefaultConfig: applyXiaomiConfig,
|
|
403
|
+
applyProviderConfig: applyXiaomiProviderConfig,
|
|
404
|
+
noteDefault: XIAOMI_DEFAULT_MODEL_REF,
|
|
405
|
+
noteAgentModel,
|
|
406
|
+
prompter: params.prompter,
|
|
407
|
+
});
|
|
408
|
+
nextConfig = applied.config;
|
|
409
|
+
agentModelOverride = applied.agentModelOverride ?? agentModelOverride;
|
|
410
|
+
}
|
|
411
|
+
return { config: nextConfig, agentModelOverride };
|
|
412
|
+
}
|
|
365
413
|
if (authChoice === "synthetic-api-key") {
|
|
366
414
|
if (params.opts?.token && params.opts?.tokenProvider === "synthetic") {
|
|
367
415
|
await setSyntheticApiKey(String(params.opts.token).trim(), params.agentDir);
|
|
@@ -109,7 +109,7 @@ export async function applyAuthChoiceOpenAI(params) {
|
|
|
109
109
|
catch (err) {
|
|
110
110
|
spin.stop("OpenAI OAuth failed");
|
|
111
111
|
params.runtime.error(String(err));
|
|
112
|
-
await params.prompter.note("Trouble with OAuth? See https://docs.
|
|
112
|
+
await params.prompter.note("Trouble with OAuth? See https://docs.openclaw.ai/start/faq", "OAuth help");
|
|
113
113
|
}
|
|
114
114
|
return { config: nextConfig, agentModelOverride };
|
|
115
115
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveOpenClawAgentDir } from "../agents/agent-paths.js";
|
|
2
2
|
import { resolveDefaultAgentId, resolveAgentDir, resolveAgentWorkspaceDir, } from "../agents/agent-scope.js";
|
|
3
3
|
import { upsertAuthProfile } from "../agents/auth-profiles.js";
|
|
4
4
|
import { normalizeProviderId } from "../agents/model-selection.js";
|
|
@@ -76,7 +76,7 @@ export async function applyAuthChoicePluginProvider(params, options) {
|
|
|
76
76
|
const agentId = params.agentId ?? resolveDefaultAgentId(nextConfig);
|
|
77
77
|
const defaultAgentId = resolveDefaultAgentId(nextConfig);
|
|
78
78
|
const agentDir = params.agentDir ??
|
|
79
|
-
(agentId === defaultAgentId ?
|
|
79
|
+
(agentId === defaultAgentId ? resolveOpenClawAgentDir() : resolveAgentDir(nextConfig, agentId));
|
|
80
80
|
const workspaceDir = resolveAgentWorkspaceDir(nextConfig, agentId) ?? resolveDefaultAgentWorkspaceDir();
|
|
81
81
|
const providers = resolvePluginProviders({ config: nextConfig, workspaceDir });
|
|
82
82
|
const provider = resolveProviderMatch(providers, options.providerId);
|
|
@@ -16,6 +16,7 @@ const PREFERRED_PROVIDER_BY_AUTH_CHOICE = {
|
|
|
16
16
|
"google-antigravity": "google-antigravity",
|
|
17
17
|
"google-gemini-cli": "google-gemini-cli",
|
|
18
18
|
"zai-api-key": "zai",
|
|
19
|
+
"xiaomi-api-key": "xiaomi",
|
|
19
20
|
"synthetic-api-key": "synthetic",
|
|
20
21
|
"venice-api-key": "venice",
|
|
21
22
|
"github-copilot": "github-copilot",
|
|
@@ -10,7 +10,7 @@ export async function requireValidConfig(runtime = defaultRuntime) {
|
|
|
10
10
|
? snapshot.issues.map((issue) => `- ${issue.path}: ${issue.message}`).join("\n")
|
|
11
11
|
: "Unknown validation issue.";
|
|
12
12
|
runtime.error(`Config invalid:\n${issues}`);
|
|
13
|
-
runtime.error(`Fix the config or run ${formatCliCommand("
|
|
13
|
+
runtime.error(`Fix the config or run ${formatCliCommand("openclaw doctor")}.`);
|
|
14
14
|
runtime.exit(1);
|
|
15
15
|
return null;
|
|
16
16
|
}
|
|
@@ -127,7 +127,7 @@ export function formatGatewayChannelsStatusLines(payload) {
|
|
|
127
127
|
for (const issue of issues) {
|
|
128
128
|
lines.push(`- ${issue.channel} ${issue.accountId}: ${issue.message}${issue.fix ? ` (${issue.fix})` : ""}`);
|
|
129
129
|
}
|
|
130
|
-
lines.push(`- Run: ${formatCliCommand("
|
|
130
|
+
lines.push(`- Run: ${formatCliCommand("openclaw doctor")}`);
|
|
131
131
|
lines.push("");
|
|
132
132
|
}
|
|
133
133
|
lines.push(`Tip: ${formatDocsLink("/cli#status", "status --deep")} adds gateway health probes to status output (requires a reachable gateway).`);
|
|
@@ -52,7 +52,7 @@ async function waitForLocalCallback(params) {
|
|
|
52
52
|
"<!doctype html>",
|
|
53
53
|
"<html><head><meta charset='utf-8' /></head>",
|
|
54
54
|
"<body><h2>Chutes OAuth complete</h2>",
|
|
55
|
-
"<p>You can close this window and return to
|
|
55
|
+
"<p>You can close this window and return to OpenClaw.</p></body></html>",
|
|
56
56
|
].join(""));
|
|
57
57
|
if (timeout)
|
|
58
58
|
clearTimeout(timeout);
|
|
@@ -14,8 +14,8 @@ export async function removeChannelConfigWizard(cfg, runtime) {
|
|
|
14
14
|
const configured = listConfiguredChannels();
|
|
15
15
|
if (configured.length === 0) {
|
|
16
16
|
note([
|
|
17
|
-
"No channel config found in
|
|
18
|
-
`Tip: \`${formatCliCommand("
|
|
17
|
+
"No channel config found in openclaw.json.",
|
|
18
|
+
`Tip: \`${formatCliCommand("openclaw channels status")}\` shows what is configured and enabled.`,
|
|
19
19
|
].join("\n"), "Remove channel");
|
|
20
20
|
return next;
|
|
21
21
|
}
|
|
@@ -102,7 +102,7 @@ export async function promptGatewayConfig(cfg, runtime) {
|
|
|
102
102
|
}
|
|
103
103
|
let tailscaleResetOnExit = false;
|
|
104
104
|
if (tailscaleMode !== "off") {
|
|
105
|
-
note(["Docs:", "https://docs.
|
|
105
|
+
note(["Docs:", "https://docs.openclaw.ai/gateway/tailscale", "https://docs.openclaw.ai/web"].join("\n"), "Tailscale");
|
|
106
106
|
tailscaleResetOnExit = Boolean(guardCancel(await confirm({
|
|
107
107
|
message: "Reset Tailscale serve/funnel on exit?",
|
|
108
108
|
initialValue: false,
|