{
  "name": "openclaw",
  "version": "2026.5.7",
  "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": "",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/openclaw/openclaw.git"
  },
  "bin": {
    "openclaw": "openclaw.mjs"
  },
  "directories": {
    "doc": "docs",
    "test": "test"
  },
  "files": [
    "CHANGELOG.md",
    "LICENSE",
    "openclaw.mjs",
    "README.md",
    "dist/",
    "!dist/.buildstamp",
    "!dist/.runtime-postbuildstamp",
    "!dist/**/*.map",
    "!dist/plugin-sdk/.tsbuildinfo",
    "!dist/extensions/acpx/**",
    "!dist/extensions/node_modules/**",
    "!dist/extensions/*/node_modules/**",
    "!dist/extensions/bluebubbles/**",
    "!dist/extensions/brave/**",
    "!dist/extensions/codex/**",
    "!dist/extensions/diagnostics-otel/**",
    "!dist/extensions/diagnostics-prometheus/**",
    "!dist/extensions/diffs/**",
    "!dist/extensions/discord/**",
    "!dist/extensions/feishu/**",
    "!dist/extensions/google-meet/**",
    "!dist/extensions/googlechat/**",
    "!dist/extensions/line/**",
    "!dist/extensions/lobster/**",
    "!dist/extensions/memory-lancedb/**",
    "!dist/extensions/msteams/**",
    "!dist/extensions/nextcloud-talk/**",
    "!dist/extensions/nostr/**",
    "!dist/extensions/qqbot/**",
    "!dist/extensions/qa-channel/**",
    "!dist/extensions/qa-lab/**",
    "!dist/extensions/qa-matrix/**",
    "!dist/extensions/synology-chat/**",
    "!dist/extensions/tlon/**",
    "!dist/extensions/twitch/**",
    "!dist/extensions/voice-call/**",
    "!dist/extensions/whatsapp/**",
    "!dist/extensions/zalo/**",
    "!dist/extensions/zalouser/**",
    "!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/plugin-sdk/qa-channel.d.ts",
    "!dist/plugin-sdk/src/plugin-sdk/qa-channel-protocol.d.ts",
    "!dist/plugin-sdk/src/plugin-sdk/qa-lab.d.ts",
    "!dist/plugin-sdk/src/plugin-sdk/qa-runtime.d.ts",
    "!dist/qa-runtime-*.js",
    "docs/",
    "!docs/.generated/**",
    "!docs/channels/qa-channel.md",
    "scripts/crabbox-wrapper.mjs",
    "patches/",
    "skills/",
    "scripts/npm-runner.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/postinstall-bundled-plugins.mjs",
    "scripts/windows-cmd-helpers.mjs"
  ],
  "type": "module",
  "main": "dist/index.js",
  "exports": {
    ".": "./dist/index.js",
    "./plugin-sdk": {
      "types": "./dist/plugin-sdk/index.d.ts",
      "default": "./dist/plugin-sdk/index.js"
    },
    "./plugin-sdk/core": {
      "types": "./dist/plugin-sdk/core.d.ts",
      "default": "./dist/plugin-sdk/core.js"
    },
    "./plugin-sdk/lmstudio": {
      "types": "./dist/plugin-sdk/lmstudio.d.ts",
      "default": "./dist/plugin-sdk/lmstudio.js"
    },
    "./plugin-sdk/lmstudio-runtime": {
      "types": "./dist/plugin-sdk/lmstudio-runtime.d.ts",
      "default": "./dist/plugin-sdk/lmstudio-runtime.js"
    },
    "./plugin-sdk/provider-setup": {
      "types": "./dist/plugin-sdk/provider-setup.d.ts",
      "default": "./dist/plugin-sdk/provider-setup.js"
    },
    "./plugin-sdk/sandbox": {
      "types": "./dist/plugin-sdk/sandbox.d.ts",
      "default": "./dist/plugin-sdk/sandbox.js"
    },
    "./plugin-sdk/self-hosted-provider-setup": {
      "types": "./dist/plugin-sdk/self-hosted-provider-setup.d.ts",
      "default": "./dist/plugin-sdk/self-hosted-provider-setup.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/runtime-doctor": {
      "types": "./dist/plugin-sdk/runtime-doctor.d.ts",
      "default": "./dist/plugin-sdk/runtime-doctor.js"
    },
    "./plugin-sdk/runtime-env": {
      "types": "./dist/plugin-sdk/runtime-env.d.ts",
      "default": "./dist/plugin-sdk/runtime-env.js"
    },
    "./plugin-sdk/runtime-logger": {
      "types": "./dist/plugin-sdk/runtime-logger.d.ts",
      "default": "./dist/plugin-sdk/runtime-logger.js"
    },
    "./plugin-sdk/proxy-capture": {
      "types": "./dist/plugin-sdk/proxy-capture.d.ts",
      "default": "./dist/plugin-sdk/proxy-capture.js"
    },
    "./plugin-sdk/runtime-secret-resolution": {
      "types": "./dist/plugin-sdk/runtime-secret-resolution.d.ts",
      "default": "./dist/plugin-sdk/runtime-secret-resolution.js"
    },
    "./plugin-sdk/setup": {
      "types": "./dist/plugin-sdk/setup.d.ts",
      "default": "./dist/plugin-sdk/setup.js"
    },
    "./plugin-sdk/setup-adapter-runtime": {
      "types": "./dist/plugin-sdk/setup-adapter-runtime.d.ts",
      "default": "./dist/plugin-sdk/setup-adapter-runtime.js"
    },
    "./plugin-sdk/setup-runtime": {
      "types": "./dist/plugin-sdk/setup-runtime.d.ts",
      "default": "./dist/plugin-sdk/setup-runtime.js"
    },
    "./plugin-sdk/channel-setup": {
      "types": "./dist/plugin-sdk/channel-setup.d.ts",
      "default": "./dist/plugin-sdk/channel-setup.js"
    },
    "./plugin-sdk/channel-streaming": {
      "types": "./dist/plugin-sdk/channel-streaming.d.ts",
      "default": "./dist/plugin-sdk/channel-streaming.js"
    },
    "./plugin-sdk/setup-tools": {
      "types": "./dist/plugin-sdk/setup-tools.d.ts",
      "default": "./dist/plugin-sdk/setup-tools.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-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-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/config-runtime": {
      "types": "./dist/plugin-sdk/config-runtime.d.ts",
      "default": "./dist/plugin-sdk/config-runtime.js"
    },
    "./plugin-sdk/config-types": {
      "types": "./dist/plugin-sdk/config-types.d.ts",
      "default": "./dist/plugin-sdk/config-types.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": {
      "types": "./dist/plugin-sdk/cron-store-runtime.d.ts",
      "default": "./dist/plugin-sdk/cron-store-runtime.js"
    },
    "./plugin-sdk/config-schema": {
      "types": "./dist/plugin-sdk/config-schema.d.ts",
      "default": "./dist/plugin-sdk/config-schema.js"
    },
    "./plugin-sdk/reply-runtime": {
      "types": "./dist/plugin-sdk/reply-runtime.d.ts",
      "default": "./dist/plugin-sdk/reply-runtime.js"
    },
    "./plugin-sdk/reply-dedupe": {
      "types": "./dist/plugin-sdk/reply-dedupe.d.ts",
      "default": "./dist/plugin-sdk/reply-dedupe.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": {
      "types": "./dist/plugin-sdk/reply-reference.d.ts",
      "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/channel-reply-pipeline": {
      "types": "./dist/plugin-sdk/channel-reply-pipeline.d.ts",
      "default": "./dist/plugin-sdk/channel-reply-pipeline.js"
    },
    "./plugin-sdk/channel-reply-options-runtime": {
      "types": "./dist/plugin-sdk/channel-reply-options-runtime.d.ts",
      "default": "./dist/plugin-sdk/channel-reply-options-runtime.js"
    },
    "./plugin-sdk/channel-runtime": {
      "types": "./dist/plugin-sdk/channel-runtime.d.ts",
      "default": "./dist/plugin-sdk/channel-runtime.js"
    },
    "./plugin-sdk/interactive-runtime": {
      "types": "./dist/plugin-sdk/interactive-runtime.d.ts",
      "default": "./dist/plugin-sdk/interactive-runtime.js"
    },
    "./plugin-sdk/outbound-media": {
      "types": "./dist/plugin-sdk/outbound-media.d.ts",
      "default": "./dist/plugin-sdk/outbound-media.js"
    },
    "./plugin-sdk/outbound-send-deps": {
      "types": "./dist/plugin-sdk/outbound-send-deps.d.ts",
      "default": "./dist/plugin-sdk/outbound-send-deps.js"
    },
    "./plugin-sdk/outbound-runtime": {
      "types": "./dist/plugin-sdk/outbound-runtime.d.ts",
      "default": "./dist/plugin-sdk/outbound-runtime.js"
    },
    "./plugin-sdk/poll-runtime": {
      "types": "./dist/plugin-sdk/poll-runtime.d.ts",
      "default": "./dist/plugin-sdk/poll-runtime.js"
    },
    "./plugin-sdk/async-lock-runtime": {
      "types": "./dist/plugin-sdk/async-lock-runtime.d.ts",
      "default": "./dist/plugin-sdk/async-lock-runtime.js"
    },
    "./plugin-sdk/channel-activity-runtime": {
      "types": "./dist/plugin-sdk/channel-activity-runtime.d.ts",
      "default": "./dist/plugin-sdk/channel-activity-runtime.js"
    },
    "./plugin-sdk/concurrency-runtime": {
      "types": "./dist/plugin-sdk/concurrency-runtime.d.ts",
      "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": {
      "types": "./dist/plugin-sdk/delivery-queue-runtime.d.ts",
      "default": "./dist/plugin-sdk/delivery-queue-runtime.js"
    },
    "./plugin-sdk/file-access-runtime": {
      "types": "./dist/plugin-sdk/file-access-runtime.d.ts",
      "default": "./dist/plugin-sdk/file-access-runtime.js"
    },
    "./plugin-sdk/heartbeat-runtime": {
      "types": "./dist/plugin-sdk/heartbeat-runtime.d.ts",
      "default": "./dist/plugin-sdk/heartbeat-runtime.js"
    },
    "./plugin-sdk/number-runtime": {
      "types": "./dist/plugin-sdk/number-runtime.d.ts",
      "default": "./dist/plugin-sdk/number-runtime.js"
    },
    "./plugin-sdk/secure-random-runtime": {
      "types": "./dist/plugin-sdk/secure-random-runtime.d.ts",
      "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": {
      "types": "./dist/plugin-sdk/transport-ready-runtime.d.ts",
      "default": "./dist/plugin-sdk/transport-ready-runtime.js"
    },
    "./plugin-sdk/infra-runtime": {
      "types": "./dist/plugin-sdk/infra-runtime.d.ts",
      "default": "./dist/plugin-sdk/infra-runtime.js"
    },
    "./plugin-sdk/runtime-config-snapshot": {
      "types": "./dist/plugin-sdk/runtime-config-snapshot.d.ts",
      "default": "./dist/plugin-sdk/runtime-config-snapshot.js"
    },
    "./plugin-sdk/runtime-group-policy": {
      "types": "./dist/plugin-sdk/runtime-group-policy.d.ts",
      "default": "./dist/plugin-sdk/runtime-group-policy.js"
    },
    "./plugin-sdk/model-session-runtime": {
      "types": "./dist/plugin-sdk/model-session-runtime.d.ts",
      "default": "./dist/plugin-sdk/model-session-runtime.js"
    },
    "./plugin-sdk/talk-config-runtime": {
      "types": "./dist/plugin-sdk/talk-config-runtime.d.ts",
      "default": "./dist/plugin-sdk/talk-config-runtime.js"
    },
    "./plugin-sdk/ssrf-policy": {
      "types": "./dist/plugin-sdk/ssrf-policy.d.ts",
      "default": "./dist/plugin-sdk/ssrf-policy.js"
    },
    "./plugin-sdk/ssrf-runtime": {
      "types": "./dist/plugin-sdk/ssrf-runtime.d.ts",
      "default": "./dist/plugin-sdk/ssrf-runtime.js"
    },
    "./plugin-sdk/media-runtime": {
      "types": "./dist/plugin-sdk/media-runtime.d.ts",
      "default": "./dist/plugin-sdk/media-runtime.js"
    },
    "./plugin-sdk/media-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-generation-runtime": {
      "types": "./dist/plugin-sdk/media-generation-runtime.d.ts",
      "default": "./dist/plugin-sdk/media-generation-runtime.js"
    },
    "./plugin-sdk/conversation-binding-runtime": {
      "types": "./dist/plugin-sdk/conversation-binding-runtime.d.ts",
      "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": {
      "types": "./dist/plugin-sdk/thread-bindings-runtime.d.ts",
      "default": "./dist/plugin-sdk/thread-bindings-runtime.js"
    },
    "./plugin-sdk/thread-bindings-session-runtime": {
      "types": "./dist/plugin-sdk/thread-bindings-session-runtime.d.ts",
      "default": "./dist/plugin-sdk/thread-bindings-session-runtime.js"
    },
    "./plugin-sdk/text-runtime": {
      "types": "./dist/plugin-sdk/text-runtime.d.ts",
      "default": "./dist/plugin-sdk/text-runtime.js"
    },
    "./plugin-sdk/text-chunking": {
      "types": "./dist/plugin-sdk/text-chunking.d.ts",
      "default": "./dist/plugin-sdk/text-chunking.js"
    },
    "./plugin-sdk/agent-runtime": {
      "types": "./dist/plugin-sdk/agent-runtime.d.ts",
      "default": "./dist/plugin-sdk/agent-runtime.js"
    },
    "./plugin-sdk/simple-completion-runtime": {
      "types": "./dist/plugin-sdk/simple-completion-runtime.d.ts",
      "default": "./dist/plugin-sdk/simple-completion-runtime.js"
    },
    "./plugin-sdk/speech-core": {
      "types": "./dist/plugin-sdk/speech-core.d.ts",
      "default": "./dist/plugin-sdk/speech-core.js"
    },
    "./plugin-sdk/tts-runtime": {
      "types": "./dist/plugin-sdk/tts-runtime.d.ts",
      "default": "./dist/plugin-sdk/tts-runtime.js"
    },
    "./plugin-sdk/plugin-runtime": {
      "types": "./dist/plugin-sdk/plugin-runtime.d.ts",
      "default": "./dist/plugin-sdk/plugin-runtime.js"
    },
    "./plugin-sdk/skills-runtime": {
      "types": "./dist/plugin-sdk/skills-runtime.d.ts",
      "default": "./dist/plugin-sdk/skills-runtime.js"
    },
    "./plugin-sdk/channel-secret-basic-runtime": {
      "types": "./dist/plugin-sdk/channel-secret-basic-runtime.d.ts",
      "default": "./dist/plugin-sdk/channel-secret-basic-runtime.js"
    },
    "./plugin-sdk/channel-secret-runtime": {
      "types": "./dist/plugin-sdk/channel-secret-runtime.d.ts",
      "default": "./dist/plugin-sdk/channel-secret-runtime.js"
    },
    "./plugin-sdk/channel-secret-tts-runtime": {
      "types": "./dist/plugin-sdk/channel-secret-tts-runtime.d.ts",
      "default": "./dist/plugin-sdk/channel-secret-tts-runtime.js"
    },
    "./plugin-sdk/secret-ref-runtime": {
      "types": "./dist/plugin-sdk/secret-ref-runtime.d.ts",
      "default": "./dist/plugin-sdk/secret-ref-runtime.js"
    },
    "./plugin-sdk/secret-file-runtime": {
      "types": "./dist/plugin-sdk/secret-file-runtime.d.ts",
      "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-runtime": {
      "types": "./dist/plugin-sdk/gateway-runtime.d.ts",
      "default": "./dist/plugin-sdk/gateway-runtime.js"
    },
    "./plugin-sdk/cli-runtime": {
      "types": "./dist/plugin-sdk/cli-runtime.d.ts",
      "default": "./dist/plugin-sdk/cli-runtime.js"
    },
    "./plugin-sdk/cli-backend": {
      "types": "./dist/plugin-sdk/cli-backend.d.ts",
      "default": "./dist/plugin-sdk/cli-backend.js"
    },
    "./plugin-sdk/agent-harness": {
      "types": "./dist/plugin-sdk/agent-harness.d.ts",
      "default": "./dist/plugin-sdk/agent-harness.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/hook-runtime": {
      "types": "./dist/plugin-sdk/hook-runtime.d.ts",
      "default": "./dist/plugin-sdk/hook-runtime.js"
    },
    "./plugin-sdk/host-runtime": {
      "types": "./dist/plugin-sdk/host-runtime.d.ts",
      "default": "./dist/plugin-sdk/host-runtime.js"
    },
    "./plugin-sdk/process-runtime": {
      "types": "./dist/plugin-sdk/process-runtime.d.ts",
      "default": "./dist/plugin-sdk/process-runtime.js"
    },
    "./plugin-sdk/windows-spawn": {
      "types": "./dist/plugin-sdk/windows-spawn.d.ts",
      "default": "./dist/plugin-sdk/windows-spawn.js"
    },
    "./plugin-sdk/acp-runtime": {
      "types": "./dist/plugin-sdk/acp-runtime.d.ts",
      "default": "./dist/plugin-sdk/acp-runtime.js"
    },
    "./plugin-sdk/acp-runtime-backend": {
      "types": "./dist/plugin-sdk/acp-runtime-backend.d.ts",
      "default": "./dist/plugin-sdk/acp-runtime-backend.js"
    },
    "./plugin-sdk/acp-binding-runtime": {
      "types": "./dist/plugin-sdk/acp-binding-runtime.d.ts",
      "default": "./dist/plugin-sdk/acp-binding-runtime.js"
    },
    "./plugin-sdk/acp-binding-resolve-runtime": {
      "types": "./dist/plugin-sdk/acp-binding-resolve-runtime.d.ts",
      "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/agent-runtime-test-contracts": {
      "types": "./dist/plugin-sdk/agent-runtime-test-contracts.d.ts",
      "default": "./dist/plugin-sdk/agent-runtime-test-contracts.js"
    },
    "./plugin-sdk/channel-target-testing": {
      "types": "./dist/plugin-sdk/channel-target-testing.d.ts",
      "default": "./dist/plugin-sdk/channel-target-testing.js"
    },
    "./plugin-sdk/channel-test-helpers": {
      "types": "./dist/plugin-sdk/channel-test-helpers.d.ts",
      "default": "./dist/plugin-sdk/channel-test-helpers.js"
    },
    "./plugin-sdk/plugin-test-api": {
      "types": "./dist/plugin-sdk/plugin-test-api.d.ts",
      "default": "./dist/plugin-sdk/plugin-test-api.js"
    },
    "./plugin-sdk/plugin-test-contracts": {
      "types": "./dist/plugin-sdk/plugin-test-contracts.d.ts",
      "default": "./dist/plugin-sdk/plugin-test-contracts.js"
    },
    "./plugin-sdk/plugin-test-runtime": {
      "types": "./dist/plugin-sdk/plugin-test-runtime.d.ts",
      "default": "./dist/plugin-sdk/plugin-test-runtime.js"
    },
    "./plugin-sdk/provider-http-test-mocks": {
      "types": "./dist/plugin-sdk/provider-http-test-mocks.d.ts",
      "default": "./dist/plugin-sdk/provider-http-test-mocks.js"
    },
    "./plugin-sdk/provider-test-contracts": {
      "types": "./dist/plugin-sdk/provider-test-contracts.d.ts",
      "default": "./dist/plugin-sdk/provider-test-contracts.js"
    },
    "./plugin-sdk/test-env": {
      "types": "./dist/plugin-sdk/test-env.d.ts",
      "default": "./dist/plugin-sdk/test-env.js"
    },
    "./plugin-sdk/test-fixtures": {
      "types": "./dist/plugin-sdk/test-fixtures.d.ts",
      "default": "./dist/plugin-sdk/test-fixtures.js"
    },
    "./plugin-sdk/test-node-mocks": {
      "types": "./dist/plugin-sdk/test-node-mocks.d.ts",
      "default": "./dist/plugin-sdk/test-node-mocks.js"
    },
    "./plugin-sdk/testing": {
      "types": "./dist/plugin-sdk/testing.d.ts",
      "default": "./dist/plugin-sdk/testing.js"
    },
    "./plugin-sdk/temp-path": {
      "types": "./dist/plugin-sdk/temp-path.d.ts",
      "default": "./dist/plugin-sdk/temp-path.js"
    },
    "./plugin-sdk/time-runtime": {
      "types": "./dist/plugin-sdk/time-runtime.d.ts",
      "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": {
      "types": "./dist/plugin-sdk/migration.d.ts",
      "default": "./dist/plugin-sdk/migration.js"
    },
    "./plugin-sdk/migration-runtime": {
      "types": "./dist/plugin-sdk/migration-runtime.d.ts",
      "default": "./dist/plugin-sdk/migration-runtime.js"
    },
    "./plugin-sdk/markdown-table-runtime": {
      "types": "./dist/plugin-sdk/markdown-table-runtime.d.ts",
      "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": {
      "types": "./dist/plugin-sdk/account-resolution-runtime.d.ts",
      "default": "./dist/plugin-sdk/account-resolution-runtime.js"
    },
    "./plugin-sdk/agent-config-primitives": {
      "types": "./dist/plugin-sdk/agent-config-primitives.d.ts",
      "default": "./dist/plugin-sdk/agent-config-primitives.js"
    },
    "./plugin-sdk/allow-from": {
      "types": "./dist/plugin-sdk/allow-from.d.ts",
      "default": "./dist/plugin-sdk/allow-from.js"
    },
    "./plugin-sdk/allowlist-config-edit": {
      "types": "./dist/plugin-sdk/allowlist-config-edit.d.ts",
      "default": "./dist/plugin-sdk/allowlist-config-edit.js"
    },
    "./plugin-sdk/browser-config": {
      "types": "./dist/plugin-sdk/browser-config.d.ts",
      "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-contract-testing": {
      "types": "./dist/plugin-sdk/channel-contract-testing.d.ts",
      "default": "./dist/plugin-sdk/channel-contract-testing.js"
    },
    "./plugin-sdk/dangerous-name-runtime": {
      "types": "./dist/plugin-sdk/dangerous-name-runtime.d.ts",
      "default": "./dist/plugin-sdk/dangerous-name-runtime.js"
    },
    "./plugin-sdk/command-auth": {
      "types": "./dist/plugin-sdk/command-auth.d.ts",
      "default": "./dist/plugin-sdk/command-auth.js"
    },
    "./plugin-sdk/command-auth-native": {
      "types": "./dist/plugin-sdk/command-auth-native.d.ts",
      "default": "./dist/plugin-sdk/command-auth-native.js"
    },
    "./plugin-sdk/command-gating": {
      "types": "./dist/plugin-sdk/command-gating.d.ts",
      "default": "./dist/plugin-sdk/command-gating.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": {
      "types": "./dist/plugin-sdk/command-status-runtime.d.ts",
      "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": {
      "types": "./dist/plugin-sdk/command-surface.d.ts",
      "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/compat": {
      "types": "./dist/plugin-sdk/compat.d.ts",
      "default": "./dist/plugin-sdk/compat.js"
    },
    "./plugin-sdk/direct-dm": {
      "types": "./dist/plugin-sdk/direct-dm.d.ts",
      "default": "./dist/plugin-sdk/direct-dm.js"
    },
    "./plugin-sdk/direct-dm-access": {
      "types": "./dist/plugin-sdk/direct-dm-access.d.ts",
      "default": "./dist/plugin-sdk/direct-dm-access.js"
    },
    "./plugin-sdk/direct-dm-guard-policy": {
      "types": "./dist/plugin-sdk/direct-dm-guard-policy.d.ts",
      "default": "./dist/plugin-sdk/direct-dm-guard-policy.js"
    },
    "./plugin-sdk/discord": {
      "types": "./dist/plugin-sdk/discord.d.ts",
      "default": "./dist/plugin-sdk/discord.js"
    },
    "./plugin-sdk/mattermost": {
      "types": "./dist/plugin-sdk/mattermost.d.ts",
      "default": "./dist/plugin-sdk/mattermost.js"
    },
    "./plugin-sdk/matrix": {
      "types": "./dist/plugin-sdk/matrix.d.ts",
      "default": "./dist/plugin-sdk/matrix.js"
    },
    "./plugin-sdk/device-bootstrap": {
      "types": "./dist/plugin-sdk/device-bootstrap.d.ts",
      "default": "./dist/plugin-sdk/device-bootstrap.js"
    },
    "./plugin-sdk/diagnostic-runtime": {
      "types": "./dist/plugin-sdk/diagnostic-runtime.d.ts",
      "default": "./dist/plugin-sdk/diagnostic-runtime.js"
    },
    "./plugin-sdk/error-runtime": {
      "types": "./dist/plugin-sdk/error-runtime.d.ts",
      "default": "./dist/plugin-sdk/error-runtime.js"
    },
    "./plugin-sdk/extension-shared": {
      "types": "./dist/plugin-sdk/extension-shared.d.ts",
      "default": "./dist/plugin-sdk/extension-shared.js"
    },
    "./plugin-sdk/channel-config-helpers": {
      "types": "./dist/plugin-sdk/channel-config-helpers.d.ts",
      "default": "./dist/plugin-sdk/channel-config-helpers.js"
    },
    "./plugin-sdk/channel-config-writes": {
      "types": "./dist/plugin-sdk/channel-config-writes.d.ts",
      "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": {
      "types": "./dist/plugin-sdk/bundled-channel-config-schema.d.ts",
      "default": "./dist/plugin-sdk/bundled-channel-config-schema.js"
    },
    "./plugin-sdk/channel-config-schema-legacy": {
      "types": "./dist/plugin-sdk/channel-config-schema-legacy.d.ts",
      "default": "./dist/plugin-sdk/channel-config-schema-legacy.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-envelope": {
      "types": "./dist/plugin-sdk/channel-envelope.d.ts",
      "default": "./dist/plugin-sdk/channel-envelope.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-inbound-roots": {
      "types": "./dist/plugin-sdk/channel-inbound-roots.d.ts",
      "default": "./dist/plugin-sdk/channel-inbound-roots.js"
    },
    "./plugin-sdk/channel-logging": {
      "types": "./dist/plugin-sdk/channel-logging.d.ts",
      "default": "./dist/plugin-sdk/channel-logging.js"
    },
    "./plugin-sdk/channel-location": {
      "types": "./dist/plugin-sdk/channel-location.d.ts",
      "default": "./dist/plugin-sdk/channel-location.js"
    },
    "./plugin-sdk/channel-mention-gating": {
      "types": "./dist/plugin-sdk/channel-mention-gating.d.ts",
      "default": "./dist/plugin-sdk/channel-mention-gating.js"
    },
    "./plugin-sdk/channel-lifecycle": {
      "types": "./dist/plugin-sdk/channel-lifecycle.d.ts",
      "default": "./dist/plugin-sdk/channel-lifecycle.js"
    },
    "./plugin-sdk/channel-pairing": {
      "types": "./dist/plugin-sdk/channel-pairing.d.ts",
      "default": "./dist/plugin-sdk/channel-pairing.js"
    },
    "./plugin-sdk/channel-pairing-paths": {
      "types": "./dist/plugin-sdk/channel-pairing-paths.d.ts",
      "default": "./dist/plugin-sdk/channel-pairing-paths.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": {
      "types": "./dist/plugin-sdk/channel-route.d.ts",
      "default": "./dist/plugin-sdk/channel-route.js"
    },
    "./plugin-sdk/channel-targets": {
      "types": "./dist/plugin-sdk/channel-targets.d.ts",
      "default": "./dist/plugin-sdk/channel-targets.js"
    },
    "./plugin-sdk/context-visibility-runtime": {
      "types": "./dist/plugin-sdk/context-visibility-runtime.d.ts",
      "default": "./dist/plugin-sdk/context-visibility-runtime.js"
    },
    "./plugin-sdk/file-lock": {
      "types": "./dist/plugin-sdk/file-lock.d.ts",
      "default": "./dist/plugin-sdk/file-lock.js"
    },
    "./plugin-sdk/fetch-runtime": {
      "types": "./dist/plugin-sdk/fetch-runtime.d.ts",
      "default": "./dist/plugin-sdk/fetch-runtime.js"
    },
    "./plugin-sdk/runtime-fetch": {
      "types": "./dist/plugin-sdk/runtime-fetch.d.ts",
      "default": "./dist/plugin-sdk/runtime-fetch.js"
    },
    "./plugin-sdk/response-limit-runtime": {
      "types": "./dist/plugin-sdk/response-limit-runtime.d.ts",
      "default": "./dist/plugin-sdk/response-limit-runtime.js"
    },
    "./plugin-sdk/session-binding-runtime": {
      "types": "./dist/plugin-sdk/session-binding-runtime.d.ts",
      "default": "./dist/plugin-sdk/session-binding-runtime.js"
    },
    "./plugin-sdk/session-key-runtime": {
      "types": "./dist/plugin-sdk/session-key-runtime.d.ts",
      "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-hit": {
      "types": "./dist/plugin-sdk/session-transcript-hit.d.ts",
      "default": "./dist/plugin-sdk/session-transcript-hit.js"
    },
    "./plugin-sdk/session-visibility": {
      "types": "./dist/plugin-sdk/session-visibility.d.ts",
      "default": "./dist/plugin-sdk/session-visibility.js"
    },
    "./plugin-sdk/ssrf-dispatcher": {
      "types": "./dist/plugin-sdk/ssrf-dispatcher.d.ts",
      "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": {
      "types": "./dist/plugin-sdk/group-activation.d.ts",
      "default": "./dist/plugin-sdk/group-activation.js"
    },
    "./plugin-sdk/group-access": {
      "types": "./dist/plugin-sdk/group-access.d.ts",
      "default": "./dist/plugin-sdk/group-access.js"
    },
    "./plugin-sdk/global-singleton": {
      "types": "./dist/plugin-sdk/global-singleton.d.ts",
      "default": "./dist/plugin-sdk/global-singleton.js"
    },
    "./plugin-sdk/directory-config-runtime": {
      "types": "./dist/plugin-sdk/directory-config-runtime.d.ts",
      "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/media-generation-runtime-shared": {
      "types": "./dist/plugin-sdk/media-generation-runtime-shared.d.ts",
      "default": "./dist/plugin-sdk/media-generation-runtime-shared.js"
    },
    "./plugin-sdk/image-generation": {
      "types": "./dist/plugin-sdk/image-generation.d.ts",
      "default": "./dist/plugin-sdk/image-generation.js"
    },
    "./plugin-sdk/image-generation-runtime": {
      "types": "./dist/plugin-sdk/image-generation-runtime.d.ts",
      "default": "./dist/plugin-sdk/image-generation-runtime.js"
    },
    "./plugin-sdk/image-generation-core": {
      "types": "./dist/plugin-sdk/image-generation-core.d.ts",
      "default": "./dist/plugin-sdk/image-generation-core.js"
    },
    "./plugin-sdk/music-generation": {
      "types": "./dist/plugin-sdk/music-generation.d.ts",
      "default": "./dist/plugin-sdk/music-generation.js"
    },
    "./plugin-sdk/music-generation-core": {
      "types": "./dist/plugin-sdk/music-generation-core.d.ts",
      "default": "./dist/plugin-sdk/music-generation-core.js"
    },
    "./plugin-sdk/video-generation": {
      "types": "./dist/plugin-sdk/video-generation.d.ts",
      "default": "./dist/plugin-sdk/video-generation.js"
    },
    "./plugin-sdk/video-generation-runtime": {
      "types": "./dist/plugin-sdk/video-generation-runtime.d.ts",
      "default": "./dist/plugin-sdk/video-generation-runtime.js"
    },
    "./plugin-sdk/video-generation-core": {
      "types": "./dist/plugin-sdk/video-generation-core.d.ts",
      "default": "./dist/plugin-sdk/video-generation-core.js"
    },
    "./plugin-sdk/reply-history": {
      "types": "./dist/plugin-sdk/reply-history.d.ts",
      "default": "./dist/plugin-sdk/reply-history.js"
    },
    "./plugin-sdk/realtime-transcription": {
      "types": "./dist/plugin-sdk/realtime-transcription.d.ts",
      "default": "./dist/plugin-sdk/realtime-transcription.js"
    },
    "./plugin-sdk/realtime-voice": {
      "types": "./dist/plugin-sdk/realtime-voice.d.ts",
      "default": "./dist/plugin-sdk/realtime-voice.js"
    },
    "./plugin-sdk/media-understanding": {
      "types": "./dist/plugin-sdk/media-understanding.d.ts",
      "default": "./dist/plugin-sdk/media-understanding.js"
    },
    "./plugin-sdk/media-understanding-runtime": {
      "types": "./dist/plugin-sdk/media-understanding-runtime.d.ts",
      "default": "./dist/plugin-sdk/media-understanding-runtime.js"
    },
    "./plugin-sdk/messaging-targets": {
      "types": "./dist/plugin-sdk/messaging-targets.d.ts",
      "default": "./dist/plugin-sdk/messaging-targets.js"
    },
    "./plugin-sdk/request-url": {
      "types": "./dist/plugin-sdk/request-url.d.ts",
      "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/keyed-async-queue": {
      "types": "./dist/plugin-sdk/keyed-async-queue.d.ts",
      "default": "./dist/plugin-sdk/keyed-async-queue.js"
    },
    "./plugin-sdk/qa-runner-runtime": {
      "types": "./dist/plugin-sdk/qa-runner-runtime.d.ts",
      "default": "./dist/plugin-sdk/qa-runner-runtime.js"
    },
    "./plugin-sdk/memory-core-engine-runtime": {
      "types": "./dist/plugin-sdk/memory-core-engine-runtime.d.ts",
      "default": "./dist/plugin-sdk/memory-core-engine-runtime.js"
    },
    "./plugin-sdk/memory-core-host-engine-embeddings": {
      "types": "./dist/plugin-sdk/memory-core-host-engine-embeddings.d.ts",
      "default": "./dist/plugin-sdk/memory-core-host-engine-embeddings.js"
    },
    "./plugin-sdk/memory-core-host-engine-foundation": {
      "types": "./dist/plugin-sdk/memory-core-host-engine-foundation.d.ts",
      "default": "./dist/plugin-sdk/memory-core-host-engine-foundation.js"
    },
    "./plugin-sdk/memory-core-host-engine-qmd": {
      "types": "./dist/plugin-sdk/memory-core-host-engine-qmd.d.ts",
      "default": "./dist/plugin-sdk/memory-core-host-engine-qmd.js"
    },
    "./plugin-sdk/memory-core-host-engine-storage": {
      "types": "./dist/plugin-sdk/memory-core-host-engine-storage.d.ts",
      "default": "./dist/plugin-sdk/memory-core-host-engine-storage.js"
    },
    "./plugin-sdk/memory-core-host-multimodal": {
      "types": "./dist/plugin-sdk/memory-core-host-multimodal.d.ts",
      "default": "./dist/plugin-sdk/memory-core-host-multimodal.js"
    },
    "./plugin-sdk/memory-core-host-query": {
      "types": "./dist/plugin-sdk/memory-core-host-query.d.ts",
      "default": "./dist/plugin-sdk/memory-core-host-query.js"
    },
    "./plugin-sdk/memory-core-host-secret": {
      "types": "./dist/plugin-sdk/memory-core-host-secret.d.ts",
      "default": "./dist/plugin-sdk/memory-core-host-secret.js"
    },
    "./plugin-sdk/memory-core-host-events": {
      "types": "./dist/plugin-sdk/memory-core-host-events.d.ts",
      "default": "./dist/plugin-sdk/memory-core-host-events.js"
    },
    "./plugin-sdk/memory-core-host-status": {
      "types": "./dist/plugin-sdk/memory-core-host-status.d.ts",
      "default": "./dist/plugin-sdk/memory-core-host-status.js"
    },
    "./plugin-sdk/memory-core-host-runtime-cli": {
      "types": "./dist/plugin-sdk/memory-core-host-runtime-cli.d.ts",
      "default": "./dist/plugin-sdk/memory-core-host-runtime-cli.js"
    },
    "./plugin-sdk/memory-core-host-runtime-core": {
      "types": "./dist/plugin-sdk/memory-core-host-runtime-core.d.ts",
      "default": "./dist/plugin-sdk/memory-core-host-runtime-core.js"
    },
    "./plugin-sdk/memory-core-host-runtime-files": {
      "types": "./dist/plugin-sdk/memory-core-host-runtime-files.d.ts",
      "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": {
      "types": "./dist/plugin-sdk/memory-host-events.d.ts",
      "default": "./dist/plugin-sdk/memory-host-events.js"
    },
    "./plugin-sdk/memory-host-files": {
      "types": "./dist/plugin-sdk/memory-host-files.d.ts",
      "default": "./dist/plugin-sdk/memory-host-files.js"
    },
    "./plugin-sdk/memory-host-markdown": {
      "types": "./dist/plugin-sdk/memory-host-markdown.d.ts",
      "default": "./dist/plugin-sdk/memory-host-markdown.js"
    },
    "./plugin-sdk/memory-host-search": {
      "types": "./dist/plugin-sdk/memory-host-search.d.ts",
      "default": "./dist/plugin-sdk/memory-host-search.js"
    },
    "./plugin-sdk/memory-host-status": {
      "types": "./dist/plugin-sdk/memory-host-status.d.ts",
      "default": "./dist/plugin-sdk/memory-host-status.js"
    },
    "./plugin-sdk/models-provider-runtime": {
      "types": "./dist/plugin-sdk/models-provider-runtime.d.ts",
      "default": "./dist/plugin-sdk/models-provider-runtime.js"
    },
    "./plugin-sdk/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-runtime": {
      "types": "./dist/plugin-sdk/provider-auth-runtime.d.ts",
      "default": "./dist/plugin-sdk/provider-auth-runtime.js"
    },
    "./plugin-sdk/provider-auth-api-key": {
      "types": "./dist/plugin-sdk/provider-auth-api-key.d.ts",
      "default": "./dist/plugin-sdk/provider-auth-api-key.js"
    },
    "./plugin-sdk/provider-auth-result": {
      "types": "./dist/plugin-sdk/provider-auth-result.d.ts",
      "default": "./dist/plugin-sdk/provider-auth-result.js"
    },
    "./plugin-sdk/provider-auth-login": {
      "types": "./dist/plugin-sdk/provider-auth-login.d.ts",
      "default": "./dist/plugin-sdk/provider-auth-login.js"
    },
    "./plugin-sdk/provider-selection-runtime": {
      "types": "./dist/plugin-sdk/provider-selection-runtime.d.ts",
      "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-runtime": {
      "types": "./dist/plugin-sdk/provider-catalog-runtime.d.ts",
      "default": "./dist/plugin-sdk/provider-catalog-runtime.js"
    },
    "./plugin-sdk/provider-catalog-shared": {
      "types": "./dist/plugin-sdk/provider-catalog-shared.d.ts",
      "default": "./dist/plugin-sdk/provider-catalog-shared.js"
    },
    "./plugin-sdk/provider-entry": {
      "types": "./dist/plugin-sdk/provider-entry.d.ts",
      "default": "./dist/plugin-sdk/provider-entry.js"
    },
    "./plugin-sdk/provider-env-vars": {
      "types": "./dist/plugin-sdk/provider-env-vars.d.ts",
      "default": "./dist/plugin-sdk/provider-env-vars.js"
    },
    "./plugin-sdk/provider-http": {
      "types": "./dist/plugin-sdk/provider-http.d.ts",
      "default": "./dist/plugin-sdk/provider-http.js"
    },
    "./plugin-sdk/provider-model-types": {
      "types": "./dist/plugin-sdk/provider-model-types.d.ts",
      "default": "./dist/plugin-sdk/provider-model-types.js"
    },
    "./plugin-sdk/provider-model-shared": {
      "types": "./dist/plugin-sdk/provider-model-shared.d.ts",
      "default": "./dist/plugin-sdk/provider-model-shared.js"
    },
    "./plugin-sdk/provider-onboard": {
      "types": "./dist/plugin-sdk/provider-onboard.d.ts",
      "default": "./dist/plugin-sdk/provider-onboard.js"
    },
    "./plugin-sdk/provider-stream-family": {
      "types": "./dist/plugin-sdk/provider-stream-family.d.ts",
      "default": "./dist/plugin-sdk/provider-stream-family.js"
    },
    "./plugin-sdk/provider-stream-shared": {
      "types": "./dist/plugin-sdk/provider-stream-shared.d.ts",
      "default": "./dist/plugin-sdk/provider-stream-shared.js"
    },
    "./plugin-sdk/provider-transport-runtime": {
      "types": "./dist/plugin-sdk/provider-transport-runtime.d.ts",
      "default": "./dist/plugin-sdk/provider-transport-runtime.js"
    },
    "./plugin-sdk/provider-stream": {
      "types": "./dist/plugin-sdk/provider-stream.d.ts",
      "default": "./dist/plugin-sdk/provider-stream.js"
    },
    "./plugin-sdk/provider-tools": {
      "types": "./dist/plugin-sdk/provider-tools.d.ts",
      "default": "./dist/plugin-sdk/provider-tools.js"
    },
    "./plugin-sdk/provider-usage": {
      "types": "./dist/plugin-sdk/provider-usage.d.ts",
      "default": "./dist/plugin-sdk/provider-usage.js"
    },
    "./plugin-sdk/document-extractor": {
      "types": "./dist/plugin-sdk/document-extractor.d.ts",
      "default": "./dist/plugin-sdk/document-extractor.js"
    },
    "./plugin-sdk/web-content-extractor": {
      "types": "./dist/plugin-sdk/web-content-extractor.d.ts",
      "default": "./dist/plugin-sdk/web-content-extractor.js"
    },
    "./plugin-sdk/provider-web-fetch-contract": {
      "types": "./dist/plugin-sdk/provider-web-fetch-contract.d.ts",
      "default": "./dist/plugin-sdk/provider-web-fetch-contract.js"
    },
    "./plugin-sdk/provider-web-fetch": {
      "types": "./dist/plugin-sdk/provider-web-fetch.d.ts",
      "default": "./dist/plugin-sdk/provider-web-fetch.js"
    },
    "./plugin-sdk/provider-web-search-config-contract": {
      "types": "./dist/plugin-sdk/provider-web-search-config-contract.d.ts",
      "default": "./dist/plugin-sdk/provider-web-search-config-contract.js"
    },
    "./plugin-sdk/provider-web-search-contract": {
      "types": "./dist/plugin-sdk/provider-web-search-contract.d.ts",
      "default": "./dist/plugin-sdk/provider-web-search-contract.js"
    },
    "./plugin-sdk/provider-web-search": {
      "types": "./dist/plugin-sdk/provider-web-search.d.ts",
      "default": "./dist/plugin-sdk/provider-web-search.js"
    },
    "./plugin-sdk/retry-runtime": {
      "types": "./dist/plugin-sdk/retry-runtime.d.ts",
      "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/provider-zai-endpoint": {
      "types": "./dist/plugin-sdk/provider-zai-endpoint.d.ts",
      "default": "./dist/plugin-sdk/provider-zai-endpoint.js"
    },
    "./plugin-sdk/secret-input": {
      "types": "./dist/plugin-sdk/secret-input.d.ts",
      "default": "./dist/plugin-sdk/secret-input.js"
    },
    "./plugin-sdk/secret-input-runtime": {
      "types": "./dist/plugin-sdk/secret-input-runtime.d.ts",
      "default": "./dist/plugin-sdk/secret-input-runtime.js"
    },
    "./plugin-sdk/channel-status": {
      "types": "./dist/plugin-sdk/channel-status.d.ts",
      "default": "./dist/plugin-sdk/channel-status.js"
    },
    "./plugin-sdk/status-helpers": {
      "types": "./dist/plugin-sdk/status-helpers.d.ts",
      "default": "./dist/plugin-sdk/status-helpers.js"
    },
    "./plugin-sdk/speech": {
      "types": "./dist/plugin-sdk/speech.d.ts",
      "default": "./dist/plugin-sdk/speech.js"
    },
    "./plugin-sdk/string-normalization-runtime": {
      "types": "./dist/plugin-sdk/string-normalization-runtime.d.ts",
      "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": {
      "types": "./dist/plugin-sdk/target-resolver-runtime.d.ts",
      "default": "./dist/plugin-sdk/target-resolver-runtime.js"
    },
    "./plugin-sdk/telegram-account": {
      "types": "./dist/plugin-sdk/telegram-account.d.ts",
      "default": "./dist/plugin-sdk/telegram-account.js"
    },
    "./plugin-sdk/telegram-command-config": {
      "types": "./dist/plugin-sdk/telegram-command-config.d.ts",
      "default": "./dist/plugin-sdk/telegram-command-config.js"
    },
    "./plugin-sdk/text-autolink-runtime": {
      "types": "./dist/plugin-sdk/text-autolink-runtime.d.ts",
      "default": "./dist/plugin-sdk/text-autolink-runtime.js"
    },
    "./plugin-sdk/tool-payload": {
      "types": "./dist/plugin-sdk/tool-payload.d.ts",
      "default": "./dist/plugin-sdk/tool-payload.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": {
      "types": "./dist/plugin-sdk/webhook-targets.d.ts",
      "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/webhook-path": {
      "types": "./dist/plugin-sdk/webhook-path.d.ts",
      "default": "./dist/plugin-sdk/webhook-path.js"
    },
    "./plugin-sdk/web-media": {
      "types": "./dist/plugin-sdk/web-media.d.ts",
      "default": "./dist/plugin-sdk/web-media.js"
    },
    "./plugin-sdk/zalouser": {
      "types": "./dist/plugin-sdk/zalouser.d.ts",
      "default": "./dist/plugin-sdk/zalouser.js"
    },
    "./plugin-sdk/zod": {
      "types": "./dist/plugin-sdk/zod.d.ts",
      "default": "./dist/plugin-sdk/zod.js"
    },
    "./extension-api": "./dist/extensionAPI.js",
    "./cli-entry": "./openclaw.mjs"
  },
  "scripts": {
    "android:assemble": "cd apps/android && ./gradlew :app:assemblePlayDebug",
    "android:assemble:third-party": "cd apps/android && ./gradlew :app:assembleThirdPartyDebug",
    "android:bundle:release": "bun apps/android/scripts/build-release-aab.ts",
    "android:format": "cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat",
    "android:install": "cd apps/android && ./gradlew :app:installPlayDebug",
    "android:install:third-party": "cd apps/android && ./gradlew :app:installThirdPartyDebug",
    "android:lint": "cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck",
    "android:lint:android": "cd apps/android && ./gradlew :app:lintDebug",
    "android:run": "cd apps/android && ./gradlew :app:installPlayDebug && adb shell am start -n ai.openclaw.app/.MainActivity",
    "android:run:third-party": "cd apps/android && ./gradlew :app:installThirdPartyDebug && adb shell am start -n ai.openclaw.app/.MainActivity",
    "android:test": "cd apps/android && ./gradlew :app:testPlayDebugUnitTest",
    "android:test:integration": "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": "cd apps/android && ./gradlew :app:testThirdPartyDebugUnitTest",
    "audit:seams": "node scripts/audit-seams.mjs",
    "build": "node scripts/build-all.mjs",
    "build:ci-artifacts": "node scripts/build-all.mjs ciArtifacts",
    "build:docker": "node scripts/tsdown-build.mjs && node scripts/check-cli-bootstrap-imports.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && node scripts/runtime-postbuild-stamp.mjs && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/copy-export-html-templates.ts && node --import tsx scripts/write-build-info.ts && node --experimental-strip-types scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts",
    "build:plugin-sdk:dts": "node scripts/run-tsgo.mjs -p tsconfig.plugin-sdk.dts.json --declaration true",
    "build:plugin-sdk:strict-smoke": "pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts",
    "build:strict-smoke": "pnpm canvas:a2ui:bundle && node scripts/tsdown-build.mjs && node scripts/check-cli-bootstrap-imports.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && node scripts/runtime-postbuild-stamp.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node scripts/check-plugin-sdk-exports.mjs",
    "canon:check": "node scripts/canon.mjs check",
    "canon:check:json": "node scripts/canon.mjs check --json",
    "canon:enforce": "node scripts/canon.mjs enforce --json",
    "canvas:a2ui:bundle": "node scripts/bundle-a2ui.mjs",
    "changed:lanes": "node scripts/changed-lanes.mjs",
    "check": "node scripts/check.mjs",
    "check:architecture": "pnpm check:import-cycles && pnpm check:madge-import-cycles && pnpm check:deprecated-internal-config-api && pnpm check:deprecated-jsdoc",
    "check:base-config-schema": "node --import tsx scripts/generate-base-config-schema.ts --check",
    "check:bundled-channel-config-metadata": "node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check",
    "check:changed": "node scripts/check-changed.mjs",
    "check:changelog-attributions": "node scripts/check-changelog-attributions.mjs",
    "check:deprecated-internal-config-api": "node scripts/check-deprecated-internal-config-api.mjs",
    "check:deprecated-jsdoc": "node scripts/check-deprecated-jsdoc.mjs",
    "check:docs": "pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-mdx && pnpm docs:check-i18n-glossary && pnpm docs:check-links",
    "check:host-env-policy:swift": "node scripts/generate-host-env-security-policy-swift.mjs --check",
    "check:import-cycles": "node --import tsx scripts/check-import-cycles.ts",
    "check:loc": "node --import tsx scripts/check-ts-max-loc.ts --max 500",
    "check:madge-import-cycles": "node --import tsx scripts/check-madge-import-cycles.ts",
    "check:no-conflict-markers": "node scripts/check-no-conflict-markers.mjs",
    "check:no-runtime-action-load-config": "node scripts/check-no-runtime-action-load-config.mjs",
    "check:opengrep-rule-metadata": "node security/opengrep/check-rule-metadata.mjs",
    "check:runtime-sidecar-loaders": "node --import tsx scripts/check-runtime-sidecar-loaders.mjs",
    "check:static-import-sccs": "pnpm check:madge-import-cycles",
    "check:temp-path-guardrails": "node --import tsx scripts/check-temp-path-guardrails.ts",
    "check:test-types": "pnpm tsgo:test",
    "check:timed": "node scripts/check-timed.mjs",
    "check:timed:all-types": "node scripts/check-timed.mjs --include-test-types",
    "check:timed:architecture": "node scripts/check-timed.mjs --include-architecture",
    "check:workflows": "node scripts/check-workflows.mjs",
    "ci:full-release": "node scripts/full-release-validation-at-sha.mjs",
    "ci:timings": "node scripts/ci-run-timings.mjs --latest-main",
    "ci:timings:recent": "node scripts/ci-run-timings.mjs --recent 10",
    "codex-app-server:protocol:check": "node --import tsx scripts/check-codex-app-server-protocol.ts",
    "codex-app-server:protocol:sync": "node --import tsx scripts/sync-codex-app-server-protocol.ts",
    "config:channels:check": "node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check",
    "config:channels:gen": "node --import tsx scripts/generate-bundled-channel-config-metadata.ts --write",
    "config:docs:check": "node --import tsx scripts/generate-config-doc-baseline.ts --check",
    "config:docs:gen": "node --import tsx scripts/generate-config-doc-baseline.ts --write",
    "config:schema:check": "node --import tsx scripts/generate-base-config-schema.ts --check",
    "config:schema:gen": "node --import tsx scripts/generate-base-config-schema.ts --write",
    "crabbox:hydrate": "node scripts/crabbox-wrapper.mjs actions hydrate",
    "crabbox:run": "node scripts/crabbox-wrapper.mjs run",
    "crabbox:stop": "node scripts/crabbox-wrapper.mjs stop",
    "crabbox:warmup": "node scripts/crabbox-wrapper.mjs warmup",
    "deadcode:ci": "pnpm deadcode:report:ci:knip && pnpm deadcode:report:ci:ts-unused",
    "deadcode:dependencies": "pnpm --config.minimum-release-age=0 dlx knip@6.8.0 --config config/knip.config.ts --production --no-progress --reporter compact --dependencies --no-config-hints",
    "deadcode:knip": "pnpm dlx knip --config config/knip.config.ts --production --no-progress --reporter compact --files --dependencies",
    "deadcode:report": "pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused",
    "deadcode:report:ci:knip": "mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true",
    "deadcode:report:ci:ts-prune": "mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true",
    "deadcode:report:ci:ts-unused": "mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true",
    "deadcode:ts-prune": "pnpm dlx ts-prune src extensions scripts",
    "deadcode:ts-unused": "pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount",
    "deadcode:unused-files": "node scripts/check-deadcode-unused-files.mjs",
    "deps:root-ownership": "node scripts/root-dependency-ownership-audit.mjs",
    "deps:root-ownership:check": "node scripts/root-dependency-ownership-audit.mjs --check",
    "deps:sbom-risk": "node scripts/sbom-risk-report.mjs",
    "deps:sbom-risk:check": "node scripts/sbom-risk-report.mjs --check",
    "dev": "node scripts/run-node.mjs",
    "docs:bin": "node scripts/build-docs-list.mjs",
    "docs:check-i18n-glossary": "node scripts/check-docs-i18n-glossary.mjs",
    "docs:check-links": "node scripts/docs-link-audit.mjs",
    "docs:check-links:anchors": "node scripts/docs-link-audit.mjs --anchors",
    "docs:check-mdx": "node scripts/check-docs-mdx.mjs docs README.md",
    "docs:dev": "cd docs && mint dev",
    "docs:list": "node scripts/docs-list.js",
    "docs:spellcheck": "bash scripts/docs-spellcheck.sh",
    "docs:spellcheck:fix": "bash scripts/docs-spellcheck.sh --write",
    "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 --threads=1",
    "format:diff": "oxfmt --write --threads=1 && git --no-pager diff",
    "format:docs": "node scripts/format-docs.mjs",
    "format:docs:check": "node scripts/format-docs.mjs --check",
    "format:fix": "oxfmt --write --threads=1",
    "format:swift": "swiftformat --lint --config config/swiftformat --exclude '**/apps/swabble,**/apps/android,**/apps/ios,**/apps/shared,**/OpenClawProtocol,**/HostEnvSecurityPolicy.generated.swift' apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources",
    "gateway:dev": "OPENCLAW_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway",
    "gateway:dev:reset": "OPENCLAW_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset",
    "gateway:watch": "node scripts/gateway-watch-tmux.mjs gateway --force",
    "gateway:watch:raw": "node scripts/watch-node.mjs gateway --force",
    "gen:host-env-policy:swift": "node scripts/generate-host-env-security-policy-swift.mjs --write",
    "ghsa:patch": "node scripts/ghsa-patch.mjs",
    "ios:beta": "bash scripts/ios-beta-release.sh",
    "ios:beta:archive": "bash scripts/ios-beta-archive.sh",
    "ios:beta:prepare": "bash scripts/ios-beta-prepare.sh",
    "ios:build": "bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'",
    "ios:gen": "bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate'",
    "ios:open": "bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'",
    "ios:run": "bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build && xcrun simctl boot \"${IOS_SIM:-iPhone 17}\" || true && xcrun simctl launch booted ai.openclaw.ios'",
    "ios:version": "node --import tsx scripts/ios-version.ts --json",
    "ios:version:check": "node --import tsx scripts/ios-sync-versioning.ts --check",
    "ios:version:pin": "node --import tsx scripts/ios-pin-version.ts",
    "ios:version:sync": "node --import tsx scripts/ios-sync-versioning.ts --write",
    "leak:embedded-run": "node --import tsx --expose-gc scripts/embedded-run-abort-leak.ts",
    "lint": "node scripts/run-oxlint-shards.mjs",
    "lint:agent:ingress-owner": "node scripts/check-ingress-agent-owner-context.mjs",
    "lint:all": "node scripts/run-oxlint.mjs",
    "lint:apps": "pnpm lint:swift",
    "lint:auth:no-pairing-store-group": "node scripts/check-no-pairing-store-group-auth.mjs",
    "lint:auth:pairing-account-scope": "node scripts/check-pairing-account-scope.mjs",
    "lint:core": "node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.core.json src ui packages",
    "lint:docker-e2e": "node scripts/check-docker-e2e-boundaries.mjs",
    "lint:docs": "pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc",
    "lint:docs:fix": "pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc --fix",
    "lint:extensions": "node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.extensions.json extensions",
    "lint:extensions:bundled": "node scripts/run-bundled-extension-oxlint.mjs",
    "lint:extensions:channels": "node scripts/run-extension-channel-oxlint.mjs",
    "lint:extensions:no-guarded-wildcard-reexports": "node scripts/check-extension-wildcard-reexports.mjs",
    "lint:extensions:no-plugin-sdk-internal": "node scripts/check-extension-plugin-sdk-boundary.mjs --mode=plugin-sdk-internal",
    "lint:extensions:no-plugin-sdk-wildcard-reexports": "node scripts/check-plugin-sdk-wildcard-reexports.mjs",
    "lint:extensions:no-relative-outside-package": "node scripts/check-extension-plugin-sdk-boundary.mjs --mode=relative-outside-package",
    "lint:extensions:no-src-outside-plugin-sdk": "node scripts/check-extension-plugin-sdk-boundary.mjs --mode=src-outside-plugin-sdk",
    "lint:fix": "node scripts/run-oxlint.mjs --fix && pnpm format",
    "lint:plugins:no-extension-imports": "node scripts/check-plugin-extension-import-boundary.mjs",
    "lint:plugins:no-extension-src-imports": "node --import tsx scripts/check-no-extension-src-imports.ts",
    "lint:plugins:no-extension-test-core-imports": "node --import tsx scripts/check-no-extension-test-core-imports.ts",
    "lint:plugins:no-monolithic-plugin-sdk-entry-imports": "node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts",
    "lint:plugins:no-register-http-handler": "node scripts/check-no-register-http-handler.mjs",
    "lint:plugins:plugin-sdk-subpaths-exported": "node scripts/check-plugin-sdk-subpath-exports.mjs",
    "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": "swiftlint lint --config config/swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)",
    "lint:tmp:channel-agnostic-boundaries": "node scripts/check-channel-agnostic-boundaries.mjs",
    "lint:tmp:dynamic-import-warts": "node scripts/check-dynamic-import-warts.mjs",
    "lint:tmp:no-random-messaging": "node scripts/check-no-random-messaging-tmp.mjs",
    "lint:tmp:no-raw-channel-fetch": "node scripts/check-no-raw-channel-fetch.mjs",
    "lint:tmp:no-raw-http2-imports": "node scripts/check-no-raw-http2-imports.mjs",
    "lint:tmp:tsgo-core-boundary": "node scripts/check-tsgo-core-boundary.mjs",
    "lint:ui:no-raw-window-open": "node scripts/check-no-raw-window-open.mjs",
    "lint:web-fetch-provider-boundaries": "node scripts/check-web-fetch-provider-boundaries.mjs",
    "lint:web-search-provider-boundaries": "node scripts/check-web-search-provider-boundaries.mjs",
    "lint:webhook:no-low-level-body-read": "node scripts/check-webhook-auth-body-order.mjs",
    "mac:open": "open dist/OpenClaw.app",
    "mac:package": "bash scripts/package-mac-app.sh",
    "mac:restart": "bash scripts/restart-mac.sh",
    "moltbot:rpc": "node scripts/run-node.mjs agent --mode rpc --json",
    "openclaw": "node scripts/run-node.mjs",
    "openclaw:rpc": "node scripts/run-node.mjs agent --mode rpc --json",
    "perf:kova:summary": "node scripts/kova-ci-summary.mjs",
    "perf:source:summary": "node scripts/openclaw-performance-source-summary.mjs",
    "plugin-sdk:api:check": "node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check",
    "plugin-sdk:api:gen": "node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --write",
    "plugin-sdk:check-exports": "node scripts/sync-plugin-sdk-exports.mjs --check",
    "plugin-sdk:sync-exports": "node scripts/sync-plugin-sdk-exports.mjs",
    "plugin-sdk:usage": "node --import tsx scripts/analyze-plugin-sdk-usage.ts",
    "plugins:boundary-report": "node --import tsx scripts/plugin-boundary-report.ts",
    "plugins:boundary-report:ci": "node --import tsx scripts/plugin-boundary-report.ts --summary --fail-on-cross-owner --fail-on-unclassified-unused-reserved --fail-on-eligible-compat",
    "plugins:boundary-report:json": "node --import tsx scripts/plugin-boundary-report.ts --json",
    "plugins:boundary-report:summary": "node --import tsx scripts/plugin-boundary-report.ts --summary",
    "plugins:inventory:check": "node scripts/generate-plugin-inventory-doc.mjs --check",
    "plugins:inventory:gen": "node scripts/generate-plugin-inventory-doc.mjs --write",
    "plugins:sync": "node --import tsx scripts/sync-plugin-versions.ts",
    "plugins:sync:check": "node --import tsx scripts/sync-plugin-versions.ts --check",
    "postinstall": "node scripts/postinstall-bundled-plugins.mjs",
    "preinstall": "node scripts/preinstall-package-manager-warning.mjs",
    "prepack": "node --import tsx scripts/openclaw-prepack.ts",
    "prepare": "command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0",
    "prepush:ci": "bash scripts/prepush-ci.sh",
    "probe:anthropic:prompt": "node --import tsx scripts/anthropic-prompt-probe.ts",
    "prompt:snapshots:check": "node --import tsx scripts/generate-prompt-snapshots.ts --check",
    "prompt:snapshots:gen": "node --import tsx scripts/generate-prompt-snapshots.ts --write",
    "prompt:snapshots:sync-codex-model": "node --import tsx scripts/sync-codex-model-prompt-fixture.ts",
    "protocol:check": "pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift apps/shared/OpenClawKit/Sources/OpenClawProtocol/GatewayModels.swift",
    "protocol:gen": "node --import tsx scripts/protocol-gen.ts",
    "protocol:gen:swift": "node --import tsx scripts/protocol-gen-swift.ts",
    "proxy:coverage": "node scripts/run-node.mjs proxy coverage",
    "proxy:gateway": "node scripts/run-node.mjs proxy run -- node scripts/run-node.mjs gateway",
    "proxy:install-ca": "node --import tsx scripts/proxy-install-ca.mjs",
    "proxy:run": "node scripts/run-node.mjs proxy run",
    "proxy:start": "node scripts/run-node.mjs proxy start",
    "qa:e2e": "node --import tsx scripts/qa-e2e.ts",
    "qa:lab:build": "vite build --config extensions/qa-lab/web/vite.config.ts",
    "qa:lab:ui": "pnpm openclaw qa ui",
    "qa:lab:up": "node --import tsx scripts/qa-lab-up.ts",
    "qa:lab:up:fast": "node --import tsx scripts/qa-lab-up.ts --use-prebuilt-image --bind-ui-dist --skip-ui-build",
    "qa:lab:watch": "vite build --watch --config extensions/qa-lab/web/vite.config.ts",
    "qa:otel:smoke": "node --import tsx scripts/qa-otel-smoke.ts",
    "release-metadata:check": "node scripts/check-release-metadata-only.mjs",
    "release:beta-smoke": "node --import tsx scripts/release-beta-smoke.ts",
    "release:check": "pnpm release:generated:check && node --import tsx scripts/release-check.ts",
    "release:generated:check": "node scripts/release-preflight.mjs --check",
    "release:openclaw:npm:check": "node --import tsx scripts/openclaw-npm-release-check.ts",
    "release:openclaw:npm:verify-published": "node --import tsx scripts/openclaw-npm-postpublish-verify.ts",
    "release:plugins:clawhub:check": "node --import tsx scripts/plugin-clawhub-release-check.ts",
    "release:plugins:clawhub:plan": "node --import tsx scripts/plugin-clawhub-release-plan.ts",
    "release:plugins:npm:check": "node --import tsx scripts/plugin-npm-release-check.ts",
    "release:plugins:npm:plan": "node --import tsx scripts/plugin-npm-release-plan.ts",
    "release:prep": "node scripts/release-preflight.mjs --fix",
    "rtt": "node --import tsx scripts/rtt.ts",
    "runtime-sidecars:check": "node --import tsx scripts/generate-runtime-sidecar-paths-baseline.ts --check",
    "runtime-sidecars:gen": "node --import tsx scripts/generate-runtime-sidecar-paths-baseline.ts --write",
    "start": "node scripts/run-node.mjs",
    "test": "node scripts/test-projects.mjs",
    "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 src/gateway/protocol/connect-error-details.test.ts",
    "test:build:singleton": "node scripts/test-built-plugin-singleton.mjs",
    "test:build:status-message-runtime": "node scripts/test-built-status-message-runtime.mjs",
    "test:bundled": "node scripts/run-vitest.mjs run --config test/vitest/vitest.bundled.config.ts",
    "test:changed": "node scripts/test-projects.mjs --changed origin/main",
    "test:changed:max": "OPENCLAW_VITEST_MAX_WORKERS=8 node scripts/test-projects.mjs --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 scripts/test-projects.mjs --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: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:bundled-plugin-install-uninstall": "bash scripts/e2e/bundled-plugin-install-uninstall-docker.sh",
    "test:docker:cleanup": "bash scripts/test-cleanup-docker.sh",
    "test:docker:commitments-safety": "bash scripts/e2e/commitments-safety-docker.sh",
    "test:docker:config-reload": "bash scripts/e2e/config-reload-source-docker.sh",
    "test:docker:crestodian-first-run": "bash scripts/e2e/crestodian-first-run-docker.sh",
    "test:docker:crestodian-planner": "bash scripts/e2e/crestodian-planner-docker.sh",
    "test:docker:crestodian-rescue": "bash scripts/e2e/crestodian-rescue-docker.sh",
    "test:docker:cron-mcp-cleanup": "bash scripts/e2e/cron-mcp-cleanup-docker.sh",
    "test:docker:doctor-switch": "bash scripts/e2e/doctor-install-switch-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:live-acp-bind": "bash scripts/test-live-acp-bind-docker.sh",
    "test:docker:live-acp-bind:claude": "OPENCLAW_LIVE_ACP_BIND_AGENT=claude bash scripts/test-live-acp-bind-docker.sh",
    "test:docker:live-acp-bind:codex": "OPENCLAW_LIVE_ACP_BIND_AGENT=codex bash scripts/test-live-acp-bind-docker.sh",
    "test:docker:live-acp-bind:droid": "OPENCLAW_LIVE_ACP_BIND_AGENT=droid OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh",
    "test:docker:live-acp-bind:gemini": "OPENCLAW_LIVE_ACP_BIND_AGENT=gemini bash scripts/test-live-acp-bind-docker.sh",
    "test:docker:live-acp-bind:opencode": "OPENCLAW_LIVE_ACP_BIND_AGENT=opencode OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh",
    "test:docker:live-build": "bash scripts/test-live-build-docker.sh",
    "test:docker:live-cli-backend": "bash scripts/test-live-cli-backend-docker.sh",
    "test:docker:live-cli-backend:claude": "OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 bash scripts/test-live-cli-backend-docker.sh",
    "test:docker:live-cli-backend:claude-subscription": "OPENCLAW_LIVE_CLI_BACKEND_AUTH=subscription OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_DISABLE_MCP_CONFIG=1 OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=0 bash scripts/test-live-cli-backend-docker.sh",
    "test:docker:live-cli-backend:claude:mcp": "OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1 bash scripts/test-live-cli-backend-docker.sh",
    "test:docker:live-cli-backend:claude:resume": "OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh",
    "test:docker:live-cli-backend:codex": "OPENCLAW_LIVE_CLI_BACKEND_MODEL=codex-cli/gpt-5.4 bash scripts/test-live-cli-backend-docker.sh",
    "test:docker:live-cli-backend:codex:mcp": "OPENCLAW_LIVE_CLI_BACKEND_MODEL=codex-cli/gpt-5.4 OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1 bash scripts/test-live-cli-backend-docker.sh",
    "test:docker:live-cli-backend:codex:resume": "OPENCLAW_LIVE_CLI_BACKEND_MODEL=codex-cli/gpt-5.4 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-npm-plugin": "bash scripts/e2e/codex-npm-plugin-live-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:codex": "OPENCLAW_LIVE_GATEWAY_PROVIDERS=codex-cli OPENCLAW_LIVE_GATEWAY_MODELS=codex-cli/gpt-5.5 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-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:codex": "OPENCLAW_LIVE_PROVIDERS=codex-cli OPENCLAW_LIVE_MODELS=codex-cli/gpt-5.5 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": "OPENCLAW_DOCKER_ALL_LIVE_MODE=only node scripts/test-docker-all.mjs",
    "test:docker:local:all": "OPENCLAW_DOCKER_ALL_LIVE_MODE=skip node scripts/test-docker-all.mjs",
    "test:docker:mcp-channels": "bash scripts/e2e/mcp-channels-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: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:pi-bundle-mcp-tools": "bash scripts/e2e/pi-bundle-mcp-tools-docker.sh",
    "test:docker:plugin-lifecycle-matrix": "bash scripts/e2e/plugin-lifecycle-matrix-docker.sh",
    "test:docker:plugin-update": "bash scripts/e2e/plugin-update-unchanged-docker.sh",
    "test:docker:plugins": "bash scripts/e2e/plugins-docker.sh",
    "test:docker:published-upgrade-survivor": "env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@latest} OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh",
    "test:docker:qr": "bash scripts/e2e/qr-import-docker.sh",
    "test:docker:rerun": "node scripts/docker-e2e-rerun.mjs",
    "test:docker:session-runtime-context": "bash scripts/e2e/session-runtime-context-docker.sh",
    "test:docker:timings": "node scripts/docker-e2e-timings.mjs",
    "test:docker:update-channel-switch": "bash scripts/e2e/update-channel-switch-docker.sh",
    "test:docker:update-corrupt-plugin": "bash scripts/e2e/update-corrupt-plugin-docker.sh",
    "test:docker:update-migration": "env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@2026.4.23} OPENCLAW_UPGRADE_SURVIVOR_SCENARIO=${OPENCLAW_UPGRADE_SURVIVOR_SCENARIO:-plugin-deps-cleanup} bash scripts/e2e/upgrade-survivor-docker.sh",
    "test:docker:upgrade-survivor": "bash scripts/e2e/upgrade-survivor-docker.sh",
    "test:e2e": "node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts",
    "test:e2e:openshell": "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 scripts/test-extension.mjs",
    "test:extensions": "node scripts/test-projects.mjs extensions",
    "test:extensions:batch": "node scripts/test-extension-batch.mjs",
    "test:extensions:memory": "node scripts/profile-extension-memory.mjs",
    "test:extensions:package-boundary": "node scripts/check-extension-package-tsc-boundary.mjs",
    "test:extensions:package-boundary:canary": "node scripts/check-extension-package-tsc-boundary.mjs --mode=canary",
    "test:extensions:package-boundary:compile": "node scripts/check-extension-package-tsc-boundary.mjs --mode=compile",
    "test:fast": "node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts",
    "test:force": "node --import tsx scripts/test-force.ts",
    "test:gateway": "OPENCLAW_GATEWAY_PROJECT_SHARDS=1 node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts",
    "test:gateway:cpu-scenarios": "node scripts/check-gateway-cpu-scenarios.mjs",
    "test:gateway:watch-regression": "node scripts/check-gateway-watch-regression.mjs",
    "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 scripts/test-live.mjs",
    "test:live:cache": "node --import tsx scripts/check-live-cache.ts",
    "test:live:codex-harness": "OPENCLAW_LIVE_CODEX_HARNESS=1 node scripts/test-live.mjs -- src/gateway/gateway-codex-harness.live.test.ts",
    "test:live:crestodian-rescue-channel": "OPENCLAW_LIVE_CRESTODIAN_RESCUE_CHANNEL=1 node scripts/test-live.mjs -- src/crestodian/rescue-channel.live.test.ts",
    "test:live:gateway-profiles": "node scripts/test-live.mjs -- src/gateway/gateway-models.profiles.live.test.ts",
    "test:live:media": "node --import tsx scripts/test-live-media.ts",
    "test:live:media:image": "node --import tsx scripts/test-live-media.ts image",
    "test:live:media:music": "node --import tsx scripts/test-live-media.ts music",
    "test:live:media:video": "node --import tsx scripts/test-live-media.ts video",
    "test:live:models-profiles": "node scripts/test-live.mjs -- src/agents/models.profiles.live.test.ts",
    "test:macos:ci": "node scripts/test-projects.mjs src/daemon/launchd.test.ts src/daemon/runtime-paths.test.ts src/daemon/runtime-binary.test.ts src/infra/brew.test.ts src/infra/stable-node-path.test.ts test/scripts/vitest-process-group.test.ts",
    "test:max": "OPENCLAW_VITEST_MAX_WORKERS=8 node scripts/test-projects.mjs",
    "test:parallels:linux": "bash scripts/e2e/parallels-linux-smoke.sh",
    "test:parallels:macos": "bash scripts/e2e/parallels-macos-smoke.sh",
    "test:parallels:npm-update": "bash scripts/e2e/parallels-npm-update-smoke.sh",
    "test:parallels:windows": "bash scripts/e2e/parallels-windows-smoke.sh",
    "test:perf:budget": "node scripts/test-perf-budget.mjs",
    "test:perf:changed:bench": "node scripts/bench-test-changed.mjs",
    "test:perf:groups": "node scripts/test-group-report.mjs",
    "test:perf:groups:compare": "node scripts/test-group-report.mjs --compare",
    "test:perf:hotspots": "node scripts/test-hotspots.mjs",
    "test:perf:imports": "OPENCLAW_VITEST_IMPORT_DURATIONS=1 OPENCLAW_VITEST_PRINT_IMPORT_BREAKDOWN=1 node scripts/test-projects.mjs",
    "test:perf:imports:changed": "OPENCLAW_VITEST_IMPORT_DURATIONS=1 OPENCLAW_VITEST_PRINT_IMPORT_BREAKDOWN=1 node scripts/test-projects.mjs --changed origin/main",
    "test:perf:profile:main": "node scripts/run-vitest-profile.mjs main",
    "test:perf:profile:runner": "node scripts/run-vitest-profile.mjs runner",
    "test:plugins:gateway-gauntlet": "node scripts/check-plugin-gateway-gauntlet.mjs",
    "test:plugins:kitchen-sink-live": "bash -lc 'if [ -x \"$HOME/.local/bin/openclaw-testbox-env\" ]; then exec \"$HOME/.local/bin/openclaw-testbox-env\" pnpm openclaw qa suite --provider-mode live-frontier --scenario kitchen-sink-live-openai; fi; exec pnpm openclaw qa suite --provider-mode live-frontier --scenario kitchen-sink-live-openai'",
    "test:plugins:kitchen-sink-rpc": "node --import tsx scripts/e2e/kitchen-sink-rpc-walk.mjs",
    "test:sectriage": "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/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts",
    "test:serial": "OPENCLAW_TEST_PROJECTS_SERIAL=1 OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/test-projects.mjs",
    "test:stability:gateway": "OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/gateway-stability.test.ts && 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 && OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs run --config test/vitest/vitest.infra.config.ts src/infra/fatal-error-hooks.test.ts",
    "test:startup:bench": "node --import tsx scripts/bench-cli-startup.ts",
    "test:startup:bench:check": "node scripts/test-cli-startup-bench-budget.mjs",
    "test:startup:bench:save": "node --import tsx scripts/bench-cli-startup.ts --preset all --runs 5 --warmup 1 --output .artifacts/cli-startup-bench-all.json",
    "test:startup:bench:smoke": "node --import tsx scripts/bench-cli-startup.ts --preset real --case gatewayStatusJson --runs 1 --warmup 0 --output .artifacts/cli-startup-bench-smoke.json",
    "test:startup:bench:update": "node scripts/test-update-cli-startup-bench.mjs",
    "test:startup:gateway": "node --import tsx scripts/bench-gateway-startup.ts",
    "test:startup:memory": "node scripts/check-cli-startup-memory.mjs",
    "test:ui": "pnpm ui:i18n:check && pnpm lint:ui:no-raw-window-open && pnpm --dir ui test",
    "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 scripts/test-unit-fast-audit.mjs",
    "test:voicecall:closedloop": "node scripts/test-voicecall-closedloop.mjs",
    "test:watch": "node scripts/test-projects.mjs --watch",
    "test:windows:ci": "node scripts/test-projects.mjs src/shared/runtime-import.test.ts src/plugins/import-specifier.test.ts src/process/exec.windows.test.ts src/process/windows-command.test.ts src/infra/windows-install-roots.test.ts extensions/lobster/src/lobster-runner.test.ts test/scripts/npm-runner.test.ts test/scripts/pnpm-runner.test.ts test/scripts/ui.test.ts test/scripts/vitest-process-group.test.ts",
    "testbox:claim": "node scripts/blacksmith-testbox-runner.mjs --claim",
    "testbox:run": "node scripts/blacksmith-testbox-runner.mjs",
    "testbox:sanity": "node scripts/testbox-sync-sanity.mjs",
    "tool-display:check": "node --import tsx scripts/tool-display.ts --check",
    "tool-display:write": "node --import tsx scripts/tool-display.ts --write",
    "ts-topology": "node --import tsx scripts/ts-topology.ts",
    "tsgo": "pnpm tsgo:core",
    "tsgo:all": "node scripts/run-tsgo.mjs -b tsconfig.projects.json",
    "tsgo:core": "node scripts/run-tsgo.mjs -p tsconfig.core.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core.tsbuildinfo",
    "tsgo:core:all": "node scripts/run-tsgo.mjs -b tsconfig.core.projects.json",
    "tsgo:core:test": "node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.core.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core-test.tsbuildinfo",
    "tsgo:extensions": "node scripts/run-tsgo.mjs -p tsconfig.extensions.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions.tsbuildinfo",
    "tsgo:extensions:all": "node scripts/run-tsgo.mjs -b tsconfig.extensions.projects.json",
    "tsgo:extensions:test": "node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test.tsbuildinfo",
    "tsgo:prod": "pnpm tsgo:core && pnpm tsgo:extensions",
    "tsgo:profile": "node scripts/profile-tsgo.mjs",
    "tsgo:test": "pnpm tsgo:core:test && pnpm tsgo:extensions:test",
    "tsgo:test:extensions": "pnpm tsgo:extensions:test",
    "tsgo:test:packages": "node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.packages.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-packages.tsbuildinfo",
    "tsgo:test:src": "node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.src.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-src.tsbuildinfo",
    "tsgo:test:ui": "node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.ui.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-ui.tsbuildinfo",
    "tui": "node scripts/run-node.mjs tui",
    "tui:dev": "OPENCLAW_PROFILE=dev node scripts/run-node.mjs --dev tui",
    "ui:build": "node scripts/ui.js build",
    "ui:dev": "node scripts/ui.js dev",
    "ui:i18n:check": "node --import tsx scripts/control-ui-i18n.ts check",
    "ui:i18n:sync": "node --import tsx scripts/control-ui-i18n.ts sync --write",
    "ui:install": "node scripts/ui.js install"
  },
  "dependencies": {
    "@agentclientprotocol/sdk": "0.21.0",
    "@anthropic-ai/sdk": "0.93.0",
    "@anthropic-ai/vertex-sdk": "^0.16.0",
    "@aws-sdk/client-bedrock": "3.1042.0",
    "@aws-sdk/client-bedrock-runtime": "3.1042.0",
    "@aws-sdk/credential-provider-node": "3.972.39",
    "@aws/bedrock-token-generator": "^1.1.0",
    "@clack/prompts": "^1.3.0",
    "@google/genai": "^1.51.0",
    "@grammyjs/runner": "^2.0.3",
    "@grammyjs/transformer-throttler": "^1.2.1",
    "@homebridge/ciao": "^1.3.8",
    "@lydell/node-pty": "1.2.0-beta.12",
    "@mariozechner/pi-agent-core": "0.73.0",
    "@mariozechner/pi-ai": "0.73.0",
    "@mariozechner/pi-coding-agent": "0.73.0",
    "@mariozechner/pi-tui": "0.73.0",
    "@modelcontextprotocol/sdk": "1.29.0",
    "@mozilla/readability": "^0.6.0",
    "@slack/bolt": "^4.7.2",
    "@slack/types": "^2.21.0",
    "@slack/web-api": "^7.15.2",
    "ajv": "^8.20.0",
    "chalk": "^5.6.2",
    "chokidar": "^5.0.0",
    "commander": "^14.0.3",
    "croner": "^10.0.1",
    "dotenv": "^17.4.2",
    "express": "5.2.1",
    "file-type": "22.0.1",
    "global-agent": "^4.1.3",
    "grammy": "^1.42.0",
    "https-proxy-agent": "^9.0.0",
    "ipaddr.js": "^2.4.0",
    "jiti": "^2.6.1",
    "json5": "^2.2.3",
    "jszip": "^3.10.1",
    "linkedom": "^0.18.12",
    "markdown-it": "14.1.1",
    "minimatch": "10.2.5",
    "node-edge-tts": "^1.2.10",
    "openai": "^6.36.0",
    "openshell": "0.1.0",
    "pdfjs-dist": "^5.7.284",
    "playwright-core": "1.59.1",
    "proxy-agent": "^8.0.1",
    "qrcode": "1.5.4",
    "tar": "7.5.13",
    "tokenjuice": "0.7.0",
    "tree-sitter-bash": "^0.25.1",
    "tslog": "^4.10.2",
    "typebox": "1.1.37",
    "undici": "8.2.0",
    "web-push": "^3.6.7",
    "web-tree-sitter": "^0.26.8",
    "ws": "^8.20.0",
    "yaml": "^2.8.4",
    "zod": "^4.4.3"
  },
  "devDependencies": {
    "@copilotkit/aimock": "1.17.0",
    "@grammyjs/types": "^3.26.0",
    "@lit-labs/signals": "^0.2.0",
    "@lit/context": "^1.1.6",
    "@mdx-js/mdx": "^3.1.1",
    "@types/express": "^5.0.6",
    "@types/markdown-it": "^14.1.2",
    "@types/node": "25.6.0",
    "@types/ws": "^8.18.1",
    "@typescript/native-preview": "7.0.0-dev.20260504.1",
    "@vitest/coverage-v8": "^4.1.5",
    "jscpd": "4.0.9",
    "jsdom": "^29.1.1",
    "lit": "^3.3.2",
    "oxfmt": "0.47.0",
    "oxlint": "^1.62.0",
    "oxlint-tsgolint": "^0.22.1",
    "signal-utils": "0.21.1",
    "tsdown": "0.21.10",
    "tsx": "^4.21.0",
    "typescript": "^6.0.3",
    "vitest": "^4.1.5"
  },
  "optionalDependencies": {
    "sqlite-vec": "0.1.9"
  },
  "overrides": {
    "@aws-sdk/client-bedrock-runtime": "$@aws-sdk/client-bedrock-runtime",
    "axios": "1.16.0",
    "follow-redirects": "1.16.0",
    "node-domexception": "npm:@nolyfill/domexception@1.0.28",
    "uuid": "14.0.0"
  },
  "engines": {
    "node": ">=22.14.0"
  },
  "packageManager": "pnpm@10.33.2+sha512.a90faf6feeab71ad6c6e57f94e0fe1a12f5dcc22cd754db40ae9593eb6a3e0b6b12e3540218bb37ae083404b1f2ce6db2a4121e979829b4aff94b99f49da1cf8",
  "pnpm": {
    "overrides": {
      "@anthropic-ai/sdk": "0.93.0",
      "hono": "4.12.14",
      "@hono/node-server": "1.19.14",
      "@aws-sdk/client-bedrock-runtime": "3.1024.0",
      "axios": "1.16.0",
      "follow-redirects": "1.16.0",
      "defu": "6.1.5",
      "fast-xml-parser": "5.7.0",
      "request": "npm:@cypress/request@3.0.10",
      "request-promise": "npm:@cypress/request-promise@5.0.0",
      "basic-ftp": "6.0.1",
      "file-type": "22.0.1",
      "form-data": "2.5.4",
      "minimatch": "10.2.5",
      "path-to-regexp": "8.4.0",
      "qs": "6.14.2",
      "node-domexception": "npm:@nolyfill/domexception@1.0.28",
      "typebox": "1.1.37",
      "tar": "7.5.13",
      "tough-cookie": "4.1.3",
      "yauzl": "3.2.1",
      "protobufjs": "7.5.5",
      "uuid": "14.0.0"
    },
    "onlyBuiltDependencies": [
      "@discordjs/opus",
      "@google/genai",
      "@lydell/node-pty",
      "@matrix-org/matrix-sdk-crypto-nodejs",
      "@tloncorp/api",
      "@tloncorp/tlon-skill",
      "@whiskeysockets/baileys",
      "@whiskeysockets/libsignal-node",
      "authenticate-pam",
      "esbuild",
      "node-llama-cpp",
      "protobufjs",
      "sharp"
    ],
    "ignoredBuiltDependencies": [
      "koffi",
      "tree-sitter-bash"
    ],
    "packageExtensions": {
      "@mariozechner/pi-coding-agent": {
        "dependencies": {
          "strip-ansi": "^7.2.0"
        }
      }
    },
    "peerDependencyRules": {
      "allowedVersions": {
        "prism-media>opusscript": "^0.0.8 || ^0.1.1"
      }
    },
    "patchedDependencies": {
      "@whiskeysockets/baileys@7.0.0-rc.9": "patches/@whiskeysockets__baileys@7.0.0-rc.9.patch",
      "@agentclientprotocol/claude-agent-acp@0.32.0": "patches/@agentclientprotocol__claude-agent-acp@0.32.0.patch"
    }
  }
}
