{"bin":{"openclaw":"openclaw.mjs"},"bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"9ea8c33efae33ec9af5bbd81f1f6abab9772f95c","tarball":"https://registry.npmjs.org/openclaw/-/openclaw-2026.8.1.tgz","fileCount":11104,"integrity":"sha512-bSaFeaDFnQH/bU1vgKMac6eHkHHPHG0C/uwduXGI3eIS3lyiYSwmDU5ehhBUUhlPeV85tL5/KVwmoH48nX1tWw==","signatures":[{"sig":"MEUCIFY6f6gmpbE8enIjzXO0pMRKBz89l/D4qnzNNuIAI5WWAiEAmpsphRM6YxvXqF4vNQlTt3wTjWC9VAJn+zMmDtekO0g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFqdRBKLB9evi6JK2V2okRozWU7aYd5hOYzfPoB9NWvxAiEAlbRJPbrmlNJQN53QZJog8PhldMUmuUdp+mDqOUcg53o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw@2026.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":204830298},"main":"dist/index.js","name":"openclaw","type":"module","_from":"file:preflight-tarball/openclaw-2026.8.1.tgz","types":"./dist/index.d.ts","author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"engines":{"node":">=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk/llm":{"default":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/setup":{"types":"./dist/plugin-sdk/setup.d.ts","default":"./dist/plugin-sdk/setup.js"},"./plugin-sdk/types":{"default":"./dist/plugin-sdk/types.js"},"./plugin-sdk/health":{"types":"./dist/plugin-sdk/health.d.ts","default":"./dist/plugin-sdk/health.js"},"./plugin-sdk/speech":{"default":"./dist/plugin-sdk/speech.js"},"./plugin-sdk/archive":{"types":"./dist/plugin-sdk/archive.d.ts","default":"./dist/plugin-sdk/archive.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/routing":{"types":"./dist/plugin-sdk/routing.d.ts","default":"./dist/plugin-sdk/routing.js"},"./plugin-sdk/runtime":{"types":"./dist/plugin-sdk/runtime.d.ts","default":"./dist/plugin-sdk/runtime.js"},"./plugin-sdk/sandbox":{"default":"./dist/plugin-sdk/sandbox.js"},"./plugin-sdk/cli-argv":{"types":"./dist/plugin-sdk/cli-argv.d.ts","default":"./dist/plugin-sdk/cli-argv.js"},"./plugin-sdk/file-lock":{"default":"./dist/plugin-sdk/file-lock.js"},"./plugin-sdk/migration":{"default":"./dist/plugin-sdk/migration.js"},"./plugin-sdk/node-host":{"default":"./dist/plugin-sdk/node-host.js"},"./plugin-sdk/root-walk":{"types":"./dist/plugin-sdk/root-walk.d.ts","default":"./dist/plugin-sdk/root-walk.js"},"./plugin-sdk/temp-path":{"types":"./dist/plugin-sdk/temp-path.d.ts","default":"./dist/plugin-sdk/temp-path.js"},"./plugin-sdk/tool-send":{"types":"./dist/plugin-sdk/tool-send.d.ts","default":"./dist/plugin-sdk/tool-send.js"},"./plugin-sdk/web-media":{"types":"./dist/plugin-sdk/web-media.d.ts","default":"./dist/plugin-sdk/web-media.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/agent-core":{"default":"./dist/plugin-sdk/agent-core.js"},"./plugin-sdk/allow-from":{"types":"./dist/plugin-sdk/allow-from.d.ts","default":"./dist/plugin-sdk/allow-from.js"},"./plugin-sdk/json-store":{"types":"./dist/plugin-sdk/json-store.d.ts","default":"./dist/plugin-sdk/json-store.js"},"./plugin-sdk/media-mime":{"types":"./dist/plugin-sdk/media-mime.d.ts","default":"./dist/plugin-sdk/media-mime.js"},"./plugin-sdk/acp-runtime":{"default":"./dist/plugin-sdk/acp-runtime.js"},"./plugin-sdk/browser-cdp":{"default":"./dist/plugin-sdk/browser-cdp.js"},"./plugin-sdk/cli-backend":{"default":"./dist/plugin-sdk/cli-backend.js"},"./plugin-sdk/cli-runtime":{"default":"./dist/plugin-sdk/cli-runtime.js"},"./plugin-sdk/media-store":{"types":"./dist/plugin-sdk/media-store.d.ts","default":"./dist/plugin-sdk/media-store.js"},"./plugin-sdk/request-url":{"default":"./dist/plugin-sdk/request-url.js"},"./plugin-sdk/run-command":{"types":"./dist/plugin-sdk/run-command.d.ts","default":"./dist/plugin-sdk/run-command.js"},"./plugin-sdk/runtime-env":{"types":"./dist/plugin-sdk/runtime-env.d.ts","default":"./dist/plugin-sdk/runtime-env.js"},"./plugin-sdk/secret-file":{"types":"./dist/plugin-sdk/secret-file.d.ts","default":"./dist/plugin-sdk/secret-file.js"},"./plugin-sdk/setup-tools":{"types":"./dist/plugin-sdk/setup-tools.d.ts","default":"./dist/plugin-sdk/setup-tools.js"},"./plugin-sdk/speech-core":{"default":"./dist/plugin-sdk/speech-core.js"},"./plugin-sdk/ssrf-policy":{"types":"./dist/plugin-sdk/ssrf-policy.d.ts","default":"./dist/plugin-sdk/ssrf-policy.js"},"./plugin-sdk/state-paths":{"types":"./dist/plugin-sdk/state-paths.d.ts","default":"./dist/plugin-sdk/state-paths.js"},"./plugin-sdk/tool-plugin":{"types":"./dist/plugin-sdk/tool-plugin.d.ts","default":"./dist/plugin-sdk/tool-plugin.js"},"./plugin-sdk/transcripts":{"default":"./dist/plugin-sdk/transcripts.js"},"./plugin-sdk/tts-runtime":{"default":"./dist/plugin-sdk/tts-runtime.js"},"./plugin-sdk/widget-html":{"types":"./dist/plugin-sdk/widget-html.d.ts","default":"./dist/plugin-sdk/widget-html.js"},"./plugin-sdk/account-core":{"types":"./dist/plugin-sdk/account-core.d.ts","default":"./dist/plugin-sdk/account-core.js"},"./plugin-sdk/channel-core":{"types":"./dist/plugin-sdk/channel-core.d.ts","default":"./dist/plugin-sdk/channel-core.js"},"./plugin-sdk/command-auth":{"types":"./dist/plugin-sdk/command-auth.d.ts","default":"./dist/plugin-sdk/command-auth.js"},"./plugin-sdk/computer-use":{"types":"./dist/plugin-sdk/computer-use.d.ts","default":"./dist/plugin-sdk/computer-use.js"},"./plugin-sdk/hook-runtime":{"types":"./dist/plugin-sdk/hook-runtime.d.ts","default":"./dist/plugin-sdk/hook-runtime.js"},"./plugin-sdk/host-runtime":{"default":"./dist/plugin-sdk/host-runtime.js"},"./plugin-sdk/lazy-runtime":{"types":"./dist/plugin-sdk/lazy-runtime.d.ts","default":"./dist/plugin-sdk/lazy-runtime.js"},"./plugin-sdk/logging-core":{"types":"./dist/plugin-sdk/logging-core.d.ts","default":"./dist/plugin-sdk/logging-core.js"},"./plugin-sdk/plugin-entry":{"types":"./dist/plugin-sdk/plugin-entry.d.ts","default":"./dist/plugin-sdk/plugin-entry.js"},"./plugin-sdk/poll-runtime":{"default":"./dist/plugin-sdk/poll-runtime.js"},"./plugin-sdk/secret-input":{"types":"./dist/plugin-sdk/secret-input.d.ts","default":"./dist/plugin-sdk/secret-input.js"},"./plugin-sdk/ssrf-runtime":{"types":"./dist/plugin-sdk/ssrf-runtime.d.ts","default":"./dist/plugin-sdk/ssrf-runtime.js"},"./plugin-sdk/time-runtime":{"default":"./dist/plugin-sdk/time-runtime.js"},"./plugin-sdk/tool-payload":{"default":"./dist/plugin-sdk/tool-payload.js"},"./plugin-sdk/tool-results":{"types":"./dist/plugin-sdk/tool-results.d.ts","default":"./dist/plugin-sdk/tool-results.js"},"./plugin-sdk/access-groups":{"default":"./dist/plugin-sdk/access-groups.js"},"./plugin-sdk/agent-harness":{"types":"./dist/plugin-sdk/agent-harness.d.ts","default":"./dist/plugin-sdk/agent-harness.js"},"./plugin-sdk/agent-runtime":{"types":"./dist/plugin-sdk/agent-runtime.d.ts","default":"./dist/plugin-sdk/agent-runtime.js"},"./plugin-sdk/boolean-param":{"types":"./dist/plugin-sdk/boolean-param.d.ts","default":"./dist/plugin-sdk/boolean-param.js"},"./plugin-sdk/channel-route":{"default":"./dist/plugin-sdk/channel-route.js"},"./plugin-sdk/channel-setup":{"types":"./dist/plugin-sdk/channel-setup.d.ts","default":"./dist/plugin-sdk/channel-setup.js"},"./plugin-sdk/error-runtime":{"types":"./dist/plugin-sdk/error-runtime.d.ts","default":"./dist/plugin-sdk/error-runtime.js"},"./plugin-sdk/fetch-runtime":{"default":"./dist/plugin-sdk/fetch-runtime.js"},"./plugin-sdk/infra-runtime":{"types":"./dist/plugin-sdk/infra-runtime.d.ts","default":"./dist/plugin-sdk/infra-runtime.js"},"./plugin-sdk/media-runtime":{"types":"./dist/plugin-sdk/media-runtime.d.ts","default":"./dist/plugin-sdk/media-runtime.js"},"./plugin-sdk/param-readers":{"types":"./dist/plugin-sdk/param-readers.d.ts","default":"./dist/plugin-sdk/param-readers.js"},"./plugin-sdk/provider-auth":{"types":"./dist/plugin-sdk/provider-auth.d.ts","default":"./dist/plugin-sdk/provider-auth.js"},"./plugin-sdk/provider-http":{"default":"./dist/plugin-sdk/provider-http.js"},"./plugin-sdk/proxy-capture":{"types":"./dist/plugin-sdk/proxy-capture.d.ts","default":"./dist/plugin-sdk/proxy-capture.js"},"./plugin-sdk/reply-history":{"types":"./dist/plugin-sdk/reply-history.d.ts","default":"./dist/plugin-sdk/reply-history.js"},"./plugin-sdk/reply-payload":{"types":"./dist/plugin-sdk/reply-payload.d.ts","default":"./dist/plugin-sdk/reply-payload.js"},"./plugin-sdk/reply-runtime":{"types":"./dist/plugin-sdk/reply-runtime.d.ts","default":"./dist/plugin-sdk/reply-runtime.js"},"./plugin-sdk/retry-runtime":{"default":"./dist/plugin-sdk/retry-runtime.js"},"./plugin-sdk/runtime-fetch":{"default":"./dist/plugin-sdk/runtime-fetch.js"},"./plugin-sdk/runtime-store":{"types":"./dist/plugin-sdk/runtime-store.d.ts","default":"./dist/plugin-sdk/runtime-store.js"},"./plugin-sdk/setup-runtime":{"types":"./dist/plugin-sdk/setup-runtime.d.ts","default":"./dist/plugin-sdk/setup-runtime.js"},"./plugin-sdk/text-chunking":{"types":"./dist/plugin-sdk/text-chunking.d.ts","default":"./dist/plugin-sdk/text-chunking.js"},"./plugin-sdk/windows-spawn":{"default":"./dist/plugin-sdk/windows-spawn.js"},"./plugin-sdk/agent-sessions":{"default":"./dist/plugin-sdk/agent-sessions.js"},"./plugin-sdk/browser-config":{"default":"./dist/plugin-sdk/browser-config.js"},"./plugin-sdk/channel-policy":{"types":"./dist/plugin-sdk/channel-policy.d.ts","default":"./dist/plugin-sdk/channel-policy.js"},"./plugin-sdk/channel-status":{"types":"./dist/plugin-sdk/channel-status.d.ts","default":"./dist/plugin-sdk/channel-status.js"},"./plugin-sdk/command-status":{"types":"./dist/plugin-sdk/command-status.d.ts","default":"./dist/plugin-sdk/command-status.js"},"./plugin-sdk/config-runtime":{"types":"./dist/plugin-sdk/config-runtime.d.ts","default":"./dist/plugin-sdk/config-runtime.js"},"./plugin-sdk/dedupe-runtime":{"types":"./dist/plugin-sdk/dedupe-runtime.d.ts","default":"./dist/plugin-sdk/dedupe-runtime.js"},"./plugin-sdk/expect-runtime":{"default":"./dist/plugin-sdk/expect-runtime.js"},"./plugin-sdk/number-runtime":{"default":"./dist/plugin-sdk/number-runtime.js"},"./plugin-sdk/outbound-media":{"default":"./dist/plugin-sdk/outbound-media.js"},"./plugin-sdk/plugin-runtime":{"types":"./dist/plugin-sdk/plugin-runtime.d.ts","default":"./dist/plugin-sdk/plugin-runtime.js"},"./plugin-sdk/provider-entry":{"default":"./dist/plugin-sdk/provider-entry.js"},"./plugin-sdk/provider-setup":{"default":"./dist/plugin-sdk/provider-setup.js"},"./plugin-sdk/provider-tools":{"default":"./dist/plugin-sdk/provider-tools.js"},"./plugin-sdk/provider-usage":{"default":"./dist/plugin-sdk/provider-usage.js"},"./plugin-sdk/realtime-voice":{"default":"./dist/plugin-sdk/realtime-voice.js"},"./plugin-sdk/reply-chunking":{"types":"./dist/plugin-sdk/reply-chunking.d.ts","default":"./dist/plugin-sdk/reply-chunking.js"},"./plugin-sdk/runtime-doctor":{"default":"./dist/plugin-sdk/runtime-doctor.js"},"./plugin-sdk/sqlite-runtime":{"default":"./dist/plugin-sdk/sqlite-runtime.js"},"./plugin-sdk/status-helpers":{"types":"./dist/plugin-sdk/status-helpers.d.ts","default":"./dist/plugin-sdk/status-helpers.js"},"./plugin-sdk/account-helpers":{"types":"./dist/plugin-sdk/account-helpers.d.ts","default":"./dist/plugin-sdk/account-helpers.js"},"./plugin-sdk/channel-actions":{"types":"./dist/plugin-sdk/channel-actions.d.ts","default":"./dist/plugin-sdk/channel-actions.js"},"./plugin-sdk/channel-inbound":{"types":"./dist/plugin-sdk/channel-inbound.d.ts","default":"./dist/plugin-sdk/channel-inbound.js"},"./plugin-sdk/channel-message":{"types":"./dist/plugin-sdk/channel-message.d.ts","default":"./dist/plugin-sdk/channel-message.js"},"./plugin-sdk/channel-pairing":{"types":"./dist/plugin-sdk/channel-pairing.d.ts","default":"./dist/plugin-sdk/channel-pairing.js"},"./plugin-sdk/channel-targets":{"default":"./dist/plugin-sdk/channel-targets.js"},"./plugin-sdk/command-surface":{"default":"./dist/plugin-sdk/command-surface.js"},"./plugin-sdk/config-mutation":{"types":"./dist/plugin-sdk/config-mutation.d.ts","default":"./dist/plugin-sdk/config-mutation.js"},"./plugin-sdk/gateway-runtime":{"types":"./dist/plugin-sdk/gateway-runtime.d.ts","default":"./dist/plugin-sdk/gateway-runtime.js"},"./plugin-sdk/meeting-runtime":{"types":"./dist/plugin-sdk/meeting-runtime.d.ts","default":"./dist/plugin-sdk/meeting-runtime.js"},"./plugin-sdk/model-ref-parse":{"default":"./dist/plugin-sdk/model-ref-parse.js"},"./plugin-sdk/process-runtime":{"default":"./dist/plugin-sdk/process-runtime.js"},"./plugin-sdk/provider-stream":{"default":"./dist/plugin-sdk/provider-stream.js"},"./plugin-sdk/reply-reference":{"default":"./dist/plugin-sdk/reply-reference.js"},"./plugin-sdk/session-catalog":{"types":"./dist/plugin-sdk/session-catalog.d.ts","default":"./dist/plugin-sdk/session-catalog.js"},"./plugin-sdk/speech-settings":{"types":"./dist/plugin-sdk/speech-settings.d.ts","default":"./dist/plugin-sdk/speech-settings.js"},"./plugin-sdk/ssrf-dispatcher":{"default":"./dist/plugin-sdk/ssrf-dispatcher.js"},"./plugin-sdk/webhook-ingress":{"types":"./dist/plugin-sdk/webhook-ingress.d.ts","default":"./dist/plugin-sdk/webhook-ingress.js"},"./plugin-sdk/webhook-targets":{"default":"./dist/plugin-sdk/webhook-targets.js"},"./plugin-sdk/approval-runtime":{"types":"./dist/plugin-sdk/approval-runtime.d.ts","default":"./dist/plugin-sdk/approval-runtime.js"},"./plugin-sdk/channel-contract":{"types":"./dist/plugin-sdk/channel-contract.d.ts","default":"./dist/plugin-sdk/channel-contract.js"},"./plugin-sdk/channel-feedback":{"types":"./dist/plugin-sdk/channel-feedback.d.ts","default":"./dist/plugin-sdk/channel-feedback.js"},"./plugin-sdk/channel-outbound":{"types":"./dist/plugin-sdk/channel-outbound.d.ts","default":"./dist/plugin-sdk/channel-outbound.js"},"./plugin-sdk/chat-channel-ids":{"default":"./dist/plugin-sdk/chat-channel-ids.js"},"./plugin-sdk/config-contracts":{"types":"./dist/plugin-sdk/config-contracts.d.ts","default":"./dist/plugin-sdk/config-contracts.js"},"./plugin-sdk/device-bootstrap":{"types":"./dist/plugin-sdk/device-bootstrap.d.ts","default":"./dist/plugin-sdk/device-bootstrap.js"},"./plugin-sdk/diagnostic-flags":{"types":"./dist/plugin-sdk/diagnostic-flags.d.ts","default":"./dist/plugin-sdk/diagnostic-flags.js"},"./plugin-sdk/extension-shared":{"types":"./dist/plugin-sdk/extension-shared.d.ts","default":"./dist/plugin-sdk/extension-shared.js"},"./plugin-sdk/global-singleton":{"default":"./dist/plugin-sdk/global-singleton.js"},"./plugin-sdk/group-activation":{"default":"./dist/plugin-sdk/group-activation.js"},"./plugin-sdk/image-generation":{"default":"./dist/plugin-sdk/image-generation.js"},"./plugin-sdk/inbound-envelope":{"types":"./dist/plugin-sdk/inbound-envelope.d.ts","default":"./dist/plugin-sdk/inbound-envelope.js"},"./plugin-sdk/memory-host-core":{"types":"./dist/plugin-sdk/memory-host-core.d.ts","default":"./dist/plugin-sdk/memory-host-core.js"},"./plugin-sdk/music-generation":{"default":"./dist/plugin-sdk/music-generation.js"},"./plugin-sdk/provider-onboard":{"default":"./dist/plugin-sdk/provider-onboard.js"},"./plugin-sdk/security-runtime":{"types":"./dist/plugin-sdk/security-runtime.d.ts","default":"./dist/plugin-sdk/security-runtime.js"},"./plugin-sdk/telegram-account":{"types":"./dist/plugin-sdk/telegram-account.d.ts","default":"./dist/plugin-sdk/telegram-account.js"},"./plugin-sdk/video-generation":{"default":"./dist/plugin-sdk/video-generation.js"},"./plugin-sdk/channel-dm-policy":{"types":"./dist/plugin-sdk/channel-dm-policy.d.ts","default":"./dist/plugin-sdk/channel-dm-policy.js"},"./plugin-sdk/channel-lifecycle":{"types":"./dist/plugin-sdk/channel-lifecycle.d.ts","default":"./dist/plugin-sdk/channel-lifecycle.js"},"./plugin-sdk/command-detection":{"types":"./dist/plugin-sdk/command-detection.d.ts","default":"./dist/plugin-sdk/command-detection.js"},"./plugin-sdk/directory-runtime":{"types":"./dist/plugin-sdk/directory-runtime.d.ts","default":"./dist/plugin-sdk/directory-runtime.js"},"./plugin-sdk/heartbeat-runtime":{"default":"./dist/plugin-sdk/heartbeat-runtime.js"},"./plugin-sdk/keyed-async-queue":{"default":"./dist/plugin-sdk/keyed-async-queue.js"},"./plugin-sdk/media-local-roots":{"types":"./dist/plugin-sdk/media-local-roots.d.ts","default":"./dist/plugin-sdk/media-local-roots.js"},"./plugin-sdk/migration-runtime":{"default":"./dist/plugin-sdk/migration-runtime.js"},"./plugin-sdk/persistent-dedupe":{"types":"./dist/plugin-sdk/persistent-dedupe.d.ts","default":"./dist/plugin-sdk/persistent-dedupe.js"},"./plugin-sdk/provider-env-vars":{"default":"./dist/plugin-sdk/provider-env-vars.js"},"./plugin-sdk/qa-runner-runtime":{"default":"./dist/plugin-sdk/qa-runner-runtime.js"},"./plugin-sdk/account-resolution":{"types":"./dist/plugin-sdk/account-resolution.d.ts","default":"./dist/plugin-sdk/account-resolution.js"},"./plugin-sdk/async-lock-runtime":{"default":"./dist/plugin-sdk/async-lock-runtime.js"},"./plugin-sdk/collection-runtime":{"types":"./dist/plugin-sdk/collection-runtime.d.ts","default":"./dist/plugin-sdk/collection-runtime.js"},"./plugin-sdk/cron-store-runtime":{"default":"./dist/plugin-sdk/cron-store-runtime.js"},"./plugin-sdk/diagnostic-runtime":{"types":"./dist/plugin-sdk/diagnostic-runtime.d.ts","default":"./dist/plugin-sdk/diagnostic-runtime.js"},"./plugin-sdk/document-extractor":{"default":"./dist/plugin-sdk/document-extractor.js"},"./plugin-sdk/memory-host-events":{"default":"./dist/plugin-sdk/memory-host-events.js"},"./plugin-sdk/memory-host-search":{"default":"./dist/plugin-sdk/memory-host-search.js"},"./plugin-sdk/provider-web-fetch":{"default":"./dist/plugin-sdk/provider-web-fetch.js"},"./plugin-sdk/secret-ref-runtime":{"types":"./dist/plugin-sdk/secret-ref-runtime.d.ts","default":"./dist/plugin-sdk/secret-ref-runtime.js"},"./plugin-sdk/session-discussion":{"types":"./dist/plugin-sdk/session-discussion.d.ts","default":"./dist/plugin-sdk/session-discussion.js"},"./plugin-sdk/session-visibility":{"default":"./dist/plugin-sdk/session-visibility.js"},"./plugin-sdk/acp-binding-runtime":{"default":"./dist/plugin-sdk/acp-binding-runtime.js"},"./plugin-sdk/acp-runtime-backend":{"default":"./dist/plugin-sdk/acp-runtime-backend.js"},"./plugin-sdk/agent-media-payload":{"types":"./dist/plugin-sdk/agent-media-payload.d.ts","default":"./dist/plugin-sdk/agent-media-payload.js"},"./plugin-sdk/agent-scope-runtime":{"types":"./dist/plugin-sdk/agent-scope-runtime.d.ts","default":"./dist/plugin-sdk/agent-scope-runtime.js"},"./plugin-sdk/channel-send-result":{"types":"./dist/plugin-sdk/channel-send-result.d.ts","default":"./dist/plugin-sdk/channel-send-result.js"},"./plugin-sdk/command-auth-native":{"types":"./dist/plugin-sdk/command-auth-native.d.ts","default":"./dist/plugin-sdk/command-auth-native.js"},"./plugin-sdk/concurrency-runtime":{"default":"./dist/plugin-sdk/concurrency-runtime.js"},"./plugin-sdk/embedding-providers":{"default":"./dist/plugin-sdk/embedding-providers.js"},"./plugin-sdk/file-access-runtime":{"default":"./dist/plugin-sdk/file-access-runtime.js"},"./plugin-sdk/html-entity-runtime":{"default":"./dist/plugin-sdk/html-entity-runtime.js"},"./plugin-sdk/ingress-effect-once":{"types":"./dist/plugin-sdk/ingress-effect-once.d.ts","default":"./dist/plugin-sdk/ingress-effect-once.js"},"./plugin-sdk/interactive-runtime":{"types":"./dist/plugin-sdk/interactive-runtime.d.ts","default":"./dist/plugin-sdk/interactive-runtime.js"},"./plugin-sdk/json-schema-runtime":{"default":"./dist/plugin-sdk/json-schema-runtime.js"},"./plugin-sdk/media-understanding":{"types":"./dist/plugin-sdk/media-understanding.d.ts","default":"./dist/plugin-sdk/media-understanding.js"},"./plugin-sdk/provider-web-search":{"default":"./dist/plugin-sdk/provider-web-search.js"},"./plugin-sdk/secret-file-runtime":{"default":"./dist/plugin-sdk/secret-file-runtime.js"},"./plugin-sdk/secret-ref-readonly":{"types":"./dist/plugin-sdk/secret-ref-readonly.d.ts","default":"./dist/plugin-sdk/secret-ref-readonly.js"},"./plugin-sdk/session-key-runtime":{"default":"./dist/plugin-sdk/session-key-runtime.js"},"./plugin-sdk/session-store-paths":{"default":"./dist/plugin-sdk/session-store-paths.js"},"./plugin-sdk/talk-config-runtime":{"default":"./dist/plugin-sdk/talk-config-runtime.js"},"./plugin-sdk/claude-model-runtime":{"default":"./dist/plugin-sdk/claude-model-runtime.js"},"./plugin-sdk/codex-mcp-projection":{"default":"./dist/plugin-sdk/codex-mcp-projection.js"},"./plugin-sdk/conversation-runtime":{"types":"./dist/plugin-sdk/conversation-runtime.d.ts","default":"./dist/plugin-sdk/conversation-runtime.js"},"./plugin-sdk/json-unsafe-integers":{"default":"./dist/plugin-sdk/json-unsafe-integers.js"},"./plugin-sdk/memory-host-markdown":{"default":"./dist/plugin-sdk/memory-host-markdown.js"},"./plugin-sdk/plugin-state-runtime":{"default":"./dist/plugin-sdk/plugin-state-runtime.js"},"./plugin-sdk/provider-auth-result":{"default":"./dist/plugin-sdk/provider-auth-result.js"},"./plugin-sdk/provider-model-types":{"default":"./dist/plugin-sdk/provider-model-types.js"},"./plugin-sdk/runtime-group-policy":{"types":"./dist/plugin-sdk/runtime-group-policy.d.ts","default":"./dist/plugin-sdk/runtime-group-policy.js"},"./plugin-sdk/secret-input-runtime":{"types":"./dist/plugin-sdk/secret-input-runtime.d.ts","default":"./dist/plugin-sdk/secret-input-runtime.js"},"./plugin-sdk/system-event-runtime":{"default":"./dist/plugin-sdk/system-event-runtime.js"},"./plugin-sdk/text-utility-runtime":{"default":"./dist/plugin-sdk/text-utility-runtime.js"},"./plugin-sdk/agent-harness-runtime":{"types":"./dist/plugin-sdk/agent-harness-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-runtime.js"},"./plugin-sdk/allowlist-config-edit":{"types":"./dist/plugin-sdk/allowlist-config-edit.d.ts","default":"./dist/plugin-sdk/allowlist-config-edit.js"},"./plugin-sdk/approval-auth-runtime":{"types":"./dist/plugin-sdk/approval-auth-runtime.d.ts","default":"./dist/plugin-sdk/approval-auth-runtime.js"},"./plugin-sdk/channel-config-schema":{"types":"./dist/plugin-sdk/channel-config-schema.d.ts","default":"./dist/plugin-sdk/channel-config-schema.js"},"./plugin-sdk/channel-config-writes":{"default":"./dist/plugin-sdk/channel-config-writes.js"},"./plugin-sdk/channel-plugin-common":{"types":"./dist/plugin-sdk/channel-plugin-common.d.ts","default":"./dist/plugin-sdk/channel-plugin-common.js"},"./plugin-sdk/doctor-repair-runtime":{"default":"./dist/plugin-sdk/doctor-repair-runtime.js"},"./plugin-sdk/image-generation-core":{"default":"./dist/plugin-sdk/image-generation-core.js"},"./plugin-sdk/model-session-runtime":{"types":"./dist/plugin-sdk/model-session-runtime.d.ts","default":"./dist/plugin-sdk/model-session-runtime.js"},"./plugin-sdk/outbound-echo-runtime":{"default":"./dist/plugin-sdk/outbound-echo-runtime.js"},"./plugin-sdk/plugin-config-runtime":{"types":"./dist/plugin-sdk/plugin-config-runtime.d.ts","default":"./dist/plugin-sdk/plugin-config-runtime.js"},"./plugin-sdk/provider-auth-api-key":{"default":"./dist/plugin-sdk/provider-auth-api-key.js"},"./plugin-sdk/provider-auth-runtime":{"default":"./dist/plugin-sdk/provider-auth-runtime.js"},"./plugin-sdk/provider-model-shared":{"default":"./dist/plugin-sdk/provider-model-shared.js"},"./plugin-sdk/secret-provider-alias":{"default":"./dist/plugin-sdk/secret-provider-alias.js"},"./plugin-sdk/secure-random-runtime":{"default":"./dist/plugin-sdk/secure-random-runtime.js"},"./plugin-sdk/session-store-runtime":{"types":"./dist/plugin-sdk/session-store-runtime.d.ts","default":"./dist/plugin-sdk/session-store-runtime.js"},"./plugin-sdk/ssrf-runtime-internal":{"default":"./dist/plugin-sdk/ssrf-runtime-internal.js"},"./plugin-sdk/string-coerce-runtime":{"types":"./dist/plugin-sdk/string-coerce-runtime.d.ts","default":"./dist/plugin-sdk/string-coerce-runtime.js"},"./plugin-sdk/text-autolink-runtime":{"default":"./dist/plugin-sdk/text-autolink-runtime.js"},"./plugin-sdk/web-content-extractor":{"default":"./dist/plugin-sdk/web-content-extractor.js"},"./plugin-sdk/approval-reply-runtime":{"types":"./dist/plugin-sdk/approval-reply-runtime.d.ts","default":"./dist/plugin-sdk/approval-reply-runtime.js"},"./plugin-sdk/channel-config-helpers":{"types":"./dist/plugin-sdk/channel-config-helpers.d.ts","default":"./dist/plugin-sdk/channel-config-helpers.js"},"./plugin-sdk/channel-entry-contract":{"types":"./dist/plugin-sdk/channel-entry-contract.d.ts","default":"./dist/plugin-sdk/channel-entry-contract.js"},"./plugin-sdk/channel-mention-gating":{"default":"./dist/plugin-sdk/channel-mention-gating.js"},"./plugin-sdk/channel-reply-pipeline":{"types":"./dist/plugin-sdk/channel-reply-pipeline.d.ts","default":"./dist/plugin-sdk/channel-reply-pipeline.js"},"./plugin-sdk/command-status-runtime":{"default":"./dist/plugin-sdk/command-status-runtime.js"},"./plugin-sdk/dangerous-name-runtime":{"default":"./dist/plugin-sdk/dangerous-name-runtime.js"},"./plugin-sdk/delivery-queue-runtime":{"default":"./dist/plugin-sdk/delivery-queue-runtime.js"},"./plugin-sdk/direct-dm-guard-policy":{"default":"./dist/plugin-sdk/direct-dm-guard-policy.js"},"./plugin-sdk/exec-approvals-runtime":{"default":"./dist/plugin-sdk/exec-approvals-runtime.js"},"./plugin-sdk/gateway-config-runtime":{"default":"./dist/plugin-sdk/gateway-config-runtime.js"},"./plugin-sdk/gateway-method-runtime":{"types":"./dist/plugin-sdk/gateway-method-runtime.d.ts","default":"./dist/plugin-sdk/gateway-method-runtime.js"},"./plugin-sdk/inbound-event-delivery":{"types":"./dist/plugin-sdk/inbound-event-delivery.d.ts","default":"./dist/plugin-sdk/inbound-event-delivery.js"},"./plugin-sdk/inbound-reply-dispatch":{"types":"./dist/plugin-sdk/inbound-reply-dispatch.d.ts","default":"./dist/plugin-sdk/inbound-reply-dispatch.js"},"./plugin-sdk/markdown-table-runtime":{"default":"./dist/plugin-sdk/markdown-table-runtime.js"},"./plugin-sdk/node-selection-runtime":{"default":"./dist/plugin-sdk/node-selection-runtime.js"},"./plugin-sdk/plugin-command-runtime":{"types":"./dist/plugin-sdk/plugin-command-runtime.d.ts","default":"./dist/plugin-sdk/plugin-command-runtime.js"},"./plugin-sdk/provider-binary-stream":{"types":"./dist/plugin-sdk/provider-binary-stream.d.ts","default":"./dist/plugin-sdk/provider-binary-stream.js"},"./plugin-sdk/provider-oauth-runtime":{"default":"./dist/plugin-sdk/provider-oauth-runtime.js"},"./plugin-sdk/provider-stream-family":{"default":"./dist/plugin-sdk/provider-stream-family.js"},"./plugin-sdk/provider-stream-shared":{"default":"./dist/plugin-sdk/provider-stream-shared.js"},"./plugin-sdk/realtime-transcription":{"default":"./dist/plugin-sdk/realtime-transcription.js"},"./plugin-sdk/reply-dispatch-runtime":{"types":"./dist/plugin-sdk/reply-dispatch-runtime.d.ts","default":"./dist/plugin-sdk/reply-dispatch-runtime.js"},"./plugin-sdk/response-limit-runtime":{"default":"./dist/plugin-sdk/response-limit-runtime.js"},"./plugin-sdk/session-transcript-hit":{"default":"./dist/plugin-sdk/session-transcript-hit.js"},"./plugin-sdk/skill-commands-runtime":{"types":"./dist/plugin-sdk/skill-commands-runtime.d.ts","default":"./dist/plugin-sdk/skill-commands-runtime.js"},"./plugin-sdk/webhook-request-guards":{"types":"./dist/plugin-sdk/webhook-request-guards.d.ts","default":"./dist/plugin-sdk/webhook-request-guards.js"},"./plugin-sdk/approval-client-runtime":{"types":"./dist/plugin-sdk/approval-client-runtime.d.ts","default":"./dist/plugin-sdk/approval-client-runtime.js"},"./plugin-sdk/approval-native-runtime":{"types":"./dist/plugin-sdk/approval-native-runtime.d.ts","default":"./dist/plugin-sdk/approval-native-runtime.js"},"./plugin-sdk/channel-config-ui-hints":{"default":"./dist/plugin-sdk/channel-config-ui-hints.js"},"./plugin-sdk/channel-ingress-runtime":{"types":"./dist/plugin-sdk/channel-ingress-runtime.d.ts","default":"./dist/plugin-sdk/channel-ingress-runtime.js"},"./plugin-sdk/channel-runtime-context":{"types":"./dist/plugin-sdk/channel-runtime-context.d.ts","default":"./dist/plugin-sdk/channel-runtime-context.js"},"./plugin-sdk/memory-core-host-secret":{"default":"./dist/plugin-sdk/memory-core-host-secret.js"},"./plugin-sdk/memory-core-host-status":{"default":"./dist/plugin-sdk/memory-core-host-status.js"},"./plugin-sdk/models-provider-runtime":{"types":"./dist/plugin-sdk/models-provider-runtime.d.ts","default":"./dist/plugin-sdk/models-provider-runtime.js"},"./plugin-sdk/native-command-registry":{"types":"./dist/plugin-sdk/native-command-registry.d.ts","default":"./dist/plugin-sdk/native-command-registry.js"},"./plugin-sdk/pair-loop-guard-runtime":{"default":"./dist/plugin-sdk/pair-loop-guard-runtime.js"},"./plugin-sdk/provider-catalog-shared":{"default":"./dist/plugin-sdk/provider-catalog-shared.js"},"./plugin-sdk/runtime-config-snapshot":{"types":"./dist/plugin-sdk/runtime-config-snapshot.d.ts","default":"./dist/plugin-sdk/runtime-config-snapshot.js"},"./plugin-sdk/session-binding-runtime":{"default":"./dist/plugin-sdk/session-binding-runtime.js"},"./plugin-sdk/session-catalog-runtime":{"default":"./dist/plugin-sdk/session-catalog-runtime.js"},"./plugin-sdk/target-resolver-runtime":{"default":"./dist/plugin-sdk/target-resolver-runtime.js"},"./plugin-sdk/thread-bindings-runtime":{"default":"./dist/plugin-sdk/thread-bindings-runtime.js"},"./plugin-sdk/transport-ready-runtime":{"default":"./dist/plugin-sdk/transport-ready-runtime.js"},"./plugin-sdk/approval-gateway-runtime":{"types":"./dist/plugin-sdk/approval-gateway-runtime.d.ts","default":"./dist/plugin-sdk/approval-gateway-runtime.js"},"./plugin-sdk/approval-handler-runtime":{"types":"./dist/plugin-sdk/approval-handler-runtime.d.ts","default":"./dist/plugin-sdk/approval-handler-runtime.js"},"./plugin-sdk/channel-activity-runtime":{"default":"./dist/plugin-sdk/channel-activity-runtime.js"},"./plugin-sdk/channel-inbound-debounce":{"types":"./dist/plugin-sdk/channel-inbound-debounce.d.ts","default":"./dist/plugin-sdk/channel-inbound-debounce.js"},"./plugin-sdk/channel-streaming-config":{"types":"./dist/plugin-sdk/channel-streaming-config.d.ts","default":"./dist/plugin-sdk/channel-streaming-config.js"},"./plugin-sdk/directory-config-runtime":{"default":"./dist/plugin-sdk/directory-config-runtime.js"},"./plugin-sdk/image-generation-runtime":{"default":"./dist/plugin-sdk/image-generation-runtime.js"},"./plugin-sdk/media-generation-runtime":{"default":"./dist/plugin-sdk/media-generation-runtime.js"},"./plugin-sdk/provider-catalog-runtime":{"types":"./dist/plugin-sdk/provider-catalog-runtime.d.ts","default":"./dist/plugin-sdk/provider-catalog-runtime.js"},"./plugin-sdk/question-gateway-runtime":{"types":"./dist/plugin-sdk/question-gateway-runtime.d.ts","default":"./dist/plugin-sdk/question-gateway-runtime.js"},"./plugin-sdk/video-generation-runtime":{"default":"./dist/plugin-sdk/video-generation-runtime.js"},"./plugin-sdk/approval-delivery-runtime":{"types":"./dist/plugin-sdk/approval-delivery-runtime.d.ts","default":"./dist/plugin-sdk/approval-delivery-runtime.js"},"./plugin-sdk/approval-reaction-runtime":{"default":"./dist/plugin-sdk/approval-reaction-runtime.js"},"./plugin-sdk/channel-config-primitives":{"types":"./dist/plugin-sdk/channel-config-primitives.d.ts","default":"./dist/plugin-sdk/channel-config-primitives.js"},"./plugin-sdk/native-hook-relay-runtime":{"default":"./dist/plugin-sdk/native-hook-relay-runtime.js"},"./plugin-sdk/realtime-voice-activation":{"default":"./dist/plugin-sdk/realtime-voice-activation.js"},"./plugin-sdk/runtime-doctor-migrations":{"default":"./dist/plugin-sdk/runtime-doctor-migrations.js"},"./plugin-sdk/simple-completion-runtime":{"default":"./dist/plugin-sdk/simple-completion-runtime.js"},"./plugin-sdk/account-resolution-runtime":{"default":"./dist/plugin-sdk/account-resolution-runtime.js"},"./plugin-sdk/agent-harness-task-runtime":{"default":"./dist/plugin-sdk/agent-harness-task-runtime.js"},"./plugin-sdk/agent-harness-tool-runtime":{"default":"./dist/plugin-sdk/agent-harness-tool-runtime.js"},"./plugin-sdk/approval-reference-runtime":{"default":"./dist/plugin-sdk/approval-reference-runtime.js"},"./plugin-sdk/channel-join-intro-runtime":{"default":"./dist/plugin-sdk/channel-join-intro-runtime.js"},"./plugin-sdk/channel-secret-tts-runtime":{"default":"./dist/plugin-sdk/channel-secret-tts-runtime.js"},"./plugin-sdk/command-primitives-runtime":{"types":"./dist/plugin-sdk/command-primitives-runtime.d.ts","default":"./dist/plugin-sdk/command-primitives-runtime.js"},"./plugin-sdk/context-visibility-runtime":{"default":"./dist/plugin-sdk/context-visibility-runtime.js"},"./plugin-sdk/memory-core-host-engine-fs":{"default":"./dist/plugin-sdk/memory-core-host-engine-fs.js"},"./plugin-sdk/plugin-state-store-runtime":{"default":"./dist/plugin-sdk/plugin-state-store-runtime.js"},"./plugin-sdk/provider-selection-runtime":{"default":"./dist/plugin-sdk/provider-selection-runtime.js"},"./plugin-sdk/provider-transport-runtime":{"default":"./dist/plugin-sdk/provider-transport-runtime.js"},"./plugin-sdk/realtime-bootstrap-context":{"default":"./dist/plugin-sdk/realtime-bootstrap-context.js"},"./plugin-sdk/realtime-voice-audio-queue":{"default":"./dist/plugin-sdk/realtime-voice-audio-queue.js"},"./plugin-sdk/session-transcript-runtime":{"default":"./dist/plugin-sdk/session-transcript-runtime.js"},"./plugin-sdk/acp-binding-resolve-runtime":{"default":"./dist/plugin-sdk/acp-binding-resolve-runtime.js"},"./plugin-sdk/media-understanding-runtime":{"types":"./dist/plugin-sdk/media-understanding-runtime.d.ts","default":"./dist/plugin-sdk/media-understanding-runtime.js"},"./plugin-sdk/meeting-page-script-runtime":{"default":"./dist/plugin-sdk/meeting-page-script-runtime.js"},"./plugin-sdk/message-tool-delivery-hints":{"default":"./dist/plugin-sdk/message-tool-delivery-hints.js"},"./plugin-sdk/provider-web-fetch-contract":{"default":"./dist/plugin-sdk/provider-web-fetch-contract.js"},"./plugin-sdk/channel-secret-basic-runtime":{"types":"./dist/plugin-sdk/channel-secret-basic-runtime.d.ts","default":"./dist/plugin-sdk/channel-secret-basic-runtime.js"},"./plugin-sdk/channel-secret-owner-runtime":{"default":"./dist/plugin-sdk/channel-secret-owner-runtime.js"},"./plugin-sdk/conversation-binding-runtime":{"default":"./dist/plugin-sdk/conversation-binding-runtime.js"},"./plugin-sdk/memory-core-host-runtime-cli":{"default":"./dist/plugin-sdk/memory-core-host-runtime-cli.js"},"./plugin-sdk/provider-web-search-contract":{"default":"./dist/plugin-sdk/provider-web-search-contract.js"},"./plugin-sdk/string-normalization-runtime":{"default":"./dist/plugin-sdk/string-normalization-runtime.js"},"./plugin-sdk/bundled-channel-config-schema":{"default":"./dist/plugin-sdk/bundled-channel-config-schema.js"},"./plugin-sdk/inline-image-data-url-runtime":{"default":"./dist/plugin-sdk/inline-image-data-url-runtime.js"},"./plugin-sdk/memory-core-host-runtime-core":{"default":"./dist/plugin-sdk/memory-core-host-runtime-core.js"},"./plugin-sdk/native-command-config-runtime":{"types":"./dist/plugin-sdk/native-command-config-runtime.d.ts","default":"./dist/plugin-sdk/native-command-config-runtime.js"},"./plugin-sdk/provider-catalog-live-runtime":{"default":"./dist/plugin-sdk/provider-catalog-live-runtime.js"},"./plugin-sdk/memory-core-host-engine-schema":{"default":"./dist/plugin-sdk/memory-core-host-engine-schema.js"},"./plugin-sdk/memory-core-host-runtime-files":{"default":"./dist/plugin-sdk/memory-core-host-runtime-files.js"},"./plugin-sdk/memory-core-host-engine-curated":{"default":"./dist/plugin-sdk/memory-core-host-engine-curated.js"},"./plugin-sdk/memory-core-host-engine-storage":{"default":"./dist/plugin-sdk/memory-core-host-engine-storage.js"},"./plugin-sdk/thread-bindings-session-runtime":{"default":"./dist/plugin-sdk/thread-bindings-session-runtime.js"},"./plugin-sdk/approval-handler-adapter-runtime":{"types":"./dist/plugin-sdk/approval-handler-adapter-runtime.d.ts","default":"./dist/plugin-sdk/approval-handler-adapter-runtime.js"},"./plugin-sdk/codex-session-transcript-runtime":{"default":"./dist/plugin-sdk/codex-session-transcript-runtime.js"},"./plugin-sdk/memory-core-host-engine-sessions":{"default":"./dist/plugin-sdk/memory-core-host-engine-sessions.js"},"./plugin-sdk/provider-auth-login-flow-runtime":{"default":"./dist/plugin-sdk/provider-auth-login-flow-runtime.js"},"./plugin-sdk/agent-harness-exec-review-runtime":{"default":"./dist/plugin-sdk/agent-harness-exec-review-runtime.js"},"./plugin-sdk/memory-core-host-engine-embeddings":{"default":"./dist/plugin-sdk/memory-core-host-engine-embeddings.js"},"./plugin-sdk/memory-core-host-engine-foundation":{"types":"./dist/plugin-sdk/memory-core-host-engine-foundation.d.ts","default":"./dist/plugin-sdk/memory-core-host-engine-foundation.js"},"./plugin-sdk/memory-core-host-embedding-registry":{"default":"./dist/plugin-sdk/memory-core-host-embedding-registry.js"},"./plugin-sdk/provider-web-search-config-contract":{"default":"./dist/plugin-sdk/provider-web-search-config-contract.js"},"./plugin-sdk/conversation-binding-inspection-runtime":{"types":"./dist/plugin-sdk/conversation-binding-inspection-runtime.d.ts","default":"./dist/plugin-sdk/conversation-binding-inspection-runtime.js"}},"license":"MIT","scripts":{"dev":"node scripts/run-node.mjs","frv":"node scripts/frv.mjs","tui":"node scripts/run-node.mjs tui","lint":"node --import ./scripts/tsx.mjs scripts/run-lint.mts","test":"node --import ./scripts/tsx.mjs scripts/test-projects.mts","tsgo":"pnpm tsgo:core","build":"node --import ./scripts/tsx.mjs scripts/build-all.mts","check":"node --import ./scripts/tsx.mjs scripts/check.mts","start":"node openclaw.mjs","format":"oxfmt --write --threads=1","qa:e2e":"node --import ./scripts/tsx.mjs scripts/qa-e2e.ts","ui:dev":"node scripts/ui.js dev","verify":"node --import ./scripts/tsx.mjs scripts/verify.mts","ios:gen":"bash -c 'export PATH=\"$PATH:/opt/homebrew/bin:/usr/local/bin\"; ./scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate'","ios:run":"bash scripts/ios-run.sh","test:ui":"pnpm lint:ui:no-raw-window-open && node --import ./scripts/tsx.mjs scripts/ensure-playwright-chromium.mts && pnpm --dir ui test","tsgo:ui":"node scripts/run-tsgo.mjs -p tsconfig.ui.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/ui.tsbuildinfo","tui:dev":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_PROFILE=dev -- node scripts/run-node.mjs --dev tui","docs:dev":"cd docs && mint dev","ios:open":"bash -c 'export PATH=\"$PATH:/opt/homebrew/bin:/usr/local/bin\"; ./scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"node scripts/run-oxlint.mjs","lint:fix":"node scripts/run-oxlint.mjs --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"pnpm test:e2e:gateway && pnpm test:e2e:agent-plugin-gateway && pnpm test:ui:e2e","test:max":"node --import ./scripts/tsx.mjs scripts/test-projects-max.mts","tsgo:all":"pnpm tsgo:core:all && pnpm tsgo:extensions:all && pnpm tsgo:scripts && pnpm tsgo:test:root","ui:build":"node scripts/ui.js build","codex:mcp":"node --import ./scripts/tsx.mjs src/mcp/codex-supervision-tools-serve.ts","docs:list":"node scripts/docs-list.js","dup:check":"node scripts/check-duplicates.mjs","ios:build":"bash -c 'export PATH=\"$PATH:/opt/homebrew/bin:/usr/local/bin\"; ./scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-generic/platform=iOS Simulator}\" -configuration Debug build'","lint:apps":"pnpm lint:swift","lint:core":"node --import ./scripts/tsx.mjs scripts/run-oxlint-shards.mts --only=core","lint:docs":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc","proxy:run":"node scripts/run-node.mjs proxy run","qa:lab:ui":"pnpm openclaw qa ui","qa:lab:up":"node --import ./scripts/tsx.mjs scripts/qa-lab-up.ts","test:fast":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts","test:live":"node --import ./scripts/tsx.mjs scripts/test-live.mts","test:unit":"pnpm test:unit:fast && node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts","tsgo:core":"node scripts/run-tsgo.mjs -p tsconfig.core.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core.tsbuildinfo","tsgo:prod":"pnpm tsgo:core && pnpm tsgo:ui && pnpm tsgo:extensions","tsgo:test":"pnpm tsgo:core:test && pnpm tsgo:extensions:test && pnpm tsgo:test:root","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm lint:templates && pnpm docs:check-mdx && pnpm docs:check-i18n-glossary && pnpm docs:check-links && pnpm docs:check-config-examples","ci:timings":"node scripts/ci-run-timings.mjs --latest-main","clean:dist":"node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write --threads=1","ghsa:patch":"node --import ./scripts/tsx.mjs scripts/ghsa-patch.mts","lint:swift":"./scripts/lint-swift.sh","preinstall":"node scripts/preinstall-package-manager-warning.mjs","prepush:ci":"bash scripts/prepush-ci.sh","test:force":"node --import ./scripts/tsx.mjs scripts/test-force.ts","test:watch":"node --import ./scripts/tsx.mjs scripts/test-projects.mts --watch","ui:install":"node scripts/ui.js install","android:run":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:runPlayDebug","audit:seams":"node --import ./scripts/tsx.mjs scripts/audit-seams.mts","check:timed":"node --import ./scripts/tsx.mjs scripts/check-timed.mts","crabbox:run":"node dist/crabbox-wrapper.js run","dev:ui:mock":"node --import ./scripts/tsx.mjs scripts/control-ui-mock-dev.ts","format:diff":"oxfmt --write --threads=1 && git --no-pager diff","format:docs":"node --import ./scripts/tsx.mjs scripts/format-docs.mts","gateway:dev":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway","ios:version":"node --import ./scripts/tsx.mjs scripts/ios-version.ts --json","lint:kysely":"node --import ./scripts/tsx.mjs scripts/check-kysely-guardrails.mts","lint:ui:lit":"lit-analyzer \"ui/src/**/*.ts\" --quiet","mac:package":"bash scripts/package-mac-app.sh","mac:restart":"bash scripts/restart-mac.sh","postinstall":"node scripts/postinstall-bundled-plugins.mjs","proxy:start":"node scripts/run-node.mjs proxy start","test:serial":"node --import ./scripts/tsx.mjs scripts/test-projects-serial.mts","test:ui:e2e":"node --import ./scripts/tsx.mjs scripts/ensure-playwright-chromium.mts && node scripts/run-vitest.mjs run --config test/vitest/vitest.ui-e2e.config.ts --configLoader runner","ts-topology":"node --import ./scripts/tsx.mjs scripts/ts-topology.ts","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck :wear:ktlintCheck :wear-shared:ktlintCheck","android:test":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:testPlayDebugUnitTest :wear:testDebugUnitTest :wear-shared:testDebugUnitTest","build:docker":"pnpm plugins:assets:build && node --import ./scripts/tsx.mjs scripts/tsdown-build.mts && node --import ./scripts/tsx.mjs scripts/check-cli-bootstrap-imports.mts && node scripts/runtime-postbuild.mjs && node --import ./scripts/tsx.mjs scripts/build-stamp.mts && node --import ./scripts/tsx.mjs scripts/runtime-postbuild-stamp.mts && pnpm plugins:assets:copy && node --import ./scripts/tsx.mjs scripts/write-build-info.ts && node --import ./scripts/tsx.mjs scripts/write-cli-startup-metadata.ts","crabbox:stop":"node dist/crabbox-wrapper.js stop","docs:map:gen":"node scripts/docs-list.js --headings","format:check":"oxfmt --check","format:swift":"./scripts/format-swift.sh","lint:scripts":"pnpm lint:docker-e2e && pnpm lint:tmp:no-raw-http2-imports && node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.scripts.json scripts","lint:ui:i18n":"pnpm ui:i18n:verify","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import ./scripts/tsx.mjs scripts/sync-plugin-versions.ts","protocol:gen":"node --import ./scripts/tsx.mjs scripts/protocol-gen.ts","qa:lab:build":"vite build --config extensions/qa-lab/web/vite.config.ts","qa:lab:watch":"vite build --watch --config extensions/qa-lab/web/vite.config.ts","release:beta":"node --import ./scripts/tsx.mjs scripts/release-candidate-checklist.mts","release:prep":"node scripts/release-preflight.mjs --fix","test:bundled":"node scripts/run-vitest.mjs run --config test/vitest/vitest.bundled.config.ts","test:changed":"node --import ./scripts/tsx.mjs scripts/test-projects.mts --changed origin/main","test:gateway":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts","tsgo:profile":"node --import ./scripts/tsx.mjs scripts/profile-tsgo.mts","tsgo:scripts":"node scripts/run-tsgo.mjs -p tsconfig.scripts.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/scripts.tsbuildinfo","tsgo:test:ui":"node scripts/run-tsgo-core-test-shards.mjs ui","ui:i18n:sync":"node --import ./scripts/tsx.mjs scripts/control-ui-i18n.ts sync --write","build:package":"node --import ./scripts/tsx.mjs scripts/build-all.mts package","changed:lanes":"node scripts/changed-lanes.mjs","check:changed":"node scripts/check-changed.mjs","db:kysely:gen":"node --import ./scripts/tsx.mjs scripts/generate-kysely-types.mts","deadcode:full":"pnpm dlx --package knip@6.32.2 knip --config config/knip.config.ts --production --no-progress --reporter compact --no-config-hints --exclude duplicates && pnpm dlx --package knip@6.32.2 knip --config config/knip.all-exports.config.ts --no-progress --reporter compact --no-config-hints --exports --exclude duplicates","deadcode:knip":"pnpm dlx --package knip@6.32.2 knip --config config/knip.config.ts --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node --import ./scripts/tsx.mjs scripts/gateway-watch-tmux.mts gateway --force","lint:docs:fix":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc --fix","proxy:gateway":"node scripts/run-node.mjs proxy run -- node scripts/run-node.mjs gateway","qa:otel:smoke":"node --import ./scripts/tsx.mjs test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts","release:check":"pnpm build:package && pnpm release:generated:check && node --import ./scripts/tsx.mjs scripts/release-check.ts","test:channels":"node scripts/run-vitest.mjs run --config test/vitest/vitest.channels.config.ts","test:coverage":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage","test:macos:ci":"node --import ./scripts/tsx.mjs scripts/test-projects.mts test/scripts/ci-platform-checkout.test.ts test/scripts/macos-native-test-launch.test.ts src/daemon/launchd.test.ts src/daemon/runtime-paths.test.ts src/daemon/runtime-binary.test.ts src/gateway/worker-environments/workspace-rsync-path.test.ts src/infra/brew.test.ts src/infra/stable-node-path.test.ts src/process/supervisor/adapters/child.service-lifecycle.test.ts test/scripts/vitest-process-group.test.ts test/scripts/package-mac-app.test.ts test/scripts/restart-mac.test.ts test/scripts/mac-node-worker.test.ts test/scripts/verify-mac-node-worker-fs.test.ts test/scripts/package-mac-dist.test.ts test/scripts/create-dmg.test.ts test/scripts/codesign-mac-app.test.ts test/scripts/notarize-mac-artifact.test.ts test/scripts/mac-elevation-host.test.ts","tsgo:core:all":"pnpm tsgo:core && pnpm tsgo:ui && pnpm tsgo:core:test","tsgo:test:src":"node scripts/run-tsgo-core-test-shards.mjs src","ui:i18n:check":"node --import ./scripts/tsx.mjs scripts/control-ui-i18n.ts check","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat :wear:ktlintFormat :wear-shared:ktlintFormat","crabbox:warmup":"node dist/crabbox-wrapper.js warmup","deps:vuln:gate":"node --import ./scripts/tsx.mjs scripts/dependency-vulnerability-gate.mts","docs:check-mdx":"node scripts/check-docs-mdx.mjs docs README.md","dup:check:json":"node scripts/check-duplicates.mjs --json","lint:templates":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-templates.jsonc","lint:ui:styles":"stylelint --config config/stylelint.config.mjs \"ui/src/**/*.css\" \"ui/src/**/*.ts\" \"ui/public/themes/*.css\"","maturity:check":"node --import ./scripts/tsx.mjs scripts/qa/render-maturity-docs.ts --check","perf:web-fetch":"node --import ./scripts/tsx.mjs scripts/bench-web-fetch.ts","protocol:check":"pnpm protocol-registry:check && pnpm protocol:gen && pnpm protocol:check:swift && pnpm protocol:gen:kotlin && node --import ./scripts/tsx.mjs scripts/check-protocol-since.mts && git diff --exit-code -- apps/shared/OpenClawKit/Sources/OpenClawProtocol/GatewayModels.swift apps/android/app/src/main/java/ai/openclaw/app/gateway/GatewayProtocol.kt apps/android/app/src/main/java/ai/openclaw/app/protocol/OpenClawProtocolConstants.kt","proxy:coverage":"node scripts/run-node.mjs proxy coverage","qa:lab:up:fast":"node --import ./scripts/tsx.mjs scripts/qa-lab-up.ts --use-prebuilt-image --bind-ui-dist --skip-ui-build","test:contracts":"pnpm test:contracts:channels && pnpm test:contracts:plugins","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:extension":"node --import ./scripts/tsx.mjs scripts/test-extension.mts","test:sectriage":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts && node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --exclude src/process/exec.test.ts","test:unit:fast":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit-fast.config.ts","tsgo:core:test":"node scripts/run-tsgo-core-test-shards.mjs","tsgo:test:root":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.root.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-root.tsbuildinfo","ui:i18n:report":"node --import ./scripts/tsx.mjs scripts/control-ui-i18n-report.ts","ui:i18n:verify":"node --import ./scripts/tsx.mjs scripts/control-ui-i18n-verify.ts verify","android:install":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:installPlayDebug","android:release":"bash scripts/android-release.sh","android:version":"node --import ./scripts/tsx.mjs scripts/android-version.ts --json","check:workflows":"node --import ./scripts/tsx.mjs scripts/check-workflows.mts","ci:full-release":"node scripts/full-release-validation-at-sha.mjs","config:docs:gen":"node --import ./scripts/tsx.mjs scripts/generate-config-doc-baseline.ts --write","crabbox:hydrate":"node dist/crabbox-wrapper.js actions hydrate","db:kysely:check":"node --import ./scripts/tsx.mjs scripts/generate-kysely-types.mts --verify","deadcode:report":"pnpm deadcode:full && pnpm deadcode:exports","deps:pins:check":"node --import ./scripts/tsx.mjs scripts/check-dependency-pins.mts","docs:spellcheck":"bash scripts/docs-spellcheck.sh","ios:release:cut":"bash scripts/ios-release-cut.sh","ios:screenshots":"bash scripts/ios-screenshots.sh","lint:docker-e2e":"node --import ./scripts/tsx.mjs scripts/check-docker-e2e-boundaries.mts","lint:extensions":"node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.extensions.json extensions","maturity:render":"node --import ./scripts/tsx.mjs scripts/qa/render-maturity-docs.ts","release:prepare":"node --import ./scripts/tsx.mjs scripts/release-prepare.ts","release:version":"node --import ./scripts/tsx.mjs scripts/release-version.ts","test:docker:all":"node scripts/test-docker-all.mjs","test:extensions":"node --import ./scripts/tsx.mjs scripts/test-projects.mts extensions","test:live:cache":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 -- node --import ./scripts/tsx.mjs scripts/check-live-cache.ts","test:live:media":"node --import ./scripts/tsx.mjs test/e2e/qa-lab/media/hosted-media-provider-live.ts","test:windows:ci":"pnpm test:windows:ci:1 && pnpm test:windows:ci:2","tsgo:extensions":"node scripts/run-tsgo.mjs -p tsconfig.extensions.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions.tsbuildinfo","android:assemble":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:assemblePlayDebug :wear:assembleDebug :wear-shared:assembleDebug","apple:i18n:check":"node --import ./scripts/tsx.mjs scripts/apple-app-i18n.ts check","check:test-types":"pnpm tsgo:test","ci:git-owner:gen":"node scripts/generate-ci-git-owner.mts","ci:timings:refit":"node --import ./scripts/tsx.mjs scripts/ci-refit-test-timings.mts","ci:timings:trend":"node scripts/ci-run-timings.mjs --trend-hours 72 --compare-hours 12","deadcode:exports":"node --import ./scripts/tsx.mjs scripts/check-deadcode-exports.mts","docs:check-links":"node scripts/docs-link-audit.mjs","ios:filelist:gen":"node scripts/ios-write-swift-filelist.mjs","ios:release:plan":"bash scripts/ios-release-plan.sh","ios:version:sync":"node --import ./scripts/tsx.mjs scripts/ios-sync-versioning.ts --write","native:i18n:sync":"node --import ./scripts/tsx.mjs scripts/native-app-i18n.ts sync --write","plugin-sdk:usage":"node --max-old-space-size=8192 --import ./scripts/tsx.mjs scripts/analyze-plugin-sdk-usage.ts","proxy:install-ca":"node --import ./scripts/tsx.mjs scripts/proxy-install-ca.mts","test:auth:compat":"node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/server.auth.compat-baseline.test.ts src/gateway/client.test.ts src/gateway/reconnect-gating.test.ts && node scripts/run-vitest.mjs run packages/gateway-protocol/src/connect-error-details.test.ts","test:changed:max":"node --import ./scripts/tsx.mjs scripts/test-projects-max.mts --changed origin/main","test:e2e:gateway":"node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node --import ./scripts/tsx.mjs scripts/test-perf-budget.mts","test:perf:groups":"node --import ./scripts/tsx.mjs scripts/test-group-report.mts","test:sqlite:perf":"node --import ./scripts/tsx.mjs scripts/bench-sqlite-state.ts --profile default --output .artifacts/sqlite-perf/default.json","ui:i18n:baseline":"node --import ./scripts/tsx.mjs scripts/control-ui-i18n-verify.ts baseline","ci:timings:recent":"node scripts/ci-run-timings.mjs --recent 10","config:docs:check":"node --import ./scripts/tsx.mjs scripts/generate-config-doc-baseline.ts --check","config:schema:gen":"node --import ./scripts/tsx.mjs scripts/generate-base-config-schema.ts --write","format:docs:check":"node --import ./scripts/tsx.mjs scripts/format-docs.mts --check","gateway:dev:reset":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway --reset","gateway:watch:raw":"node scripts/watch-node.mjs gateway --force","ios:version:check":"node --import ./scripts/tsx.mjs scripts/ios-sync-versioning.ts --check","leak:embedded-run":"node --import ./scripts/tsx.mjs --expose-gc scripts/embedded-run-abort-leak.ts","native:i18n:check":"node --import ./scripts/tsx.mjs scripts/native-app-i18n.ts check","perf:kova:summary":"node --import ./scripts/tsx.mjs scripts/kova-ci-summary.mts","release:candidate":"node --import ./scripts/tsx.mjs scripts/release-candidate-checklist.mts","test:docker:rerun":"node --import ./scripts/tsx.mjs scripts/docker-e2e-rerun.mts","test:perf:imports":"node --import ./scripts/tsx.mjs scripts/test-projects-imports.mts","test:windows:ci:1":"node --import ./scripts/tsx.mjs scripts/test-projects.mts test/scripts/ci-platform-checkout.test.ts src/state/openclaw-state-ownership.test.ts src/snapshot/local-repository.windows.test.ts src/state/openclaw-database-paths.windows.test.ts src/node-host/invoke-system-run-allowlist.test.ts src/node-host/node-worker-transfer-client.test.ts packages/terminal-core/src/display-string.test.ts src/config/sessions/session-accessor.sqlite-archive.worker.test.ts src/commands/doctor-gateway-auth-token.windows.test.ts src/infra/state-migrations.audit-logs.windows.test.ts src/commands/backup-verify.test.ts src/commands/agents.commands.list.test.ts src/shared/runtime-import.test.ts src/shared/worker-bundle-archive.test.ts src/node-host/node-worker-bundle-installer.test.ts test/scripts/direct-run-entrypoints.test.ts test/scripts/format-generated-module.test.ts test/scripts/install-ps1.test.ts test/scripts/openclaw-cross-os-installer.windows.test.ts test/scripts/openclaw-cross-os-release-workflow.test.ts test/scripts/pnpm-runner.test.ts test/scripts/run-with-env.test.ts test/scripts/ui.test.ts test/scripts/vitest-process-group.test.ts src/agents/tools/media-tool-file-url.windows.test.ts extensions/memory-core/src/memory-extra-file-path.windows.test.ts src/daemon/schtasks.startup-fallback.test.ts src/plugin-sdk/node-host.test.ts test/e2e/qa-lab/runtime/package-openclaw-for-docker.e2e.test.ts extensions/lobster/src/lobster-runner.test.ts src/gateway/worker-environments/workspace-quiescence.windows.test.ts","test:windows:ci:2":"node --import ./scripts/tsx.mjs scripts/test-projects.mts src/infra/sqlite-snapshot.test.ts src/infra/ports.test.ts src/infra/advertised-lan-host.windows.test.ts src/infra/update-managed-service-handoff-command.test.ts src/infra/update-managed-service-handoff-lifecycle.test.ts src/infra/executable-path.test.ts src/infra/fs-safe-remove.test.ts src/infra/state-migrations.legacy-session-store.test.ts src/infra/windows-install-roots.test.ts src/infra/ssh-client.windows.test.ts src/infra/exec-allowlist-pattern.test.ts src/infra/process-env.test.ts src/infra/openclaw-cli-shim.windows.test.ts src/agents/sessions/windows-git-bash-path.test.ts test/scripts/npm-runner.test.ts test/scripts/ts-topology.test.ts src/test-utils/openclaw-test-state.test.ts src/utils.test.ts src/media/local-media-path.windows.test.ts src/media/web-media.file-url.windows.test.ts src/process/exec.windows.test.ts src/process/exec.windows.integration.test.ts src/agents/sessions/exec.real.test.ts src/process/windows-command.test.ts src/process/terminal-pty.test.ts src/process/supervisor/supervisor.anchored-shell.real.test.ts src/tui/tui.resolve-codex-bin.test.ts src/media-understanding/attachments.file-url.windows.test.ts src/cli/daemon-cli/status.print.test.ts src/cli/mcp-cli.path-case.windows.test.ts src/auto-reply/usage-bar/template.windows.test.ts src/auto-reply/reply.triggers.trigger-handling.stages-inbound-media-into-sandbox-workspace.test.ts src/agents/provider-local-service.env-case.test.ts src/agents/bash-tools.exec.script-preflight.test.ts src/agents/agent-tools.read.windows.test.ts src/agents/agent-tools.read.host-operations.test.ts src/agents/sandbox/fs-paths.test.ts src/agents/sessions/tools/render-utils.test.ts src/agents/sessions/tools/path-utils.test.ts extensions/msteams/src/media-helpers.test.ts extensions/msteams/src/messenger.test.ts extensions/mxc/test/mxc-backend.test.ts extensions/mxc/test/sandbox-policy-loader.test.ts","android:i18n:check":"node --import ./scripts/tsx.mjs scripts/android-app-i18n.ts check","build:ci-artifacts":"node --import ./scripts/tsx.mjs scripts/build-all.mts ciArtifacts","build:strict-smoke":"pnpm plugins:assets:build && node --import ./scripts/tsx.mjs scripts/tsdown-build.mts && node --import ./scripts/tsx.mjs scripts/check-cli-bootstrap-imports.mts && node scripts/runtime-postbuild.mjs && node --import ./scripts/tsx.mjs scripts/build-stamp.mts && node --import ./scripts/tsx.mjs scripts/runtime-postbuild-stamp.mts && node --import ./scripts/tsx.mjs scripts/check-plugin-sdk-exports.mts","canvas:a2ui:bundle":"node --import ./scripts/tsx.mjs scripts/bundle-a2ui.mts","check:architecture":"pnpm check:import-cycles && pnpm check:madge-import-cycles && pnpm check:deprecated-api-usage && pnpm check:wrapper-shadowing && pnpm check:deprecated-jsdoc && pnpm db:kysely:check && pnpm lint:kysely && pnpm check:database-first-legacy-stores","ci:git-owner:check":"node scripts/generate-ci-git-owner.mts --check","deps:patches:check":"node --import ./scripts/tsx.mjs scripts/check-package-patches.mts","dup:check:coverage":"node scripts/check-duplicates.mjs --coverage","ios:release:upload":"bash scripts/ios-release-upload.sh","lint:templates:fix":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-templates.jsonc --fix","native:i18n:verify":"node --import ./scripts/tsx.mjs scripts/native-app-i18n.ts verify","plugin-sdk:surface":"node --max-old-space-size=8192 --import ./scripts/tsx.mjs scripts/plugin-sdk-surface-report.mts","plugins:sync:check":"node --import ./scripts/tsx.mjs scripts/sync-plugin-versions.ts --check","protocol:gen:swift":"node --import ./scripts/tsx.mjs scripts/protocol-gen-swift.ts","release:beta-smoke":"node --import ./scripts/tsx.mjs scripts/release-beta-smoke.ts","test:e2e:openshell":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_E2E_OPENSHELL=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts extensions/openshell/src/backend.e2e.test.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node --import ./scripts/tsx.mjs scripts/test-hotspots.mts","test:startup:bench":"node --import ./scripts/tsx.mjs scripts/bench-cli-startup.ts","tool-display:check":"node --import ./scripts/tsx.mjs scripts/tool-display.ts --check","tool-display:write":"node --import ./scripts/tsx.mjs scripts/tool-display.ts --write","tsgo:test:packages":"node scripts/run-tsgo-core-test-shards.mjs packages","tui:pty:test:watch":"node --import ./scripts/tsx.mjs scripts/dev/tui-pty-test-watch.ts","ui:proof:workboard":"node --import ./scripts/tsx.mjs scripts/capture-workboard-ui-proof.mts","android:screenshots":"bash scripts/android-screenshots.sh","android:version:pin":"node --import ./scripts/tsx.mjs scripts/android-pin-version.ts","check:env-var-count":"node --import ./scripts/tsx.mjs scripts/check-env-var-count.mts","check:import-cycles":"node --import ./scripts/tsx.mjs scripts/check-import-cycles.ts","config:channels:gen":"node --import ./scripts/tsx.mjs scripts/generate-bundled-channel-config-metadata.ts --write","config:schema:check":"node --import ./scripts/tsx.mjs scripts/generate-base-config-schema.ts --check","deps:changes:report":"node --import ./scripts/tsx.mjs scripts/dependency-changes-report.mts","deps:npm-lock:check":"node scripts/generate-npm-package-lock.mjs --all","deps:root-ownership":"node --import ./scripts/tsx.mjs scripts/root-dependency-ownership-audit.mts","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","ios:release:archive":"bash scripts/ios-release-archive.sh","ios:release:prepare":"bash scripts/ios-release-prepare.sh","perf:source:summary":"node --import ./scripts/tsx.mjs scripts/openclaw-performance-source-summary.mts","plugin-sdk:api:diff":"node --max-old-space-size=8192 --import ./scripts/tsx.mjs scripts/plugin-sdk-api-diff.mts","plugins:assets:copy":"node --import ./scripts/tsx.mjs scripts/bundled-plugin-assets.mts --phase copy","protocol:gen:kotlin":"node --import ./scripts/tsx.mjs scripts/protocol-gen-kotlin.ts","qa:code-mode-models":"node --import ./scripts/tsx.mjs scripts/code-mode-model-matrix.ts","qa:prometheus:smoke":"node scripts/run-node.mjs qa suite --provider-mode mock-openai --scenario docker-prometheus-smoke --concurrency 1 --fast","release:verify-beta":"node --import ./scripts/tsx.mjs scripts/release-verify-beta.ts","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","test:docker:timings":"node --import ./scripts/tsx.mjs scripts/docker-e2e-timings.mts","test:startup:memory":"node --import ./scripts/tsx.mjs scripts/ensure-cli-startup-build.mts && node scripts/check-cli-startup-memory.mjs","tsgo:extensions:all":"node scripts/run-tsgo.mjs -b tsconfig.extensions.projects.json","ui:proof:where-chip":"node --import ./scripts/tsx.mjs scripts/capture-where-chip-auto-proof.mts","android:lint:android":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:lintPlayDebug :app:lintThirdPartyDebug :wear:lintDebug :wear-shared:lintDebug","android:version:sync":"node --import ./scripts/tsx.mjs scripts/android-sync-versioning.ts --write","build:plugin-sdk:dts":"node --import ./scripts/tsx.mjs scripts/write-plugin-sdk-entry-dts.ts","channels:catalog:gen":"node scripts/write-official-channel-catalog.mjs --write","codex-supervisor:mcp":"node --import ./scripts/tsx.mjs src/mcp/codex-supervision-tools-serve.ts","native:i18n:baseline":"node --import ./scripts/tsx.mjs scripts/native-app-i18n.ts baseline --write","plugins:assets:build":"node --import ./scripts/tsx.mjs scripts/bundled-plugin-assets.mts --phase build","plugins:assets:check":"node --import ./scripts/tsx.mjs scripts/bundled-plugin-assets.mts --phase build --check","prompt:snapshots:gen":"node --import ./scripts/tsx.mjs scripts/generate-prompt-snapshots.ts --write","protocol:check:swift":"node --import ./scripts/tsx.mjs scripts/protocol-gen-swift.ts --check","release:prep:version":"node scripts/release-preflight.mjs --fix --scope version","runtime-sidecars:gen":"node --import ./scripts/tsx.mjs scripts/generate-runtime-sidecar-paths-baseline.ts --write","test:build:singleton":"node --import ./scripts/tsx.mjs scripts/test-built-plugin-singleton.mts","test:docker:cron-cli":"bash scripts/e2e/cron-cli-docker.sh","test:docker:live:all":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_DOCKER_ALL_LIVE_MODE=only -- node scripts/test-docker-all.mjs","test:parallels:linux":"bash scripts/e2e/parallels-linux-smoke.sh","test:parallels:macos":"bash scripts/e2e/parallels-macos-smoke.sh","test:restart:gateway":"node --import ./scripts/tsx.mjs scripts/bench-gateway-restart.ts","test:startup:gateway":"node --import ./scripts/tsx.mjs scripts/bench-gateway-startup.ts","test:unit:fast:audit":"node --import ./scripts/tsx.mjs scripts/test-unit-fast-audit.mts","tsgo:extensions:test":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test.tsbuildinfo","tsgo:test:extensions":"pnpm tsgo:extensions:test","ui:boot-manifest:gen":"node --import ./scripts/tsx.mjs scripts/control-ui-boot-manifest.mts","android:version:check":"node --import ./scripts/tsx.mjs scripts/android-sync-versioning.ts --check","check:timed:all-types":"node --import ./scripts/tsx.mjs scripts/check-timed.mts --include-test-types","config:channels:check":"node --import ./scripts/tsx.mjs scripts/generate-bundled-channel-config-metadata.ts --check","deadcode:dependencies":"pnpm deadcode:full","deadcode:unused-files":"node --import ./scripts/tsx.mjs scripts/check-deadcode-unused-files.mts","mobile:release:record":"node --import ./scripts/tsx.mjs scripts/mobile-release-ref.ts record","plugins:inventory:gen":"node --import ./scripts/tsx.mjs scripts/generate-plugin-inventory-doc.mts --write","protocol:check:kotlin":"pnpm protocol:gen:kotlin && git diff --exit-code -- apps/android/app/src/main/java/ai/openclaw/app/gateway/GatewayProtocol.kt apps/android/app/src/main/java/ai/openclaw/app/protocol/OpenClawProtocolConstants.kt","test:coverage:changed":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage --changed origin/main","test:docker:e2e-build":"bash scripts/e2e/build-image.sh","test:docker:local:all":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_DOCKER_ALL_LIVE_MODE=skip -- node scripts/test-docker-all.mjs","test:docker:openwebui":"bash scripts/e2e/openwebui-docker.sh","test:extensions:batch":"node --import ./scripts/tsx.mjs scripts/test-extension-batch.mts","test:live:media:image":"node --import ./scripts/tsx.mjs test/e2e/qa-lab/media/hosted-media-provider-live.ts image","test:live:media:music":"node --import ./scripts/tsx.mjs test/e2e/qa-lab/media/hosted-media-provider-live.ts music","test:live:media:video":"node --import ./scripts/tsx.mjs test/e2e/qa-lab/media/hosted-media-provider-live.ts video","ui:proof:model-picker":"node --import ./scripts/tsx.mjs scripts/capture-model-picker-proof.mts","android:bundle:release":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android play_store_archive'","android:release:upload":"bash scripts/android-release-upload.sh","channels:catalog:check":"node scripts/write-official-channel-catalog.mjs --check","check:assertion-safety":"node --import ./scripts/tsx.mjs scripts/check-assertion-safety-ratchet.mts","check:coercion-helpers":"node --import ./scripts/tsx.mjs scripts/check-coercion-helper-declarations.mts","check:deprecated-jsdoc":"node --import ./scripts/tsx.mjs scripts/check-deprecated-jsdoc.mts","mobile:release:resolve":"node --import ./scripts/tsx.mjs scripts/mobile-release-ref.ts resolve","policy:config-coverage":"node --import ./scripts/tsx.mjs scripts/check-policy-config-coverage.ts","probe:anthropic:prompt":"node --import ./scripts/tsx.mjs scripts/anthropic-prompt-probe.ts","prompt:snapshots:check":"node --import ./scripts/tsx.mjs scripts/generate-prompt-snapshots.ts --check","qa:observability:smoke":"pnpm qa:otel:smoke && pnpm qa:prometheus:smoke","release-metadata:check":"node --import ./scripts/tsx.mjs scripts/check-release-metadata-only.mts","runtime-sidecars:check":"node --import ./scripts/tsx.mjs scripts/generate-runtime-sidecar-paths-baseline.ts --check","test:contracts:plugins":"node scripts/run-vitest.mjs run --config test/vitest/vitest.contracts-plugin.config.ts --maxWorkers=1","test:docker:live-build":"bash scripts/test-live-build-docker.sh","test:extensions:memory":"node --import ./scripts/tsx.mjs scripts/profile-extension-memory.mts","test:parallels:windows":"bash scripts/e2e/parallels-windows-smoke.sh","test:perf:profile:main":"node --import ./scripts/tsx.mjs scripts/run-vitest-profile.mts main","test:sqlite:perf:large":"node --import ./scripts/tsx.mjs scripts/bench-sqlite-state.ts --profile large --output .artifacts/sqlite-perf/large.json","test:sqlite:perf:smoke":"node --import ./scripts/tsx.mjs scripts/bench-sqlite-state.ts --profile smoke --output .artifacts/sqlite-perf/smoke.json","test:stability:gateway":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/gateway-stability.test.ts && node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.logging.config.ts src/logging/diagnostic-stability-bundle.test.ts && node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.infra.config.ts src/infra/fatal-error-hooks.test.ts","tui:pty:test:watch:all":"node --import ./scripts/tsx.mjs scripts/dev/tui-pty-test-watch.ts --mode all","android:release:archive":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android play_store_archive'","android:run:third-party":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:runThirdPartyDebug","check:max-lines-ratchet":"node --import ./scripts/tsx.mjs scripts/check-max-lines-ratchet.mts","check:protocol-coverage":"node scripts/check-protocol-event-coverage.mjs","check:wrapper-shadowing":"node --import ./scripts/tsx.mjs scripts/check-wrapper-shadowing.mts","plugin-sdk:sync-exports":"node --import ./scripts/tsx.mjs scripts/sync-plugin-sdk-exports.mts","plugins:boundary-report":"node --import ./scripts/tsx.mjs scripts/plugin-boundary-report.ts","plugins:inventory:check":"node --import ./scripts/tsx.mjs scripts/generate-plugin-inventory-doc.mts --check","protocol-registry:check":"node --import ./scripts/tsx.mjs scripts/check-protocol-registry.mts","qa:otel:collector-smoke":"node --import ./scripts/tsx.mjs test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts --collector docker","release:generated:check":"node scripts/release-preflight.mjs --check","test:agents:concurrency":"node --import ./scripts/tsx.mjs scripts/bench-agent-concurrency.ts","test:contracts:channels":"node --import ./scripts/tsx.mjs scripts/test-projects.mts --maxWorkers=1 test/vitest/vitest.contracts-channel-surface.config.ts test/vitest/vitest.contracts-channel-config.config.ts test/vitest/vitest.contracts-channel-registry.config.ts test/vitest/vitest.contracts-channel-session.config.ts","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","test:live:codex-harness":"node --import ./scripts/tsx.mjs scripts/test-live.mts --codex-harness -- src/gateway/gateway-codex-harness.live.test.ts","test:perf:changed:bench":"node --import ./scripts/tsx.mjs scripts/bench-test-changed.mts","test:startup:bench:save":"node --import ./scripts/tsx.mjs scripts/bench-cli-startup.ts --preset all --runs 5 --warmup 1 --output .artifacts/cli-startup-bench-all.json","test:tasks:sqlite-churn":"node --import ./scripts/tsx.mjs scripts/bench-task-registry-sqlite.ts","tui:pty:test:watch:fake":"node --import ./scripts/tsx.mjs scripts/dev/tui-pty-test-watch.ts --mode fake","android:release:metadata":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android metadata'","android:test:integration":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","android:test:third-party":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:testThirdPartyDebugUnitTest","check:base-config-schema":"node --import ./scripts/tsx.mjs scripts/generate-base-config-schema.ts --check","check:script-erasability":"node --disable-warning=ExperimentalWarning scripts/check-script-erasability.mjs","check:static-import-sccs":"pnpm check:madge-import-cycles","check:timed:architecture":"node --import ./scripts/tsx.mjs scripts/check-timed.mts --include-architecture","docs:check-i18n-glossary":"node --import ./scripts/tsx.mjs scripts/check-docs-i18n-glossary.mts","docs:check-links:anchors":"node scripts/docs-link-audit.mjs --anchors","ios:app-review-notes:pdf":"xcrun swift scripts/ios-app-review-notes-pdf.swift apps/ios/APP-REVIEW-NOTES.md apps/ios/build/app-review/APP-REVIEW-NOTES.pdf","ios:release:signing:plan":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_plan'","lint:agent:ingress-owner":"node --import ./scripts/tsx.mjs scripts/check-ingress-agent-owner-context.mts","mobile:release:preflight":"node --import ./scripts/tsx.mjs scripts/mobile-release-ref.ts preflight","plugin-sdk:check-exports":"node --import ./scripts/tsx.mjs scripts/sync-plugin-sdk-exports.mts --check","plugin-sdk:surface:check":"node --max-old-space-size=8192 --import ./scripts/tsx.mjs scripts/plugin-sdk-surface-report.mts --check","release:plugins:npm:plan":"node --import ./scripts/tsx.mjs scripts/plugin-npm-release-plan.ts","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:mcp-channels":"bash scripts/e2e/mcp-channels-docker.sh","test:gateway:concurrency":"node scripts/bench-gateway-concurrency.ts","test:perf:groups:compare":"node --import ./scripts/tsx.mjs scripts/test-group-report.mts --compare","test:perf:profile:runner":"node --import ./scripts/tsx.mjs scripts/run-vitest-profile.mts runner","test:startup:bench:check":"node --import ./scripts/tsx.mjs scripts/test-cli-startup-bench-budget.mts","test:startup:bench:smoke":"node --import ./scripts/tsx.mjs scripts/ensure-cli-startup-build.mts && node --import ./scripts/tsx.mjs scripts/bench-cli-startup.ts --preset real --case gatewayStatusJson --runs 1 --warmup 0 --output .artifacts/cli-startup-bench-smoke.json","tui:pty:test:watch:local":"node --import ./scripts/tsx.mjs scripts/dev/tui-pty-test-watch.ts --mode local","ui:proof:session-toolbar":"node --import ./scripts/tsx.mjs scripts/capture-session-toolbar-proof.mts","android:release:preflight":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android release_preflight'","check:madge-import-cycles":"node --import ./scripts/tsx.mjs scripts/check-madge-import-cycles.ts","check:no-conflict-markers":"node scripts/check-no-conflict-markers.mjs","deps:root-ownership:check":"node --import ./scripts/tsx.mjs scripts/root-dependency-ownership-audit.mts --check","gen:host-env-policy:swift":"node --import ./scripts/tsx.mjs scripts/generate-host-env-security-policy-swift.mts --write","ios:release:signing:check":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_check'","ios:release:signing:setup":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_setup'","lint:no-widen-then-assert":"node scripts/run-oxlint.mjs --openclaw-focused-config --config config/oxlint/boundary-guards.json src extensions packages ui/src","release:fast-pretag-check":"bash scripts/release-fast-pretag-check.sh","release:plugins:npm:check":"node --import ./scripts/tsx.mjs scripts/plugin-npm-release-check.ts","test:docker:compose-setup":"bash scripts/e2e/compose-setup.sh","test:docker:config-reload":"bash scripts/e2e/config-reload-source-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:docker:live-acp-bind":"bash scripts/test-live-acp-bind-docker.sh","test:docker:plugin-update":"bash scripts/e2e/plugin-update-unchanged-docker.sh","test:docker:skill-install":"bash scripts/e2e/skill-install-docker.sh","test:env-mutations:report":"node --import ./scripts/tsx.mjs scripts/test-env-mutation-report.ts","test:live:models-profiles":"node --import ./scripts/tsx.mjs scripts/test-live.mts -- src/agents/models.profiles.live.test.ts","test:parallels:npm-update":"bash scripts/e2e/parallels-npm-update-smoke.sh","test:perf:imports:changed":"node --import ./scripts/tsx.mjs scripts/test-projects-imports.mts --changed origin/main","test:startup:bench:update":"node --import ./scripts/tsx.mjs scripts/test-update-cli-startup-bench.mts","test:voicecall:closedloop":"node --import ./scripts/tsx.mjs scripts/test-voicecall-closedloop.mts","android:release:auth:check":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android auth_check'","check:deprecated-api-usage":"node --import ./scripts/tsx.mjs scripts/check-deprecated-api-usage.mts","check:temp-path-guardrails":"node --import ./scripts/tsx.mjs scripts/check-temp-path-guardrails.ts","docs:check-config-examples":"node scripts/check-docs-config-examples.mjs","lint:ui:no-raw-window-open":"node scripts/run-oxlint.mjs --openclaw-focused-config --config config/oxlint/boundary-guards.json ui/src","plugins:boundary-report:ci":"node --import ./scripts/tsx.mjs scripts/plugin-boundary-report.ts --summary --fail-on-eligible-compat","release:openclaw:npm:check":"node --import ./scripts/tsx.mjs scripts/openclaw-npm-release-check.ts","sqlite:sessions-schema:gen":"node --import ./scripts/tsx.mjs scripts/generate-sqlite-session-schema-baseline.ts --write","test:cli-response:contract":"node --import ./scripts/tsx.mjs scripts/build-all.mts cliStartup && node --import ./scripts/tsx.mjs scripts/test-cli-startup-bench-budget.mts --preset response --runs 1 --warmup 0 --timeout-ms 10000 --skip-baseline","test:e2e:browser-extension":"pnpm build && node --import ./scripts/tsx.mjs scripts/run-with-env.mts PLAYWRIGHT_BROWSERS_PATH=.artifacts/playwright-browsers -- node --import ./scripts/tsx.mjs scripts/ensure-playwright-chromium.mts --require-playwright-chromium && node --import ./scripts/tsx.mjs scripts/run-with-env.mts PLAYWRIGHT_BROWSERS_PATH=.artifacts/playwright-browsers OPENCLAW_BROWSER_EXTENSION_E2E=1 OPENCLAW_E2E_WORKERS=1 -- node scripts/run-vitest.mjs extensions/browser/chrome-extension/bootstrap.chromium.test.ts","test:gateway:cpu-scenarios":"node --import ./scripts/tsx.mjs scripts/check-gateway-cpu-scenarios.mts","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:live:gateway-profiles":"node --import ./scripts/tsx.mjs scripts/test-live.mts -- src/gateway/gateway-models.profiles.live.test.ts","test:skip-inventory:report":"node --import ./scripts/tsx.mjs scripts/test-skip-inventory.ts","android:install:third-party":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:installThirdPartyDebug","check:host-env-policy:swift":"node --import ./scripts/tsx.mjs scripts/generate-host-env-security-policy-swift.mts --check","deps:npm-lock:check:changed":"node scripts/generate-npm-package-lock.mjs --changed","deps:transitive-risk:report":"node --import ./scripts/tsx.mjs scripts/transitive-manifest-risk-report.mts","lint:tmp:tsgo-core-boundary":"node --import ./scripts/tsx.mjs scripts/check-tsgo-core-boundary.mts","test:docker:codex-on-demand":"bash scripts/e2e/codex-on-demand-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","test:docker:live-codex-bind":"OPENCLAW_LIVE_CODEX_BIND=1 OPENCLAW_LIVE_CODEX_TEST_FILES=src/gateway/gateway-codex-bind.live.test.ts bash scripts/test-live-codex-harness-docker.sh","test:docker:package-install":"bash scripts/e2e/docker-package-install.sh","ui:proof:composer-mic-hover":"node --import ./scripts/tsx.mjs scripts/capture-composer-mic-hover-proof.mts","android:assemble:third-party":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:assembleThirdPartyDebug","android:release:signing:plan":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_plan'","check:changelog-attributions":"node --import ./scripts/tsx.mjs scripts/check-changelog-attributions.mts","check:media-download-helpers":"node --import ./scripts/tsx.mjs scripts/check-media-download-helper-roundtrip.mts","check:opengrep-rule-metadata":"node security/opengrep/check-rule-metadata.mjs","deps:ownership-surface:check":"node --import ./scripts/tsx.mjs scripts/dependency-ownership-surface-report.mts --check","lint:tmp:no-random-messaging":"node --import ./scripts/tsx.mjs scripts/check-no-random-messaging-tmp.mts","plugins:boundary-report:json":"node --import ./scripts/tsx.mjs scripts/plugin-boundary-report.ts --json","release:plugins:clawhub:plan":"node --import ./scripts/tsx.mjs scripts/plugin-clawhub-release-plan.ts","sqlite:sessions-schema:check":"node --import ./scripts/tsx.mjs scripts/generate-sqlite-session-schema-baseline.ts --check","test:docker:codex-media-path":"bash scripts/e2e/codex-media-path-docker.sh","test:docker:cron-mcp-cleanup":"bash scripts/e2e/cron-mcp-cleanup-docker.sh","test:docker:kitchen-sink-rpc":"bash scripts/e2e/kitchen-sink-rpc-docker.sh","test:docker:live-cli-backend":"bash scripts/test-live-cli-backend-docker.sh","test:docker:live-plugin-tool":"bash scripts/e2e/live-plugin-tool-docker.sh","test:docker:selected-plugins":"bash scripts/e2e/docker-selected-plugins.sh","test:docker:update-migration":"env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@2026.4.23} OPENCLAW_UPGRADE_SURVIVOR_SCENARIO=${OPENCLAW_UPGRADE_SURVIVOR_SCENARIO:-plugin-deps-cleanup} bash scripts/e2e/upgrade-survivor-docker.sh","test:docker:upgrade-survivor":"bash scripts/e2e/upgrade-survivor-docker.sh","test:gateway:memory-fd-repro":"node --import ./scripts/tsx.mjs scripts/check-memory-fd-repro.mts","android:release:signing:check":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_check'","build:plugin-sdk:strict-smoke":"node --import ./scripts/tsx.mjs scripts/tsdown-build.mts && node scripts/runtime-postbuild.mjs && node --import ./scripts/tsx.mjs scripts/check-plugin-sdk-exports.mts","check:runtime-sidecar-loaders":"node --import ./scripts/tsx.mjs scripts/check-runtime-sidecar-loaders.mts","deps:ownership-surface:report":"node --import ./scripts/tsx.mjs scripts/dependency-ownership-surface-report.mts","ios:release:signing:sync:pull":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_sync_pull'","ios:release:signing:sync:push":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_sync_push'","lint:tmp:dynamic-import-warts":"node --import ./scripts/tsx.mjs scripts/check-dynamic-import-warts.mts","lint:tmp:no-raw-channel-fetch":"node --import ./scripts/tsx.mjs scripts/check-no-raw-channel-fetch.mts","lint:tmp:no-raw-http2-imports":"node --import ./scripts/tsx.mjs scripts/check-no-raw-http2-imports.mts","release:plugins:clawhub:check":"node --import ./scripts/tsx.mjs scripts/plugin-clawhub-release-check.ts","test:docker:multi-node-update":"bash scripts/e2e/multi-node-update-docker.sh","test:docker:npm-telegram-live":"bash scripts/e2e/npm-telegram-live-docker.sh","test:docker:openai-chat-tools":"bash scripts/e2e/openai-chat-tools-docker.sh","test:docker:openai-image-auth":"bash scripts/e2e/openai-image-auth-docker.sh","test:e2e:agent-plugin-gateway":"node --import ./scripts/tsx.mjs scripts/agent-plugin-gateway-e2e.ts","test:gateway:watch-regression":"node --import ./scripts/tsx.mjs scripts/check-gateway-watch-regression.mts","test:plugins:gateway-gauntlet":"node --import ./scripts/tsx.mjs scripts/check-plugin-gateway-gauntlet.mts","test:plugins:kitchen-sink-rpc":"node --import ./scripts/tsx.mjs scripts/e2e/kitchen-sink-rpc-walk.mts","ui:proof:injected-turn-notice":"node --import ./scripts/tsx.mjs scripts/capture-injected-turn-notice-proof.mts","codex-app-server:protocol:sync":"node --import ./scripts/tsx.mjs scripts/sync-codex-app-server-protocol.ts","test:docker:live-codex-harness":"bash scripts/test-live-codex-harness-docker.sh","test:docker:live-models:claude":"OPENCLAW_LIVE_PROVIDERS=claude-cli OPENCLAW_LIVE_MODELS=claude-cli/claude-sonnet-4-6 bash scripts/test-live-models-docker.sh","test:docker:live-models:gemini":"OPENCLAW_LIVE_PROVIDERS=google-gemini-cli OPENCLAW_LIVE_MODELS=google-gemini-cli/gemini-3.1-pro-preview bash scripts/test-live-models-docker.sh","test:parallels:windows:prepare":"bash scripts/e2e/parallels-windows-prepare.sh","test:plugins:kitchen-sink-live":"bash -lc 'if [ -x \"$HOME/.local/bin/openclaw-testbox-env\" ]; then exec \"$HOME/.local/bin/openclaw-testbox-env\" pnpm openclaw qa suite --provider-mode live-frontier --scenario kitchen-sink-live-openai; fi; exec pnpm openclaw qa suite --provider-mode live-frontier --scenario kitchen-sink-live-openai'","test:sessions:hydration-memory":"node --import ./scripts/tsx.mjs scripts/bench-session-manager-hydration-memory.ts","codex-app-server:protocol:check":"node --import ./scripts/tsx.mjs scripts/check-codex-app-server-protocol.ts","lint:auth:pairing-account-scope":"node --import ./scripts/tsx.mjs scripts/check-pairing-account-scope.mts","lint:no-chained-type-assertions":"node scripts/run-oxlint.mjs --openclaw-focused-config --config config/oxlint/boundary-guards.json src extensions packages ui/src","lint:tmp:export-name-collisions":"node --import ./scripts/tsx.mjs scripts/check-export-name-collisions.mts","plugins:boundary-report:summary":"node --import ./scripts/tsx.mjs scripts/plugin-boundary-report.ts --summary","test:docker:kitchen-sink-plugin":"bash scripts/e2e/kitchen-sink-plugin-docker.sh","test:docker:live-acp-bind:codex":"OPENCLAW_LIVE_ACP_BIND_AGENT=codex bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:droid":"OPENCLAW_LIVE_ACP_BIND_AGENT=droid OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh","test:docker:live-gateway:claude":"OPENCLAW_LIVE_GATEWAY_PROVIDERS=claude-cli OPENCLAW_LIVE_GATEWAY_MODELS=claude-cli/claude-sonnet-4-6 bash scripts/test-live-gateway-models-docker.sh","test:docker:live-gateway:gemini":"OPENCLAW_LIVE_GATEWAY_PROVIDERS=google-gemini-cli OPENCLAW_LIVE_GATEWAY_MODELS=google-gemini-cli/gemini-3.1-pro-preview bash scripts/test-live-gateway-models-docker.sh","test:docker:system-agent-rescue":"bash scripts/e2e/system-agent-rescue-docker.sh","test:docker:update-restart-auth":"env OPENCLAW_UPGRADE_SURVIVOR_UPDATE_RESTART_MODE=auto-auth OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh","lint:auth:no-pairing-store-group":"node --import ./scripts/tsx.mjs scripts/check-no-pairing-store-group-auth.mts","qa:observability:collector-smoke":"pnpm qa:otel:collector-smoke && pnpm qa:prometheus:smoke","test:docker:browser-cdp-snapshot":"bash scripts/e2e/browser-cdp-snapshot-docker.sh","test:docker:live-acp-bind:claude":"OPENCLAW_LIVE_ACP_BIND_AGENT=claude bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:gemini":"OPENCLAW_LIVE_ACP_BIND_AGENT=gemini bash scripts/test-live-acp-bind-docker.sh","test:docker:release-media-memory":"bash scripts/e2e/release-media-memory-docker.sh","test:docker:release-user-journey":"bash scripts/e2e/release-user-journey-docker.sh","test:extensions:package-boundary":"node --import ./scripts/tsx.mjs scripts/check-extension-package-tsc-boundary.mts","android:release:signing:sync:pull":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_sync_pull'","android:release:signing:sync:push":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_sync_push'","check:doctor-deprecation-registry":"node --import ./scripts/tsx.mjs scripts/check-doctor-deprecation-registry.ts","lint:plugins:no-extension-imports":"node --import ./scripts/tsx.mjs scripts/check-plugin-extension-import-boundary.mts","prompt:snapshots:sync-codex-model":"node --import ./scripts/tsx.mjs scripts/sync-codex-model-prompt-fixture.ts","test:build:status-message-runtime":"node --import ./scripts/tsx.mjs scripts/test-built-status-message-runtime.mts","test:docker:live-codex-media-path":"OPENCLAW_LIVE_CODEX_HARNESS_AUTH=api-key OPENCLAW_LIVE_CODEX_HARNESS_CHAT_IMAGE_PROBE=1 OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0 bash scripts/test-live-codex-harness-docker.sh","test:docker:live-codex-npm-plugin":"bash scripts/e2e/codex-npm-plugin-live-docker.sh","test:docker:mcp-code-mode-gateway":"bash scripts/e2e/mcp-code-mode-gateway-docker.sh","test:docker:update-channel-switch":"bash scripts/e2e/update-channel-switch-docker.sh","test:docker:update-corrupt-plugin":"bash scripts/e2e/update-corrupt-plugin-docker.sh","test:windows:schtasks:integration":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts CI_WINDOWS_SCHTASKS_INTEGRATION=1 OPENCLAW_E2E_SKIP_BUILD=1 OPENCLAW_E2E_VERBOSE=1 OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs src/daemon/schtasks.integration.e2e.test.ts","check:database-first-legacy-stores":"node --import ./scripts/tsx.mjs scripts/check-database-first-legacy-stores.mts","lint:tmp:session-accessor-boundary":"node --import ./scripts/tsx.mjs scripts/check-session-accessor-boundary.mts","lint:web-fetch-provider-boundaries":"node --import ./scripts/tsx.mjs scripts/check-web-fetch-provider-boundaries.mts","test:docker:agent-bundle-mcp-tools":"bash scripts/e2e/agent-bundle-mcp-tools-docker.sh","test:docker:live-acp-bind:opencode":"OPENCLAW_LIVE_ACP_BIND_AGENT=opencode OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh","test:docker:live-subagent-announce":"bash scripts/test-live-subagent-announce-docker.sh","test:docker:system-agent-first-run":"bash scripts/e2e/system-agent-first-run-docker.sh","check:no-runtime-action-load-config":"node --import ./scripts/tsx.mjs scripts/check-no-runtime-action-load-config.mts","lint:webhook:no-low-level-body-read":"node --import ./scripts/tsx.mjs scripts/check-webhook-auth-body-order.mts","test:docker:live-cli-backend:claude":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview bash scripts/test-live-cli-backend-docker.sh","test:docker:plugin-lifecycle-matrix":"bash scripts/e2e/plugin-lifecycle-matrix-docker.sh","test:docker:sandbox-browser-sidecar":"bash scripts/e2e/sandbox-browser-sidecar-docker.sh","test:docker:session-runtime-context":"bash scripts/e2e/session-runtime-context-docker.sh","test:e2e:status-corrupt-plugin-deps":"bash scripts/e2e/status-corrupt-plugin-deps.sh","test:plugins:init-provider-scaffold":"node --import ./scripts/tsx.mjs scripts/validate-plugin-init-provider-scaffold.ts","lint:tmp:channel-agnostic-boundaries":"node --import ./scripts/tsx.mjs scripts/check-channel-agnostic-boundaries.mts","lint:tmp:sqlite-transaction-boundary":"node --import ./scripts/tsx.mjs scripts/check-sqlite-transaction-boundary.mts","test:docker:release-typed-onboarding":"bash scripts/e2e/release-typed-onboarding-docker.sh","test:docker:root-managed-vps-upgrade":"env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_ROOT_MANAGED_VPS=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@2026.5.7} OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh","check:bundled-channel-config-metadata":"node --import ./scripts/tsx.mjs scripts/generate-bundled-channel-config-metadata.ts --check","lint:extensions:telegram-grammy-types":"node --import ./scripts/tsx.mjs scripts/check-telegram-grammy-types-imports.mts","lint:plugins:no-extension-src-imports":"node --import ./scripts/tsx.mjs scripts/check-no-extension-src-imports.ts","lint:plugins:no-register-http-handler":"node scripts/run-oxlint.mjs --openclaw-focused-config --config config/oxlint/boundary-guards.json src extensions","release:openclaw:npm:verify-published":"node --import ./scripts/tsx.mjs scripts/openclaw-npm-postpublish-verify.ts","test:docker:npm-onboard-channel-agent":"bash scripts/e2e/npm-onboard-channel-agent-docker.sh","test:docker:openai-web-search-minimal":"bash scripts/e2e/openai-web-search-minimal-docker.sh","test:live:system-agent-rescue-channel":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_LIVE_SYSTEM_AGENT_RESCUE_CHANNEL=1 -- node --import ./scripts/tsx.mjs scripts/test-live.mts -- src/system-agent/rescue-channel.live.test.ts","lint:tmp:session-accessor-boundary:gen":"node --import ./scripts/tsx.mjs scripts/check-session-accessor-boundary.mts --update-debt-baseline","test:docker:cli-installer-distribution":"bash scripts/e2e/cli-installer-distribution-docker.sh","test:docker:live-mcp-code-mode-gateway":"bash scripts/e2e/mcp-code-mode-gateway-live-docker.sh","test:docker:published-upgrade-survivor":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_DOCKER_ALL_LANES=published-upgrade-survivor -- node scripts/test-docker-all.mjs","test:docker:release-plugin-marketplace":"bash scripts/e2e/release-plugin-marketplace-docker.sh","test:type-suppression-inventory:report":"node --import ./scripts/tsx.mjs scripts/type-suppression-inventory.ts","test:docker:live-cli-backend:claude:mcp":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini:mcp":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:extensions:package-boundary:canary":"node --import ./scripts/tsx.mjs scripts/check-extension-package-tsc-boundary.mts --mode=canary","test:docker:release-upgrade-user-journey":"bash scripts/e2e/release-upgrade-user-journey-docker.sh","test:extensions:package-boundary:compile":"node --import ./scripts/tsx.mjs scripts/check-extension-package-tsc-boundary.mts --mode=compile","lint:extensions:no-src-outside-plugin-sdk":"node --import ./scripts/tsx.mjs scripts/check-extension-plugin-sdk-boundary.mts --mode=src-outside-plugin-sdk","lint:plugins:plugin-sdk-subpaths-exported":"node --import ./scripts/tsx.mjs scripts/check-plugin-sdk-subpath-exports.mts","test:docker:live-cli-backend:claude:cache":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_AUTH=api-key OPENCLAW_LIVE_CLI_BACKEND_CACHE_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:plugin-binding-command-escape":"bash scripts/e2e/plugin-binding-command-escape-docker.sh","test:docker:agents-delete-shared-workspace":"bash scripts/e2e/agents-delete-shared-workspace-docker.sh","test:docker:live-cli-backend:claude:resume":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini:resume":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","lint:extensions:no-relative-outside-package":"node --import ./scripts/tsx.mjs scripts/check-extension-plugin-sdk-boundary.mts --mode=relative-outside-package","lint:plugins:no-extension-test-core-imports":"node --import ./scripts/tsx.mjs scripts/check-no-extension-test-core-imports.ts","lint:tmp:session-transcript-reader-boundary":"node --import ./scripts/tsx.mjs scripts/check-session-transcript-reader-boundary.mts","test:docker:npm-onboard-slack-channel-agent":"OPENCLAW_NPM_ONBOARD_CHANNEL=slack bash scripts/e2e/npm-onboard-channel-agent-docker.sh","test:docker:update-run-package-self-upgrade":"bash scripts/e2e/update-run-package-self-upgrade-docker.sh","lint:extensions:no-deprecated-channel-access":"node --import ./scripts/tsx.mjs scripts/check-no-deprecated-channel-access.ts","lint:extensions:no-normalization-core-bypass":"node --import ./scripts/tsx.mjs scripts/check-extension-plugin-sdk-boundary.mts --mode=normalization-core-bypass","test:docker:bundled-plugin-install-uninstall":"bash scripts/e2e/bundled-plugin-install-uninstall-docker.sh","lint:extensions:no-guarded-wildcard-reexports":"node --import ./scripts/tsx.mjs scripts/check-extension-wildcard-reexports.mts","test:docker:npm-onboard-discord-channel-agent":"OPENCLAW_NPM_ONBOARD_CHANNEL=discord bash scripts/e2e/npm-onboard-channel-agent-docker.sh","lint:extensions:no-plugin-sdk-wildcard-reexports":"node --import ./scripts/tsx.mjs scripts/check-plugin-sdk-wildcard-reexports.mts","test:docker:live-cli-backend:claude-subscription":"OPENCLAW_LIVE_CLI_BACKEND_AUTH=subscription OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_DISABLE_MCP_CONFIG=1 OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=0 bash scripts/test-live-cli-backend-docker.sh","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import ./scripts/tsx.mjs scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2bccb063-cd01-4335-8b61-f7859f1dd4e2"}},"homepage":"https://github.com/openclaw/openclaw#readme","keywords":[],"openclaw":{"schemaVersions":{"agent":19,"state":15}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-2026.8.1.tgz","_integrity":"sha512-bSaFeaDFnQH/bU1vgKMac6eHkHHPHG0C/uwduXGI3eIS3lyiYSwmDU5ehhBUUhlPeV85tL5/KVwmoH48nX1tWw==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git"},"_npmVersion":"11.17.0","description":"Multi-channel AI gateway with extensible messaging integrations","directories":{"doc":"docs","test":"test"},"maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","ws":"8.21.3","tar":"7.5.22","zod":"4.4.3","diff":"9.0.0","jiti":"2.7.0","yaml":"2.9.0","acorn":"8.18.0","chalk":"6.0.0","execa":"10.0.1","json5":"2.2.3","jszip":"3.10.1","koffi":"3.1.6","p-map":"7.0.6","tslog":"4.11.0","croner":"10.0.1","dotenv":"17.4.2","grammy":"1.45.1","ignore":"7.0.6","kysely":"0.29.5","openai":"7.5.0","qrcode":"1.5.4","semver":"7.8.5","undici":"8.10.0","clawpdf":"0.3.1","express":"5.2.1","p-limit":"7.3.1","typebox":"1.3.16","chokidar":"5.0.0","entities":"8.0.0","linkedom":"0.18.13","web-push":"3.6.7","commander":"15.0.0","file-type":"22.0.2","minimatch":"10.2.6","pretty-ms":"9.3.0","iconv-lite":"0.7.3","rastermill":"0.3.2","typescript":"6.0.3","@clack/core":"1.4.3","@openclaw/ai":"2026.8.1","highlight.js":"11.12.0","partial-json":"0.1.7","quickjs-wasi":"3.5.0","@google/genai":"2.18.0","node-edge-tts":"1.2.10","@clack/prompts":"1.7.0","hosted-git-info":"10.1.1","playwright-core":"1.62.1","web-tree-sitter":"0.26.12","@grammyjs/runner":"2.0.3","@homebridge/ciao":"1.3.12","@lydell/node-pty":"1.2.0-beta.15","tree-sitter-bash":"0.25.1","@anthropic-ai/sdk":"0.120.0","@openclaw/fs-safe":"0.5.6","@trycua/cua-driver":"0.21.0","@openclaw/proxyline":"0.3.7","@mistralai/mistralai":"2.6.4","@mozilla/readability":"0.6.0","@earendil-works/pi-tui":"0.84.2","@agentclientprotocol/sdk":"1.4.0","@modelcontextprotocol/sdk":"1.30.0","@silvia-odwyer/photon-node":"0.3.4","@anthropic-ai/claude-agent-sdk":"0.3.239","@grammyjs/transformer-throttler":"1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"lit":"3.3.3","tsx":"4.23.12","vite":"8.2.2","jscpd":"5.0.16","jsdom":"29.1.1","oxfmt":"0.60.0","shiki":"4.4.3","unrun":"0.3.1","marked":"18.0.10","oxlint":"1.79.0","tsdown":"0.22.14","vitest":"4.1.11","esbuild":"0.28.2","postcss":"8.5.26","sigstore":"5.0.0","@a2ui/lit":"0.10.3","@lit/task":"1.0.3","@types/ms":"2.1.0","@types/ws":"8.18.1","ipaddr.js":"2.5.0","stylelint":"17.14.1","playwright":"1.62.1","@mdx-js/mdx":"3.1.1","@types/node":"26.2.0","markdown-it":"15.0.0","postcss-lit":"1.4.1","@lit/context":"1.1.6","@types/jsdom":"30.0.0","@types/mdast":"4.0.4","lit-analyzer":"2.0.3","signal-utils":"0.21.1","string-width":"8.2.2","@shikijs/core":"4.4.3","@types/semver":"7.8.0","@a2ui/web_core":"0.10.6","@types/express":"5.0.6","@types/web-push":"3.6.4","oxlint-tsgolint":"7.0.2001","@lit-labs/signals":"0.3.0","@copilotkit/aimock":"1.39.0","@types/markdown-it":"14.2.0","@vitest/coverage-v8":"4.1.11","@types/hosted-git-info":"3.0.5","@opentelemetry/sdk-node":"0.221.0","@shikijs/engine-oniguruma":"4.4.3","@shikijs/engine-javascript":"4.4.3","@typescript/native-preview":"7.0.0-dev.20260707.2","stylelint-config-recommended":"18.0.0"},"optionalDependencies":{"sqlite-vec":"0.1.9"},"_npmOperationalInternal":{"tmp":"tmp/openclaw_2026.8.1_1788144338961_0.03126954983408181","host":"s3://npm-registry-packages-npm-production"},"_id":"openclaw@2026.8.1","version":"2026.8.1"}