@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
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveOpenClawPackageRoot } from "../infra/openclaw-root.js";
|
|
2
2
|
import { checkUpdateStatus, compareSemverStrings, } from "../infra/update-check.js";
|
|
3
3
|
import { formatCliCommand } from "../cli/command-format.js";
|
|
4
4
|
import { VERSION } from "../version.js";
|
|
5
5
|
export async function getUpdateCheckResult(params) {
|
|
6
|
-
const root = await
|
|
6
|
+
const root = await resolveOpenClawPackageRoot({
|
|
7
7
|
moduleUrl: import.meta.url,
|
|
8
8
|
argv1: process.argv[1],
|
|
9
9
|
cwd: process.cwd(),
|
|
@@ -43,7 +43,7 @@ export function formatUpdateAvailableHint(update) {
|
|
|
43
43
|
details.push(`npm ${availability.latestVersion}`);
|
|
44
44
|
}
|
|
45
45
|
const suffix = details.length > 0 ? ` (${details.join(" · ")})` : "";
|
|
46
|
-
return `Update available${suffix}. Run: ${formatCliCommand("
|
|
46
|
+
return `Update available${suffix}. Run: ${formatCliCommand("openclaw update")}`;
|
|
47
47
|
}
|
|
48
48
|
export function formatUpdateOneLiner(update) {
|
|
49
49
|
const parts = [];
|
|
@@ -59,9 +59,9 @@ async function stopAndUninstallService(runtime) {
|
|
|
59
59
|
async function removeMacApp(runtime, dryRun) {
|
|
60
60
|
if (process.platform !== "darwin")
|
|
61
61
|
return;
|
|
62
|
-
await removePath("/Applications/
|
|
62
|
+
await removePath("/Applications/OpenClaw.app", runtime, {
|
|
63
63
|
dryRun,
|
|
64
|
-
label: "/Applications/
|
|
64
|
+
label: "/Applications/OpenClaw.app",
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
export async function uninstallCommand(runtime, opts) {
|
|
@@ -86,12 +86,12 @@ export async function uninstallCommand(runtime, opts) {
|
|
|
86
86
|
label: "Gateway service",
|
|
87
87
|
hint: "launchd / systemd / schtasks",
|
|
88
88
|
},
|
|
89
|
-
{ value: "state", label: "State + config", hint: "~/.
|
|
89
|
+
{ value: "state", label: "State + config", hint: "~/.openclaw" },
|
|
90
90
|
{ value: "workspace", label: "Workspace", hint: "agent files" },
|
|
91
91
|
{
|
|
92
92
|
value: "app",
|
|
93
93
|
label: "macOS app",
|
|
94
|
-
hint: "/Applications/
|
|
94
|
+
hint: "/Applications/OpenClaw.app",
|
|
95
95
|
},
|
|
96
96
|
],
|
|
97
97
|
initialValues: ["service", "state", "workspace"],
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
export const
|
|
2
|
-
export const
|
|
3
|
-
export const
|
|
4
|
-
export const
|
|
5
|
-
export const
|
|
6
|
-
export const
|
|
1
|
+
export const PROJECT_NAME = "openclaw";
|
|
2
|
+
export const LEGACY_PROJECT_NAMES = [];
|
|
3
|
+
export const MANIFEST_KEY = PROJECT_NAME;
|
|
4
|
+
export const LEGACY_MANIFEST_KEYS = LEGACY_PROJECT_NAMES;
|
|
5
|
+
export const LEGACY_PLUGIN_MANIFEST_FILENAMES = [];
|
|
6
|
+
export const LEGACY_CANVAS_HANDLER_NAMES = [];
|
|
7
|
+
export const MACOS_APP_SOURCES_DIR = "apps/macos/Sources/OpenClaw";
|
|
8
|
+
export const LEGACY_MACOS_APP_SOURCES_DIRS = [];
|
package/dist/config/config.js
CHANGED
|
@@ -4,4 +4,4 @@ export * from "./paths.js";
|
|
|
4
4
|
export * from "./runtime-overrides.js";
|
|
5
5
|
export * from "./types.js";
|
|
6
6
|
export { validateConfigObject, validateConfigObjectWithPlugins } from "./validation.js";
|
|
7
|
-
export {
|
|
7
|
+
export { OpenClawSchema } from "./zod-schema.js";
|
package/dist/config/io.js
CHANGED
|
@@ -15,7 +15,7 @@ import { normalizeConfigPaths } from "./normalize-paths.js";
|
|
|
15
15
|
import { resolveConfigPath, resolveDefaultConfigCandidates, resolveStateDir } from "./paths.js";
|
|
16
16
|
import { applyConfigOverrides } from "./runtime-overrides.js";
|
|
17
17
|
import { validateConfigObjectWithPlugins } from "./validation.js";
|
|
18
|
-
import {
|
|
18
|
+
import { compareOpenClawVersions } from "./version.js";
|
|
19
19
|
// Re-export for backwards compatibility
|
|
20
20
|
export { CircularIncludeError, ConfigIncludeError } from "./includes.js";
|
|
21
21
|
export { MissingEnvVarError } from "./env-substitution.js";
|
|
@@ -34,8 +34,8 @@ const SHELL_ENV_EXPECTED_KEYS = [
|
|
|
34
34
|
"DISCORD_BOT_TOKEN",
|
|
35
35
|
"SLACK_BOT_TOKEN",
|
|
36
36
|
"SLACK_APP_TOKEN",
|
|
37
|
-
"
|
|
38
|
-
"
|
|
37
|
+
"OPENCLAW_GATEWAY_TOKEN",
|
|
38
|
+
"OPENCLAW_GATEWAY_PASSWORD",
|
|
39
39
|
];
|
|
40
40
|
const CONFIG_BACKUP_COUNT = 5;
|
|
41
41
|
const loggedInvalidConfigs = new Set();
|
|
@@ -103,11 +103,11 @@ function warnIfConfigFromFuture(cfg, logger) {
|
|
|
103
103
|
const touched = cfg.meta?.lastTouchedVersion;
|
|
104
104
|
if (!touched)
|
|
105
105
|
return;
|
|
106
|
-
const cmp =
|
|
106
|
+
const cmp = compareOpenClawVersions(VERSION, touched);
|
|
107
107
|
if (cmp === null)
|
|
108
108
|
return;
|
|
109
109
|
if (cmp < 0) {
|
|
110
|
-
logger.warn(`Config was last written by a newer
|
|
110
|
+
logger.warn(`Config was last written by a newer OpenClaw (${touched}); current version is ${VERSION}.`);
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
function applyConfigEnv(cfg, env) {
|
|
@@ -436,12 +436,12 @@ export function createConfigIO(overrides = {}) {
|
|
|
436
436
|
};
|
|
437
437
|
}
|
|
438
438
|
// NOTE: These wrappers intentionally do *not* cache the resolved config path at
|
|
439
|
-
// module scope. `
|
|
439
|
+
// module scope. `OPENCLAW_CONFIG_PATH` (and friends) are expected to work even
|
|
440
440
|
// when set after the module has been imported (tests, one-off scripts, etc.).
|
|
441
441
|
const DEFAULT_CONFIG_CACHE_MS = 200;
|
|
442
442
|
let configCache = null;
|
|
443
443
|
function resolveConfigCacheMs(env) {
|
|
444
|
-
const raw = env.
|
|
444
|
+
const raw = env.OPENCLAW_CONFIG_CACHE_MS?.trim();
|
|
445
445
|
if (raw === "" || raw === "0")
|
|
446
446
|
return 0;
|
|
447
447
|
if (!raw)
|
|
@@ -452,7 +452,7 @@ function resolveConfigCacheMs(env) {
|
|
|
452
452
|
return Math.max(0, parsed);
|
|
453
453
|
}
|
|
454
454
|
function shouldUseConfigCache(env) {
|
|
455
|
-
if (env.
|
|
455
|
+
if (env.OPENCLAW_DISABLE_CONFIG_CACHE?.trim())
|
|
456
456
|
return false;
|
|
457
457
|
return resolveConfigCacheMs(env) > 0;
|
|
458
458
|
}
|
|
@@ -460,7 +460,8 @@ function clearConfigCache() {
|
|
|
460
460
|
configCache = null;
|
|
461
461
|
}
|
|
462
462
|
export function loadConfig() {
|
|
463
|
-
const
|
|
463
|
+
const io = createConfigIO();
|
|
464
|
+
const configPath = io.configPath;
|
|
464
465
|
const now = Date.now();
|
|
465
466
|
if (shouldUseConfigCache(process.env)) {
|
|
466
467
|
const cached = configCache;
|
|
@@ -468,7 +469,7 @@ export function loadConfig() {
|
|
|
468
469
|
return cached.config;
|
|
469
470
|
}
|
|
470
471
|
}
|
|
471
|
-
const config =
|
|
472
|
+
const config = io.loadConfig();
|
|
472
473
|
if (shouldUseConfigCache(process.env)) {
|
|
473
474
|
const cacheMs = resolveConfigCacheMs(process.env);
|
|
474
475
|
if (cacheMs > 0) {
|
|
@@ -482,11 +483,9 @@ export function loadConfig() {
|
|
|
482
483
|
return config;
|
|
483
484
|
}
|
|
484
485
|
export async function readConfigFileSnapshot() {
|
|
485
|
-
return await createConfigIO(
|
|
486
|
-
configPath: resolveConfigPath(),
|
|
487
|
-
}).readConfigFileSnapshot();
|
|
486
|
+
return await createConfigIO().readConfigFileSnapshot();
|
|
488
487
|
}
|
|
489
488
|
export async function writeConfigFile(cfg) {
|
|
490
489
|
clearConfigCache();
|
|
491
|
-
await createConfigIO(
|
|
490
|
+
await createConfigIO().writeConfigFile(cfg);
|
|
492
491
|
}
|
package/dist/config/paths.js
CHANGED
|
@@ -1,35 +1,61 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
1
2
|
import os from "node:os";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
/**
|
|
4
|
-
* Nix mode detection: When
|
|
5
|
+
* Nix mode detection: When OPENCLAW_NIX_MODE=1, the gateway is running under Nix.
|
|
5
6
|
* In this mode:
|
|
6
7
|
* - No auto-install flows should be attempted
|
|
7
8
|
* - Missing dependencies should produce actionable Nix-specific error messages
|
|
8
9
|
* - Config is managed externally (read-only from Nix perspective)
|
|
9
10
|
*/
|
|
10
11
|
export function resolveIsNixMode(env = process.env) {
|
|
11
|
-
return env.
|
|
12
|
+
return env.OPENCLAW_NIX_MODE === "1";
|
|
12
13
|
}
|
|
13
14
|
export const isNixMode = resolveIsNixMode();
|
|
14
|
-
const
|
|
15
|
-
const NEW_STATE_DIRNAME = ".
|
|
16
|
-
const CONFIG_FILENAME = "
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
const LEGACY_STATE_DIRNAMES = [".clawdbot", ".moltbot", ".moldbot"];
|
|
16
|
+
const NEW_STATE_DIRNAME = ".openclaw";
|
|
17
|
+
const CONFIG_FILENAME = "openclaw.json";
|
|
18
|
+
const LEGACY_CONFIG_FILENAMES = ["clawdbot.json", "moltbot.json", "moldbot.json"];
|
|
19
|
+
function legacyStateDirs(homedir = os.homedir) {
|
|
20
|
+
return LEGACY_STATE_DIRNAMES.map((dir) => path.join(homedir(), dir));
|
|
19
21
|
}
|
|
20
22
|
function newStateDir(homedir = os.homedir) {
|
|
21
23
|
return path.join(homedir(), NEW_STATE_DIRNAME);
|
|
22
24
|
}
|
|
25
|
+
export function resolveLegacyStateDir(homedir = os.homedir) {
|
|
26
|
+
return legacyStateDirs(homedir)[0] ?? newStateDir(homedir);
|
|
27
|
+
}
|
|
28
|
+
export function resolveLegacyStateDirs(homedir = os.homedir) {
|
|
29
|
+
return legacyStateDirs(homedir);
|
|
30
|
+
}
|
|
31
|
+
export function resolveNewStateDir(homedir = os.homedir) {
|
|
32
|
+
return newStateDir(homedir);
|
|
33
|
+
}
|
|
23
34
|
/**
|
|
24
35
|
* State directory for mutable data (sessions, logs, caches).
|
|
25
|
-
* Can be overridden via
|
|
26
|
-
* Default: ~/.
|
|
36
|
+
* Can be overridden via OPENCLAW_STATE_DIR.
|
|
37
|
+
* Default: ~/.openclaw
|
|
27
38
|
*/
|
|
28
39
|
export function resolveStateDir(env = process.env, homedir = os.homedir) {
|
|
29
|
-
const override = env.
|
|
40
|
+
const override = env.OPENCLAW_STATE_DIR?.trim() || env.CLAWDBOT_STATE_DIR?.trim();
|
|
30
41
|
if (override)
|
|
31
42
|
return resolveUserPath(override);
|
|
32
|
-
|
|
43
|
+
const newDir = newStateDir(homedir);
|
|
44
|
+
const legacyDirs = legacyStateDirs(homedir);
|
|
45
|
+
const hasNew = fs.existsSync(newDir);
|
|
46
|
+
if (hasNew)
|
|
47
|
+
return newDir;
|
|
48
|
+
const existingLegacy = legacyDirs.find((dir) => {
|
|
49
|
+
try {
|
|
50
|
+
return fs.existsSync(dir);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
if (existingLegacy)
|
|
57
|
+
return existingLegacy;
|
|
58
|
+
return newDir;
|
|
33
59
|
}
|
|
34
60
|
function resolveUserPath(input) {
|
|
35
61
|
const trimmed = input.trim();
|
|
@@ -44,46 +70,95 @@ function resolveUserPath(input) {
|
|
|
44
70
|
export const STATE_DIR = resolveStateDir();
|
|
45
71
|
/**
|
|
46
72
|
* Config file path (JSON5).
|
|
47
|
-
* Can be overridden via
|
|
48
|
-
* Default: ~/.
|
|
73
|
+
* Can be overridden via OPENCLAW_CONFIG_PATH.
|
|
74
|
+
* Default: ~/.openclaw/openclaw.json (or $OPENCLAW_STATE_DIR/openclaw.json)
|
|
49
75
|
*/
|
|
50
|
-
export function
|
|
51
|
-
const override = env.
|
|
76
|
+
export function resolveCanonicalConfigPath(env = process.env, stateDir = resolveStateDir(env, os.homedir)) {
|
|
77
|
+
const override = env.OPENCLAW_CONFIG_PATH?.trim() || env.CLAWDBOT_CONFIG_PATH?.trim();
|
|
52
78
|
if (override)
|
|
53
79
|
return resolveUserPath(override);
|
|
54
80
|
return path.join(stateDir, CONFIG_FILENAME);
|
|
55
81
|
}
|
|
56
|
-
export const CONFIG_PATH = resolveConfigPath();
|
|
57
82
|
/**
|
|
58
|
-
* Resolve
|
|
59
|
-
*
|
|
83
|
+
* Resolve the active config path by preferring existing config candidates
|
|
84
|
+
* before falling back to the canonical path.
|
|
85
|
+
*/
|
|
86
|
+
export function resolveConfigPathCandidate(env = process.env, homedir = os.homedir) {
|
|
87
|
+
const candidates = resolveDefaultConfigCandidates(env, homedir);
|
|
88
|
+
const existing = candidates.find((candidate) => {
|
|
89
|
+
try {
|
|
90
|
+
return fs.existsSync(candidate);
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
if (existing)
|
|
97
|
+
return existing;
|
|
98
|
+
return resolveCanonicalConfigPath(env, resolveStateDir(env, homedir));
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Active config path (prefers existing config files).
|
|
102
|
+
*/
|
|
103
|
+
export function resolveConfigPath(env = process.env, stateDir = resolveStateDir(env, os.homedir), homedir = os.homedir) {
|
|
104
|
+
const override = env.OPENCLAW_CONFIG_PATH?.trim();
|
|
105
|
+
if (override)
|
|
106
|
+
return resolveUserPath(override);
|
|
107
|
+
const stateOverride = env.OPENCLAW_STATE_DIR?.trim();
|
|
108
|
+
const candidates = [
|
|
109
|
+
path.join(stateDir, CONFIG_FILENAME),
|
|
110
|
+
...LEGACY_CONFIG_FILENAMES.map((name) => path.join(stateDir, name)),
|
|
111
|
+
];
|
|
112
|
+
const existing = candidates.find((candidate) => {
|
|
113
|
+
try {
|
|
114
|
+
return fs.existsSync(candidate);
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
if (existing)
|
|
121
|
+
return existing;
|
|
122
|
+
if (stateOverride)
|
|
123
|
+
return path.join(stateDir, CONFIG_FILENAME);
|
|
124
|
+
const defaultStateDir = resolveStateDir(env, homedir);
|
|
125
|
+
if (path.resolve(stateDir) === path.resolve(defaultStateDir)) {
|
|
126
|
+
return resolveConfigPathCandidate(env, homedir);
|
|
127
|
+
}
|
|
128
|
+
return path.join(stateDir, CONFIG_FILENAME);
|
|
129
|
+
}
|
|
130
|
+
export const CONFIG_PATH = resolveConfigPathCandidate();
|
|
131
|
+
/**
|
|
132
|
+
* Resolve default config path candidates across default locations.
|
|
133
|
+
* Order: explicit config path → state-dir-derived paths → new default.
|
|
60
134
|
*/
|
|
61
135
|
export function resolveDefaultConfigCandidates(env = process.env, homedir = os.homedir) {
|
|
62
|
-
const explicit = env.
|
|
136
|
+
const explicit = env.OPENCLAW_CONFIG_PATH?.trim() || env.CLAWDBOT_CONFIG_PATH?.trim();
|
|
63
137
|
if (explicit)
|
|
64
138
|
return [resolveUserPath(explicit)];
|
|
65
139
|
const candidates = [];
|
|
66
|
-
const
|
|
67
|
-
if (
|
|
68
|
-
|
|
140
|
+
const openclawStateDir = env.OPENCLAW_STATE_DIR?.trim() || env.CLAWDBOT_STATE_DIR?.trim();
|
|
141
|
+
if (openclawStateDir) {
|
|
142
|
+
const resolved = resolveUserPath(openclawStateDir);
|
|
143
|
+
candidates.push(path.join(resolved, CONFIG_FILENAME));
|
|
144
|
+
candidates.push(...LEGACY_CONFIG_FILENAMES.map((name) => path.join(resolved, name)));
|
|
69
145
|
}
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
candidates.push(path.join(
|
|
146
|
+
const defaultDirs = [newStateDir(homedir), ...legacyStateDirs(homedir)];
|
|
147
|
+
for (const dir of defaultDirs) {
|
|
148
|
+
candidates.push(path.join(dir, CONFIG_FILENAME));
|
|
149
|
+
candidates.push(...LEGACY_CONFIG_FILENAMES.map((name) => path.join(dir, name)));
|
|
73
150
|
}
|
|
74
|
-
candidates.push(path.join(newStateDir(homedir), CONFIG_FILENAME));
|
|
75
|
-
candidates.push(path.join(legacyStateDir(homedir), CONFIG_FILENAME));
|
|
76
151
|
return candidates;
|
|
77
152
|
}
|
|
78
153
|
export const DEFAULT_GATEWAY_PORT = 18789;
|
|
79
154
|
/**
|
|
80
155
|
* Gateway lock directory (ephemeral).
|
|
81
|
-
* Default: os.tmpdir()/
|
|
156
|
+
* Default: os.tmpdir()/openclaw-<uid> (uid suffix when available).
|
|
82
157
|
*/
|
|
83
158
|
export function resolveGatewayLockDir(tmpdir = os.tmpdir) {
|
|
84
159
|
const base = tmpdir();
|
|
85
160
|
const uid = typeof process.getuid === "function" ? process.getuid() : undefined;
|
|
86
|
-
const suffix = uid != null ? `
|
|
161
|
+
const suffix = uid != null ? `openclaw-${uid}` : "openclaw";
|
|
87
162
|
return path.join(base, suffix);
|
|
88
163
|
}
|
|
89
164
|
const OAUTH_FILENAME = "oauth.json";
|
|
@@ -91,12 +166,11 @@ const OAUTH_FILENAME = "oauth.json";
|
|
|
91
166
|
* OAuth credentials storage directory.
|
|
92
167
|
*
|
|
93
168
|
* Precedence:
|
|
94
|
-
* - `
|
|
169
|
+
* - `OPENCLAW_OAUTH_DIR` (explicit override)
|
|
95
170
|
* - `$*_STATE_DIR/credentials` (canonical server/default)
|
|
96
|
-
* - `~/.clawdbot/credentials` (legacy default)
|
|
97
171
|
*/
|
|
98
172
|
export function resolveOAuthDir(env = process.env, stateDir = resolveStateDir(env, os.homedir)) {
|
|
99
|
-
const override = env.
|
|
173
|
+
const override = env.OPENCLAW_OAUTH_DIR?.trim();
|
|
100
174
|
if (override)
|
|
101
175
|
return resolveUserPath(override);
|
|
102
176
|
return path.join(stateDir, "credentials");
|
|
@@ -105,7 +179,7 @@ export function resolveOAuthPath(env = process.env, stateDir = resolveStateDir(e
|
|
|
105
179
|
return path.join(resolveOAuthDir(env, stateDir), OAUTH_FILENAME);
|
|
106
180
|
}
|
|
107
181
|
export function resolveGatewayPort(cfg, env = process.env) {
|
|
108
|
-
const envRaw = env.CLAWDBOT_GATEWAY_PORT?.trim();
|
|
182
|
+
const envRaw = env.OPENCLAW_GATEWAY_PORT?.trim() || env.CLAWDBOT_GATEWAY_PORT?.trim();
|
|
109
183
|
if (envRaw) {
|
|
110
184
|
const parsed = Number.parseInt(envRaw, 10);
|
|
111
185
|
if (Number.isFinite(parsed) && parsed > 0)
|
package/dist/config/schema.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CHANNEL_IDS } from "../channels/registry.js";
|
|
2
2
|
import { VERSION } from "../version.js";
|
|
3
|
-
import {
|
|
3
|
+
import { OpenClawSchema } from "./zod-schema.js";
|
|
4
4
|
const GROUP_LABELS = {
|
|
5
5
|
wizard: "Wizard",
|
|
6
6
|
update: "Update",
|
|
@@ -176,6 +176,7 @@ const FIELD_LABELS = {
|
|
|
176
176
|
"agents.defaults.memorySearch": "Memory Search",
|
|
177
177
|
"agents.defaults.memorySearch.enabled": "Enable Memory Search",
|
|
178
178
|
"agents.defaults.memorySearch.sources": "Memory Search Sources",
|
|
179
|
+
"agents.defaults.memorySearch.extraPaths": "Extra Memory Paths",
|
|
179
180
|
"agents.defaults.memorySearch.experimental.sessionMemory": "Memory Search Session Index (Experimental)",
|
|
180
181
|
"agents.defaults.memorySearch.provider": "Memory Search Provider",
|
|
181
182
|
"agents.defaults.memorySearch.remote.baseUrl": "Remote Embedding Base URL",
|
|
@@ -315,7 +316,7 @@ const FIELD_LABELS = {
|
|
|
315
316
|
"plugins.installs.*.installedAt": "Plugin Install Time",
|
|
316
317
|
};
|
|
317
318
|
const FIELD_HELP = {
|
|
318
|
-
"meta.lastTouchedVersion": "Auto-set when
|
|
319
|
+
"meta.lastTouchedVersion": "Auto-set when OpenClaw writes the config.",
|
|
319
320
|
"meta.lastTouchedAt": "ISO timestamp of the last config write (auto-set).",
|
|
320
321
|
"update.channel": 'Update channel for git + npm installs ("stable", "beta", or "dev").',
|
|
321
322
|
"update.checkOnStart": "Check for npm updates when the gateway starts (default: true).",
|
|
@@ -327,7 +328,7 @@ const FIELD_HELP = {
|
|
|
327
328
|
"discovery.mdns.mode": 'mDNS broadcast mode ("minimal" default, "full" includes cliPath/sshPort, "off" disables mDNS).',
|
|
328
329
|
"gateway.auth.token": "Required by default for gateway access (unless using Tailscale Serve identity); required for non-loopback binds.",
|
|
329
330
|
"gateway.auth.password": "Required for Tailscale funnel.",
|
|
330
|
-
"gateway.controlUi.basePath": "Optional URL prefix where the Control UI is served (e.g. /
|
|
331
|
+
"gateway.controlUi.basePath": "Optional URL prefix where the Control UI is served (e.g. /openclaw).",
|
|
331
332
|
"gateway.controlUi.allowInsecureAuth": "Allow Control UI auth over insecure HTTP (token-only; not recommended).",
|
|
332
333
|
"gateway.controlUi.dangerouslyDisableDeviceAuth": "DANGEROUS. Disable Control UI device identity checks (token/password only).",
|
|
333
334
|
"gateway.http.endpoints.chatCompletions.enabled": "Enable the OpenAI-compatible `POST /v1/chat/completions` endpoint (default: false).",
|
|
@@ -341,7 +342,7 @@ const FIELD_HELP = {
|
|
|
341
342
|
"nodeHost.browserProxy.allowProfiles": "Optional allowlist of browser profile names exposed via the node proxy.",
|
|
342
343
|
"diagnostics.flags": 'Enable targeted diagnostics logs by flag (e.g. ["telegram.http"]). Supports wildcards like "telegram.*" or "*".',
|
|
343
344
|
"diagnostics.cacheTrace.enabled": "Log cache trace snapshots for embedded agent runs (default: false).",
|
|
344
|
-
"diagnostics.cacheTrace.filePath": "JSONL output path for cache trace logs (default: $
|
|
345
|
+
"diagnostics.cacheTrace.filePath": "JSONL output path for cache trace logs (default: $OPENCLAW_STATE_DIR/logs/cache-trace.jsonl).",
|
|
345
346
|
"diagnostics.cacheTrace.includeMessages": "Include full message payloads in trace output (default: true).",
|
|
346
347
|
"diagnostics.cacheTrace.includePrompt": "Include prompt text in trace output (default: true).",
|
|
347
348
|
"diagnostics.cacheTrace.includeSystem": "Include system prompt in trace output (default: true).",
|
|
@@ -401,6 +402,7 @@ const FIELD_HELP = {
|
|
|
401
402
|
"agents.defaults.models": "Configured model catalog (keys are full provider/model IDs).",
|
|
402
403
|
"agents.defaults.memorySearch": "Vector search over MEMORY.md and memory/*.md (per-agent overrides supported).",
|
|
403
404
|
"agents.defaults.memorySearch.sources": 'Sources to index for memory search (default: ["memory"]; add "sessions" to include session transcripts).',
|
|
405
|
+
"agents.defaults.memorySearch.extraPaths": "Extra paths to include in memory search (directories or .md files; relative paths resolved from workspace).",
|
|
404
406
|
"agents.defaults.memorySearch.experimental.sessionMemory": "Enable experimental session transcript indexing for memory search (default: false).",
|
|
405
407
|
"agents.defaults.memorySearch.provider": 'Embedding provider ("openai", "gemini", or "local").',
|
|
406
408
|
"agents.defaults.memorySearch.remote.baseUrl": "Custom base URL for remote embeddings (OpenAI-compatible proxies or Gemini overrides).",
|
|
@@ -413,7 +415,7 @@ const FIELD_HELP = {
|
|
|
413
415
|
"agents.defaults.memorySearch.remote.batch.timeoutMinutes": "Timeout in minutes for batch indexing (default: 60).",
|
|
414
416
|
"agents.defaults.memorySearch.local.modelPath": "Local GGUF model path or hf: URI (node-llama-cpp).",
|
|
415
417
|
"agents.defaults.memorySearch.fallback": 'Fallback provider when embeddings fail ("openai", "gemini", "local", or "none").',
|
|
416
|
-
"agents.defaults.memorySearch.store.path": "SQLite index path (default: ~/.
|
|
418
|
+
"agents.defaults.memorySearch.store.path": "SQLite index path (default: ~/.openclaw/memory/{agentId}.sqlite).",
|
|
417
419
|
"agents.defaults.memorySearch.store.vector.enabled": "Enable sqlite-vec extension for vector search (default: true).",
|
|
418
420
|
"agents.defaults.memorySearch.store.vector.extensionPath": "Optional override path to sqlite-vec extension library (.dylib/.so/.dll).",
|
|
419
421
|
"agents.defaults.memorySearch.query.hybrid.enabled": "Enable hybrid BM25 + vector search for memory (default: true).",
|
|
@@ -435,11 +437,11 @@ const FIELD_HELP = {
|
|
|
435
437
|
"plugins.entries": "Per-plugin settings keyed by plugin id (enable/disable + config payloads).",
|
|
436
438
|
"plugins.entries.*.enabled": "Overrides plugin enable/disable for this entry (restart required).",
|
|
437
439
|
"plugins.entries.*.config": "Plugin-defined config payload (schema is provided by the plugin).",
|
|
438
|
-
"plugins.installs": "CLI-managed install metadata (used by `
|
|
440
|
+
"plugins.installs": "CLI-managed install metadata (used by `openclaw plugins update` to locate install sources).",
|
|
439
441
|
"plugins.installs.*.source": 'Install source ("npm", "archive", or "path").',
|
|
440
442
|
"plugins.installs.*.spec": "Original npm spec used for install (if source is npm).",
|
|
441
443
|
"plugins.installs.*.sourcePath": "Original archive/path used for install (if any).",
|
|
442
|
-
"plugins.installs.*.installPath": "Resolved install directory (usually ~/.
|
|
444
|
+
"plugins.installs.*.installPath": "Resolved install directory (usually ~/.openclaw/extensions/<id>).",
|
|
443
445
|
"plugins.installs.*.version": "Version recorded at install time (if available).",
|
|
444
446
|
"plugins.installs.*.installedAt": "ISO timestamp of last install/update.",
|
|
445
447
|
"agents.list.*.identity.avatar": "Agent avatar (workspace-relative path, http(s) URL, or data URI).",
|
|
@@ -460,7 +462,7 @@ const FIELD_HELP = {
|
|
|
460
462
|
"commands.debug": "Allow /debug chat command for runtime-only overrides (default: false).",
|
|
461
463
|
"commands.restart": "Allow /restart and gateway restart tool actions (default: false).",
|
|
462
464
|
"commands.useAccessGroups": "Enforce access-group allowlists/policies for commands.",
|
|
463
|
-
"session.dmScope": 'DM session scoping: "main" keeps continuity; "per-peer" or "per-channel-peer" isolates DM history (recommended for shared inboxes).',
|
|
465
|
+
"session.dmScope": 'DM session scoping: "main" keeps continuity; "per-peer", "per-channel-peer", or "per-account-channel-peer" isolates DM history (recommended for shared inboxes/multi-account).',
|
|
464
466
|
"session.identityLinks": "Map canonical identities to provider-prefixed peer IDs for DM session linking (example: telegram:123456).",
|
|
465
467
|
"channels.telegram.configWrites": "Allow Telegram to write config in response to channel events/commands (default: true).",
|
|
466
468
|
"channels.slack.configWrites": "Allow Slack to write config in response to channel events/commands (default: true).",
|
|
@@ -512,9 +514,9 @@ const FIELD_PLACEHOLDERS = {
|
|
|
512
514
|
"gateway.remote.url": "ws://host:18789",
|
|
513
515
|
"gateway.remote.tlsFingerprint": "sha256:ab12cd34…",
|
|
514
516
|
"gateway.remote.sshTarget": "user@host",
|
|
515
|
-
"gateway.controlUi.basePath": "/
|
|
517
|
+
"gateway.controlUi.basePath": "/openclaw",
|
|
516
518
|
"channels.mattermost.baseUrl": "https://chat.example.com",
|
|
517
|
-
"agents.list[].identity.avatar": "avatars/
|
|
519
|
+
"agents.list[].identity.avatar": "avatars/openclaw.png",
|
|
518
520
|
};
|
|
519
521
|
const SENSITIVE_PATTERNS = [/token/i, /password/i, /secret/i, /api.?key/i];
|
|
520
522
|
function isSensitivePath(path) {
|
|
@@ -762,11 +764,11 @@ function stripChannelSchema(schema) {
|
|
|
762
764
|
function buildBaseConfigSchema() {
|
|
763
765
|
if (cachedBase)
|
|
764
766
|
return cachedBase;
|
|
765
|
-
const schema =
|
|
767
|
+
const schema = OpenClawSchema.toJSONSchema({
|
|
766
768
|
target: "draft-07",
|
|
767
769
|
unrepresentable: "any",
|
|
768
770
|
});
|
|
769
|
-
schema.title = "
|
|
771
|
+
schema.title = "OpenClawConfig";
|
|
770
772
|
const hints = applySensitiveHints(buildBaseHints());
|
|
771
773
|
const next = {
|
|
772
774
|
schema: stripChannelSchema(schema),
|
|
@@ -13,7 +13,7 @@ function isSessionStoreRecord(value) {
|
|
|
13
13
|
}
|
|
14
14
|
function getSessionStoreTtl() {
|
|
15
15
|
return resolveCacheTtlMs({
|
|
16
|
-
envValue: process.env.
|
|
16
|
+
envValue: process.env.OPENCLAW_SESSION_CACHE_TTL_MS,
|
|
17
17
|
defaultTtlMs: DEFAULT_SESSION_STORE_TTL_MS,
|
|
18
18
|
});
|
|
19
19
|
}
|
|
@@ -81,7 +81,7 @@ export async function appendAssistantMessageToSessionTranscript(params) {
|
|
|
81
81
|
role: "assistant",
|
|
82
82
|
content: [{ type: "text", text: mirrorText }],
|
|
83
83
|
api: "openai-responses",
|
|
84
|
-
provider: "
|
|
84
|
+
provider: "openclaw",
|
|
85
85
|
model: "delivery-mirror",
|
|
86
86
|
usage: {
|
|
87
87
|
input: 0,
|
package/dist/config/types.js
CHANGED
|
@@ -6,7 +6,7 @@ export * from "./types.auth.js";
|
|
|
6
6
|
export * from "./types.base.js";
|
|
7
7
|
export * from "./types.browser.js";
|
|
8
8
|
export * from "./types.channels.js";
|
|
9
|
-
export * from "./types.
|
|
9
|
+
export * from "./types.openclaw.js";
|
|
10
10
|
export * from "./types.cron.js";
|
|
11
11
|
export * from "./types.discord.js";
|
|
12
12
|
export * from "./types.googlechat.js";
|
|
@@ -7,7 +7,7 @@ import { validateJsonSchemaValue } from "../plugins/schema-validator.js";
|
|
|
7
7
|
import { findDuplicateAgentDirs, formatDuplicateAgentDirError } from "./agent-dirs.js";
|
|
8
8
|
import { applyAgentDefaults, applyModelDefaults, applySessionDefaults } from "./defaults.js";
|
|
9
9
|
import { findLegacyConfigIssues } from "./legacy.js";
|
|
10
|
-
import {
|
|
10
|
+
import { OpenClawSchema } from "./zod-schema.js";
|
|
11
11
|
const AVATAR_SCHEME_RE = /^[a-z][a-z0-9+.-]*:/i;
|
|
12
12
|
const AVATAR_DATA_RE = /^data:/i;
|
|
13
13
|
const AVATAR_HTTP_RE = /^https?:\/\//i;
|
|
@@ -74,7 +74,7 @@ export function validateConfigObject(raw) {
|
|
|
74
74
|
})),
|
|
75
75
|
};
|
|
76
76
|
}
|
|
77
|
-
const validated =
|
|
77
|
+
const validated = OpenClawSchema.safeParse(raw);
|
|
78
78
|
if (!validated.success) {
|
|
79
79
|
return {
|
|
80
80
|
ok: false,
|
package/dist/config/version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const VERSION_RE = /^v?(\d+)\.(\d+)\.(\d+)(?:-(\d+))?/;
|
|
2
|
-
export function
|
|
2
|
+
export function parseOpenClawVersion(raw) {
|
|
3
3
|
if (!raw)
|
|
4
4
|
return null;
|
|
5
5
|
const match = raw.trim().match(VERSION_RE);
|
|
@@ -13,9 +13,9 @@ export function parseMoltbotVersion(raw) {
|
|
|
13
13
|
revision: revision ? Number.parseInt(revision, 10) : 0,
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
export function
|
|
17
|
-
const parsedA =
|
|
18
|
-
const parsedB =
|
|
16
|
+
export function compareOpenClawVersions(a, b) {
|
|
17
|
+
const parsedA = parseOpenClawVersion(a);
|
|
18
|
+
const parsedB = parseOpenClawVersion(b);
|
|
19
19
|
if (!parsedA || !parsedB)
|
|
20
20
|
return null;
|
|
21
21
|
if (parsedA.major !== parsedB.major)
|
|
@@ -278,6 +278,7 @@ export const MemorySearchSchema = z
|
|
|
278
278
|
.object({
|
|
279
279
|
enabled: z.boolean().optional(),
|
|
280
280
|
sources: z.array(z.union([z.literal("memory"), z.literal("sessions")])).optional(),
|
|
281
|
+
extraPaths: z.array(z.string()).optional(),
|
|
281
282
|
experimental: z
|
|
282
283
|
.object({
|
|
283
284
|
sessionMemory: z.boolean().optional(),
|
|
@@ -24,7 +24,7 @@ const NodeHostSchema = z
|
|
|
24
24
|
})
|
|
25
25
|
.strict()
|
|
26
26
|
.optional();
|
|
27
|
-
export const
|
|
27
|
+
export const OpenClawSchema = z
|
|
28
28
|
.object({
|
|
29
29
|
meta: z
|
|
30
30
|
.object({
|
|
@@ -149,7 +149,7 @@ export const MoltbotSchema = z
|
|
|
149
149
|
.object({
|
|
150
150
|
cdpPort: z.number().int().min(1).max(65535).optional(),
|
|
151
151
|
cdpUrl: z.string().optional(),
|
|
152
|
-
driver: z.union([z.literal("
|
|
152
|
+
driver: z.union([z.literal("openclaw"), z.literal("extension")]).optional(),
|
|
153
153
|
color: HexColorSchema,
|
|
154
154
|
})
|
|
155
155
|
.strict()
|
|
@@ -259,6 +259,7 @@ export const MoltbotSchema = z
|
|
|
259
259
|
wideArea: z
|
|
260
260
|
.object({
|
|
261
261
|
enabled: z.boolean().optional(),
|
|
262
|
+
domain: z.string().optional(),
|
|
262
263
|
})
|
|
263
264
|
.strict()
|
|
264
265
|
.optional(),
|
|
@@ -11,7 +11,12 @@ export const SessionSchema = z
|
|
|
11
11
|
.object({
|
|
12
12
|
scope: z.union([z.literal("per-sender"), z.literal("global")]).optional(),
|
|
13
13
|
dmScope: z
|
|
14
|
-
.union([
|
|
14
|
+
.union([
|
|
15
|
+
z.literal("main"),
|
|
16
|
+
z.literal("per-peer"),
|
|
17
|
+
z.literal("per-channel-peer"),
|
|
18
|
+
z.literal("per-account-channel-peer"),
|
|
19
|
+
])
|
|
15
20
|
.optional(),
|
|
16
21
|
identityLinks: z.record(z.string(), z.array(z.string())).optional(),
|
|
17
22
|
resetTriggers: z.array(z.string()).optional(),
|
|
Binary file
|