openclaw/package.json
Josh Lehman 0dc63eecad
feat(memory): add a provider-neutral memory provider runtime (#162175)
Memory consumers were bound to the file-backed search manager, so a
memory plugin whose records are not workspace files could not serve
recall.

Add a caller-bound MemoryProviderRuntime (search, get, health, optional
candidates and refresh) registered as MemoryPluginCapability
.providerRuntime. Providers declare their capabilities (sources,
pagination, candidate kinds, project filtering); the host validates them
at open and the bound handle rejects undeclared requests before calling
the provider.

Project recall, realtime voice context, Active Memory trigger recall,
and Memory Wiki use the neutral runtime when the selected slot owner
registers providerRuntime. With a legacy runtime they keep their
manager calls, purposes, authorization, results, and citation labels
unchanged. Deciding which path to take reads only owners this process
already loaded (the current registry, the process registry, or a
standalone owner), never loading the slot plugin to decide.

Add the Gateway memory.search v2 / memory.get / memory.status RPCs. A
legacy adapter serves them over existing file-backed managers,
preserving session-hit authorization: session callers keep requester
visibility plus any host-granted conversation recall pass carried on
their session authority, and sessionless host or operator callers keep
the opened agent's own session hits through Memory Core's trusted agent
scope. Its health omits host paths. Any authenticated operator
connection with operator.read can call them, as with unversioned
memory.search; in-process agent callers keep their run's operator
authority. memory.search v2 rejects missing, unknown, or empty source
restrictions before provider admission. Unversioned or version 1
memory.search directs a provider-runtime owner's clients to retry with
version 2.

Realtime voice fast context binds its provider reads to the live call and
consult abort signal. Plugins released before that liveness argument keep
their call shape: without it, legacy owners answer as before and a native
provider is never read. When another plugin owns the memory slot, Memory
Core's CLI reports that provider's health from memory status, refuses
memory search, and labels index commands as acting on its sidecar index.
The memory-host-search SDK subpath stays private-local, so the public SDK
surface does not grow. Memory Wiki's package boundary maps memory-core's
session visibility leaf to its declaration producer.
2026-10-02 13:30:17 -07:00

2380 lines
142 KiB
JSON

{
"name": "openclaw",
"version": "2026.9.7",
"openclaw": {
"updateAdmissionProtocol": 1,
"schemaVersions": {
"state": 20,
"agent": 24
}
},
"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"
},
"publishConfig": {
"executableFiles": [
"dist/crabbox-wrapper.js",
"dist/entry.js",
"dist/index.js",
"dist/mac-node-worker.js",
"dist/native-hook-relay/entry.js"
]
},
"directories": {
"doc": "docs",
"test": "test"
},
"files": [
"CHANGELOG.md",
"LICENSE",
"cli-root-options.mjs",
"gateway-run-argv.mjs",
"gateway-shutdown-budget.mjs",
"node-sqlite.mjs",
"node-version.mjs",
"node-runtime-update.mjs",
"node-runtime-recovery.mjs",
"node-host-launcher.mjs",
"node-compile-cache.mjs",
"openclaw.mjs",
"pnpm-workspace.yaml",
"README.md",
"THIRD_PARTY_NOTICES.md",
"dist/",
".openclaw-lifecycle-pending",
"!dist/.buildstamp",
"!dist/.runtime-postbuildstamp",
"!dist/**/*.app",
"!dist/control-ui.build-*",
"!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-completion.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-cdp.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-ui-hints.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-ingress-test-runtime.js",
"!dist/plugin-sdk/channel-ingress-test-runtime.d.ts",
"!dist/plugin-sdk/channel-join-intro-runtime.d.ts",
"!dist/plugin-sdk/channel-mention-gating.d.ts",
"!dist/plugin-sdk/channel-route.d.ts",
"!dist/plugin-sdk/channel-secret-owner-runtime.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/claude-model-runtime.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/gateway-config-runtime.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/meeting-page-script-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/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/native-hook-relay-runtime.d.ts",
"!dist/plugin-sdk/node-host.d.ts",
"!dist/plugin-sdk/node-selection-runtime.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.d.ts",
"!dist/plugin-sdk/string-normalization-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-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/facetime/**",
"!dist/extensions/featherless/**",
"!dist/extensions/feishu/**",
"!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/onnx/**",
"!dist/extensions/opencode/**",
"!dist/extensions/parallel/**",
"!dist/extensions/perplexity/**",
"!dist/extensions/qianfan/**",
"!dist/extensions/raft/**",
"!dist/extensions/radius/**",
"!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/slack-huddles/**",
"!dist/extensions/sms/**",
"!dist/extensions/stepfun/**",
"!dist/extensions/synthetic/**",
"!dist/extensions/synology-chat/**",
"!dist/extensions/tavily/**",
"!dist/extensions/team-reports/**",
"!dist/extensions/teams-meetings/**",
"!dist/extensions/tencent/**",
"!dist/extensions/tokenjuice/**",
"!dist/extensions/tlon/**",
"!dist/extensions/twitch/**",
"!dist/extensions/typesafe/**",
"!dist/extensions/venice/**",
"!dist/extensions/vercel-ai-gateway/**",
"!dist/extensions/visitor-access/**",
"!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-*",
"docs/",
"!docs/.generated/**",
"!docs/.i18n/**",
"!docs/ci.md",
"!docs/channels/qa-channel.md",
"!docs/assets/**",
"!docs/images/**",
"!docs/maturity/taxonomy.md",
"!docs/refactor/**",
"!docs/releases/**",
"!docs/**/*.jpg",
"!docs/**/*.png",
"patches/",
"skills/",
"custodian-skills/",
"scripts/check-install-dependency-ownership.mjs",
"scripts/freebsd-service-inspect.mjs",
"scripts/generate-kysely-types.mts",
"scripts/lib/direct-run.mjs",
"scripts/lib/freebsd-service-discovery.d.mts",
"scripts/lib/freebsd-service-discovery.mjs",
"scripts/lib/fs-safe-prebuild.mjs",
"scripts/lib/bun-cli-launcher.mjs",
"scripts/lib/javascript-statements.mjs",
"scripts/install-cli.sh",
"scripts/install-policy.sh",
"scripts/install.ps1",
"scripts/prepare-git-hooks.mjs",
"scripts/prepare-native-protocol.mjs",
"scripts/runtime-postbuild-shared.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/package-dist-imports.mjs",
"scripts/lib/package-lifecycle-marker.mjs",
"scripts/lib/recommended-tool-installs.json",
"scripts/postinstall-bundled-plugins.mjs",
"scripts/postinstall-bun-cli-launcher.mjs",
"scripts/windows-cmd-helpers.mjs",
"!dist/plugin-sdk/model-catalog-pricing.d.ts",
"!dist/plugin-sdk/blob-runtime.d.ts",
"!dist/plugin-sdk/realtime-transcription-session.d.ts",
"!dist/plugin-sdk/speech-provider.d.ts",
"!dist/plugin-sdk/realtime-voice-provider.d.ts",
"!dist/plugin-sdk/provider-thinking-runtime.d.ts",
"!dist/plugin-sdk/embedding-provider-adapter.d.ts",
"!dist/plugin-sdk/agent-harness-registration.d.ts",
"!dist/plugin-sdk/session-catalog-paging.d.ts",
"!dist/plugin-sdk/provider-auth-aliases.d.ts",
"!dist/plugin-sdk/provider-model-metadata.d.ts",
"!dist/plugin-sdk/memory-core-host-engine-knn.d.ts",
"!dist/plugin-sdk/memory-core-host-engine-indexing.d.ts",
"!dist/plugin-sdk/sqlite-worker-runtime.d.ts",
"!dist/plugin-sdk/worker-task-server.d.ts",
"!dist/plugin-sdk/media-ffmpeg.d.ts",
"!dist/plugin-sdk/realtime-voice-playback.d.ts",
"!dist/plugin-sdk/text-grapheme.d.ts",
"!dist/plugin-sdk/agent-harness-session-runtime.d.ts",
"!dist/plugin-sdk/agent-harness-attempt-runtime.d.ts",
"!dist/plugin-sdk/secret-egress-runtime.d.ts",
"!dist/plugin-sdk/compiled-subprocess-testing.d.ts",
"!dist/plugin-sdk/compiled-subprocess-testing.js",
"!dist/plugin-sdk/memory-host-search.d.ts"
],
"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/code-mode-executor-runtime": {
"types": "./dist/plugin-sdk/code-mode-executor-runtime.d.ts",
"default": "./dist/plugin-sdk/code-mode-executor-runtime.js"
},
"./plugin-sdk/control-ui-link-reader": {
"types": "./dist/plugin-sdk/control-ui-link-reader.d.ts",
"default": "./dist/plugin-sdk/control-ui-link-reader.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/model-catalog-pricing": {
"default": "./dist/plugin-sdk/model-catalog-pricing.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-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/blob-runtime": {
"default": "./dist/plugin-sdk/blob-runtime.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-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/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/channel-join-intro-runtime": {
"default": "./dist/plugin-sdk/channel-join-intro-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/node-selection-runtime": {
"default": "./dist/plugin-sdk/node-selection-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": {
"types": "./dist/plugin-sdk/system-event-runtime.d.ts",
"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/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/ssrf-runtime-internal": {
"default": "./dist/plugin-sdk/ssrf-runtime-internal.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/media-ffmpeg": {
"default": "./dist/plugin-sdk/media-ffmpeg.js"
},
"./plugin-sdk/embedding-providers": {
"default": "./dist/plugin-sdk/embedding-providers.js"
},
"./plugin-sdk/embedding-provider-runtime-contract": {
"types": "./dist/plugin-sdk/embedding-provider-runtime-contract.d.ts",
"default": "./dist/plugin-sdk/embedding-provider-runtime-contract.js"
},
"./plugin-sdk/embedding-provider-adapter": {
"default": "./dist/plugin-sdk/embedding-provider-adapter.js"
},
"./plugin-sdk/media-generation-runtime": {
"default": "./dist/plugin-sdk/media-generation-runtime.js"
},
"./plugin-sdk/conversation-binding-inspection-runtime": {
"types": "./dist/plugin-sdk/conversation-binding-inspection-runtime.d.ts",
"default": "./dist/plugin-sdk/conversation-binding-inspection-runtime.js"
},
"./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-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-provider": {
"default": "./dist/plugin-sdk/speech-provider.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-owner-runtime": {
"default": "./dist/plugin-sdk/channel-secret-owner-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-egress-runtime": {
"default": "./dist/plugin-sdk/secret-egress-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-config-runtime": {
"default": "./dist/plugin-sdk/gateway-config-runtime.js"
},
"./plugin-sdk/gateway-method-runtime": {
"types": "./dist/plugin-sdk/gateway-method-runtime.d.ts",
"default": "./dist/plugin-sdk/gateway-method-runtime.js"
},
"./plugin-sdk/gateway-runtime": {
"types": "./dist/plugin-sdk/gateway-runtime.d.ts",
"default": "./dist/plugin-sdk/gateway-runtime.js"
},
"./plugin-sdk/websocket-runtime": {
"types": "./dist/plugin-sdk/websocket-runtime.d.ts",
"default": "./dist/plugin-sdk/websocket-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/node-cli-runtime": {
"types": "./dist/plugin-sdk/node-cli-runtime.d.ts",
"default": "./dist/plugin-sdk/node-cli-runtime.js"
},
"./plugin-sdk/cli-backend": {
"default": "./dist/plugin-sdk/cli-backend.js"
},
"./plugin-sdk/claude-model-runtime": {
"default": "./dist/plugin-sdk/claude-model-runtime.js"
},
"./plugin-sdk/codex-mcp-projection": {
"default": "./dist/plugin-sdk/codex-mcp-projection.js"
},
"./plugin-sdk/native-hook-relay-runtime": {
"default": "./dist/plugin-sdk/native-hook-relay-runtime.js"
},
"./plugin-sdk/codex-session-transcript-runtime": {
"default": "./dist/plugin-sdk/codex-session-transcript-runtime.js"
},
"./plugin-sdk/agent-harness-completion": {
"default": "./dist/plugin-sdk/agent-harness-completion.js"
},
"./plugin-sdk/agent-harness": {
"types": "./dist/plugin-sdk/agent-harness.d.ts",
"default": "./dist/plugin-sdk/agent-harness.js"
},
"./plugin-sdk/agent-harness-attempt-runtime": {
"default": "./dist/plugin-sdk/agent-harness-attempt-runtime.js"
},
"./plugin-sdk/agent-harness-exec-review-runtime": {
"default": "./dist/plugin-sdk/agent-harness-exec-review-runtime.js"
},
"./plugin-sdk/agent-harness-registration": {
"default": "./dist/plugin-sdk/agent-harness-registration.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-workspace-runtime": {
"types": "./dist/plugin-sdk/agent-workspace-runtime.d.ts",
"default": "./dist/plugin-sdk/agent-workspace-runtime.js"
},
"./plugin-sdk/agent-harness-session-runtime": {
"default": "./dist/plugin-sdk/agent-harness-session-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/worker-task-server": {
"default": "./dist/plugin-sdk/worker-task-server.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/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-cdp": {
"default": "./dist/plugin-sdk/browser-cdp.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-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/device-bootstrap": {
"types": "./dist/plugin-sdk/device-bootstrap.d.ts",
"default": "./dist/plugin-sdk/device-bootstrap.js"
},
"./plugin-sdk/diagnostic-flags": {
"types": "./dist/plugin-sdk/diagnostic-flags.d.ts",
"default": "./dist/plugin-sdk/diagnostic-flags.js"
},
"./plugin-sdk/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-ui-hints": {
"default": "./dist/plugin-sdk/channel-config-ui-hints.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-mention-gating": {
"default": "./dist/plugin-sdk/channel-mention-gating.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-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/computer-use": {
"types": "./dist/plugin-sdk/computer-use.d.ts",
"default": "./dist/plugin-sdk/computer-use.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-paging": {
"default": "./dist/plugin-sdk/session-catalog-paging.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/sqlite-worker-runtime": {
"default": "./dist/plugin-sdk/sqlite-worker-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/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/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-transcription-session": {
"default": "./dist/plugin-sdk/realtime-transcription-session.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/realtime-voice-playback": {
"default": "./dist/plugin-sdk/realtime-voice-playback.js"
},
"./plugin-sdk/realtime-voice-provider": {
"default": "./dist/plugin-sdk/realtime-voice-provider.js"
},
"./plugin-sdk/meeting-page-script-runtime": {
"default": "./dist/plugin-sdk/meeting-page-script-runtime.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/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-indexing": {
"default": "./dist/plugin-sdk/memory-core-host-engine-indexing.js"
},
"./plugin-sdk/memory-core-host-engine-knn": {
"default": "./dist/plugin-sdk/memory-core-host-engine-knn.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-auth-aliases": {
"default": "./dist/plugin-sdk/provider-auth-aliases.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-binary-stream": {
"types": "./dist/plugin-sdk/provider-binary-stream.d.ts",
"default": "./dist/plugin-sdk/provider-binary-stream.js"
},
"./plugin-sdk/provider-model-types": {
"default": "./dist/plugin-sdk/provider-model-types.js"
},
"./plugin-sdk/provider-model-metadata": {
"default": "./dist/plugin-sdk/provider-model-metadata.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-thinking-runtime": {
"default": "./dist/plugin-sdk/provider-thinking-runtime.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/decisions": {
"types": "./dist/plugin-sdk/decisions.d.ts",
"default": "./dist/plugin-sdk/decisions.js"
},
"./plugin-sdk/secret-ref-readonly": {
"types": "./dist/plugin-sdk/secret-ref-readonly.d.ts",
"default": "./dist/plugin-sdk/secret-ref-readonly.js"
},
"./plugin-sdk/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/text-autolink-runtime": {
"default": "./dist/plugin-sdk/text-autolink-runtime.js"
},
"./plugin-sdk/text-grapheme": {
"default": "./dist/plugin-sdk/text-grapheme.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/control-ui": {
"types": "./dist/plugin-sdk/control-ui.d.ts",
"default": "./dist/plugin-sdk/control-ui.js"
},
"./plugin-sdk/feature-contract": {
"types": "./dist/plugin-sdk/feature-contract.d.ts",
"default": "./dist/plugin-sdk/feature-contract.js"
},
"./plugin-sdk/feature-plugin": {
"types": "./dist/plugin-sdk/feature-plugin.d.ts",
"default": "./dist/plugin-sdk/feature-plugin.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/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 ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:assemblePlayDebug :wear:assembleDebug :wear-shared:assembleDebug",
"android:assemble:third-party": "node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:installPlayDebug",
"android:install:third-party": "node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:lintPlayDebug :app:lintThirdPartyDebug :wear:lintDebug :wear-shared:lintDebug",
"android:run": "node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:runPlayDebug",
"android:run:third-party": "node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:runThirdPartyDebug",
"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": "node scripts/mobile-release.mjs run --platform android",
"android:screenshots": "bash scripts/android-screenshots.sh",
"android:test": "node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:testPlayDebugUnitTest :wear:testDebugUnitTest :wear-shared:testDebugUnitTest",
"android:test:integration": "node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts",
"android:test:third-party": "node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:testThirdPartyDebugUnitTest",
"android:version": "node --import ./scripts/tsx.mjs scripts/android-version.ts --json",
"android:version:check": "node --import ./scripts/tsx.mjs scripts/android-sync-versioning.ts --check",
"android:version:pin": "node --import ./scripts/tsx.mjs scripts/android-pin-version.ts",
"android:version:sync": "node --import ./scripts/tsx.mjs scripts/android-sync-versioning.ts --write",
"audit:seams": "node --import ./scripts/tsx.mjs scripts/audit-seams.mts",
"bench:agent-database-holds": "node --import ./scripts/tsx.mjs scripts/bench-agent-database-holds.ts",
"bench:plugins:invocation": "node --import ./scripts/tsx.mjs scripts/bench-plugin-invocation.ts",
"bench:plugins:stream": "node --expose-gc --import ./scripts/tsx.mjs scripts/bench-plugin-stream.ts",
"bench:usage-refresh-memory": "node --import ./scripts/tsx.mjs scripts/bench-usage-refresh-memory.ts",
"build": "node --import ./scripts/tsx.mjs scripts/build-all.mts",
"build:ci-artifacts": "node --import ./scripts/tsx.mjs scripts/build-all.mts ciArtifacts",
"build:docker": "pnpm plugins:assets:build && node --import ./scripts/tsx.mjs scripts/tsdown-build.mts && node --import ./scripts/tsx.mjs scripts/check-cli-bootstrap-imports.mts && node scripts/runtime-postbuild.mjs && node --import ./scripts/tsx.mjs scripts/build-stamp.mts && node --import ./scripts/tsx.mjs scripts/runtime-postbuild-stamp.mts && pnpm plugins:assets:copy && node --import ./scripts/tsx.mjs scripts/write-build-info.ts && node --import ./scripts/tsx.mjs scripts/write-cli-startup-metadata.ts",
"build:package": "node --import ./scripts/tsx.mjs scripts/build-all.mts package",
"build:plugin-sdk:dts": "node --import ./scripts/tsx.mjs scripts/write-plugin-sdk-entry-dts.ts",
"build:plugin-sdk:strict-smoke": "node --import ./scripts/tsx.mjs scripts/build-all.mts pluginSdkStrictSmoke",
"build:strict-smoke": "node --import ./scripts/tsx.mjs scripts/build-all.mts strictSmoke",
"canvas:a2ui:bundle": "node --import ./scripts/tsx.mjs scripts/bundle-a2ui.mts",
"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 ./scripts/tsx.mjs 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:assertion-safety": "node --import ./scripts/tsx.mjs scripts/check-assertion-safety-ratchet.mts",
"check:base-config-schema": "node --import ./scripts/tsx.mjs scripts/generate-base-config-schema.ts --check",
"check:bundled-channel-config-metadata": "node --import ./scripts/tsx.mjs scripts/generate-bundled-channel-config-metadata.ts --check",
"check:changed": "node scripts/check-changed.mjs",
"check:changelog-attributions": "node --import ./scripts/tsx.mjs scripts/check-changelog-attributions.mts",
"check:coercion-helpers": "node --import ./scripts/tsx.mjs scripts/check-coercion-helper-declarations.mts",
"check:database-first-legacy-stores": "node --import ./scripts/tsx.mjs scripts/check-database-first-legacy-stores.mts",
"check:database-worker-ratchet": "node --import ./scripts/tsx.mjs scripts/check-database-worker-ratchet.mts",
"check:deprecated-api-usage": "node --import ./scripts/tsx.mjs scripts/check-deprecated-api-usage.mts",
"check:deprecated-jsdoc": "node --import ./scripts/tsx.mjs scripts/check-deprecated-jsdoc.mts",
"check:doctor-deprecation-registry": "node --import ./scripts/tsx.mjs scripts/check-doctor-deprecation-registry.ts",
"check:docs": "pnpm format:docs:check && pnpm lint:docs && pnpm lint:templates && pnpm docs:check-mdx && pnpm docs:check-i18n-glossary && pnpm docs:check-links && pnpm docs:check-config-examples && pnpm changelog:check",
"changelog:check": "node scripts/release-changelog.mjs check && node scripts/render-release-changelog.mjs --check",
"changelog:split": "node scripts/release-changelog.mjs split",
"changelog:from-docs": "node scripts/render-release-changelog.mjs",
"check:env-var-count": "node --import ./scripts/tsx.mjs scripts/check-env-var-count.mts",
"check:browser-inspect-script:swift": "node --import ./scripts/tsx.mjs scripts/generate-browser-inspect-script-swift.mts --check",
"check:host-env-policy:swift": "node --import ./scripts/tsx.mjs scripts/generate-host-env-security-policy-swift.mts --check",
"check:import-cycles": "node --import ./scripts/tsx.mjs scripts/check-import-cycles.ts",
"check:line-cap-ratchet": "node --import ./scripts/tsx.mjs scripts/check-line-cap-ratchet.mts",
"check:max-lines-ratchet": "node --import ./scripts/tsx.mjs scripts/check-max-lines-ratchet.mts",
"check:madge-import-cycles": "node --import ./scripts/tsx.mjs scripts/check-madge-import-cycles.ts",
"check:media-download-helpers": "node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/check-runtime-sidecar-loaders.mts",
"check:script-erasability": "node --disable-warning=ExperimentalWarning scripts/check-script-erasability.mjs",
"check:static-import-sccs": "pnpm check:madge-import-cycles",
"check:temp-path-guardrails": "node --import ./scripts/tsx.mjs scripts/check-temp-path-guardrails.ts",
"check:wrapper-shadowing": "node --import ./scripts/tsx.mjs scripts/check-wrapper-shadowing.mts",
"check:test-timeout-race-ratchet": "node --import ./scripts/tsx.mjs scripts/check-test-timeout-race-ratchet.mts",
"check:test-types": "pnpm tsgo:test",
"check:timed": "node --import ./scripts/tsx.mjs scripts/check-timed.mts",
"check:timed:all-types": "node --import ./scripts/tsx.mjs scripts/check-timed.mts --include-test-types",
"check:timed:architecture": "node --import ./scripts/tsx.mjs scripts/check-timed.mts --include-architecture",
"check:workflows": "node --import ./scripts/tsx.mjs scripts/check-workflows.mts",
"ci:full-release": "node scripts/full-release-validation-at-sha.mjs",
"ci:git-owner:check": "node scripts/generate-ci-git-owner.mts --check",
"ci:git-owner:gen": "node scripts/generate-ci-git-owner.mts",
"frv": "node scripts/frv.mjs",
"ci:timings": "node scripts/ci-run-timings.mjs --latest-main",
"ci:timings:refit": "node --import ./scripts/tsx.mjs scripts/ci-refit-test-timings.mts",
"ci:timings:recent": "node scripts/ci-run-timings.mjs --recent 10",
"ci:timings:trend": "node scripts/ci-run-timings.mjs --trend-hours 72 --compare-hours 12",
"clean:dist": "node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"",
"codex-app-server:protocol:check": "node --import ./scripts/tsx.mjs scripts/check-codex-app-server-protocol.ts",
"codex-app-server:protocol:sync": "node --import ./scripts/tsx.mjs scripts/sync-codex-app-server-protocol.ts",
"codex-supervisor:mcp": "node --import ./scripts/tsx.mjs src/mcp/codex-supervision-tools-serve.ts",
"codex:mcp": "node --import ./scripts/tsx.mjs src/mcp/codex-supervision-tools-serve.ts",
"config:channels:check": "node --import ./scripts/tsx.mjs scripts/generate-bundled-channel-config-metadata.ts --check",
"config:channels:gen": "node --import ./scripts/tsx.mjs scripts/generate-bundled-channel-config-metadata.ts --write",
"config:docs:check": "node --import ./scripts/tsx.mjs scripts/generate-config-doc-baseline.ts --check",
"config:docs:gen": "node --import ./scripts/tsx.mjs scripts/generate-config-doc-baseline.ts --write",
"config:schema:check": "node --import ./scripts/tsx.mjs scripts/generate-base-config-schema.ts --check",
"config:schema:gen": "node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/check-deadcode-exports.mts",
"deadcode:full": "pnpm dlx --package knip@6.32.2 knip --config config/knip.config.ts --production --no-progress --reporter compact --no-config-hints --exclude duplicates && pnpm dlx --package knip@6.32.2 knip --config config/knip.all-exports.config.ts --no-progress --reporter compact --no-config-hints --exports --exclude duplicates",
"deadcode:knip": "pnpm dlx --package knip@6.32.2 knip --config config/knip.config.ts --production --no-progress --reporter compact --files --dependencies",
"deadcode:report": "pnpm deadcode:full && pnpm deadcode:exports",
"deadcode:unused-files": "node --import ./scripts/tsx.mjs scripts/check-deadcode-unused-files.mts",
"deps:root-ownership": "node --import ./scripts/tsx.mjs scripts/root-dependency-ownership-audit.mts",
"deps:root-ownership:check": "node --import ./scripts/tsx.mjs scripts/root-dependency-ownership-audit.mts --check",
"deps:changes:report": "node --import ./scripts/tsx.mjs scripts/dependency-changes-report.mts",
"deps:patches:check": "node --import ./scripts/tsx.mjs scripts/check-package-patches.mts",
"deps:pins:check": "node --import ./scripts/tsx.mjs 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:npm-lock:report": "node --import ./scripts/tsx.mjs scripts/npm-package-locks-report.mts",
"deps:ownership-surface:check": "node --import ./scripts/tsx.mjs scripts/dependency-ownership-surface-report.mts --check",
"deps:ownership-surface:report": "node --import ./scripts/tsx.mjs scripts/dependency-ownership-surface-report.mts",
"deps:transitive-risk:report": "node --import ./scripts/tsx.mjs scripts/transitive-manifest-risk-report.mts",
"deps:vuln:gate": "node --import ./scripts/tsx.mjs scripts/dependency-vulnerability-gate.mts",
"db:kysely:check": "node scripts/run-vitest.mjs test/scripts/generate-kysely-types.test.ts && node scripts/generate-kysely-types.mts --verify",
"db:kysely:gen": "node scripts/generate-kysely-types.mts",
"db:worker-inventory:check": "node scripts/database-worker-inventory.mjs --check",
"db:worker-inventory:gen": "node scripts/database-worker-inventory.mjs --write",
"dev": "node scripts/run-node.mjs",
"dev:ui:mock": "node --import ./scripts/tsx.mjs scripts/control-ui-mock-dev.ts",
"docs:check-config-examples": "node scripts/check-docs-config-examples.mjs",
"docs:check-i18n-glossary": "node --import ./scripts/tsx.mjs 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": "node scripts/docs-dev.mjs",
"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 ./scripts/tsx.mjs scripts/qa/render-maturity-docs.ts --check",
"maturity:render": "node --import ./scripts/tsx.mjs scripts/qa/render-maturity-docs.ts",
"dup:check": "node scripts/check-duplicates.mjs",
"dup:check:coverage": "node scripts/check-duplicates.mjs --coverage",
"dup:check:json": "node scripts/check-duplicates.mjs --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 ./scripts/tsx.mjs scripts/format-docs.mts",
"format:docs:check": "node --import ./scripts/tsx.mjs scripts/format-docs.mts --check",
"format:fix": "oxfmt --write --threads=1",
"format:swift": "./scripts/format-swift.sh",
"gateway:dev": "node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway",
"gateway:dev:reset": "node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway --reset",
"gateway:watch": "node --import ./scripts/tsx.mjs scripts/gateway-watch-tmux.mts gateway --force",
"gateway:watch:raw": "node scripts/watch-node.mjs gateway --force",
"gen:browser-inspect-script:swift": "node --import ./scripts/tsx.mjs scripts/generate-browser-inspect-script-swift.mts --write",
"gen:host-env-policy:swift": "node --import ./scripts/tsx.mjs scripts/generate-host-env-security-policy-swift.mts --write",
"ghsa:patch": "node --import ./scripts/tsx.mjs scripts/ghsa-patch.mts",
"ios:app-review-notes:pdf": "xcrun swift scripts/ios-app-review-notes-pdf.swift apps/ios/APP-REVIEW-NOTES-APPLE.md apps/ios/build/app-review/APP-REVIEW-NOTES.pdf",
"ios:build": "/bin/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": "/bin/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": "/bin/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": "/bin/bash scripts/ios-release-archive.sh",
"ios:release:cut": "/bin/bash scripts/ios-release-cut.sh",
"ios:release:plan": "/bin/bash scripts/ios-release-plan.sh",
"ios:release:prepare": "/bin/bash scripts/ios-release-prepare.sh",
"ios:release:signing:check": "/bin/bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_check'",
"ios:release:signing:plan": "/bin/bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_plan'",
"ios:release:signing:setup": "/bin/bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_setup'",
"ios:release:signing:sync:pull": "/bin/bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_sync_pull'",
"ios:release:signing:sync:push": "/bin/bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_sync_push'",
"ios:release:upload": "node scripts/mobile-release.mjs run --platform ios",
"ios:run": "/bin/bash scripts/ios-run.sh",
"ios:screenshots": "/bin/bash scripts/ios-screenshots.sh",
"ios:version": "node --import ./scripts/tsx.mjs scripts/ios-version.ts --json",
"ios:version:check": "node --import ./scripts/tsx.mjs scripts/ios-sync-versioning.ts --check",
"ios:version:sync": "node --import ./scripts/tsx.mjs scripts/ios-sync-versioning.ts --write",
"leak:embedded-run": "node --import ./scripts/tsx.mjs --expose-gc scripts/embedded-run-abort-leak.ts",
"leak:embedded-run:liveness": "node --import ./scripts/tsx.mjs --expose-gc scripts/embedded-run-liveness-leak.ts",
"lint": "node --import ./scripts/tsx.mjs scripts/run-lint.mts",
"lint:agent:ingress-owner": "node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/check-no-pairing-store-group-auth.mts",
"lint:auth:pairing-account-scope": "node --import ./scripts/tsx.mjs scripts/check-pairing-account-scope.mts",
"lint:core": "node --import ./scripts/tsx.mjs scripts/run-oxlint-shards.mts --only=core",
"lint:docker-e2e": "node --import ./scripts/tsx.mjs scripts/check-docker-e2e-boundaries.mts",
"lint:kysely": "node --import ./scripts/tsx.mjs 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:templates": "pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-templates.jsonc",
"lint:templates:fix": "pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-templates.jsonc --fix",
"lint:extensions:no-deprecated-channel-access": "node --import ./scripts/tsx.mjs scripts/check-no-deprecated-channel-access.ts",
"lint:extensions:telegram-grammy-types": "node --import ./scripts/tsx.mjs scripts/check-telegram-grammy-types-imports.mts",
"lint:extensions": "node scripts/run-oxlint.mjs --tsconfig extensions/tsconfig.json extensions",
"lint:extensions:no-guarded-wildcard-reexports": "node --import ./scripts/tsx.mjs scripts/check-extension-wildcard-reexports.mts",
"lint:extensions:no-normalization-core-bypass": "node --import ./scripts/tsx.mjs scripts/check-extension-plugin-sdk-boundary.mts --mode=normalization-core-bypass",
"lint:extensions:no-plugin-sdk-wildcard-reexports": "node --import ./scripts/tsx.mjs scripts/check-plugin-sdk-wildcard-reexports.mts",
"lint:extensions:no-relative-outside-package": "node --import ./scripts/tsx.mjs scripts/check-extension-plugin-sdk-boundary.mts --mode=relative-outside-package",
"lint:extensions:no-src-outside-plugin-sdk": "node --import ./scripts/tsx.mjs scripts/check-extension-plugin-sdk-boundary.mts --mode=src-outside-plugin-sdk",
"lint:fix": "node scripts/run-oxlint.mjs --fix && pnpm format",
"lint:plugins:no-extension-imports": "node --import ./scripts/tsx.mjs scripts/check-plugin-extension-import-boundary.mts",
"lint:plugins:no-extension-src-imports": "node --import ./scripts/tsx.mjs scripts/check-no-extension-src-imports.ts",
"lint:plugins:no-extension-test-core-imports": "node --import ./scripts/tsx.mjs scripts/check-no-extension-test-core-imports.ts",
"lint:plugins:no-monolithic-plugin-sdk-entry-imports": "node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/check-plugin-sdk-subpath-exports.mts",
"lint:no-chained-type-assertions": "node scripts/run-oxlint.mjs --openclaw-focused-config --config config/oxlint/boundary-guards.json src extensions packages ui/src",
"lint:no-widen-then-assert": "node scripts/run-oxlint.mjs --openclaw-focused-config --config config/oxlint/boundary-guards.json src extensions packages ui/src",
"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 ./scripts/tsx.mjs scripts/check-channel-agnostic-boundaries.mts",
"lint:tmp:dynamic-import-warts": "node --import ./scripts/tsx.mjs scripts/check-dynamic-import-warts.mts",
"lint:tmp:export-name-collisions": "node --import ./scripts/tsx.mjs scripts/check-export-name-collisions.mts",
"lint:tmp:no-random-messaging": "node --import ./scripts/tsx.mjs scripts/check-no-random-messaging-tmp.mts",
"lint:tmp:no-raw-channel-fetch": "node --import ./scripts/tsx.mjs scripts/check-no-raw-channel-fetch.mts",
"lint:tmp:no-raw-http2-imports": "node --import ./scripts/tsx.mjs scripts/check-no-raw-http2-imports.mts",
"lint:tmp:session-accessor-boundary": "node --import ./scripts/tsx.mjs scripts/check-session-accessor-boundary.mts",
"lint:tmp:session-accessor-boundary:gen": "node --import ./scripts/tsx.mjs scripts/check-session-accessor-boundary.mts --update-debt-baseline",
"lint:tmp:session-transcript-reader-boundary": "node --import ./scripts/tsx.mjs scripts/check-session-transcript-reader-boundary.mts",
"lint:tmp:sqlite-transaction-boundary": "node --import ./scripts/tsx.mjs scripts/check-sqlite-transaction-boundary.mts",
"lint:tmp:tsgo-core-boundary": "node --import ./scripts/tsx.mjs 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\" \"ui/public/themes/*.css\"",
"lint:web-fetch-provider-boundaries": "node --import ./scripts/tsx.mjs scripts/check-web-fetch-provider-boundaries.mts",
"lint:webhook:no-low-level-body-read": "node --import ./scripts/tsx.mjs scripts/check-webhook-auth-body-order.mts",
"mac:open": "open dist/OpenClaw.app",
"mac:package": "/bin/bash scripts/package-mac-app.sh",
"mac:restart": "/bin/bash scripts/restart-mac.sh",
"mobile:release:notes": "node --import ./scripts/tsx.mjs scripts/mobile-release-notes.ts",
"mobile:release:preflight": "node --import ./scripts/tsx.mjs scripts/mobile-release-ref.ts preflight",
"mobile:release:record": "node --import ./scripts/tsx.mjs scripts/mobile-release-ref.ts record",
"mobile:release:resolve": "node --import ./scripts/tsx.mjs scripts/mobile-release-ref.ts resolve",
"openclaw": "node scripts/run-node.mjs",
"openclaw:rpc": "node scripts/run-node.mjs agent --mode rpc --json",
"perf:redaction": "node --import ./scripts/tsx.mjs scripts/bench-redaction-prefilters.ts",
"perf:web-fetch": "node --import ./scripts/tsx.mjs scripts/bench-web-fetch.ts",
"perf:write-diff": "node --import ./scripts/tsx.mjs scripts/bench-write-diff.ts",
"perf:kova:summary": "node --import ./scripts/tsx.mjs scripts/kova-ci-summary.mts",
"perf:source:summary": "node --import ./scripts/tsx.mjs scripts/openclaw-performance-source-summary.mts",
"plugin-sdk:api:diff": "node --max-old-space-size=8192 --import ./scripts/tsx.mjs scripts/plugin-sdk-api-diff.mts",
"plugin-sdk:check-exports": "node --import ./scripts/tsx.mjs scripts/sync-plugin-sdk-exports.mts --check",
"plugin-sdk:surface": "node --max-old-space-size=8192 --import ./scripts/tsx.mjs scripts/plugin-sdk-surface-report.mts",
"plugin-sdk:surface:check": "node --max-old-space-size=8192 --import ./scripts/tsx.mjs scripts/plugin-sdk-surface-report.mts --check",
"plugin-sdk:sync-exports": "node --import ./scripts/tsx.mjs scripts/sync-plugin-sdk-exports.mts",
"plugin-sdk:usage": "node --max-old-space-size=8192 --import ./scripts/tsx.mjs scripts/analyze-plugin-sdk-usage.ts",
"policy:config-coverage": "node --import ./scripts/tsx.mjs scripts/check-policy-config-coverage.ts",
"plugins:boundary-report": "node --import ./scripts/tsx.mjs scripts/plugin-boundary-report.ts",
"plugins:boundary-report:ci": "node --import ./scripts/tsx.mjs scripts/plugin-boundary-report.ts --summary --fail-on-eligible-compat",
"plugins:boundary-report:json": "node --import ./scripts/tsx.mjs scripts/plugin-boundary-report.ts --json",
"plugins:boundary-report:summary": "node --import ./scripts/tsx.mjs scripts/plugin-boundary-report.ts --summary",
"plugins:assets:build": "node --import ./scripts/tsx.mjs scripts/bundled-plugin-assets.mts --phase build",
"plugins:assets:check": "node --import ./scripts/tsx.mjs scripts/bundled-plugin-assets.mts --phase build --check",
"plugins:assets:copy": "node --import ./scripts/tsx.mjs scripts/bundled-plugin-assets.mts --phase copy",
"plugins:inventory:check": "node --import ./scripts/tsx.mjs scripts/generate-plugin-inventory-doc.mts --check",
"plugins:inventory:gen": "node --import ./scripts/tsx.mjs scripts/generate-plugin-inventory-doc.mts --write",
"plugins:inventory:json": "node scripts/generate-plugin-inventory-doc.mts --json",
"plugins:sync": "node --import ./scripts/tsx.mjs scripts/sync-plugin-versions.ts",
"plugins:sync:check": "node --import ./scripts/tsx.mjs scripts/sync-plugin-versions.ts --check",
"postinstall": "node scripts/postinstall-bundled-plugins.mjs",
"postpack": "node scripts/openclaw-postpack.mjs",
"pnpm:devPreinstall": "node scripts/check-install-dependency-ownership.mjs",
"preinstall": "node scripts/preinstall-package-manager-warning.mjs",
"prepack": "node --import ./scripts/tsx.mjs scripts/openclaw-prepack.ts",
"prepare": "node scripts/prepare-git-hooks.mjs",
"prepush:ci": "bash scripts/prepush-ci.sh",
"probe:anthropic:prompt": "node --import ./scripts/tsx.mjs scripts/anthropic-prompt-probe.ts",
"prompt:snapshots:check": "node --import ./scripts/tsx.mjs scripts/generate-prompt-snapshots.ts --check",
"prompt:snapshots:gen": "node --import ./scripts/tsx.mjs scripts/generate-prompt-snapshots.ts --write",
"prompt:snapshots:sync-codex-model": "node --import ./scripts/tsx.mjs scripts/sync-codex-model-prompt-fixture.ts",
"protocol:check": "pnpm protocol-registry:check && pnpm protocol:gen && node scripts/prepare-native-protocol.mjs --check && node --import ./scripts/tsx.mjs scripts/check-protocol-since.mts",
"protocol:check:kotlin": "node scripts/prepare-native-protocol.mjs --language kotlin --check",
"protocol:check:swift": "node scripts/prepare-native-protocol.mjs --language swift --check",
"protocol:gen": "node --import ./scripts/tsx.mjs scripts/protocol-gen.ts",
"protocol:gen:kotlin": "node scripts/prepare-native-protocol.mjs --language kotlin",
"protocol:gen:swift": "node scripts/prepare-native-protocol.mjs --language swift",
"protocol-registry:check": "node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/qa-e2e.ts",
"qa:lab:build": "node scripts/run-node-package-bin.mts vite build --config extensions/qa-lab/web/vite.config.ts",
"qa:lab:ui": "pnpm openclaw qa ui",
"qa:lab:up": "node --import ./scripts/tsx.mjs scripts/qa-lab-up.ts",
"qa:lab:up:fast": "node --import ./scripts/tsx.mjs scripts/qa-lab-up.ts --use-prebuilt-image --bind-ui-dist --skip-ui-build",
"qa:lab:watch": "node scripts/run-node-package-bin.mts 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 ./scripts/tsx.mjs test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts --collector docker",
"qa:otel:smoke": "node --import ./scripts/tsx.mjs test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts",
"qa:code-mode-models": "node --import ./scripts/tsx.mjs scripts/code-mode-model-matrix.ts",
"qa:prometheus:smoke": "node scripts/run-node.mjs qa suite --provider-mode mock-openai --scenario docker-prometheus-smoke --concurrency 1 --fast",
"release-metadata:check": "node --import ./scripts/tsx.mjs scripts/check-release-metadata-only.mts",
"release:beta": "node --import ./scripts/tsx.mjs scripts/release-candidate-checklist.mts",
"release:beta-smoke": "node --import ./scripts/tsx.mjs scripts/release-beta-smoke.ts",
"release:candidate": "node --import ./scripts/tsx.mjs scripts/release-candidate-checklist.mts",
"release:clawhub-recovery": "node scripts/plugin-clawhub-recovery.mjs",
"release:check": "pnpm build:package && pnpm release:generated:check && node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/openclaw-npm-release-check.ts",
"release:openclaw:npm:verify-published": "node --import ./scripts/tsx.mjs scripts/openclaw-npm-postpublish-verify.ts",
"release:prepare": "node --import ./scripts/tsx.mjs scripts/release-prepare.ts",
"release:plugins:clawhub:check": "node --import ./scripts/tsx.mjs scripts/plugin-clawhub-release-check.ts",
"release:plugins:clawhub:plan": "node --import ./scripts/tsx.mjs scripts/plugin-clawhub-release-plan.ts",
"release:plugins:npm:check": "node --import ./scripts/tsx.mjs scripts/plugin-npm-release-check.ts",
"release:plugins:npm:plan": "node --import ./scripts/tsx.mjs scripts/plugin-npm-release-plan.ts",
"release:verify-beta": "node --import ./scripts/tsx.mjs 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:publish-preflight": "node --import ./scripts/tsx.mjs scripts/release-publish-preflight.mts",
"release:stable": "node --import ./scripts/tsx.mjs scripts/release-stable.mts",
"release:version": "node --import ./scripts/tsx.mjs scripts/release-version.ts",
"runtime-sidecars:check": "node --import ./scripts/tsx.mjs scripts/generate-runtime-sidecar-paths-baseline.ts --check",
"runtime-sidecars:gen": "node --import ./scripts/tsx.mjs scripts/generate-runtime-sidecar-paths-baseline.ts --write",
"sqlite:sessions-schema:check": "node --import ./scripts/tsx.mjs scripts/generate-sqlite-session-schema-baseline.ts --check",
"sqlite:sessions-schema:gen": "node --import ./scripts/tsx.mjs scripts/generate-sqlite-session-schema-baseline.ts --write",
"start": "node openclaw.mjs",
"test": "node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/test-built-plugin-singleton.mts",
"test:build:status-message-runtime": "node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/test-projects.mts --changed origin/main",
"test:changed:max": "node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/test-projects.mts --maxWorkers=1 test/vitest/vitest.contracts-channel-surface.config.ts test/vitest/vitest.contracts-channel-config.config.ts test/vitest/vitest.contracts-channel-registry.config.ts test/vitest/vitest.contracts-channel-session.config.ts",
"test: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:container-image-upgrade": "bash scripts/e2e/container-image-upgrade-docker.sh",
"test:docker:fleet-cache": "bash scripts/e2e/fleet-cache-docker.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:cache": "OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_AUTH=api-key OPENCLAW_LIVE_CLI_BACKEND_CACHE_PROBE=1 bash scripts/test-live-cli-backend-docker.sh",
"test:docker:live-anthropic-cache": "bash scripts/e2e/anthropic-cache-live-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 ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_DOCKER_ALL_LIVE_MODE=only -- node scripts/test-docker-all.mjs",
"test:docker:local:all": "node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_DOCKER_ALL_LIVE_MODE=skip -- node scripts/test-docker-all.mjs",
"test:docker: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-driver-lifecycle": "node scripts/e2e/published-driver-lifecycle-docker.mjs",
"test:docker:published-driver-update": "bash scripts/e2e/published-driver-update-docker.sh",
"test:docker:published-upgrade-survivor": "node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_DOCKER_ALL_LANES=published-upgrade-survivor -- node scripts/test-docker-all.mjs",
"test:docker:qr": "bash scripts/e2e/qr-import-docker.sh",
"test:docker:rerun": "node --import ./scripts/tsx.mjs 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@latest} 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 ./scripts/tsx.mjs 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-first-hop-compat": "bash scripts/e2e/update-first-hop-compat-docker.sh",
"test:docker:update-migration": "env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@latest} 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:upgrade-survivor": "bash scripts/e2e/upgrade-survivor-docker.sh",
"test:docker:dreaming-cron-doctor": "env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=openclaw@2026.9.6 OPENCLAW_UPGRADE_SURVIVOR_CANDIDATE=current OPENCLAW_UPGRADE_SURVIVOR_SCENARIO=dreaming-cron-doctor OPENCLAW_UPGRADE_SURVIVOR_UPDATE_RESTART_MODE=manual OPENCLAW_UPGRADE_SURVIVOR_ROOT_MANAGED_VPS=0 OPENCLAW_UPGRADE_SURVIVOR_LIVE_MODELS= OPENCLAW_UPGRADE_SURVIVOR_LIVE_OPENAI=0 bash scripts/e2e/upgrade-survivor-docker.sh",
"test:env-mutations:report": "node --import ./scripts/tsx.mjs scripts/test-env-mutation-report.ts",
"test:skip-inventory:report": "node --import ./scripts/tsx.mjs scripts/test-skip-inventory.ts",
"test:type-suppression-inventory:report": "node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/agent-plugin-gateway-e2e.ts",
"test:e2e:browser-extension": "node --import ./scripts/tsx.mjs scripts/build-all.mts qaRuntime && node --import ./scripts/tsx.mjs scripts/run-with-env.mts PLAYWRIGHT_BROWSERS_PATH=.artifacts/playwright-browsers -- node --import ./scripts/tsx.mjs scripts/ensure-playwright-chromium.mts --require-playwright-chromium && node --import ./scripts/tsx.mjs scripts/run-with-env.mts PLAYWRIGHT_BROWSERS_PATH=.artifacts/playwright-browsers OPENCLAW_BROWSER_EXTENSION_E2E=1 OPENCLAW_E2E_WORKERS=1 -- node scripts/run-vitest.mjs extensions/browser/chrome-extension/bootstrap.chromium.test.ts",
"test:e2e:browser-mcp": "node --import ./scripts/tsx.mjs scripts/ensure-playwright-chromium.mts --require-playwright-chromium && node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_BROWSER_MCP_E2E=1 OPENCLAW_BROWSER_WAIT_E2E=1 OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs extensions/browser/src/browser/chrome-mcp.chromium.test.ts extensions/browser/src/browser/chrome-mcp-labels.chromium.test.ts extensions/browser/src/browser/routes/agent.act.wait-visibility.chromium.test.ts test/scripts/check-openclaw-package-tarball.bundled-mcp.test.ts",
"test:e2e:gateway": "node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts",
"test:e2e:node-auto-update": "node scripts/e2e/lib/node-auto-update/scenario.mjs",
"test:e2e:openshell": "node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_E2E_OPENSHELL=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts extensions/openshell/src/backend.e2e.test.ts",
"test:extension": "node --import ./scripts/tsx.mjs scripts/test-extension.mts",
"test:extensions": "node --import ./scripts/tsx.mjs scripts/test-projects.mts extensions",
"test:extensions:batch": "node --import ./scripts/tsx.mjs scripts/test-extension-batch.mts",
"test:extensions:memory": "node --import ./scripts/tsx.mjs scripts/profile-extension-memory.mts",
"test:extensions:package-boundary": "node --import ./scripts/tsx.mjs scripts/check-extension-package-tsc-boundary.mts",
"test:extensions:package-boundary:canary": "node --import ./scripts/tsx.mjs scripts/check-extension-package-tsc-boundary.mts --mode=canary",
"test:extensions:package-boundary:compile": "node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/test-force.ts",
"test:freebsd:service-inspect": "node scripts/test-freebsd-service-inspect.mjs",
"test:gateway": "node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts",
"test:gateway:cpu-scenarios": "node --import ./scripts/tsx.mjs scripts/check-gateway-cpu-scenarios.mts",
"test:gateway:concurrency": "node scripts/bench-gateway-concurrency.ts",
"test:gateway:worker-commit": "node --import ./scripts/tsx.mjs scripts/bench-worker-transcript-commit.ts",
"test:gateway:memory-fd-repro": "node --import ./scripts/tsx.mjs scripts/check-memory-fd-repro.mts",
"test:gateway:watch-regression": "node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/test-live.mts",
"test:live:cache": "node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 -- node --import ./scripts/tsx.mjs scripts/check-live-cache.ts",
"test:live:codex-harness": "node --import ./scripts/tsx.mjs scripts/test-live.mts --codex-harness -- src/gateway/gateway-codex-harness.live.test.ts",
"test:live:system-agent-rescue-channel": "node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_LIVE_SYSTEM_AGENT_RESCUE_CHANNEL=1 -- node --import ./scripts/tsx.mjs scripts/test-live.mts -- src/system-agent/rescue-channel.live.test.ts",
"test:live:gateway-profiles": "node --import ./scripts/tsx.mjs scripts/test-live.mts -- src/gateway/gateway-models.profiles.live.test.ts",
"test:live:media": "node --import ./scripts/tsx.mjs test/e2e/qa-lab/media/hosted-media-provider-live.ts",
"test:live:media:image": "node --import ./scripts/tsx.mjs test/e2e/qa-lab/media/hosted-media-provider-live.ts image",
"test:live:media:music": "node --import ./scripts/tsx.mjs test/e2e/qa-lab/media/hosted-media-provider-live.ts music",
"test:live:media:video": "node --import ./scripts/tsx.mjs test/e2e/qa-lab/media/hosted-media-provider-live.ts video",
"test:live:models-profiles": "node --import ./scripts/tsx.mjs scripts/test-live.mts -- src/agents/models.profiles.live.test.ts",
"test:macos:ci": "pnpm test:macos:ci:1 && pnpm test:macos:ci:2 && pnpm test:macos:ci:3",
"test:macos:ci:1": "node --import ./scripts/tsx.mjs scripts/test-projects.mts test/scripts/mac-elevation-host.test.ts",
"test:macos:ci:2": "node --import ./scripts/tsx.mjs scripts/test-projects.mts test/scripts/vitest-process-group.test.ts test/scripts/package-mac-app.test.ts test/scripts/stage-cloudflared-macos.test.ts test/scripts/stage-openclaw-bun-macos.test.ts test/scripts/build-mac-sqlite.test.ts test/scripts/restart-mac.test.ts test/scripts/mac-runtime.test.ts test/scripts/package-mac-dist.test.ts test/scripts/codesign-mac-app.test.ts test/scripts/notarize-mac-artifact.test.ts test/scripts/mac-elevation-artifact.test.ts",
"test:macos:ci:3": "node --import ./scripts/tsx.mjs scripts/test-projects.mts test/scripts/ci-platform-checkout.test.ts test/scripts/macos-native-test-launch.test.ts src/daemon/launchd.test.ts src/daemon/runtime-paths.test.ts src/daemon/runtime-binary.test.ts src/gateway/worker-environments/workspace-rsync-path.test.ts src/infra/brew.test.ts src/infra/stable-node-path.test.ts src/process/supervisor/adapters/child.service-lifecycle.test.ts test/scripts/verify-mac-runtime-fs.test.ts test/scripts/create-dmg.test.ts src/skills/runtime/refresh.test.ts src/skills/runtime/refresh.missing-root.integration.test.ts",
"test:max": "node --import ./scripts/tsx.mjs scripts/test-projects-max.mts",
"test:parallels:linux": "/bin/bash scripts/e2e/parallels-linux-smoke.sh",
"test:parallels:macos": "/bin/bash scripts/e2e/parallels-macos-smoke.sh",
"test:parallels:npm-update": "/bin/bash scripts/e2e/parallels-npm-update-smoke.sh",
"test:parallels:windows:prepare": "/bin/bash scripts/e2e/parallels-windows-prepare.sh",
"test:parallels:windows": "/bin/bash scripts/e2e/parallels-windows-smoke.sh",
"test:agents:concurrency": "node --import ./scripts/tsx.mjs scripts/bench-agent-concurrency.ts",
"test:perf:budget": "node --import ./scripts/tsx.mjs scripts/test-perf-budget.mts",
"test:perf:changed:bench": "node --import ./scripts/tsx.mjs scripts/bench-test-changed.mts",
"test:perf:groups": "node --import ./scripts/tsx.mjs scripts/test-group-report.mts",
"test:perf:groups:compare": "node --import ./scripts/tsx.mjs scripts/test-group-report.mts --compare",
"test:perf:hotspots": "node --import ./scripts/tsx.mjs scripts/test-hotspots.mts",
"test:perf:imports": "node --import ./scripts/tsx.mjs scripts/test-projects-imports.mts",
"test:perf:imports:changed": "node --import ./scripts/tsx.mjs scripts/test-projects-imports.mts --changed origin/main",
"test:perf:profile:main": "node --import ./scripts/tsx.mjs scripts/run-vitest-profile.mts main",
"test:perf:profile:runner": "node --import ./scripts/tsx.mjs scripts/run-vitest-profile.mts runner",
"test:sqlite:perf": "node --import ./scripts/tsx.mjs scripts/bench-sqlite-state.ts --profile default --output .artifacts/sqlite-perf/default.json",
"test:sqlite:perf:large": "node --import ./scripts/tsx.mjs scripts/bench-sqlite-state.ts --profile large --output .artifacts/sqlite-perf/large.json",
"test:sqlite:perf:smoke": "node --import ./scripts/tsx.mjs scripts/bench-sqlite-state.ts --profile smoke --output .artifacts/sqlite-perf/smoke.json",
"test:plugins:gateway-gauntlet": "node --import ./scripts/tsx.mjs scripts/check-plugin-gateway-gauntlet.mts",
"test:plugins:init-provider-scaffold": "node --import ./scripts/tsx.mjs 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 ./scripts/tsx.mjs scripts/e2e/kitchen-sink-rpc-walk.mts",
"test:plugins:kitchen-sink-rpc:bun": "node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_ENTRY=./openclaw.mjs -- bun scripts/e2e/kitchen-sink-rpc-walk.mts",
"test:sectriage": "node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts && node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --exclude src/process/exec.test.ts",
"test:serial": "node --import ./scripts/tsx.mjs scripts/test-projects-serial.mts",
"test:stability:gateway": "node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/gateway-stability.test.ts && node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.logging.config.ts src/logging/diagnostic-stability-bundle.test.ts && node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run src/infra/fatal-error-hooks.test.ts",
"test:cli-response:contract": "node --import ./scripts/tsx.mjs scripts/build-all.mts cliStartup && node --import ./scripts/tsx.mjs scripts/test-cli-startup-bench-budget.mts --preset response --runs 1 --warmup 0 --timeout-ms 10000 --skip-baseline",
"test:startup:bench": "node --import ./scripts/tsx.mjs scripts/bench-cli-startup.ts",
"test:startup:bench:check": "node --import ./scripts/tsx.mjs scripts/test-cli-startup-bench-budget.mts",
"test:startup:bench:save": "node --import ./scripts/tsx.mjs scripts/bench-cli-startup.ts --preset all --runs 5 --warmup 1 --output .artifacts/cli-startup-bench-all.json",
"test:startup:bench:smoke": "node --import ./scripts/tsx.mjs scripts/ensure-cli-startup-build.mts && node --import ./scripts/tsx.mjs scripts/bench-cli-startup.ts --preset real --case gatewayStatusJson --runs 1 --warmup 0 --output .artifacts/cli-startup-bench-smoke.json",
"test:startup:bench:update": "node --import ./scripts/tsx.mjs scripts/test-update-cli-startup-bench.mts",
"test:startup:gateway": "node --import ./scripts/tsx.mjs scripts/bench-gateway-startup.ts",
"test:restart:gateway": "node --import ./scripts/tsx.mjs scripts/bench-gateway-restart.ts",
"test:sessions:history:bench": "node --import ./scripts/tsx.mjs scripts/bench-session-history.ts",
"test:sessions:hydration-memory": "node --import ./scripts/tsx.mjs scripts/bench-session-manager-hydration-memory.ts",
"test:sessions:paths:bench": "node --import ./scripts/tsx.mjs scripts/bench-session-paths.ts",
"test:sessions:write-hold": "node --import ./scripts/tsx.mjs scripts/bench-session-manager-write-hold.ts",
"test:startup:memory": "node --import ./scripts/tsx.mjs scripts/ensure-cli-startup-build.mts && node scripts/check-cli-startup-memory.mjs",
"test:ui": "pnpm lint:ui:no-raw-window-open && node --import ./scripts/tsx.mjs scripts/ensure-playwright-chromium.mts && pnpm --dir ui test",
"test:ui:e2e": "node --import ./scripts/tsx.mjs scripts/ensure-playwright-chromium.mts && node scripts/run-vitest.mjs run --config test/vitest/vitest.ui-e2e.config.ts --configLoader runner",
"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 ./scripts/tsx.mjs scripts/test-unit-fast-audit.mts",
"test:voicecall:closedloop": "node --import ./scripts/tsx.mjs scripts/test-voicecall-closedloop.mts",
"test:watch": "node --import ./scripts/tsx.mjs scripts/test-projects.mts --watch",
"test:windows:ci": "pnpm test:windows:ci:1 && pnpm test:windows:ci:2",
"test:windows:ci:1": "node --import ./scripts/tsx.mjs scripts/test-projects.mts extensions/acpx/src/runtime-argv.process.test.ts src/state/openclaw-state-ownership.test.ts src/snapshot/local-repository.windows.test.ts src/state/openclaw-database-paths.windows.test.ts src/infra/update-candidate-state.namespaced-paths.test.ts src/infra/update-candidate-state.budget.test.ts src/infra/update-candidate-state.cleanup.test.ts src/infra/update-candidate-state.online-backup.process.test.ts src/node-host/invoke-system-run-allowlist.test.ts src/node-host/invoke-agent-cli-claude.test.ts src/node-host/node-worker-transfer-client.test.ts packages/terminal-core/src/display-string.test.ts src/config/sessions/session-accessor.sqlite-archive.worker.test.ts src/cron/isolated-agent/session.preparation.storage-env.test.ts src/commands/doctor-gateway-auth-token.windows.test.ts src/commands/doctor-lint.state-isolation.test.ts src/flows/doctor-health-contributions.windows-cloud-state.test.ts src/infra/state-migrations.audit-logs.windows.test.ts src/infra/state-migrations.workspace-setup.windows.test.ts src/commands/backup-verify.test.ts src/commands/agents.commands.list.test.ts src/gateway/gateway-cron-process-identity.windows.test.ts src/node-host/node-worker-bundle-installer.test.ts test/scripts/check-openclaw-package-tarball.test.ts test/scripts/check-openclaw-package-tarball.bundled-mcp.test.ts test/scripts/direct-run-entrypoints.test.ts test/scripts/format-generated-module.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 extensions/canvas/scripts/pnpm-runner.test.ts test/scripts/run-with-env.test.ts test/scripts/ui.test.ts test/helpers/temp-dir.test.ts test/scripts/vitest-process-cache.test.ts test/scripts/vitest-process-group.test.ts test/scripts/vitest-worker-artifacts.test.ts src/agents/tools/media-tool-file-url.windows.test.ts extensions/memory-core/src/memory-extra-file-path.windows.test.ts src/daemon/schtasks.startup-fallback.test.ts src/daemon/schtasks.startup-launch.test.ts src/daemon/schtasks.settlement.test.ts src/daemon/schtasks-runtime-probe.windows.test.ts src/cli/update-cli/update-command-readiness.windows.test.ts src/infra/update-candidate-canary.cleanup.test.ts src/daemon/schtasks.env-case.real.test.ts test/e2e/qa-lab/runtime/package-openclaw-for-docker.e2e.test.ts extensions/lobster/src/lobster-runner.test.ts src/gateway/worker-environments/workspace-quiescence.windows.test.ts src/infra/git-exec.test.ts src/gateway/worker-environments/workspace-result-ref-mutation.test.ts extensions/memory-wiki/src/obsidian.discovery.test.ts src/infra/sqlite-private-directory.windows.test.ts src/skills/runtime/refresh.windows.test.ts src/skills/runtime/refresh-watch-path.test.ts src/skills/runtime/refresh.missing-root.integration.test.ts src/infra/sqlite-snapshot.test.ts src/infra/sqlite-snapshot-staging.cancellation.test.ts src/infra/sqlite-snapshot-retirement.test.ts src/infra/ports.test.ts src/infra/diagnostic-process-siblings.env.test.ts src/infra/windows-diagnostic-env.test.ts src/infra/windows-encoding.test.ts src/infra/windows-process-start.test.ts src/infra/windows-process-start.native.test.ts src/infra/advertised-lan-host.windows.test.ts src/infra/update-managed-service-handoff-database-publication.test.ts src/infra/update-managed-service-handoff-command.test.ts src/infra/update-managed-service-handoff-lifecycle.test.ts src/infra/executable-path.test.ts src/gateway/control-ui-asset-retention.publication.test.ts src/config/io.write-effects.windows.test.ts src/infra/fs-safe.test.ts src/infra/fs-safe-remove.test.ts src/infra/state-migrations.legacy-session-store.test.ts src/infra/windows-install-roots.test.ts src/infra/openclaw-cli-shim.windows.test.ts src/media/local-media-path.windows.test.ts src/media/web-media.file-url.windows.test.ts src/cli/completion-runtime.windows.test.ts src/cli/update-cli/update-command-migrated-windows.test.ts src/cli/daemon-cli/status.print.test.ts src/cli/mcp-cli.path-case.windows.test.ts src/config/io.snapshot.test.ts src/commands/doctor-config-preflight.state-migration.test.ts src/infra/windows-process-census.test.ts src/infra/windows-process-census.native.test.ts src/infra/openclaw-process-census.test.ts src/plugins/plugin-generation-artifact.native-reference.test.ts src/cli/update-cli/update-repair-handoff.test.ts src/infra/update-managed-service-handoff-recovery.test.ts src/infra/update-managed-service-handoff-recovery-database.test.ts src/infra/update-managed-service-handoff-cleanup-repair.test.ts src/config/sessions/session-creation-publication.windows-path.test.ts src/config/sessions/session-accessor.sqlite-creation-worker.test.ts src/infra/sqlite-worker-identity.test.ts",
"test:windows:ci:2": "node --import ./scripts/tsx.mjs scripts/test-projects.mts src/shared/pid-alive.env.test.ts src/agents/cli-executable-identity.test.ts src/plugin-sdk/windows-spawn.test.ts src/infra/fs-safe-pinned-write-errno.test.ts src/infra/package-update-swap.windows.test.ts src/plugin-sdk/fs-safe-compat.test.ts src/infra/ssh-client.windows.test.ts src/infra/exec-allowlist-pattern.test.ts src/infra/process-env.test.ts src/agents/sessions/windows-git-bash-path.test.ts test/scripts/npm-runner.test.ts test/scripts/ts-topology.test.ts test/scripts/vitest-worker-artifacts.transforms.test.ts test/scripts/ci-platform-checkout.test.ts test/scripts/install-ps1.test.ts test/scripts/windows-blacksmith-testbox.test.ts test/scripts/write-plugin-sdk-entry-dts.test.ts test/scripts/write-unified-entry-dts.test.ts test/scripts/tsdown-declaration-resolution.test.ts src/test-utils/openclaw-test-state.test.ts test/helpers/openclaw-test-instance.test.ts test/scripts/managed-child-process.windows.test.ts test/scripts/managed-windows-job.test.ts src/agents/mcp-stdio-transport.windows.test.ts test/scripts/worker-deploy-build-plugin.test.ts src/process/owned-stdio.real.test.ts src/process/owned-stdio.windows.test.ts test/scripts/managed-child-process.output.test.ts src/utils.test.ts src/process/exec.windows.test.ts src/process/exec.windows.integration.test.ts src/agents/sessions/exec.real.test.ts src/process/windows-command.test.ts src/process/terminal-pty.test.ts src/process/supervisor/supervisor.anchored-shell.real.test.ts src/tui/tui.resolve-codex-bin.test.ts src/media-understanding/attachments.file-url.windows.test.ts src/cli/runtime-cleanup-scope.windows.process.test.ts src/auto-reply/usage-bar/template.windows.test.ts src/auto-reply/reply.triggers.trigger-handling.stages-inbound-media-into-sandbox-workspace.test.ts src/agents/provider-local-service.env-case.test.ts src/agents/provider-local-service.shutdown.test.ts src/agents/provider-local-service.settlement.test.ts src/agents/bash-tools.exec.script-preflight.test.ts src/agents/agent-tools.read.windows.test.ts src/agents/agent-tools.read.host-operations.test.ts src/agents/apply-patch.test.ts src/agents/sandbox/fs-paths.test.ts src/agents/sessions/tools/render-utils.test.ts src/agents/sessions/tools/path-utils.test.ts extensions/msteams/src/media-helpers.test.ts extensions/msteams/src/messenger.test.ts extensions/mxc/test/mxc-backend.test.ts extensions/mxc/test/fs-bridge.test.ts extensions/mxc/test/path-comparison.test.ts extensions/mxc/test/sandbox-policy-loader.test.ts src/shared/runtime-import.test.ts src/shared/worker-bundle-archive.test.ts src/daemon/schtasks-state-probe.windows.test.ts src/daemon/service-audit-schtasks.windows.test.ts src/plugin-sdk/node-host.test.ts src/agents/worktrees/git.test.ts src/agents/worktrees/filesystem-refs.test.ts src/agents/worktrees/service.removal-recovery.windows.test.ts extensions/browser/src/browser/chrome.executable-probe.windows.test.ts src/process/supervisor/service-child-group-ownership.test.ts",
"test:windows:schtasks:integration": "node --import ./scripts/tsx.mjs scripts/run-with-env.mts CI_WINDOWS_SCHTASKS_INTEGRATION=1 OPENCLAW_E2E_SKIP_BUILD=1 OPENCLAW_E2E_VERBOSE=1 OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs src/daemon/schtasks.integration.e2e.test.ts",
"tool-display:check": "node --import ./scripts/tsx.mjs scripts/tool-display.ts --check",
"tool-display:write": "node --import ./scripts/tsx.mjs scripts/tool-display.ts --write",
"ts-topology": "node --import ./scripts/tsx.mjs scripts/ts-topology.ts",
"tsgo": "pnpm tsgo:core",
"tsgo:all": "pnpm tsgo:core:all && pnpm tsgo:extensions:all && pnpm tsgo:scripts && pnpm tsgo:test:root",
"tsgo:core": "node scripts/run-tsgo.mjs -p tsconfig.core.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core.tsbuildinfo",
"tsgo:core:all": "pnpm tsgo:core && pnpm tsgo:ui && pnpm tsgo:core:test",
"tsgo:core:test": "node scripts/run-tsgo-core-test-shards.mjs",
"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 ./scripts/tsx.mjs scripts/profile-tsgo.mts",
"tsgo:scripts": "node scripts/run-tsgo.mjs -p tsconfig.scripts.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/scripts.tsbuildinfo",
"tsgo:test": "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-core-test-shards.mjs packages",
"tsgo:test:root": "node scripts/run-tsgo-core-test-shards.mjs root",
"tsgo:test:src": "node scripts/run-tsgo-core-test-shards.mjs src",
"tsgo:test:ui": "node scripts/run-tsgo-core-test-shards.mjs ui",
"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 ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_PROFILE=dev -- node scripts/run-node.mjs --dev tui",
"tui:pty:test:watch": "node --import ./scripts/tsx.mjs scripts/dev/tui-pty-test-watch.ts",
"tui:pty:test:watch:all": "node --import ./scripts/tsx.mjs scripts/dev/tui-pty-test-watch.ts --mode all",
"tui:pty:test:watch:fake": "node --import ./scripts/tsx.mjs scripts/dev/tui-pty-test-watch.ts --mode fake",
"tui:pty:test:watch:local": "node --import ./scripts/tsx.mjs scripts/dev/tui-pty-test-watch.ts --mode local",
"tui:questions:proof": "node --import ./scripts/tsx.mjs scripts/dev/tui-questions-proof.ts",
"ui:boot-manifest:gen": "node --import ./scripts/tsx.mjs ui/scripts/control-ui-boot-manifest.mts",
"ui:build": "node scripts/ui.js build",
"ui:check-performance": "node --import ./scripts/tsx.mjs scripts/check-control-ui-performance.mts",
"ui:check-performance:base": "node --import ./scripts/tsx.mjs scripts/check-control-ui-performance-base.mts",
"ui:dev": "node scripts/ui.js dev",
"ui:i18n:baseline": "node --import ./scripts/tsx.mjs scripts/control-ui-i18n-verify.ts baseline",
"ui:i18n:check": "node --import ./scripts/tsx.mjs scripts/control-ui-i18n.ts check",
"ui:i18n:report": "node --import ./scripts/tsx.mjs scripts/control-ui-i18n-report.ts",
"ui:i18n:sync": "node --import ./scripts/tsx.mjs scripts/control-ui-i18n.ts sync --write",
"ui:i18n:verify": "node --import ./scripts/tsx.mjs scripts/control-ui-i18n-verify.ts verify",
"ui:proof:composer-mic-hover": "node --import ./scripts/tsx.mjs scripts/capture-composer-mic-hover-proof.mts",
"ui:proof:injected-turn-notice": "node --import ./scripts/tsx.mjs scripts/capture-injected-turn-notice-proof.mts",
"ui:proof:model-picker": "node --import ./scripts/tsx.mjs scripts/capture-model-picker-proof.mts",
"ui:proof:session-toolbar": "node --import ./scripts/tsx.mjs scripts/capture-session-toolbar-proof.mts",
"ui:proof:where-chip": "node --import ./scripts/tsx.mjs scripts/capture-where-chip-auto-proof.mts",
"ui:proof:workboard": "node --import ./scripts/tsx.mjs scripts/capture-workboard-ui-proof.mts",
"update:network-budget:check": "node scripts/generate-update-network-budget.mjs --check",
"update:network-budget:gen": "node scripts/generate-update-network-budget.mjs",
"native:i18n:baseline": "node --import ./scripts/tsx.mjs scripts/native-app-i18n.ts baseline --write",
"native:i18n:check": "node --import ./scripts/tsx.mjs scripts/native-app-i18n.ts check",
"native:i18n:sync": "node --import ./scripts/tsx.mjs scripts/native-app-i18n.ts sync --write",
"native-catalogs:gen": "node scripts/generate-native-session-catalogs.mjs",
"native-catalogs:check": "node scripts/generate-native-session-catalogs.mjs --check",
"native:i18n:verify": "node --import ./scripts/tsx.mjs scripts/native-app-i18n.ts verify",
"android:i18n:gen": "node scripts/android-app-i18n.ts generate",
"android:i18n:check": "node scripts/android-app-i18n.ts check",
"apple:i18n:check": "node --import ./scripts/tsx.mjs scripts/apple-app-i18n.ts check",
"ui:install": "node scripts/ui.js install",
"update:compat:gen": "node scripts/update-compat-inventory.mts",
"update:compat:check": "node scripts/update-compat-inventory.mts --check",
"verify": "node --import ./scripts/tsx.mjs scripts/verify.mts"
},
"bundleDependencies": [
"@openclaw/proxyline",
"chrome-devtools-mcp",
"undici"
],
"dependencies": {
"@agentclientprotocol/sdk": "1.4.0",
"@anthropic-ai/sdk": "0.127.0",
"@babel/generator": "8.0.6",
"@babel/parser": "8.0.6",
"@babel/traverse": "8.0.6",
"@clack/core": "1.5.1",
"@clack/prompts": "1.8.1",
"@earendil-works/pi-tui": "0.86.1",
"@google/genai": "2.23.0",
"@grammyjs/transformer-throttler": "1.2.1",
"@homebridge/ciao": "1.3.12",
"@lydell/node-pty": "1.2.0-beta.15",
"@mistralai/mistralai": "2.7.0",
"@modelcontextprotocol/sdk": "1.30.1",
"@mozilla/readability": "0.6.0",
"@openclaw/ai": "workspace:*",
"@openclaw/fs-safe": "0.23.0",
"@openclaw/proxyline": "0.3.12",
"@silvia-odwyer/photon-node": "0.3.4",
"@trycua/cua-driver": "0.28.2",
"acorn": "8.18.0",
"chalk": "6.0.0",
"chrome-devtools-mcp": "1.10.1",
"clawpdf": "0.3.2",
"commander": "15.0.0",
"croner": "10.0.1",
"diff": "9.0.0",
"dotenv": "18.0.3",
"entities": "8.1.0",
"esbuild": "0.28.2",
"execa": "10.0.1",
"express": "5.2.1",
"file-type": "22.1.1",
"grammy": "1.46.0",
"highlight.js": "11.12.0",
"hosted-git-info": "10.1.1",
"iconv-lite": "0.7.3",
"ignore": "7.0.9",
"import-meta-resolve": "4.2.0",
"jiti": "2.7.0",
"json5": "2.2.3",
"jszip": "3.10.2",
"koffi": "3.3.1",
"kysely": "0.29.6",
"linkedom": "0.18.13",
"minimatch": "10.2.6",
"node-edge-tts": "1.2.10",
"npm": "12.1.0",
"openai": "7.20.0",
"p-limit": "7.3.3",
"p-map": "7.0.8",
"partial-json": "0.1.7",
"playwright-core": "1.63.0",
"qrcode": "1.5.4",
"rastermill": "0.3.3",
"semver": "7.8.5",
"tar": "7.5.22",
"tslog": "5.2.0",
"typebox": "1.3.34",
"undici": "8.11.2",
"web-push": "3.6.7",
"web-tree-sitter": "0.27.0",
"ws": "8.21.3",
"yaml": "2.9.1",
"zod": "4.6.5"
},
"devDependencies": {
"@a2ui/lit": "0.11.0",
"@a2ui/web_core": "0.11.0",
"@babel/types": "8.0.6",
"@copilotkit/aimock": "1.43.0",
"@lit-labs/signals": "0.3.0",
"@lit/context": "1.1.6",
"@lit/task": "1.0.3",
"@mdx-js/mdx": "3.1.1",
"@openclaw/crabline": "0.1.28",
"@openclaw/session-url-contract": "workspace:*",
"@opentelemetry/sdk-node": "0.222.0",
"@pnpm/parse-overrides": "1001.0.4",
"@shikijs/core": "4.4.3",
"@shikijs/engine-javascript": "4.4.3",
"@shikijs/engine-oniguruma": "4.4.3",
"@sindresorhus/slugify": "3.0.1",
"@types/express": "5.0.6",
"@types/hosted-git-info": "3.0.5",
"@types/jsdom": "30.0.0",
"@types/markdown-it": "14.2.0",
"@types/mdast": "4.0.4",
"@types/node": "26.6.2",
"@types/semver": "7.8.0",
"@types/web-push": "3.6.4",
"@types/ws": "8.18.1",
"@vitest/browser-playwright": "5.0.1",
"@vitest/coverage-v8": "5.0.1",
"acpx": "0.19.1",
"apache-arrow": "21.2.0",
"baileys": "7.0.0-rc14",
"htmlparser2": "12.0.0",
"ipaddr.js": "2.5.0",
"jscpd": "5.3.2",
"jsdom": "30.1.1",
"lit": "3.3.3",
"lit-analyzer": "2.0.3",
"markdown-it": "15.0.2",
"markdown-it-anchor": "10.0.0",
"marked": "18.0.13",
"minipass": "7.1.3",
"nostr-tools": "2.25.2",
"oxfmt": "0.68.0",
"oxlint": "1.83.0",
"oxlint-tsgolint": "7.0.2002",
"pako": "3.0.2",
"playwright": "1.63.0",
"postcss": "8.5.28",
"postcss-lit": "1.4.1",
"postcss-selector-parser": "7.1.6",
"shiki": "4.4.3",
"signal-utils": "0.21.1",
"sigstore": "5.0.0",
"string-width": "8.2.2",
"stylelint": "17.15.0",
"stylelint-config-recommended": "18.0.0",
"tinyglobby": "0.2.17",
"tree-sitter-bash": "0.25.1",
"tsdown": "0.23.0",
"tsx": "4.23.15",
"typescript": "7.1.0-dev.20260920.1",
"unrun": "0.3.1",
"vite": "8.3.1",
"vitest": "5.0.1"
},
"optionalDependencies": {
"sqlite-vec": "0.1.9"
},
"engines": {
"node": ">=24.16.0 <25 || >=26.1.0"
},
"packageManager": "pnpm@12.5.1+sha512.e3f305bc784a2bc89f5ad3b6138889470fae8d2af5f36b61216ec91c2c3d64089775f9de38aac331044ea40f245cb0d5666392dfdf65824e1907ef6a2c62de5f"
}