Files
openclaw/package.json
T
Peter Steinberger fada067277 feat(browser): add zero-click Chrome extension bootstrap (#121586)
* feat(browser): add zero-click extension bootstrap

Pre-register deterministic path-derived extension IDs and install a strict native messaging host.

Keep the popup and options UI minimal while removing the obsolete copilot and page-share flows.

* fix(browser): satisfy native bootstrap CI guards

* test(browser): isolate native bootstrap Chrome roots

* test(browser): flush native bootstrap profile before status

* test(browser): seed Linux native bootstrap identity

* fix(browser): preserve native bootstrap upgrade safety

Allow immutable root-owned package inputs while keeping mutable state, manifests, and launchers user-owned. Preserve all retired copilot keys whenever active or unrecognized recovery custody remains.

* fix(browser): preserve pending copilot custody

Retired cleanup now removes copilot state only when the durable registry is exactly empty. Any session, archive, malformed value, future shape, or read failure preserves every retired key.

* fix(browser): guard native bootstrap upgrades

Fail closed while retired copilot custody remains and make discard durable across partial failures.

Require exact launcher-embedded origins and repair full launcher drift without accepting mismatched registrations.

* fix(browser): remove stale layout export

* chore(release): leave changelog to release flow
2026-08-10 19:31:13 -07:00

2135 lines
120 KiB
JSON

{
"name": "openclaw",
"version": "2026.8.1",
"openclaw": {
"schemaVersions": {
"state": 6,
"agent": 16
}
},
"description": "Multi-channel AI gateway with extensible messaging integrations",
"keywords": [],
"homepage": "https://github.com/openclaw/openclaw#readme",
"bugs": {
"url": "https://github.com/openclaw/openclaw/issues"
},
"license": "MIT",
"author": "OpenClaw Foundation (https://openclaw.org)",
"repository": {
"type": "git",
"url": "git+https://github.com/openclaw/openclaw.git"
},
"bin": {
"openclaw": "openclaw.mjs"
},
"directories": {
"doc": "docs",
"test": "test"
},
"files": [
"CHANGELOG.md",
"LICENSE",
"openclaw.mjs",
"pnpm-workspace.yaml",
"README.md",
"THIRD_PARTY_NOTICES.md",
"dist/",
"!dist/.buildstamp",
"!dist/.runtime-postbuildstamp",
"!dist/OpenClaw.app/**",
"!dist/**/*.map",
"!dist/plugin-sdk/.tsbuildinfo",
"!dist/plugin-sdk/access-groups.d.ts",
"!dist/plugin-sdk/account-resolution-runtime.d.ts",
"!dist/plugin-sdk/acp-binding-resolve-runtime.d.ts",
"!dist/plugin-sdk/acp-binding-runtime.d.ts",
"!dist/plugin-sdk/acp-runtime.d.ts",
"!dist/plugin-sdk/acp-runtime-backend.d.ts",
"!dist/plugin-sdk/agent-core.d.ts",
"!dist/plugin-sdk/agent-harness-exec-review-runtime.d.ts",
"!dist/plugin-sdk/agent-harness-task-runtime.d.ts",
"!dist/plugin-sdk/agent-harness-tool-runtime.d.ts",
"!dist/plugin-sdk/agent-runtime-test-contracts.js",
"!dist/plugin-sdk/agent-runtime-test-contracts.d.ts",
"!dist/plugin-sdk/agent-sessions.d.ts",
"!dist/plugin-sdk/approval-reaction-runtime.d.ts",
"!dist/plugin-sdk/approval-reference-runtime.d.ts",
"!dist/plugin-sdk/async-lock-runtime.d.ts",
"!dist/plugin-sdk/browser-config.d.ts",
"!dist/plugin-sdk/bundled-channel-config-schema.d.ts",
"!dist/plugin-sdk/channel-activity-runtime.d.ts",
"!dist/plugin-sdk/channel-config-writes.d.ts",
"!dist/plugin-sdk/channel-contract-testing.js",
"!dist/plugin-sdk/channel-contract-testing.d.ts",
"!dist/plugin-sdk/channel-mention-gating.d.ts",
"!dist/plugin-sdk/channel-route.d.ts",
"!dist/plugin-sdk/channel-secret-tts-runtime.d.ts",
"!dist/plugin-sdk/channel-target-testing.js",
"!dist/plugin-sdk/channel-target-testing.d.ts",
"!dist/plugin-sdk/channel-targets.d.ts",
"!dist/plugin-sdk/channel-test-helpers.js",
"!dist/plugin-sdk/channel-test-helpers.d.ts",
"!dist/plugin-sdk/chat-channel-ids.d.ts",
"!dist/plugin-sdk/cli-backend.d.ts",
"!dist/plugin-sdk/cli-runtime.d.ts",
"!dist/plugin-sdk/codex-mcp-projection.d.ts",
"!dist/plugin-sdk/codex-session-transcript-runtime.d.ts",
"!dist/plugin-sdk/command-status-runtime.d.ts",
"!dist/plugin-sdk/command-surface.d.ts",
"!dist/plugin-sdk/concurrency-runtime.d.ts",
"!dist/plugin-sdk/context-visibility-runtime.d.ts",
"!dist/plugin-sdk/conversation-binding-runtime.d.ts",
"!dist/plugin-sdk/cron-store-runtime.d.ts",
"!dist/plugin-sdk/dangerous-name-runtime.d.ts",
"!dist/plugin-sdk/delivery-queue-runtime.d.ts",
"!dist/plugin-sdk/direct-dm-guard-policy.d.ts",
"!dist/plugin-sdk/directory-config-runtime.d.ts",
"!dist/plugin-sdk/document-extractor.d.ts",
"!dist/plugin-sdk/embedding-providers.d.ts",
"!dist/plugin-sdk/exec-approvals-runtime.d.ts",
"!dist/plugin-sdk/expect-runtime.d.ts",
"!dist/plugin-sdk/fetch-runtime.d.ts",
"!dist/plugin-sdk/file-access-runtime.d.ts",
"!dist/plugin-sdk/file-lock.d.ts",
"!dist/plugin-sdk/global-singleton.d.ts",
"!dist/plugin-sdk/group-activation.d.ts",
"!dist/plugin-sdk/heartbeat-runtime.d.ts",
"!dist/plugin-sdk/host-runtime.d.ts",
"!dist/plugin-sdk/html-entity-runtime.d.ts",
"!dist/plugin-sdk/image-generation.d.ts",
"!dist/plugin-sdk/image-generation-core.d.ts",
"!dist/plugin-sdk/image-generation-runtime.d.ts",
"!dist/plugin-sdk/inline-image-data-url-runtime.d.ts",
"!dist/plugin-sdk/json-schema-runtime.d.ts",
"!dist/plugin-sdk/json-unsafe-integers.d.ts",
"!dist/plugin-sdk/keyed-async-queue.d.ts",
"!dist/plugin-sdk/llm.d.ts",
"!dist/plugin-sdk/markdown-table-runtime.d.ts",
"!dist/plugin-sdk/media-generation-runtime.d.ts",
"!dist/plugin-sdk/memory-core-host-embedding-registry.d.ts",
"!dist/plugin-sdk/memory-core-host-engine-curated.d.ts",
"!dist/plugin-sdk/memory-core-host-engine-embeddings.d.ts",
"!dist/plugin-sdk/memory-core-host-engine-fs.d.ts",
"!dist/plugin-sdk/memory-core-host-engine-sessions.d.ts",
"!dist/plugin-sdk/memory-core-host-engine-schema.d.ts",
"!dist/plugin-sdk/memory-core-host-engine-storage.d.ts",
"!dist/plugin-sdk/memory-core-host-runtime-cli.d.ts",
"!dist/plugin-sdk/memory-core-host-runtime-core.d.ts",
"!dist/plugin-sdk/memory-core-host-runtime-files.d.ts",
"!dist/plugin-sdk/memory-core-host-secret.d.ts",
"!dist/plugin-sdk/memory-core-host-status.d.ts",
"!dist/plugin-sdk/memory-host-events.d.ts",
"!dist/plugin-sdk/memory-host-markdown.d.ts",
"!dist/plugin-sdk/memory-host-search.d.ts",
"!dist/plugin-sdk/message-tool-delivery-hints.d.ts",
"!dist/plugin-sdk/migration.d.ts",
"!dist/plugin-sdk/migration-runtime.d.ts",
"!dist/plugin-sdk/music-generation.d.ts",
"!dist/plugin-sdk/node-host.d.ts",
"!dist/plugin-sdk/number-runtime.d.ts",
"!dist/plugin-sdk/outbound-media.d.ts",
"!dist/plugin-sdk/pair-loop-guard-runtime.d.ts",
"!dist/plugin-sdk/plugin-state-runtime.d.ts",
"!dist/plugin-sdk/plugin-state-test-runtime.js",
"!dist/plugin-sdk/plugin-state-test-runtime.d.ts",
"!dist/plugin-sdk/plugin-test-api.js",
"!dist/plugin-sdk/plugin-test-api.d.ts",
"!dist/plugin-sdk/plugin-test-contracts.js",
"!dist/plugin-sdk/plugin-test-contracts.d.ts",
"!dist/plugin-sdk/plugin-test-runtime.js",
"!dist/plugin-sdk/plugin-test-runtime.d.ts",
"!dist/plugin-sdk/poll-runtime.d.ts",
"!dist/plugin-sdk/process-runtime.d.ts",
"!dist/plugin-sdk/provider-auth-api-key.d.ts",
"!dist/plugin-sdk/provider-auth-login-flow-runtime.d.ts",
"!dist/plugin-sdk/provider-auth-result.d.ts",
"!dist/plugin-sdk/provider-auth-runtime.d.ts",
"!dist/plugin-sdk/provider-catalog-live-runtime.d.ts",
"!dist/plugin-sdk/provider-catalog-shared.d.ts",
"!dist/plugin-sdk/provider-entry.d.ts",
"!dist/plugin-sdk/provider-env-vars.d.ts",
"!dist/plugin-sdk/provider-http.d.ts",
"!dist/plugin-sdk/provider-http-test-mocks.js",
"!dist/plugin-sdk/provider-http-test-mocks.d.ts",
"!dist/plugin-sdk/provider-model-shared.d.ts",
"!dist/plugin-sdk/provider-model-types.d.ts",
"!dist/plugin-sdk/provider-oauth-runtime.d.ts",
"!dist/plugin-sdk/provider-onboard.d.ts",
"!dist/plugin-sdk/provider-selection-runtime.d.ts",
"!dist/plugin-sdk/provider-setup.d.ts",
"!dist/plugin-sdk/provider-stream.d.ts",
"!dist/plugin-sdk/provider-stream-family.d.ts",
"!dist/plugin-sdk/provider-stream-shared.d.ts",
"!dist/plugin-sdk/provider-test-contracts.js",
"!dist/plugin-sdk/provider-test-contracts.d.ts",
"!dist/plugin-sdk/provider-tools.d.ts",
"!dist/plugin-sdk/provider-transport-runtime.d.ts",
"!dist/plugin-sdk/provider-usage.d.ts",
"!dist/plugin-sdk/provider-web-fetch.d.ts",
"!dist/plugin-sdk/provider-web-fetch-contract.d.ts",
"!dist/plugin-sdk/provider-web-search.d.ts",
"!dist/plugin-sdk/provider-web-search-config-contract.d.ts",
"!dist/plugin-sdk/provider-web-search-contract.d.ts",
"!dist/plugin-sdk/qa-runner-runtime.d.ts",
"!dist/plugin-sdk/realtime-bootstrap-context.d.ts",
"!dist/plugin-sdk/realtime-transcription.d.ts",
"!dist/plugin-sdk/realtime-voice-audio-queue.d.ts",
"!dist/plugin-sdk/realtime-voice-activation.d.ts",
"!dist/plugin-sdk/realtime-voice.d.ts",
"!dist/plugin-sdk/reply-payload-testing.js",
"!dist/plugin-sdk/reply-payload-testing.d.ts",
"!dist/plugin-sdk/reply-reference.d.ts",
"!dist/plugin-sdk/request-url.d.ts",
"!dist/plugin-sdk/response-limit-runtime.d.ts",
"!dist/plugin-sdk/retry-runtime.d.ts",
"!dist/plugin-sdk/runtime-doctor-migrations.d.ts",
"!dist/plugin-sdk/doctor-repair-runtime.d.ts",
"!dist/plugin-sdk/model-ref-parse.d.ts",
"!dist/plugin-sdk/outbound-echo-runtime.d.ts",
"!dist/plugin-sdk/plugin-state-store-runtime.d.ts",
"!dist/plugin-sdk/secret-provider-alias.d.ts",
"!dist/plugin-sdk/session-store-paths.d.ts",
"!dist/plugin-sdk/runtime-doctor.d.ts",
"!dist/plugin-sdk/runtime-fetch.d.ts",
"!dist/plugin-sdk/sandbox.d.ts",
"!dist/plugin-sdk/secret-file-runtime.d.ts",
"!dist/plugin-sdk/secure-random-runtime.d.ts",
"!dist/plugin-sdk/session-binding-runtime.d.ts",
"!dist/plugin-sdk/session-catalog-runtime.d.ts",
"!dist/plugin-sdk/session-key-runtime.d.ts",
"!dist/plugin-sdk/session-transcript-hit.d.ts",
"!dist/plugin-sdk/session-transcript-runtime.d.ts",
"!dist/plugin-sdk/session-visibility.d.ts",
"!dist/plugin-sdk/simple-completion-runtime.d.ts",
"!dist/plugin-sdk/speech.d.ts",
"!dist/plugin-sdk/speech-core.d.ts",
"!dist/plugin-sdk/sqlite-runtime.d.ts",
"!dist/plugin-sdk/sqlite-runtime-testing.js",
"!dist/plugin-sdk/sqlite-runtime-testing.d.ts",
"!dist/plugin-sdk/ssrf-dispatcher.d.ts",
"!dist/plugin-sdk/ssrf-runtime-internal.js",
"!dist/plugin-sdk/ssrf-runtime-internal.d.ts",
"!dist/plugin-sdk/string-normalization-runtime.d.ts",
"!dist/plugin-sdk/system-event-runtime.d.ts",
"!dist/plugin-sdk/talk-config-runtime.d.ts",
"!dist/plugin-sdk/target-resolver-runtime.d.ts",
"!dist/plugin-sdk/test-env.js",
"!dist/plugin-sdk/test-env.d.ts",
"!dist/plugin-sdk/test-fixtures.js",
"!dist/plugin-sdk/test-fixtures.d.ts",
"!dist/plugin-sdk/test-live.js",
"!dist/plugin-sdk/test-live.d.ts",
"!dist/plugin-sdk/test-live-auth.js",
"!dist/plugin-sdk/test-live-auth.d.ts",
"!dist/plugin-sdk/test-media-generation.js",
"!dist/plugin-sdk/test-media-generation.d.ts",
"!dist/plugin-sdk/test-media-understanding.js",
"!dist/plugin-sdk/test-media-understanding.d.ts",
"!dist/plugin-sdk/test-state.js",
"!dist/plugin-sdk/test-state.d.ts",
"!dist/plugin-sdk/test-node-mocks.js",
"!dist/plugin-sdk/test-node-mocks.d.ts",
"!dist/plugin-sdk/text-autolink-runtime.d.ts",
"!dist/plugin-sdk/text-utility-runtime.d.ts",
"!dist/plugin-sdk/thread-bindings-runtime.d.ts",
"!dist/plugin-sdk/thread-bindings-session-runtime.d.ts",
"!dist/plugin-sdk/time-runtime.d.ts",
"!dist/plugin-sdk/tool-payload.d.ts",
"!dist/plugin-sdk/transcripts.d.ts",
"!dist/plugin-sdk/transport-ready-runtime.d.ts",
"!dist/plugin-sdk/tts-runtime.d.ts",
"!dist/plugin-sdk/types.d.ts",
"!dist/plugin-sdk/video-generation.d.ts",
"!dist/plugin-sdk/video-generation-core.d.ts",
"!dist/plugin-sdk/video-generation-runtime.d.ts",
"!dist/plugin-sdk/web-content-extractor.d.ts",
"!dist/plugin-sdk/webhook-targets.d.ts",
"!dist/plugin-sdk/windows-spawn.d.ts",
"!dist/plugin-sdk/src/agents/test-helpers/**",
"!dist/plugin-sdk/src/test-helpers/**",
"!dist/plugin-sdk/src/test-utils/**",
"!dist/plugin-sdk/src/plugin-sdk/test-helpers/**",
"!dist/extensions/acpx/**",
"!dist/extensions/amazon-bedrock/**",
"!dist/extensions/amazon-bedrock-mantle/**",
"!dist/extensions/anthropic-vertex/**",
"!dist/extensions/node_modules/**",
"!dist/extensions/*/node_modules/**",
"!dist/extensions/arcee/**",
"!dist/extensions/baseten/**",
"!dist/extensions/brave/**",
"!dist/extensions/byteplus/**",
"!dist/extensions/buzz/**",
"!dist/extensions/cerebras/**",
"!dist/extensions/chutes/**",
"!dist/extensions/cohere/**",
"!dist/extensions/comfy/**",
"!dist/extensions/clickclack/**",
"!dist/extensions/cloudflare-ai-gateway/**",
"!dist/extensions/codex/**",
"!dist/extensions/copilot/**",
"!dist/extensions/deepinfra/**",
"!dist/extensions/deepseek/**",
"!dist/extensions/diagnostics-otel/**",
"!dist/extensions/diagnostics-prometheus/**",
"!dist/extensions/diffs/**",
"!dist/extensions/diffs-language-pack/**",
"!dist/extensions/discord/**",
"!dist/extensions/duckduckgo/**",
"!dist/extensions/exa/**",
"!dist/extensions/feishu/**",
"!dist/extensions/featherless/**",
"!dist/extensions/firecrawl/**",
"!dist/extensions/fireworks/**",
"!dist/extensions/fish-audio-speech/**",
"!dist/extensions/google-meet/**",
"!dist/extensions/googlechat/**",
"!dist/extensions/gmi/**",
"!dist/extensions/gradium/**",
"!dist/extensions/groq/**",
"!dist/extensions/inworld/**",
"!dist/extensions/imessage/**",
"!dist/extensions/irc/**",
"!dist/extensions/kilocode/**",
"!dist/extensions/kimi-coding/**",
"!dist/extensions/line/**",
"!dist/extensions/llama-cpp/**",
"!dist/extensions/lobster/**",
"!dist/extensions/longcat/**",
"!dist/extensions/mattermost/**",
"!dist/extensions/memory-lancedb/**",
"!dist/extensions/meta/**",
"!dist/extensions/matrix/**",
"!dist/extensions/mistral/**",
"!dist/extensions/moonshot/**",
"!dist/extensions/msteams/**",
"!dist/extensions/mxc/**",
"!dist/extensions/nextcloud-talk/**",
"!dist/extensions/nostr/**",
"!dist/extensions/novita/**",
"!dist/extensions/opencode/**",
"!dist/extensions/parallel/**",
"!dist/extensions/perplexity/**",
"!dist/extensions/qianfan/**",
"!dist/extensions/qqbot/**",
"!dist/extensions/raft/**",
"!dist/extensions/pixverse/**",
"!dist/extensions/qa-channel/**",
"!dist/extensions/qa-lab/**",
"!dist/extensions/openshell/**",
"!dist/extensions/qwen/**",
"!dist/extensions/searxng/**",
"!dist/extensions/signal/**",
"!dist/extensions/slack/**",
"!dist/extensions/sms/**",
"!dist/extensions/stepfun/**",
"!dist/extensions/synthetic/**",
"!dist/extensions/synology-chat/**",
"!dist/extensions/tavily/**",
"!dist/extensions/teams-meetings/**",
"!dist/extensions/tencent/**",
"!dist/extensions/tokenjuice/**",
"!dist/extensions/tlon/**",
"!dist/extensions/twitch/**",
"!dist/extensions/venice/**",
"!dist/extensions/vercel-ai-gateway/**",
"!dist/extensions/voice-call/**",
"!dist/extensions/volcengine/**",
"!dist/extensions/voyage/**",
"!dist/extensions/vydra/**",
"!dist/extensions/whatsapp/**",
"!dist/extensions/xiaomi/**",
"!dist/extensions/zai/**",
"!dist/extensions/zalo/**",
"!dist/extensions/zalouser/**",
"!dist/extensions/zoom-meetings/**",
"!dist/plugin-sdk/extensions/qa-channel/**",
"!dist/plugin-sdk/extensions/qa-lab/**",
"!dist/plugin-sdk/qa-channel.*",
"!dist/plugin-sdk/qa-channel-protocol.*",
"!dist/plugin-sdk/qa-lab.*",
"!dist/plugin-sdk/qa-runtime.*",
"!dist/plugin-sdk/src/**",
"!dist/plugin-sdk/src/plugin-sdk/qa-channel.d.ts",
"!dist/plugin-sdk/src/plugin-sdk/qa-channel-protocol.d.ts",
"!dist/plugin-sdk/src/plugin-sdk/qa-lab.d.ts",
"!dist/plugin-sdk/src/plugin-sdk/qa-runtime.d.ts",
"!dist/qa-runtime-*.js",
"docs/",
"!docs/.generated/**",
"!docs/channels/qa-channel.md",
"!docs/assets/**",
"!docs/images/**",
"!docs/**/*.jpg",
"!docs/**/*.png",
"src/agents/templates/",
"scripts/crabbox-routing-policy.mts",
"scripts/crabbox-wrapper-providers.mts",
"scripts/crabbox-wrapper.mjs",
"scripts/crabbox-wrapper.mts",
"scripts/testbox-lease-freshness.mts",
"scripts/lib/tsx-cli-shim.mjs",
"patches/",
"skills/",
"scripts/prepare-git-hooks.mjs",
"scripts/preinstall-package-manager-warning.mjs",
"scripts/lib/official-external-channel-catalog.json",
"scripts/lib/official-external-plugin-catalog.json",
"scripts/lib/official-external-provider-catalog.json",
"scripts/lib/guard-inventory-utils.mjs",
"scripts/lib/package-dist-imports.mjs",
"scripts/lib/recommended-tool-installs.json",
"scripts/postinstall-bundled-plugins.mjs",
"scripts/windows-cmd-helpers.mjs"
],
"type": "module",
"main": "dist/index.js",
"exports": {
".": "./dist/index.js",
"./plugin-sdk/core": {
"types": "./dist/plugin-sdk/core.d.ts",
"default": "./dist/plugin-sdk/core.js"
},
"./plugin-sdk/provider-setup": {
"default": "./dist/plugin-sdk/provider-setup.js"
},
"./plugin-sdk/sandbox": {
"default": "./dist/plugin-sdk/sandbox.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/health": {
"types": "./dist/plugin-sdk/health.d.ts",
"default": "./dist/plugin-sdk/health.js"
},
"./plugin-sdk/doctor-repair-runtime": {
"default": "./dist/plugin-sdk/doctor-repair-runtime.js"
},
"./plugin-sdk/model-ref-parse": {
"default": "./dist/plugin-sdk/model-ref-parse.js"
},
"./plugin-sdk/outbound-echo-runtime": {
"default": "./dist/plugin-sdk/outbound-echo-runtime.js"
},
"./plugin-sdk/secret-provider-alias": {
"default": "./dist/plugin-sdk/secret-provider-alias.js"
},
"./plugin-sdk/session-store-paths": {
"default": "./dist/plugin-sdk/session-store-paths.js"
},
"./plugin-sdk/plugin-state-store-runtime": {
"default": "./dist/plugin-sdk/plugin-state-store-runtime.js"
},
"./plugin-sdk/runtime-doctor": {
"default": "./dist/plugin-sdk/runtime-doctor.js"
},
"./plugin-sdk/runtime-doctor-migrations": {
"default": "./dist/plugin-sdk/runtime-doctor-migrations.js"
},
"./plugin-sdk/runtime-env": {
"types": "./dist/plugin-sdk/runtime-env.d.ts",
"default": "./dist/plugin-sdk/runtime-env.js"
},
"./plugin-sdk/proxy-capture": {
"types": "./dist/plugin-sdk/proxy-capture.d.ts",
"default": "./dist/plugin-sdk/proxy-capture.js"
},
"./plugin-sdk/setup": {
"types": "./dist/plugin-sdk/setup.d.ts",
"default": "./dist/plugin-sdk/setup.js"
},
"./plugin-sdk/setup-runtime": {
"types": "./dist/plugin-sdk/setup-runtime.d.ts",
"default": "./dist/plugin-sdk/setup-runtime.js"
},
"./plugin-sdk/channel-setup": {
"types": "./dist/plugin-sdk/channel-setup.d.ts",
"default": "./dist/plugin-sdk/channel-setup.js"
},
"./plugin-sdk/channel-streaming": {
"types": "./dist/plugin-sdk/channel-streaming.d.ts",
"default": "./dist/plugin-sdk/channel-streaming.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/setup-tools": {
"types": "./dist/plugin-sdk/setup-tools.d.ts",
"default": "./dist/plugin-sdk/setup-tools.js"
},
"./plugin-sdk/archive": {
"types": "./dist/plugin-sdk/archive.d.ts",
"default": "./dist/plugin-sdk/archive.js"
},
"./plugin-sdk/root-walk": {
"types": "./dist/plugin-sdk/root-walk.d.ts",
"default": "./dist/plugin-sdk/root-walk.js"
},
"./plugin-sdk/secret-file": {
"types": "./dist/plugin-sdk/secret-file.d.ts",
"default": "./dist/plugin-sdk/secret-file.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/approval-client-runtime": {
"types": "./dist/plugin-sdk/approval-client-runtime.d.ts",
"default": "./dist/plugin-sdk/approval-client-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-gateway-runtime": {
"types": "./dist/plugin-sdk/approval-gateway-runtime.d.ts",
"default": "./dist/plugin-sdk/approval-gateway-runtime.js"
},
"./plugin-sdk/approval-reference-runtime": {
"default": "./dist/plugin-sdk/approval-reference-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/approval-handler-runtime": {
"types": "./dist/plugin-sdk/approval-handler-runtime.d.ts",
"default": "./dist/plugin-sdk/approval-handler-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/approval-native-runtime": {
"types": "./dist/plugin-sdk/approval-native-runtime.d.ts",
"default": "./dist/plugin-sdk/approval-native-runtime.js"
},
"./plugin-sdk/approval-reaction-runtime": {
"default": "./dist/plugin-sdk/approval-reaction-runtime.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/approval-runtime": {
"types": "./dist/plugin-sdk/approval-runtime.d.ts",
"default": "./dist/plugin-sdk/approval-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/config-runtime": {
"types": "./dist/plugin-sdk/config-runtime.d.ts",
"default": "./dist/plugin-sdk/config-runtime.js"
},
"./plugin-sdk/config-contracts": {
"types": "./dist/plugin-sdk/config-contracts.d.ts",
"default": "./dist/plugin-sdk/config-contracts.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/config-mutation": {
"types": "./dist/plugin-sdk/config-mutation.d.ts",
"default": "./dist/plugin-sdk/config-mutation.js"
},
"./plugin-sdk/cron-store-runtime": {
"default": "./dist/plugin-sdk/cron-store-runtime.js"
},
"./plugin-sdk/json-schema-runtime": {
"default": "./dist/plugin-sdk/json-schema-runtime.js"
},
"./plugin-sdk/json-unsafe-integers": {
"default": "./dist/plugin-sdk/json-unsafe-integers.js"
},
"./plugin-sdk/reply-runtime": {
"types": "./dist/plugin-sdk/reply-runtime.d.ts",
"default": "./dist/plugin-sdk/reply-runtime.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/reply-reference": {
"default": "./dist/plugin-sdk/reply-reference.js"
},
"./plugin-sdk/reply-chunking": {
"types": "./dist/plugin-sdk/reply-chunking.d.ts",
"default": "./dist/plugin-sdk/reply-chunking.js"
},
"./plugin-sdk/reply-payload": {
"types": "./dist/plugin-sdk/reply-payload.d.ts",
"default": "./dist/plugin-sdk/reply-payload.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/inbound-reply-dispatch": {
"types": "./dist/plugin-sdk/inbound-reply-dispatch.d.ts",
"default": "./dist/plugin-sdk/inbound-reply-dispatch.js"
},
"./plugin-sdk/inbound-envelope": {
"types": "./dist/plugin-sdk/inbound-envelope.d.ts",
"default": "./dist/plugin-sdk/inbound-envelope.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/channel-reply-pipeline": {
"types": "./dist/plugin-sdk/channel-reply-pipeline.d.ts",
"default": "./dist/plugin-sdk/channel-reply-pipeline.js"
},
"./plugin-sdk/interactive-runtime": {
"types": "./dist/plugin-sdk/interactive-runtime.d.ts",
"default": "./dist/plugin-sdk/interactive-runtime.js"
},
"./plugin-sdk/outbound-media": {
"default": "./dist/plugin-sdk/outbound-media.js"
},
"./plugin-sdk/pair-loop-guard-runtime": {
"default": "./dist/plugin-sdk/pair-loop-guard-runtime.js"
},
"./plugin-sdk/poll-runtime": {
"default": "./dist/plugin-sdk/poll-runtime.js"
},
"./plugin-sdk/async-lock-runtime": {
"default": "./dist/plugin-sdk/async-lock-runtime.js"
},
"./plugin-sdk/channel-activity-runtime": {
"default": "./dist/plugin-sdk/channel-activity-runtime.js"
},
"./plugin-sdk/concurrency-runtime": {
"default": "./dist/plugin-sdk/concurrency-runtime.js"
},
"./plugin-sdk/dedupe-runtime": {
"types": "./dist/plugin-sdk/dedupe-runtime.d.ts",
"default": "./dist/plugin-sdk/dedupe-runtime.js"
},
"./plugin-sdk/delivery-queue-runtime": {
"default": "./dist/plugin-sdk/delivery-queue-runtime.js"
},
"./plugin-sdk/file-access-runtime": {
"default": "./dist/plugin-sdk/file-access-runtime.js"
},
"./plugin-sdk/heartbeat-runtime": {
"default": "./dist/plugin-sdk/heartbeat-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/secure-random-runtime": {
"default": "./dist/plugin-sdk/secure-random-runtime.js"
},
"./plugin-sdk/system-event-runtime": {
"default": "./dist/plugin-sdk/system-event-runtime.js"
},
"./plugin-sdk/transport-ready-runtime": {
"default": "./dist/plugin-sdk/transport-ready-runtime.js"
},
"./plugin-sdk/exec-approvals-runtime": {
"default": "./dist/plugin-sdk/exec-approvals-runtime.js"
},
"./plugin-sdk/infra-runtime": {
"types": "./dist/plugin-sdk/infra-runtime.d.ts",
"default": "./dist/plugin-sdk/infra-runtime.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/runtime-group-policy": {
"types": "./dist/plugin-sdk/runtime-group-policy.d.ts",
"default": "./dist/plugin-sdk/runtime-group-policy.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/talk-config-runtime": {
"default": "./dist/plugin-sdk/talk-config-runtime.js"
},
"./plugin-sdk/ssrf-policy": {
"types": "./dist/plugin-sdk/ssrf-policy.d.ts",
"default": "./dist/plugin-sdk/ssrf-policy.js"
},
"./plugin-sdk/ssrf-runtime": {
"types": "./dist/plugin-sdk/ssrf-runtime.d.ts",
"default": "./dist/plugin-sdk/ssrf-runtime.js"
},
"./plugin-sdk/media-runtime": {
"types": "./dist/plugin-sdk/media-runtime.d.ts",
"default": "./dist/plugin-sdk/media-runtime.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/media-store": {
"types": "./dist/plugin-sdk/media-store.d.ts",
"default": "./dist/plugin-sdk/media-store.js"
},
"./plugin-sdk/media-mime": {
"types": "./dist/plugin-sdk/media-mime.d.ts",
"default": "./dist/plugin-sdk/media-mime.js"
},
"./plugin-sdk/embedding-providers": {
"default": "./dist/plugin-sdk/embedding-providers.js"
},
"./plugin-sdk/media-generation-runtime": {
"default": "./dist/plugin-sdk/media-generation-runtime.js"
},
"./plugin-sdk/conversation-binding-runtime": {
"default": "./dist/plugin-sdk/conversation-binding-runtime.js"
},
"./plugin-sdk/conversation-runtime": {
"types": "./dist/plugin-sdk/conversation-runtime.d.ts",
"default": "./dist/plugin-sdk/conversation-runtime.js"
},
"./plugin-sdk/thread-bindings-runtime": {
"default": "./dist/plugin-sdk/thread-bindings-runtime.js"
},
"./plugin-sdk/thread-bindings-session-runtime": {
"default": "./dist/plugin-sdk/thread-bindings-session-runtime.js"
},
"./plugin-sdk/text-runtime": {
"types": "./dist/plugin-sdk/text-runtime.d.ts",
"default": "./dist/plugin-sdk/text-runtime.js"
},
"./plugin-sdk/text-chunking": {
"types": "./dist/plugin-sdk/text-chunking.d.ts",
"default": "./dist/plugin-sdk/text-chunking.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/agent-runtime": {
"types": "./dist/plugin-sdk/agent-runtime.d.ts",
"default": "./dist/plugin-sdk/agent-runtime.js"
},
"./plugin-sdk/simple-completion-runtime": {
"default": "./dist/plugin-sdk/simple-completion-runtime.js"
},
"./plugin-sdk/speech-core": {
"default": "./dist/plugin-sdk/speech-core.js"
},
"./plugin-sdk/speech-settings": {
"types": "./dist/plugin-sdk/speech-settings.d.ts",
"default": "./dist/plugin-sdk/speech-settings.js"
},
"./plugin-sdk/tts-runtime": {
"default": "./dist/plugin-sdk/tts-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/plugin-runtime": {
"types": "./dist/plugin-sdk/plugin-runtime.d.ts",
"default": "./dist/plugin-sdk/plugin-runtime.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-runtime": {
"types": "./dist/plugin-sdk/channel-secret-runtime.d.ts",
"default": "./dist/plugin-sdk/channel-secret-runtime.js"
},
"./plugin-sdk/channel-secret-tts-runtime": {
"default": "./dist/plugin-sdk/channel-secret-tts-runtime.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/secret-file-runtime": {
"default": "./dist/plugin-sdk/secret-file-runtime.js"
},
"./plugin-sdk/security-runtime": {
"types": "./dist/plugin-sdk/security-runtime.d.ts",
"default": "./dist/plugin-sdk/security-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/gateway-runtime": {
"types": "./dist/plugin-sdk/gateway-runtime.d.ts",
"default": "./dist/plugin-sdk/gateway-runtime.js"
},
"./plugin-sdk/cli-argv": {
"types": "./dist/plugin-sdk/cli-argv.d.ts",
"default": "./dist/plugin-sdk/cli-argv.js"
},
"./plugin-sdk/cli-runtime": {
"default": "./dist/plugin-sdk/cli-runtime.js"
},
"./plugin-sdk/cli-backend": {
"default": "./dist/plugin-sdk/cli-backend.js"
},
"./plugin-sdk/codex-mcp-projection": {
"default": "./dist/plugin-sdk/codex-mcp-projection.js"
},
"./plugin-sdk/codex-session-transcript-runtime": {
"default": "./dist/plugin-sdk/codex-session-transcript-runtime.js"
},
"./plugin-sdk/agent-harness-task-runtime": {
"default": "./dist/plugin-sdk/agent-harness-task-runtime.js"
},
"./plugin-sdk/agent-harness": {
"types": "./dist/plugin-sdk/agent-harness.d.ts",
"default": "./dist/plugin-sdk/agent-harness.js"
},
"./plugin-sdk/agent-harness-exec-review-runtime": {
"default": "./dist/plugin-sdk/agent-harness-exec-review-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/agent-harness-tool-runtime": {
"default": "./dist/plugin-sdk/agent-harness-tool-runtime.js"
},
"./plugin-sdk/hook-runtime": {
"types": "./dist/plugin-sdk/hook-runtime.d.ts",
"default": "./dist/plugin-sdk/hook-runtime.js"
},
"./plugin-sdk/html-entity-runtime": {
"default": "./dist/plugin-sdk/html-entity-runtime.js"
},
"./plugin-sdk/host-runtime": {
"default": "./dist/plugin-sdk/host-runtime.js"
},
"./plugin-sdk/types": {
"default": "./dist/plugin-sdk/types.js"
},
"./plugin-sdk/process-runtime": {
"default": "./dist/plugin-sdk/process-runtime.js"
},
"./plugin-sdk/windows-spawn": {
"default": "./dist/plugin-sdk/windows-spawn.js"
},
"./plugin-sdk/acp-runtime": {
"default": "./dist/plugin-sdk/acp-runtime.js"
},
"./plugin-sdk/acp-runtime-backend": {
"default": "./dist/plugin-sdk/acp-runtime-backend.js"
},
"./plugin-sdk/acp-binding-runtime": {
"default": "./dist/plugin-sdk/acp-binding-runtime.js"
},
"./plugin-sdk/acp-binding-resolve-runtime": {
"default": "./dist/plugin-sdk/acp-binding-resolve-runtime.js"
},
"./plugin-sdk/lazy-runtime": {
"types": "./dist/plugin-sdk/lazy-runtime.d.ts",
"default": "./dist/plugin-sdk/lazy-runtime.js"
},
"./plugin-sdk/temp-path": {
"types": "./dist/plugin-sdk/temp-path.d.ts",
"default": "./dist/plugin-sdk/temp-path.js"
},
"./plugin-sdk/time-runtime": {
"default": "./dist/plugin-sdk/time-runtime.js"
},
"./plugin-sdk/logging-core": {
"types": "./dist/plugin-sdk/logging-core.d.ts",
"default": "./dist/plugin-sdk/logging-core.js"
},
"./plugin-sdk/migration": {
"default": "./dist/plugin-sdk/migration.js"
},
"./plugin-sdk/migration-runtime": {
"default": "./dist/plugin-sdk/migration-runtime.js"
},
"./plugin-sdk/plugin-state-runtime": {
"default": "./dist/plugin-sdk/plugin-state-runtime.js"
},
"./plugin-sdk/markdown-table-runtime": {
"default": "./dist/plugin-sdk/markdown-table-runtime.js"
},
"./plugin-sdk/account-helpers": {
"types": "./dist/plugin-sdk/account-helpers.d.ts",
"default": "./dist/plugin-sdk/account-helpers.js"
},
"./plugin-sdk/account-core": {
"types": "./dist/plugin-sdk/account-core.d.ts",
"default": "./dist/plugin-sdk/account-core.js"
},
"./plugin-sdk/account-id": {
"types": "./dist/plugin-sdk/account-id.d.ts",
"default": "./dist/plugin-sdk/account-id.js"
},
"./plugin-sdk/account-resolution": {
"types": "./dist/plugin-sdk/account-resolution.d.ts",
"default": "./dist/plugin-sdk/account-resolution.js"
},
"./plugin-sdk/account-resolution-runtime": {
"default": "./dist/plugin-sdk/account-resolution-runtime.js"
},
"./plugin-sdk/agent-config-primitives": {
"types": "./dist/plugin-sdk/agent-config-primitives.d.ts",
"default": "./dist/plugin-sdk/agent-config-primitives.js"
},
"./plugin-sdk/access-groups": {
"default": "./dist/plugin-sdk/access-groups.js"
},
"./plugin-sdk/allow-from": {
"types": "./dist/plugin-sdk/allow-from.d.ts",
"default": "./dist/plugin-sdk/allow-from.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/browser-config": {
"default": "./dist/plugin-sdk/browser-config.js"
},
"./plugin-sdk/boolean-param": {
"types": "./dist/plugin-sdk/boolean-param.d.ts",
"default": "./dist/plugin-sdk/boolean-param.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/dangerous-name-runtime": {
"default": "./dist/plugin-sdk/dangerous-name-runtime.js"
},
"./plugin-sdk/command-auth": {
"types": "./dist/plugin-sdk/command-auth.d.ts",
"default": "./dist/plugin-sdk/command-auth.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/command-primitives-runtime": {
"types": "./dist/plugin-sdk/command-primitives-runtime.d.ts",
"default": "./dist/plugin-sdk/command-primitives-runtime.js"
},
"./plugin-sdk/command-status": {
"types": "./dist/plugin-sdk/command-status.d.ts",
"default": "./dist/plugin-sdk/command-status.js"
},
"./plugin-sdk/command-status-runtime": {
"default": "./dist/plugin-sdk/command-status-runtime.js"
},
"./plugin-sdk/command-detection": {
"types": "./dist/plugin-sdk/command-detection.d.ts",
"default": "./dist/plugin-sdk/command-detection.js"
},
"./plugin-sdk/command-surface": {
"default": "./dist/plugin-sdk/command-surface.js"
},
"./plugin-sdk/collection-runtime": {
"types": "./dist/plugin-sdk/collection-runtime.d.ts",
"default": "./dist/plugin-sdk/collection-runtime.js"
},
"./plugin-sdk/direct-dm-guard-policy": {
"default": "./dist/plugin-sdk/direct-dm-guard-policy.js"
},
"./plugin-sdk/discord": {
"types": "./dist/plugin-sdk/discord.d.ts",
"default": "./dist/plugin-sdk/discord.js"
},
"./plugin-sdk/matrix": {
"types": "./dist/plugin-sdk/matrix.d.ts",
"default": "./dist/plugin-sdk/matrix.js"
},
"./plugin-sdk/device-bootstrap": {
"types": "./dist/plugin-sdk/device-bootstrap.d.ts",
"default": "./dist/plugin-sdk/device-bootstrap.js"
},
"./plugin-sdk/diagnostic-runtime": {
"types": "./dist/plugin-sdk/diagnostic-runtime.d.ts",
"default": "./dist/plugin-sdk/diagnostic-runtime.js"
},
"./plugin-sdk/error-runtime": {
"types": "./dist/plugin-sdk/error-runtime.d.ts",
"default": "./dist/plugin-sdk/error-runtime.js"
},
"./plugin-sdk/extension-shared": {
"types": "./dist/plugin-sdk/extension-shared.d.ts",
"default": "./dist/plugin-sdk/extension-shared.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-config-writes": {
"default": "./dist/plugin-sdk/channel-config-writes.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/channel-config-schema": {
"types": "./dist/plugin-sdk/channel-config-schema.d.ts",
"default": "./dist/plugin-sdk/channel-config-schema.js"
},
"./plugin-sdk/bundled-channel-config-schema": {
"default": "./dist/plugin-sdk/bundled-channel-config-schema.js"
},
"./plugin-sdk/chat-channel-ids": {
"default": "./dist/plugin-sdk/chat-channel-ids.js"
},
"./plugin-sdk/channel-actions": {
"types": "./dist/plugin-sdk/channel-actions.d.ts",
"default": "./dist/plugin-sdk/channel-actions.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/channel-core": {
"types": "./dist/plugin-sdk/channel-core.d.ts",
"default": "./dist/plugin-sdk/channel-core.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-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-inbound": {
"types": "./dist/plugin-sdk/channel-inbound.d.ts",
"default": "./dist/plugin-sdk/channel-inbound.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-logging": {
"types": "./dist/plugin-sdk/channel-logging.d.ts",
"default": "./dist/plugin-sdk/channel-logging.js"
},
"./plugin-sdk/channel-mention-gating": {
"default": "./dist/plugin-sdk/channel-mention-gating.js"
},
"./plugin-sdk/channel-lifecycle": {
"types": "./dist/plugin-sdk/channel-lifecycle.d.ts",
"default": "./dist/plugin-sdk/channel-lifecycle.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-message": {
"types": "./dist/plugin-sdk/channel-message.d.ts",
"default": "./dist/plugin-sdk/channel-message.js"
},
"./plugin-sdk/channel-outbound": {
"types": "./dist/plugin-sdk/channel-outbound.d.ts",
"default": "./dist/plugin-sdk/channel-outbound.js"
},
"./plugin-sdk/channel-pairing": {
"types": "./dist/plugin-sdk/channel-pairing.d.ts",
"default": "./dist/plugin-sdk/channel-pairing.js"
},
"./plugin-sdk/channel-policy": {
"types": "./dist/plugin-sdk/channel-policy.d.ts",
"default": "./dist/plugin-sdk/channel-policy.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/channel-route": {
"default": "./dist/plugin-sdk/channel-route.js"
},
"./plugin-sdk/channel-targets": {
"default": "./dist/plugin-sdk/channel-targets.js"
},
"./plugin-sdk/context-visibility-runtime": {
"default": "./dist/plugin-sdk/context-visibility-runtime.js"
},
"./plugin-sdk/file-lock": {
"default": "./dist/plugin-sdk/file-lock.js"
},
"./plugin-sdk/fetch-runtime": {
"default": "./dist/plugin-sdk/fetch-runtime.js"
},
"./plugin-sdk/runtime-fetch": {
"default": "./dist/plugin-sdk/runtime-fetch.js"
},
"./plugin-sdk/inline-image-data-url-runtime": {
"default": "./dist/plugin-sdk/inline-image-data-url-runtime.js"
},
"./plugin-sdk/node-host": {
"default": "./dist/plugin-sdk/node-host.js"
},
"./plugin-sdk/response-limit-runtime": {
"default": "./dist/plugin-sdk/response-limit-runtime.js"
},
"./plugin-sdk/session-binding-runtime": {
"default": "./dist/plugin-sdk/session-binding-runtime.js"
},
"./plugin-sdk/session-catalog": {
"types": "./dist/plugin-sdk/session-catalog.d.ts",
"default": "./dist/plugin-sdk/session-catalog.js"
},
"./plugin-sdk/session-catalog-runtime": {
"default": "./dist/plugin-sdk/session-catalog-runtime.js"
},
"./plugin-sdk/session-discussion": {
"types": "./dist/plugin-sdk/session-discussion.d.ts",
"default": "./dist/plugin-sdk/session-discussion.js"
},
"./plugin-sdk/session-key-runtime": {
"default": "./dist/plugin-sdk/session-key-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/session-transcript-runtime": {
"default": "./dist/plugin-sdk/session-transcript-runtime.js"
},
"./plugin-sdk/sqlite-runtime": {
"default": "./dist/plugin-sdk/sqlite-runtime.js"
},
"./plugin-sdk/session-transcript-hit": {
"default": "./dist/plugin-sdk/session-transcript-hit.js"
},
"./plugin-sdk/session-visibility": {
"default": "./dist/plugin-sdk/session-visibility.js"
},
"./plugin-sdk/ssrf-dispatcher": {
"default": "./dist/plugin-sdk/ssrf-dispatcher.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/group-activation": {
"default": "./dist/plugin-sdk/group-activation.js"
},
"./plugin-sdk/group-access": {
"types": "./dist/plugin-sdk/group-access.d.ts",
"default": "./dist/plugin-sdk/group-access.js"
},
"./plugin-sdk/global-singleton": {
"default": "./dist/plugin-sdk/global-singleton.js"
},
"./plugin-sdk/directory-config-runtime": {
"default": "./dist/plugin-sdk/directory-config-runtime.js"
},
"./plugin-sdk/directory-runtime": {
"types": "./dist/plugin-sdk/directory-runtime.d.ts",
"default": "./dist/plugin-sdk/directory-runtime.js"
},
"./plugin-sdk/image-generation": {
"default": "./dist/plugin-sdk/image-generation.js"
},
"./plugin-sdk/image-generation-runtime": {
"default": "./dist/plugin-sdk/image-generation-runtime.js"
},
"./plugin-sdk/image-generation-core": {
"default": "./dist/plugin-sdk/image-generation-core.js"
},
"./plugin-sdk/music-generation": {
"default": "./dist/plugin-sdk/music-generation.js"
},
"./plugin-sdk/video-generation": {
"default": "./dist/plugin-sdk/video-generation.js"
},
"./plugin-sdk/video-generation-runtime": {
"default": "./dist/plugin-sdk/video-generation-runtime.js"
},
"./plugin-sdk/video-generation-core": {
"default": "./dist/plugin-sdk/video-generation-core.js"
},
"./plugin-sdk/reply-history": {
"types": "./dist/plugin-sdk/reply-history.d.ts",
"default": "./dist/plugin-sdk/reply-history.js"
},
"./plugin-sdk/realtime-transcription": {
"default": "./dist/plugin-sdk/realtime-transcription.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/realtime-voice-activation": {
"default": "./dist/plugin-sdk/realtime-voice-activation.js"
},
"./plugin-sdk/realtime-voice": {
"default": "./dist/plugin-sdk/realtime-voice.js"
},
"./plugin-sdk/meeting-runtime": {
"types": "./dist/plugin-sdk/meeting-runtime.d.ts",
"default": "./dist/plugin-sdk/meeting-runtime.js"
},
"./plugin-sdk/transcripts": {
"default": "./dist/plugin-sdk/transcripts.js"
},
"./plugin-sdk/media-understanding": {
"types": "./dist/plugin-sdk/media-understanding.d.ts",
"default": "./dist/plugin-sdk/media-understanding.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/messaging-targets": {
"types": "./dist/plugin-sdk/messaging-targets.d.ts",
"default": "./dist/plugin-sdk/messaging-targets.js"
},
"./plugin-sdk/request-url": {
"default": "./dist/plugin-sdk/request-url.js"
},
"./plugin-sdk/runtime-store": {
"types": "./dist/plugin-sdk/runtime-store.d.ts",
"default": "./dist/plugin-sdk/runtime-store.js"
},
"./plugin-sdk/json-store": {
"types": "./dist/plugin-sdk/json-store.d.ts",
"default": "./dist/plugin-sdk/json-store.js"
},
"./plugin-sdk/persistent-dedupe": {
"types": "./dist/plugin-sdk/persistent-dedupe.d.ts",
"default": "./dist/plugin-sdk/persistent-dedupe.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/keyed-async-queue": {
"default": "./dist/plugin-sdk/keyed-async-queue.js"
},
"./plugin-sdk/qa-runner-runtime": {
"default": "./dist/plugin-sdk/qa-runner-runtime.js"
},
"./plugin-sdk/memory-core-host-embedding-registry": {
"default": "./dist/plugin-sdk/memory-core-host-embedding-registry.js"
},
"./plugin-sdk/memory-core-host-engine-embeddings": {
"default": "./dist/plugin-sdk/memory-core-host-engine-embeddings.js"
},
"./plugin-sdk/memory-core-host-engine-curated": {
"default": "./dist/plugin-sdk/memory-core-host-engine-curated.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-engine-fs": {
"default": "./dist/plugin-sdk/memory-core-host-engine-fs.js"
},
"./plugin-sdk/memory-core-host-engine-sessions": {
"default": "./dist/plugin-sdk/memory-core-host-engine-sessions.js"
},
"./plugin-sdk/memory-core-host-engine-schema": {
"default": "./dist/plugin-sdk/memory-core-host-engine-schema.js"
},
"./plugin-sdk/memory-core-host-engine-storage": {
"default": "./dist/plugin-sdk/memory-core-host-engine-storage.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/memory-core-host-runtime-cli": {
"default": "./dist/plugin-sdk/memory-core-host-runtime-cli.js"
},
"./plugin-sdk/memory-core-host-runtime-core": {
"default": "./dist/plugin-sdk/memory-core-host-runtime-core.js"
},
"./plugin-sdk/memory-core-host-runtime-files": {
"default": "./dist/plugin-sdk/memory-core-host-runtime-files.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/memory-host-events": {
"default": "./dist/plugin-sdk/memory-host-events.js"
},
"./plugin-sdk/memory-host-markdown": {
"default": "./dist/plugin-sdk/memory-host-markdown.js"
},
"./plugin-sdk/memory-host-search": {
"default": "./dist/plugin-sdk/memory-host-search.js"
},
"./plugin-sdk/message-tool-delivery-hints": {
"default": "./dist/plugin-sdk/message-tool-delivery-hints.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/skill-commands-runtime": {
"types": "./dist/plugin-sdk/skill-commands-runtime.d.ts",
"default": "./dist/plugin-sdk/skill-commands-runtime.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/native-command-registry": {
"types": "./dist/plugin-sdk/native-command-registry.d.ts",
"default": "./dist/plugin-sdk/native-command-registry.js"
},
"./plugin-sdk/provider-auth": {
"types": "./dist/plugin-sdk/provider-auth.d.ts",
"default": "./dist/plugin-sdk/provider-auth.js"
},
"./plugin-sdk/provider-oauth-runtime": {
"default": "./dist/plugin-sdk/provider-oauth-runtime.js"
},
"./plugin-sdk/provider-auth-runtime": {
"default": "./dist/plugin-sdk/provider-auth-runtime.js"
},
"./plugin-sdk/provider-auth-login-flow-runtime": {
"default": "./dist/plugin-sdk/provider-auth-login-flow-runtime.js"
},
"./plugin-sdk/provider-auth-api-key": {
"default": "./dist/plugin-sdk/provider-auth-api-key.js"
},
"./plugin-sdk/provider-auth-result": {
"default": "./dist/plugin-sdk/provider-auth-result.js"
},
"./plugin-sdk/provider-selection-runtime": {
"default": "./dist/plugin-sdk/provider-selection-runtime.js"
},
"./plugin-sdk/plugin-entry": {
"types": "./dist/plugin-sdk/plugin-entry.d.ts",
"default": "./dist/plugin-sdk/plugin-entry.js"
},
"./plugin-sdk/provider-catalog-live-runtime": {
"default": "./dist/plugin-sdk/provider-catalog-live-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/provider-catalog-shared": {
"default": "./dist/plugin-sdk/provider-catalog-shared.js"
},
"./plugin-sdk/provider-entry": {
"default": "./dist/plugin-sdk/provider-entry.js"
},
"./plugin-sdk/provider-env-vars": {
"default": "./dist/plugin-sdk/provider-env-vars.js"
},
"./plugin-sdk/provider-http": {
"default": "./dist/plugin-sdk/provider-http.js"
},
"./plugin-sdk/provider-model-types": {
"default": "./dist/plugin-sdk/provider-model-types.js"
},
"./plugin-sdk/provider-model-shared": {
"default": "./dist/plugin-sdk/provider-model-shared.js"
},
"./plugin-sdk/provider-onboard": {
"default": "./dist/plugin-sdk/provider-onboard.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/provider-transport-runtime": {
"default": "./dist/plugin-sdk/provider-transport-runtime.js"
},
"./plugin-sdk/provider-stream": {
"default": "./dist/plugin-sdk/provider-stream.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/document-extractor": {
"default": "./dist/plugin-sdk/document-extractor.js"
},
"./plugin-sdk/web-content-extractor": {
"default": "./dist/plugin-sdk/web-content-extractor.js"
},
"./plugin-sdk/provider-web-fetch-contract": {
"default": "./dist/plugin-sdk/provider-web-fetch-contract.js"
},
"./plugin-sdk/provider-web-fetch": {
"default": "./dist/plugin-sdk/provider-web-fetch.js"
},
"./plugin-sdk/provider-web-search-config-contract": {
"default": "./dist/plugin-sdk/provider-web-search-config-contract.js"
},
"./plugin-sdk/provider-web-search-contract": {
"default": "./dist/plugin-sdk/provider-web-search-contract.js"
},
"./plugin-sdk/provider-web-search": {
"default": "./dist/plugin-sdk/provider-web-search.js"
},
"./plugin-sdk/retry-runtime": {
"default": "./dist/plugin-sdk/retry-runtime.js"
},
"./plugin-sdk/run-command": {
"types": "./dist/plugin-sdk/run-command.d.ts",
"default": "./dist/plugin-sdk/run-command.js"
},
"./plugin-sdk/param-readers": {
"types": "./dist/plugin-sdk/param-readers.d.ts",
"default": "./dist/plugin-sdk/param-readers.js"
},
"./plugin-sdk/secret-input": {
"types": "./dist/plugin-sdk/secret-input.d.ts",
"default": "./dist/plugin-sdk/secret-input.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/channel-status": {
"types": "./dist/plugin-sdk/channel-status.d.ts",
"default": "./dist/plugin-sdk/channel-status.js"
},
"./plugin-sdk/status-helpers": {
"types": "./dist/plugin-sdk/status-helpers.d.ts",
"default": "./dist/plugin-sdk/status-helpers.js"
},
"./plugin-sdk/speech": {
"default": "./dist/plugin-sdk/speech.js"
},
"./plugin-sdk/string-normalization-runtime": {
"default": "./dist/plugin-sdk/string-normalization-runtime.js"
},
"./plugin-sdk/state-paths": {
"types": "./dist/plugin-sdk/state-paths.d.ts",
"default": "./dist/plugin-sdk/state-paths.js"
},
"./plugin-sdk/target-resolver-runtime": {
"default": "./dist/plugin-sdk/target-resolver-runtime.js"
},
"./plugin-sdk/telegram-account": {
"types": "./dist/plugin-sdk/telegram-account.d.ts",
"default": "./dist/plugin-sdk/telegram-account.js"
},
"./plugin-sdk/text-autolink-runtime": {
"default": "./dist/plugin-sdk/text-autolink-runtime.js"
},
"./plugin-sdk/text-utility-runtime": {
"default": "./dist/plugin-sdk/text-utility-runtime.js"
},
"./plugin-sdk/widget-html": {
"types": "./dist/plugin-sdk/widget-html.d.ts",
"default": "./dist/plugin-sdk/widget-html.js"
},
"./plugin-sdk/tool-plugin": {
"types": "./dist/plugin-sdk/tool-plugin.d.ts",
"default": "./dist/plugin-sdk/tool-plugin.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/tool-send": {
"types": "./dist/plugin-sdk/tool-send.d.ts",
"default": "./dist/plugin-sdk/tool-send.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/webhook-request-guards": {
"types": "./dist/plugin-sdk/webhook-request-guards.d.ts",
"default": "./dist/plugin-sdk/webhook-request-guards.js"
},
"./plugin-sdk/web-media": {
"types": "./dist/plugin-sdk/web-media.d.ts",
"default": "./dist/plugin-sdk/web-media.js"
},
"./plugin-sdk/zod": {
"types": "./dist/plugin-sdk/zod.d.ts",
"default": "./dist/plugin-sdk/zod.js"
},
"./plugin-sdk/agent-core": {
"default": "./dist/plugin-sdk/agent-core.js"
},
"./plugin-sdk/agent-sessions": {
"default": "./dist/plugin-sdk/agent-sessions.js"
},
"./plugin-sdk/llm": {
"default": "./dist/plugin-sdk/llm.js"
},
"./cli-entry": "./openclaw.mjs"
},
"scripts": {
"android:assemble": "node --import tsx scripts/run-android-gradle.mts :app:assemblePlayDebug :wear:assembleDebug :wear-shared:assembleDebug",
"android:assemble:third-party": "node --import tsx scripts/run-android-gradle.mts :app:assembleThirdPartyDebug",
"android:bundle:release": "bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android play_store_archive'",
"android:format": "cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat :wear:ktlintFormat :wear-shared:ktlintFormat",
"android:install": "node --import tsx scripts/run-android-gradle.mts :app:installPlayDebug",
"android:install:third-party": "node --import tsx scripts/run-android-gradle.mts :app:installThirdPartyDebug",
"android:lint": "cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck :wear:ktlintCheck :wear-shared:ktlintCheck",
"android:lint:android": "node --import tsx scripts/run-android-gradle.mts :app:lintPlayDebug :app:lintThirdPartyDebug :wear:lintDebug :wear-shared:lintDebug",
"android:run": "node --import tsx scripts/run-android-gradle.mts :app:installPlayDebug -- adb shell am start -n ai.openclaw.app/.MainActivity",
"android:run:third-party": "node --import tsx scripts/run-android-gradle.mts :app:installThirdPartyDebug -- adb shell am start -n ai.openclaw.app/.MainActivity",
"android:release": "bash scripts/android-release.sh",
"android:release:archive": "bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android play_store_archive'",
"android:release:auth:check": "bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android auth_check'",
"android:release:metadata": "bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android metadata'",
"android:release:preflight": "bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android release_preflight'",
"android:release:signing:check": "bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_check'",
"android:release:signing:plan": "bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_plan'",
"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'",
"android:release:upload": "bash scripts/android-release-upload.sh",
"android:screenshots": "bash scripts/android-screenshots.sh",
"android:test": "node --import tsx scripts/run-android-gradle.mts :app:testPlayDebugUnitTest :wear:testDebugUnitTest :wear-shared:testDebugUnitTest",
"android:test:integration": "node --import tsx 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 tsx scripts/run-android-gradle.mts :app:testThirdPartyDebugUnitTest",
"android:version": "node --import tsx scripts/android-version.ts --json",
"android:version:check": "node --import tsx scripts/android-sync-versioning.ts --check",
"android:version:pin": "node --import tsx scripts/android-pin-version.ts",
"android:version:sync": "node --import tsx scripts/android-sync-versioning.ts --write",
"audit:seams": "node --import tsx scripts/audit-seams.mts",
"build": "node --import tsx scripts/build-all.mts",
"build:ci-artifacts": "node --import tsx scripts/build-all.mts ciArtifacts",
"build:docker": "node --import tsx scripts/tsdown-build.mts && node --import tsx scripts/check-cli-bootstrap-imports.mts && node scripts/runtime-postbuild.mjs && node --import tsx scripts/build-stamp.mts && node --import tsx scripts/runtime-postbuild-stamp.mts && pnpm plugins:assets:build && pnpm plugins:assets:copy && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/write-build-info.ts && node --import tsx scripts/write-cli-startup-metadata.ts",
"build:plugin-sdk:dts": "node scripts/run-tsgo.mjs -p tsconfig.plugin-sdk.dts.json --declaration true",
"build:plugin-sdk:strict-smoke": "node --import tsx scripts/tsdown-build.mts && node scripts/runtime-postbuild.mjs && node --import tsx scripts/run-with-env.mts OPENCLAW_PLUGIN_SDK_CANONICAL_DTS=1 -- node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node --import tsx scripts/check-plugin-sdk-exports.mts",
"build:strict-smoke": "pnpm plugins:assets:build && node --import tsx scripts/tsdown-build.mts && node --import tsx scripts/check-cli-bootstrap-imports.mts && node scripts/runtime-postbuild.mjs && node --import tsx scripts/build-stamp.mts && node --import tsx scripts/runtime-postbuild-stamp.mts && node --import tsx scripts/run-with-env.mts OPENCLAW_PLUGIN_SDK_CANONICAL_DTS=1 -- node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node --import tsx scripts/check-plugin-sdk-exports.mts",
"canvas:a2ui:bundle": "node --import tsx scripts/bundle-a2ui.mts",
"canvas:a2ui:native:check": "node --import tsx scripts/sync-native-a2ui.mts --check",
"channels:catalog:check": "node scripts/write-official-channel-catalog.mjs --check",
"channels:catalog:gen": "node scripts/write-official-channel-catalog.mjs --write",
"changed:lanes": "node scripts/changed-lanes.mjs",
"check": "node --import tsx scripts/check.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",
"check:base-config-schema": "node --import tsx scripts/generate-base-config-schema.ts --check",
"check:bundled-channel-config-metadata": "node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check",
"check:changed": "node scripts/check-changed.mjs",
"check:changelog-attributions": "node --import tsx scripts/check-changelog-attributions.mts",
"check:database-first-legacy-stores": "node --import tsx scripts/check-database-first-legacy-stores.mts",
"check:deprecated-api-usage": "node --import tsx scripts/check-deprecated-api-usage.mts",
"check:deprecated-jsdoc": "node --import tsx scripts/check-deprecated-jsdoc.mts",
"check:doctor-deprecation-registry": "node --import tsx scripts/check-doctor-deprecation-registry.ts",
"check:docs": "pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-mdx && pnpm docs:check-i18n-glossary && pnpm docs:check-links && pnpm docs:check-config-examples",
"check:env-var-count": "node --import tsx scripts/check-env-var-count.mts",
"check:host-env-policy:swift": "node --import tsx scripts/generate-host-env-security-policy-swift.mts --check",
"check:import-cycles": "node --import tsx scripts/check-import-cycles.ts",
"check:max-lines-ratchet": "node --import tsx scripts/check-max-lines-ratchet.mts",
"check:madge-import-cycles": "node --import tsx scripts/check-madge-import-cycles.ts",
"check:media-download-helpers": "node --import tsx scripts/check-media-download-helper-roundtrip.mts",
"check:no-conflict-markers": "node scripts/check-no-conflict-markers.mjs",
"check:no-runtime-action-load-config": "node --import tsx scripts/check-no-runtime-action-load-config.mts",
"check:opengrep-rule-metadata": "node security/opengrep/check-rule-metadata.mjs",
"check:protocol-coverage": "node scripts/check-protocol-event-coverage.mjs",
"check:runtime-sidecar-loaders": "node --import tsx scripts/check-runtime-sidecar-loaders.mts",
"check:static-import-sccs": "pnpm check:madge-import-cycles",
"check:temp-path-guardrails": "node --import tsx scripts/check-temp-path-guardrails.ts",
"check:wrapper-shadowing": "node --import tsx scripts/check-wrapper-shadowing.mts",
"check:wrapper-shadowing:gen": "node --import tsx scripts/check-wrapper-shadowing.mts --update-debt-baseline",
"check:test-types": "pnpm tsgo:test",
"check:timed": "node --import tsx scripts/check-timed.mts",
"check:timed:all-types": "node --import tsx scripts/check-timed.mts --include-test-types",
"check:timed:architecture": "node --import tsx scripts/check-timed.mts --include-architecture",
"check:workflows": "node --import tsx scripts/check-workflows.mts",
"ci:full-release": "node scripts/full-release-validation-at-sha.mjs",
"ci:timings": "node scripts/ci-run-timings.mjs --latest-main",
"ci:timings:recent": "node scripts/ci-run-timings.mjs --recent 10",
"clean:dist": "node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"",
"codex-app-server:protocol:check": "node --import tsx scripts/check-codex-app-server-protocol.ts",
"codex-app-server:protocol:sync": "node --import tsx scripts/sync-codex-app-server-protocol.ts",
"codex-supervisor:mcp": "node --import tsx src/mcp/codex-supervision-tools-serve.ts",
"codex:mcp": "node --import tsx src/mcp/codex-supervision-tools-serve.ts",
"config:channels:check": "node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check",
"config:channels:gen": "node --import tsx scripts/generate-bundled-channel-config-metadata.ts --write",
"config:docs:check": "node --import tsx scripts/generate-config-doc-baseline.ts --check",
"config:docs:gen": "node --import tsx scripts/generate-config-doc-baseline.ts --write",
"config:schema:check": "node --import tsx scripts/generate-base-config-schema.ts --check",
"config:schema:gen": "node --import tsx scripts/generate-base-config-schema.ts --write",
"crabbox:hydrate": "node scripts/crabbox-wrapper.mjs actions hydrate",
"crabbox:run": "node scripts/crabbox-wrapper.mjs run",
"crabbox:stop": "node scripts/crabbox-wrapper.mjs stop",
"crabbox:warmup": "node scripts/crabbox-wrapper.mjs warmup",
"deadcode:dependencies": "pnpm deadcode:full",
"deadcode:exports": "node --import tsx scripts/check-deadcode-exports.mts",
"deadcode:full": "pnpm --config.minimum-release-age=0 dlx --package knip@6.8.0 knip --config config/knip.config.ts --production --no-progress --reporter compact --no-config-hints --exclude duplicates && pnpm --config.minimum-release-age=0 dlx --package knip@6.8.0 knip --config config/knip.all-exports.config.ts --no-progress --reporter compact --no-config-hints --exports --exclude duplicates",
"deadcode:knip": "pnpm --config.minimum-release-age=0 dlx --package knip@6.8.0 knip --config config/knip.config.ts --production --no-progress --reporter compact --files --dependencies",
"deadcode:report": "pnpm deadcode:full; pnpm deadcode:exports",
"deadcode:unused-files": "node --import tsx scripts/check-deadcode-unused-files.mts",
"deps:root-ownership": "node --import tsx scripts/root-dependency-ownership-audit.mts",
"deps:root-ownership:check": "node --import tsx scripts/root-dependency-ownership-audit.mts --check",
"deps:changes:report": "node --import tsx scripts/dependency-changes-report.mts",
"deps:patches:check": "node --import tsx scripts/check-package-patches.mts",
"deps:pins:check": "node --import tsx scripts/check-dependency-pins.mts",
"deps:npm-lock:check": "node scripts/generate-npm-package-lock.mjs --all",
"deps:npm-lock:check:changed": "node scripts/generate-npm-package-lock.mjs --changed",
"deps:ownership-surface:check": "node --import tsx scripts/dependency-ownership-surface-report.mts --check",
"deps:ownership-surface:report": "node --import tsx scripts/dependency-ownership-surface-report.mts",
"deps:transitive-risk:report": "node --import tsx scripts/transitive-manifest-risk-report.mts",
"deps:vuln:gate": "node --import tsx scripts/dependency-vulnerability-gate.mts",
"db:kysely:check": "node --import tsx scripts/generate-kysely-types.mts --verify",
"db:kysely:gen": "node --import tsx scripts/generate-kysely-types.mts",
"dev": "node scripts/run-node.mjs",
"dev:ui:mock": "node --import tsx scripts/control-ui-mock-dev.ts",
"docs:check-config-examples": "node scripts/check-docs-config-examples.mjs",
"docs:check-i18n-glossary": "node --import tsx scripts/check-docs-i18n-glossary.mts",
"docs:check-links": "node scripts/docs-link-audit.mjs",
"docs:check-links:anchors": "node scripts/docs-link-audit.mjs --anchors",
"docs:check-mdx": "node scripts/check-docs-mdx.mjs docs README.md",
"docs:dev": "cd docs && mint dev",
"docs:list": "node scripts/docs-list.js",
"docs:map:gen": "node scripts/docs-list.js --headings",
"docs:spellcheck": "bash scripts/docs-spellcheck.sh",
"docs:spellcheck:fix": "bash scripts/docs-spellcheck.sh --write",
"maturity:check": "node --import tsx scripts/qa/render-maturity-docs.ts --check",
"maturity:render": "node --import tsx scripts/qa/render-maturity-docs.ts",
"dup:check": "node --import tsx scripts/check-duplicates.mts",
"dup:check:coverage": "node --import tsx scripts/check-duplicates.mts --coverage",
"dup:check:json": "node --import tsx scripts/check-duplicates.mts --json",
"format": "oxfmt --write --threads=1",
"format:all": "pnpm format && pnpm format:swift",
"format:check": "oxfmt --check",
"format:diff": "oxfmt --write --threads=1 && git --no-pager diff",
"format:docs": "node --import tsx scripts/format-docs.mts",
"format:docs:check": "node --import tsx scripts/format-docs.mts --check",
"format:fix": "oxfmt --write --threads=1",
"format:swift": "./scripts/format-swift.sh",
"gateway:dev": "node --import tsx scripts/run-with-env.mts OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway",
"gateway:dev:reset": "node --import tsx scripts/run-with-env.mts OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway --reset",
"gateway:watch": "node --import tsx scripts/gateway-watch-tmux.mts gateway --force",
"gateway:watch:raw": "node scripts/watch-node.mjs gateway --force",
"gen:host-env-policy:swift": "node --import tsx scripts/generate-host-env-security-policy-swift.mts --write",
"ghsa:patch": "node --import tsx scripts/ghsa-patch.mts",
"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: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'",
"ios:filelist:gen": "node scripts/ios-write-swift-filelist.mjs",
"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: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'",
"ios:release:archive": "bash scripts/ios-release-archive.sh",
"ios:release:cut": "bash scripts/ios-release-cut.sh",
"ios:release:plan": "bash scripts/ios-release-plan.sh",
"ios:release:prepare": "bash scripts/ios-release-prepare.sh",
"ios:release:signing:check": "bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_check'",
"ios:release:signing:plan": "bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_plan'",
"ios:release:signing:setup": "bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_setup'",
"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'",
"ios:release:upload": "bash scripts/ios-release-upload.sh",
"ios:run": "bash scripts/ios-run.sh",
"ios:screenshots": "bash scripts/ios-screenshots.sh",
"ios:version": "node --import tsx scripts/ios-version.ts --json",
"ios:version:check": "node --import tsx scripts/ios-sync-versioning.ts --check",
"ios:version:sync": "node --import tsx scripts/ios-sync-versioning.ts --write",
"leak:embedded-run": "node --import tsx --expose-gc scripts/embedded-run-abort-leak.ts",
"lint": "node --import tsx scripts/run-lint.mts",
"lint:agent:ingress-owner": "node --import tsx scripts/check-ingress-agent-owner-context.mts",
"lint:all": "node scripts/run-oxlint.mjs",
"lint:apps": "pnpm lint:swift",
"lint:auth:no-pairing-store-group": "node --import tsx scripts/check-no-pairing-store-group-auth.mts",
"lint:auth:pairing-account-scope": "node --import tsx scripts/check-pairing-account-scope.mts",
"lint:core": "node --import tsx scripts/run-oxlint-shards.mts --only=core --split-core",
"lint:docker-e2e": "node --import tsx scripts/check-docker-e2e-boundaries.mts",
"lint:kysely": "node --import tsx scripts/check-kysely-guardrails.mts",
"lint:docs": "pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc",
"lint:docs:fix": "pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc --fix",
"lint:extensions:no-deprecated-channel-access": "node --import tsx scripts/check-no-deprecated-channel-access.ts",
"lint:extensions:telegram-grammy-types": "node --import tsx scripts/check-telegram-grammy-types-imports.mts",
"lint:extensions": "node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.extensions.json extensions",
"lint:extensions:no-guarded-wildcard-reexports": "node --import tsx scripts/check-extension-wildcard-reexports.mts",
"lint:extensions:no-plugin-sdk-internal": "node --import tsx scripts/check-extension-plugin-sdk-boundary.mts --mode=plugin-sdk-internal",
"lint:extensions:no-plugin-sdk-wildcard-reexports": "node --import tsx scripts/check-plugin-sdk-wildcard-reexports.mts",
"lint:extensions:no-relative-outside-package": "node --import tsx scripts/check-extension-plugin-sdk-boundary.mts --mode=relative-outside-package",
"lint:extensions:no-src-outside-plugin-sdk": "node --import tsx scripts/check-extension-plugin-sdk-boundary.mts --mode=src-outside-plugin-sdk",
"lint:fix": "node scripts/run-oxlint.mjs --fix && pnpm format",
"lint:plugins:no-extension-imports": "node --import tsx scripts/check-plugin-extension-import-boundary.mts",
"lint:plugins:no-extension-src-imports": "node --import tsx scripts/check-no-extension-src-imports.ts",
"lint:plugins:no-extension-test-core-imports": "node --import tsx scripts/check-no-extension-test-core-imports.ts",
"lint:plugins:no-monolithic-plugin-sdk-entry-imports": "node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts",
"lint:plugins:no-register-http-handler": "node scripts/run-oxlint.mjs --openclaw-focused-config --config config/oxlint/boundary-guards.json src extensions",
"lint:plugins:plugin-sdk-subpaths-exported": "node --import tsx scripts/check-plugin-sdk-subpath-exports.mts",
"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:swift": "./scripts/lint-swift.sh",
"lint:tmp:channel-agnostic-boundaries": "node --import tsx scripts/check-channel-agnostic-boundaries.mts",
"lint:tmp:dynamic-import-warts": "node --import tsx scripts/check-dynamic-import-warts.mts",
"lint:tmp:export-name-collisions": "node --import tsx scripts/check-export-name-collisions.mts",
"lint:tmp:export-name-collisions:gen": "node --import tsx scripts/check-export-name-collisions.mts --update-debt-baseline",
"lint:tmp:no-random-messaging": "node --import tsx scripts/check-no-random-messaging-tmp.mts",
"lint:tmp:no-raw-channel-fetch": "node --import tsx scripts/check-no-raw-channel-fetch.mts",
"lint:tmp:no-raw-http2-imports": "node --import tsx scripts/check-no-raw-http2-imports.mts",
"lint:tmp:session-accessor-boundary": "node --import tsx scripts/check-session-accessor-boundary.mts",
"lint:tmp:session-accessor-boundary:gen": "node --import tsx scripts/check-session-accessor-boundary.mts --update-debt-baseline",
"lint:tmp:session-transcript-reader-boundary": "node --import tsx scripts/check-session-transcript-reader-boundary.mts",
"lint:tmp:sqlite-transaction-boundary": "node --import tsx scripts/check-sqlite-transaction-boundary.mts",
"lint:tmp:tsgo-core-boundary": "node --import tsx scripts/check-tsgo-core-boundary.mts",
"lint:ui:i18n": "pnpm ui:i18n:verify",
"lint:ui:lit": "lit-analyzer \"ui/src/**/*.ts\" --quiet",
"lint:ui:no-raw-window-open": "node scripts/run-oxlint.mjs --openclaw-focused-config --config config/oxlint/boundary-guards.json ui/src",
"lint:ui:styles": "stylelint --config config/stylelint.config.mjs \"ui/src/**/*.css\" \"ui/src/**/*.ts\"",
"lint:web-fetch-provider-boundaries": "node --import tsx scripts/check-web-fetch-provider-boundaries.mts",
"lint:web-search-provider-boundaries": "node --import tsx scripts/check-web-search-provider-boundaries.mts",
"lint:webhook:no-low-level-body-read": "node --import tsx scripts/check-webhook-auth-body-order.mts",
"mac:open": "open dist/OpenClaw.app",
"mac:package": "bash scripts/package-mac-app.sh",
"mac:restart": "bash scripts/restart-mac.sh",
"mobile:release:preflight": "node --import tsx scripts/mobile-release-ref.ts preflight",
"mobile:release:record": "node --import tsx scripts/mobile-release-ref.ts record",
"mobile:release:resolve": "node --import tsx scripts/mobile-release-ref.ts resolve",
"openclaw": "node scripts/run-node.mjs",
"openclaw:rpc": "node scripts/run-node.mjs agent --mode rpc --json",
"perf:web-fetch": "node --import tsx scripts/bench-web-fetch.ts",
"perf:kova:summary": "node --import tsx scripts/kova-ci-summary.mts",
"perf:source:summary": "node --import tsx scripts/openclaw-performance-source-summary.mts",
"plugin-sdk:api:check": "node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check",
"plugin-sdk:api:gen": "node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --write",
"plugin-sdk:check-exports": "node --import tsx scripts/sync-plugin-sdk-exports.mts --check",
"plugin-sdk:surface": "node --max-old-space-size=8192 --import tsx scripts/plugin-sdk-surface-report.mts",
"plugin-sdk:surface:check": "node --max-old-space-size=8192 --import tsx scripts/plugin-sdk-surface-report.mts --check",
"plugin-sdk:sync-exports": "node --import tsx scripts/sync-plugin-sdk-exports.mts",
"plugin-sdk:usage": "node --max-old-space-size=8192 --import tsx scripts/analyze-plugin-sdk-usage.ts",
"policy:config-coverage": "node --import tsx scripts/check-policy-config-coverage.ts",
"plugins:boundary-report": "node --import tsx scripts/plugin-boundary-report.ts",
"plugins:boundary-report:ci": "node --import tsx scripts/plugin-boundary-report.ts --summary --fail-on-cross-owner --fail-on-unclassified-unused-reserved --fail-on-eligible-compat",
"plugins:boundary-report:json": "node --import tsx scripts/plugin-boundary-report.ts --json",
"plugins:boundary-report:summary": "node --import tsx scripts/plugin-boundary-report.ts --summary",
"plugins:assets:build": "node --import tsx scripts/bundled-plugin-assets.mts --phase build",
"plugins:assets:check": "node --import tsx scripts/bundled-plugin-assets.mts --phase build --check",
"plugins:assets:copy": "node --import tsx scripts/bundled-plugin-assets.mts --phase copy",
"plugins:inventory:check": "node --import tsx scripts/generate-plugin-inventory-doc.mts --check",
"plugins:inventory:gen": "node --import tsx scripts/generate-plugin-inventory-doc.mts --write",
"plugins:sync": "node --import tsx scripts/sync-plugin-versions.ts",
"plugins:sync:check": "node --import tsx scripts/sync-plugin-versions.ts --check",
"postinstall": "node scripts/postinstall-bundled-plugins.mjs",
"postpack": "node scripts/openclaw-postpack.mjs",
"preinstall": "node scripts/preinstall-package-manager-warning.mjs",
"prepack": "node --import tsx scripts/openclaw-prepack.ts",
"prepare": "node scripts/prepare-git-hooks.mjs",
"prepush:ci": "bash scripts/prepush-ci.sh",
"probe:anthropic:prompt": "node --import tsx scripts/anthropic-prompt-probe.ts",
"prompt:snapshots:check": "node --import tsx scripts/generate-prompt-snapshots.ts --check",
"prompt:snapshots:gen": "node --import tsx scripts/generate-prompt-snapshots.ts --write",
"prompt:snapshots:sync-codex-model": "node --import tsx scripts/sync-codex-model-prompt-fixture.ts",
"protocol:check": "pnpm protocol-registry:check && pnpm protocol:gen && pnpm protocol:check:swift && pnpm protocol:gen:kotlin && node --import tsx scripts/check-protocol-since.mts && git diff --exit-code -- dist/protocol.schema.json 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",
"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",
"protocol:check:swift": "node --import tsx scripts/protocol-gen-swift.ts --check",
"protocol:gen": "node --import tsx scripts/protocol-gen.ts",
"protocol:gen:kotlin": "node --import tsx scripts/protocol-gen-kotlin.ts",
"protocol:gen:swift": "node --import tsx scripts/protocol-gen-swift.ts",
"protocol-registry:check": "node --import tsx scripts/check-protocol-registry.mts",
"proxy:coverage": "node scripts/run-node.mjs proxy coverage",
"proxy:gateway": "node scripts/run-node.mjs proxy run -- node scripts/run-node.mjs gateway",
"proxy:install-ca": "node --import tsx scripts/proxy-install-ca.mts",
"proxy:run": "node scripts/run-node.mjs proxy run",
"proxy:start": "node scripts/run-node.mjs proxy start",
"qa:e2e": "node --import tsx scripts/qa-e2e.ts",
"qa:lab:build": "vite build --config extensions/qa-lab/web/vite.config.ts",
"qa:lab:ui": "pnpm openclaw qa ui",
"qa:lab:up": "node --import tsx scripts/qa-lab-up.ts",
"qa:lab:up:fast": "node --import tsx scripts/qa-lab-up.ts --use-prebuilt-image --bind-ui-dist --skip-ui-build",
"qa:lab:watch": "vite build --watch --config extensions/qa-lab/web/vite.config.ts",
"qa:observability:collector-smoke": "pnpm qa:otel:collector-smoke && pnpm qa:prometheus:smoke",
"qa:observability:smoke": "pnpm qa:otel:smoke && pnpm qa:prometheus:smoke",
"qa:otel:collector-smoke": "node --import tsx test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts --collector docker",
"qa:otel:smoke": "node --import tsx test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts",
"qa:code-mode-models": "node --import tsx 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-metadata:check": "node --import tsx scripts/check-release-metadata-only.mts",
"release:beta": "node --import tsx scripts/release-candidate-checklist.mts",
"release:beta-smoke": "node --import tsx scripts/release-beta-smoke.ts",
"release:candidate": "node --import tsx scripts/release-candidate-checklist.mts",
"release:check": "pnpm release:generated:check && node --import tsx scripts/release-check.ts",
"release:fast-pretag-check": "bash scripts/release-fast-pretag-check.sh",
"release:generated:check": "node scripts/release-preflight.mjs --check",
"release:openclaw:npm:check": "node --import tsx scripts/openclaw-npm-release-check.ts",
"release:openclaw:npm:verify-published": "node --import tsx scripts/openclaw-npm-postpublish-verify.ts",
"release:prepare": "node --import tsx scripts/release-prepare.ts",
"release:plugins:clawhub:check": "node --import tsx scripts/plugin-clawhub-release-check.ts",
"release:plugins:clawhub:plan": "node --import tsx scripts/plugin-clawhub-release-plan.ts",
"release:plugins:npm:check": "node --import tsx scripts/plugin-npm-release-check.ts",
"release:plugins:npm:plan": "node --import tsx scripts/plugin-npm-release-plan.ts",
"release:verify-beta": "node --import tsx scripts/release-verify-beta.ts",
"release:prep": "node scripts/release-preflight.mjs --fix",
"release:prep:version": "node scripts/release-preflight.mjs --fix --scope version",
"release:version": "node --import tsx scripts/release-version.ts",
"runtime-sidecars:check": "node --import tsx scripts/generate-runtime-sidecar-paths-baseline.ts --check",
"runtime-sidecars:gen": "node --import tsx scripts/generate-runtime-sidecar-paths-baseline.ts --write",
"sqlite:sessions-schema:check": "node --import tsx scripts/generate-sqlite-session-schema-baseline.ts --check",
"sqlite:sessions-schema:gen": "node --import tsx scripts/generate-sqlite-session-schema-baseline.ts --write",
"start": "node openclaw.mjs",
"test": "node --import tsx scripts/test-projects.mts",
"test:all": "pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all",
"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:build:singleton": "node --import tsx scripts/test-built-plugin-singleton.mts",
"test:build:status-message-runtime": "node --import tsx scripts/test-built-status-message-runtime.mts",
"test:bundled": "node scripts/run-vitest.mjs run --config test/vitest/vitest.bundled.config.ts",
"test:changed": "node --import tsx scripts/test-projects.mts --changed origin/main",
"test:changed:max": "node --import tsx scripts/test-projects-max.mts --changed origin/main",
"test:channels": "node scripts/run-vitest.mjs run --config test/vitest/vitest.channels.config.ts",
"test:contracts": "pnpm test:contracts:channels && pnpm test:contracts:plugins",
"test:contracts:channels": "node --import tsx 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:contracts:plugins": "node scripts/run-vitest.mjs run --config test/vitest/vitest.contracts-plugin.config.ts --maxWorkers=1",
"test:coverage": "node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage",
"test:coverage:changed": "node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage --changed origin/main",
"test:docker:agent-bundle-mcp-tools": "bash scripts/e2e/agent-bundle-mcp-tools-docker.sh",
"test:docker:agents-delete-shared-workspace": "bash scripts/e2e/agents-delete-shared-workspace-docker.sh",
"test:docker:all": "node scripts/test-docker-all.mjs",
"test:docker:browser-cdp-snapshot": "bash scripts/e2e/browser-cdp-snapshot-docker.sh",
"test:docker:sandbox-browser-sidecar": "bash scripts/e2e/sandbox-browser-sidecar-docker.sh",
"test:docker:bundled-plugin-install-uninstall": "bash scripts/e2e/bundled-plugin-install-uninstall-docker.sh",
"test:docker:cleanup": "bash scripts/test-cleanup-docker.sh",
"test:docker:config-reload": "bash scripts/e2e/config-reload-source-docker.sh",
"test:docker:system-agent-first-run": "bash scripts/e2e/system-agent-first-run-docker.sh",
"test:docker:system-agent-rescue": "bash scripts/e2e/system-agent-rescue-docker.sh",
"test:docker:cron-cli": "bash scripts/e2e/cron-cli-docker.sh",
"test:docker:cron-mcp-cleanup": "bash scripts/e2e/cron-mcp-cleanup-docker.sh",
"test:docker:codex-media-path": "bash scripts/e2e/codex-media-path-docker.sh",
"test:docker:doctor-switch": "bash scripts/e2e/doctor-install-switch-docker.sh",
"test:docker:compose-setup": "bash scripts/e2e/compose-setup.sh",
"test:docker:e2e-build": "bash scripts/e2e/build-image.sh",
"test:docker:gateway-network": "bash scripts/e2e/gateway-network-docker.sh",
"test:docker:kitchen-sink-plugin": "bash scripts/e2e/kitchen-sink-plugin-docker.sh",
"test:docker:kitchen-sink-rpc": "bash scripts/e2e/kitchen-sink-rpc-docker.sh",
"test:docker:live-acp-bind": "bash scripts/test-live-acp-bind-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: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-acp-bind:gemini": "OPENCLAW_LIVE_ACP_BIND_AGENT=gemini bash scripts/test-live-acp-bind-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-build": "bash scripts/test-live-build-docker.sh",
"test:docker:live-cli-backend": "bash scripts/test-live-cli-backend-docker.sh",
"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: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",
"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: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": "OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview 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: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",
"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:live-codex-harness": "bash scripts/test-live-codex-harness-docker.sh",
"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:live-plugin-tool": "bash scripts/e2e/live-plugin-tool-docker.sh",
"test:docker:live-subagent-announce": "bash scripts/test-live-subagent-announce-docker.sh",
"test:docker:live-gateway": "bash scripts/test-live-gateway-models-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:live-mcp-code-mode-gateway": "bash scripts/e2e/mcp-code-mode-gateway-live-docker.sh",
"test:docker:live-models": "bash scripts/test-live-models-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:docker:live:all": "node --import tsx scripts/run-with-env.mts OPENCLAW_DOCKER_ALL_LIVE_MODE=only -- node scripts/test-docker-all.mjs",
"test:docker:local:all": "node --import tsx scripts/run-with-env.mts OPENCLAW_DOCKER_ALL_LIVE_MODE=skip -- node scripts/test-docker-all.mjs",
"test:docker:cli-installer-distribution": "bash scripts/e2e/cli-installer-distribution-docker.sh",
"test:docker:mcp-channels": "bash scripts/e2e/mcp-channels-docker.sh",
"test:docker:mcp-code-mode-gateway": "bash scripts/e2e/mcp-code-mode-gateway-docker.sh",
"test:docker:multi-node-update": "bash scripts/e2e/multi-node-update-docker.sh",
"test:docker:codex-on-demand": "bash scripts/e2e/codex-on-demand-docker.sh",
"test:docker:npm-onboard-channel-agent": "bash scripts/e2e/npm-onboard-channel-agent-docker.sh",
"test:docker:npm-onboard-discord-channel-agent": "OPENCLAW_NPM_ONBOARD_CHANNEL=discord bash scripts/e2e/npm-onboard-channel-agent-docker.sh",
"test:docker:npm-onboard-slack-channel-agent": "OPENCLAW_NPM_ONBOARD_CHANNEL=slack bash scripts/e2e/npm-onboard-channel-agent-docker.sh",
"test:docker:npm-telegram-live": "bash scripts/e2e/npm-telegram-live-docker.sh",
"test:docker:onboard": "bash scripts/e2e/onboard-docker.sh",
"test:docker:release-user-journey": "bash scripts/e2e/release-user-journey-docker.sh",
"test:docker:release-typed-onboarding": "bash scripts/e2e/release-typed-onboarding-docker.sh",
"test:docker:release-media-memory": "bash scripts/e2e/release-media-memory-docker.sh",
"test:docker:release-upgrade-user-journey": "bash scripts/e2e/release-upgrade-user-journey-docker.sh",
"test:docker:release-plugin-marketplace": "bash scripts/e2e/release-plugin-marketplace-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:docker:openai-web-search-minimal": "bash scripts/e2e/openai-web-search-minimal-docker.sh",
"test:docker:openwebui": "bash scripts/e2e/openwebui-docker.sh",
"test:docker:package-install": "bash scripts/e2e/docker-package-install.sh",
"test:docker:plugin-binding-command-escape": "bash scripts/e2e/plugin-binding-command-escape-docker.sh",
"test:docker:plugin-lifecycle-matrix": "bash scripts/e2e/plugin-lifecycle-matrix-docker.sh",
"test:docker:plugin-update": "bash scripts/e2e/plugin-update-unchanged-docker.sh",
"test:docker:plugins": "bash scripts/e2e/plugins-docker.sh",
"test:docker:published-upgrade-survivor": "env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@latest} OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh",
"test:docker:qr": "bash scripts/e2e/qr-import-docker.sh",
"test:docker:rerun": "node --import tsx scripts/docker-e2e-rerun.mts",
"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",
"test:docker:selected-plugins": "bash scripts/e2e/docker-selected-plugins.sh",
"test:docker:session-runtime-context": "bash scripts/e2e/session-runtime-context-docker.sh",
"test:docker:skill-install": "bash scripts/e2e/skill-install-docker.sh",
"test:docker:timings": "node --import tsx scripts/docker-e2e-timings.mts",
"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: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: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",
"test:docker:update-run-package-self-upgrade": "bash scripts/e2e/update-run-package-self-upgrade-docker.sh",
"test:docker:upgrade-survivor": "bash scripts/e2e/upgrade-survivor-docker.sh",
"test:env-mutations:report": "node --import tsx scripts/test-env-mutation-report.ts",
"test:skip-inventory:report": "node --import tsx scripts/test-skip-inventory.ts",
"test:type-suppression-inventory:report": "node --import tsx scripts/type-suppression-inventory.ts",
"test:e2e": "pnpm test:e2e:gateway && pnpm test:e2e:agent-plugin-gateway && pnpm test:ui:e2e",
"test:e2e:agent-plugin-gateway": "node --import tsx scripts/agent-plugin-gateway-e2e.ts",
"test:e2e:browser-extension": "node --import tsx scripts/run-with-env.mts PLAYWRIGHT_BROWSERS_PATH=.artifacts/playwright-browsers -- node --import tsx scripts/ensure-playwright-chromium.mts --require-playwright-chromium && node --import tsx 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:e2e:gateway": "node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts",
"test:e2e:openshell": "node --import tsx 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:e2e:status-corrupt-plugin-deps": "bash scripts/e2e/status-corrupt-plugin-deps.sh",
"test:extension": "node --import tsx scripts/test-extension.mts",
"test:extensions": "node --import tsx scripts/test-projects.mts extensions",
"test:extensions:batch": "node --import tsx scripts/test-extension-batch.mts",
"test:extensions:memory": "node --import tsx scripts/profile-extension-memory.mts",
"test:extensions:package-boundary": "node --import tsx scripts/check-extension-package-tsc-boundary.mts",
"test:extensions:package-boundary:canary": "node --import tsx scripts/check-extension-package-tsc-boundary.mts --mode=canary",
"test:extensions:package-boundary:compile": "node --import tsx scripts/check-extension-package-tsc-boundary.mts --mode=compile",
"test:fast": "node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts",
"test:force": "node --import tsx scripts/test-force.ts",
"test:gateway": "node --import tsx scripts/run-with-env.mts OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts",
"test:gateway:cpu-scenarios": "node --import tsx scripts/check-gateway-cpu-scenarios.mts",
"test:gateway:concurrency": "node scripts/bench-gateway-concurrency.ts",
"test:gateway:memory-fd-repro": "node --import tsx scripts/check-memory-fd-repro.mts",
"test:gateway:watch-regression": "node --import tsx scripts/check-gateway-watch-regression.mts",
"test:install:e2e": "bash scripts/test-install-sh-e2e-docker.sh",
"test:install:e2e:anthropic": "OPENCLAW_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh",
"test:install:e2e:openai": "OPENCLAW_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh",
"test:install:smoke": "bash scripts/test-install-sh-docker.sh",
"test:live": "node --import tsx scripts/test-live.mts",
"test:live:cache": "node --import tsx scripts/run-with-env.mts OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 -- node --import tsx scripts/check-live-cache.ts",
"test:live:codex-harness": "node --import tsx scripts/test-live.mts --codex-harness -- src/gateway/gateway-codex-harness.live.test.ts",
"test:live:system-agent-rescue-channel": "node --import tsx scripts/run-with-env.mts OPENCLAW_LIVE_SYSTEM_AGENT_RESCUE_CHANNEL=1 -- node --import tsx scripts/test-live.mts -- src/system-agent/rescue-channel.live.test.ts",
"test:live:gateway-profiles": "node --import tsx scripts/test-live.mts -- src/gateway/gateway-models.profiles.live.test.ts",
"test:live:media": "node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts",
"test:live:media:image": "node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts image",
"test:live:media:music": "node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts music",
"test:live:media:video": "node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts video",
"test:live:models-profiles": "node --import tsx scripts/test-live.mts -- src/agents/models.profiles.live.test.ts",
"test:macos:ci": "node --import tsx scripts/test-projects.mts 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 test/scripts/vitest-process-group.test.ts test/scripts/package-mac-app.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:max": "node --import tsx scripts/test-projects-max.mts",
"test:parallels:linux": "bash scripts/e2e/parallels-linux-smoke.sh",
"test:parallels:macos": "bash scripts/e2e/parallels-macos-smoke.sh",
"test:parallels:npm-update": "bash scripts/e2e/parallels-npm-update-smoke.sh",
"test:parallels:windows:prepare": "bash scripts/e2e/parallels-windows-prepare.sh",
"test:parallels:windows": "bash scripts/e2e/parallels-windows-smoke.sh",
"test:agents:concurrency": "node --import tsx scripts/bench-agent-concurrency.ts",
"test:tasks:sqlite-churn": "node --import tsx scripts/bench-task-registry-sqlite.ts",
"test:perf:budget": "node --import tsx scripts/test-perf-budget.mts",
"test:perf:changed:bench": "node --import tsx scripts/bench-test-changed.mts",
"test:perf:groups": "node --import tsx scripts/test-group-report.mts",
"test:perf:groups:compare": "node --import tsx scripts/test-group-report.mts --compare",
"test:perf:hotspots": "node --import tsx scripts/test-hotspots.mts",
"test:perf:imports": "node --import tsx scripts/test-projects-imports.mts",
"test:perf:imports:changed": "node --import tsx scripts/test-projects-imports.mts --changed origin/main",
"test:perf:profile:main": "node --import tsx scripts/run-vitest-profile.mts main",
"test:perf:profile:runner": "node --import tsx scripts/run-vitest-profile.mts runner",
"test:sqlite:perf": "node --import tsx scripts/bench-sqlite-state.ts --profile default --output .artifacts/sqlite-perf/default.json",
"test:sqlite:perf:large": "node --import tsx scripts/bench-sqlite-state.ts --profile large --output .artifacts/sqlite-perf/large.json",
"test:sqlite:perf:smoke": "node --import tsx scripts/bench-sqlite-state.ts --profile smoke --output .artifacts/sqlite-perf/smoke.json",
"test:plugins:gateway-gauntlet": "node --import tsx scripts/check-plugin-gateway-gauntlet.mts",
"test:plugins:init-provider-scaffold": "node --import tsx scripts/validate-plugin-init-provider-scaffold.ts",
"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:plugins:kitchen-sink-rpc": "node --import tsx scripts/e2e/kitchen-sink-rpc-walk.mts",
"test:sectriage": "node --import tsx 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:serial": "node --import tsx scripts/test-projects-serial.mts",
"test:stability:gateway": "node --import tsx 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 tsx 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 tsx 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",
"test:cli-response:contract": "node --import tsx scripts/build-all.mts cliStartup && node --import tsx scripts/test-cli-startup-bench-budget.mts --preset response --runs 1 --warmup 0 --timeout-ms 10000 --skip-baseline",
"test:startup:bench": "node --import tsx scripts/bench-cli-startup.ts",
"test:startup:bench:check": "node --import tsx scripts/test-cli-startup-bench-budget.mts",
"test:startup:bench:save": "node --import tsx scripts/bench-cli-startup.ts --preset all --runs 5 --warmup 1 --output .artifacts/cli-startup-bench-all.json",
"test:startup:bench:smoke": "node --import tsx scripts/ensure-cli-startup-build.mts && node --import tsx scripts/bench-cli-startup.ts --preset real --case gatewayStatusJson --runs 1 --warmup 0 --output .artifacts/cli-startup-bench-smoke.json",
"test:startup:bench:update": "node --import tsx scripts/test-update-cli-startup-bench.mts",
"test:startup:gateway": "node --import tsx scripts/bench-gateway-startup.ts",
"test:restart:gateway": "node --import tsx scripts/bench-gateway-restart.ts",
"test:startup:memory": "node --import tsx scripts/ensure-cli-startup-build.mts && node scripts/check-cli-startup-memory.mjs",
"test:ui": "pnpm lint:ui:no-raw-window-open && node --import tsx scripts/ensure-playwright-chromium.mts && pnpm --dir ui test",
"test:ui:e2e": "node --import tsx scripts/ensure-playwright-chromium.mts && node scripts/run-vitest.mjs run --config test/vitest/vitest.ui-e2e.config.ts --configLoader runner",
"test:unit": "pnpm test:unit:fast && node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts",
"test:unit:fast": "node scripts/run-vitest.mjs run --config test/vitest/vitest.unit-fast.config.ts",
"test:unit:fast:audit": "node --import tsx scripts/test-unit-fast-audit.mts",
"test:voicecall:closedloop": "node --import tsx scripts/test-voicecall-closedloop.mts",
"test:watch": "node --import tsx scripts/test-projects.mts --watch",
"test:windows:ci": "node --import tsx scripts/test-projects.mts src/shared/runtime-import.test.ts src/config/sessions/session-accessor.sqlite-archive.worker.test.ts src/commands/doctor-gateway-auth-token.windows.test.ts src/media/local-media-path.windows.test.ts src/infra/sqlite-snapshot.test.ts src/infra/ssh-client.windows.test.ts src/infra/update-managed-service-handoff-command.test.ts src/infra/update-managed-service-handoff-lifecycle.test.ts src/infra/exec-allowlist-pattern.test.ts src/infra/executable-path.test.ts src/infra/process-env.test.ts src/infra/fs-safe-remove.test.ts src/snapshot/local-repository.windows.test.ts src/state/openclaw-database-paths.windows.test.ts src/commands/backup-verify.test.ts src/infra/state-migrations.legacy-session-store.test.ts src/test-utils/openclaw-test-state.test.ts src/agents/sessions/windows-git-bash-path.test.ts src/agents/bash-tools.exec.script-preflight.test.ts src/process/exec.windows.test.ts src/process/exec.windows.integration.test.ts src/process/windows-command.test.ts src/infra/windows-install-roots.test.ts src/node-host/invoke-system-run-allowlist.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/media-understanding/attachments.file-url.windows.test.ts src/utils.test.ts src/commands/agents.commands.list.test.ts src/cli/daemon-cli/status.print.test.ts src/cli/mcp-cli.path-case.windows.test.ts packages/terminal-core/src/display-string.test.ts src/agents/sandbox/fs-paths.test.ts src/agents/sessions/tools/render-utils.test.ts src/daemon/schtasks.startup-fallback.test.ts src/media/web-media.file-url.windows.test.ts extensions/lobster/src/lobster-runner.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 test/e2e/qa-lab/runtime/doctor-auth-secretref-checks.e2e.test.ts test/e2e/qa-lab/runtime/package-openclaw-for-docker.e2e.test.ts test/scripts/direct-run-entrypoints.test.ts test/scripts/format-generated-module.test.ts test/scripts/npm-runner.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/ts-topology.test.ts test/scripts/ui.test.ts test/scripts/vitest-process-group.test.ts",
"test:windows:schtasks:integration": "node --import tsx scripts/run-with-env.mts CI_WINDOWS_SCHTASKS_INTEGRATION=1 OPENCLAW_E2E_VERBOSE=1 OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs src/daemon/schtasks.integration.e2e.test.ts",
"tool-display:check": "node --import tsx scripts/tool-display.ts --check",
"tool-display:write": "node --import tsx scripts/tool-display.ts --write",
"ts-topology": "node --import tsx scripts/ts-topology.ts",
"tsgo": "pnpm tsgo:core",
"tsgo:all": "node scripts/run-tsgo.mjs -b tsconfig.projects.json",
"tsgo:core": "node scripts/run-tsgo.mjs -p tsconfig.core.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core.tsbuildinfo",
"tsgo:core:all": "node scripts/run-tsgo.mjs -b tsconfig.core.projects.json",
"tsgo:core:test": "node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.core.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core-test.tsbuildinfo",
"tsgo:extensions": "node scripts/run-tsgo.mjs -p tsconfig.extensions.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions.tsbuildinfo",
"tsgo:extensions:all": "node scripts/run-tsgo.mjs -b tsconfig.extensions.projects.json",
"tsgo:extensions:test": "node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test.tsbuildinfo",
"tsgo:prod": "pnpm tsgo:core && pnpm tsgo:ui && pnpm tsgo:extensions",
"tsgo:profile": "node --import tsx scripts/profile-tsgo.mts",
"tsgo:scripts": "node scripts/run-tsgo.mjs -p tsconfig.scripts.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/scripts.tsbuildinfo",
"tsgo:test": "pnpm tsgo:core:test && pnpm tsgo:extensions:test && pnpm tsgo:test:root",
"tsgo:test:extensions": "pnpm tsgo:extensions:test",
"tsgo:test:packages": "node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.packages.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-packages.tsbuildinfo",
"tsgo:test:root": "node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.root.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-root.tsbuildinfo",
"tsgo:test:src": "node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.src.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-src.tsbuildinfo",
"tsgo:test:ui": "node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.ui.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-ui.tsbuildinfo",
"tsgo:ui": "node scripts/run-tsgo.mjs -p tsconfig.ui.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/ui.tsbuildinfo",
"tui": "node scripts/run-node.mjs tui",
"tui:dev": "node --import tsx scripts/run-with-env.mts OPENCLAW_PROFILE=dev -- node scripts/run-node.mjs --dev tui",
"tui:pty:test:watch": "node --import tsx scripts/dev/tui-pty-test-watch.ts",
"tui:pty:test:watch:all": "node --import tsx scripts/dev/tui-pty-test-watch.ts --mode all",
"tui:pty:test:watch:fake": "node --import tsx scripts/dev/tui-pty-test-watch.ts --mode fake",
"tui:pty:test:watch:local": "node --import tsx scripts/dev/tui-pty-test-watch.ts --mode local",
"ui:build": "node scripts/ui.js build && node --import tsx scripts/check-control-ui-precompressed-assets.mts && node --import tsx scripts/check-control-ui-performance.mts",
"ui:dev": "node scripts/ui.js dev",
"ui:i18n:baseline": "node --import tsx scripts/control-ui-i18n-verify.ts baseline",
"ui:i18n:check": "node --import tsx scripts/control-ui-i18n.ts check",
"ui:i18n:report": "node --import tsx scripts/control-ui-i18n-report.ts",
"ui:i18n:sync": "node --import tsx scripts/control-ui-i18n.ts sync --write",
"ui:i18n:verify": "node --import tsx scripts/control-ui-i18n-verify.ts verify",
"native:i18n:baseline": "node --import tsx scripts/native-app-i18n.ts baseline --write",
"native:i18n:check": "node --import tsx scripts/native-app-i18n.ts check",
"native:i18n:sync": "node --import tsx scripts/native-app-i18n.ts sync --write",
"native:i18n:verify": "node --import tsx scripts/native-app-i18n.ts verify",
"android:i18n:check": "node --import tsx scripts/android-app-i18n.ts check",
"apple:i18n:check": "node --import tsx scripts/apple-app-i18n.ts check",
"ui:install": "node scripts/ui.js install",
"verify": "node --import tsx scripts/verify.mts"
},
"dependencies": {
"@agentclientprotocol/sdk": "1.3.0",
"@anthropic-ai/sdk": "0.115.0",
"@clack/core": "1.4.3",
"@clack/prompts": "1.7.0",
"@earendil-works/pi-tui": "0.82.1",
"@google/genai": "2.13.0",
"@grammyjs/runner": "2.0.3",
"@grammyjs/transformer-throttler": "1.2.1",
"@homebridge/ciao": "1.3.10",
"@lydell/node-pty": "1.2.0-beta.14",
"@mistralai/mistralai": "2.5.0",
"@modelcontextprotocol/sdk": "1.30.0",
"@mozilla/readability": "0.6.0",
"@openclaw/ai": "workspace:*",
"@openclaw/fs-safe": "0.5.4",
"@openclaw/proxyline": "0.3.4",
"@silvia-odwyer/photon-node": "0.3.4",
"@trycua/cua-driver": "0.14.1",
"acorn": "8.17.0",
"chalk": "6.0.0",
"chokidar": "5.0.0",
"clawpdf": "0.3.0",
"commander": "15.0.0",
"croner": "10.0.1",
"diff": "9.0.0",
"dotenv": "17.4.2",
"entities": "8.0.0",
"execa": "10.0.0",
"express": "5.2.1",
"file-type": "22.0.1",
"grammy": "1.45.1",
"highlight.js": "11.11.1",
"hosted-git-info": "10.1.1",
"iconv-lite": "0.7.3",
"ignore": "7.0.6",
"jiti": "2.7.0",
"json5": "2.2.3",
"jszip": "3.10.1",
"kysely": "0.29.4",
"linkedom": "0.18.13",
"minimatch": "10.2.5",
"ms": "2.1.3",
"node-edge-tts": "1.2.10",
"openai": "6.49.0",
"p-limit": "7.3.1",
"p-map": "7.0.6",
"partial-json": "0.1.7",
"playwright-core": "1.62.0",
"pretty-ms": "9.3.0",
"qrcode": "1.5.4",
"quickjs-wasi": "3.2.0",
"rastermill": "0.3.1",
"semver": "7.8.5",
"tar": "7.5.22",
"tree-sitter-bash": "0.25.1",
"tslog": "4.11.0",
"typebox": "1.3.6",
"typescript": "6.0.3",
"undici": "8.9.0",
"web-push": "3.6.7",
"web-tree-sitter": "0.26.11",
"ws": "8.21.1",
"yaml": "2.9.0",
"zod": "4.4.3"
},
"devDependencies": {
"@a2ui/lit": "0.10.2",
"@copilotkit/aimock": "1.37.4",
"@lit-labs/signals": "0.3.0",
"@lit/context": "1.1.6",
"@lit/task": "1.0.3",
"@mdx-js/mdx": "3.1.1",
"@openclaw/session-url-contract": "workspace:*",
"@opentelemetry/sdk-node": "0.221.0",
"@shikijs/core": "4.3.1",
"@shikijs/engine-javascript": "4.3.1",
"@shikijs/engine-oniguruma": "4.3.1",
"@types/express": "5.0.6",
"@types/hosted-git-info": "3.0.5",
"@types/markdown-it": "14.1.2",
"@types/mdast": "4.0.4",
"@types/ms": "2.1.0",
"@types/node": "26.1.2",
"@types/semver": "7.7.1",
"@types/web-push": "3.6.4",
"@types/ws": "8.18.1",
"@typescript/native-preview": "7.0.0-dev.20260707.2",
"@vitest/coverage-v8": "4.1.10",
"esbuild": "0.28.1",
"ipaddr.js": "2.4.0",
"jscpd": "5.0.12",
"jsdom": "29.1.1",
"lit": "3.3.3",
"lit-analyzer": "2.0.3",
"markdown-it": "14.3.0",
"marked": "18.0.7",
"oxfmt": "0.60.0",
"oxlint": "1.75.0",
"oxlint-tsgolint": "7.0.2001",
"playwright": "1.62.0",
"postcss-lit": "1.4.1",
"shiki": "4.3.1",
"signal-utils": "0.21.1",
"sigstore": "5.0.0",
"string-width": "8.2.2",
"stylelint": "17.14.1",
"stylelint-config-recommended": "18.0.0",
"tsdown": "0.22.1",
"tsx": "4.23.1",
"unrun": "0.3.1",
"vite": "8.1.5",
"vitest": "4.1.10"
},
"optionalDependencies": {
"sqlite-vec": "0.1.9"
},
"engines": {
"node": ">=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0"
},
"packageManager": "pnpm@11.15.1+sha512.81350b07e53c9538a02f1f2303b4290fa2d7be04e56e2a970c4cc4b417dc761de196edabd49d55c7dc9580db81007c44143e4e3d7e462b3000d23c255122d065"
}