{"_id":"soulclaw","_rev":"46-cc3b9573074f8aaac98062fe8567bfd5","name":"soulclaw","dist-tags":{"broken-gateway":"2026.7.1","next":"2026.7.2","latest":"2026.8.1"},"versions":{"0.0.1":{"name":"soulclaw","version":"0.0.1","keywords":["openclaw","ai","agent","soul","memory","clawsouls"],"author":{"name":"ClawSouls","email":"support@clawsouls.ai"},"license":"MIT","_id":"soulclaw@0.0.1","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"dist":{"shasum":"78378c53ebac83f0754bf0bb739d592c90e7939f","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-0.0.1.tgz","fileCount":2,"integrity":"sha512-yI1ITVPC7XPd2CuxOMHwtE9mYVnW3a2620xB14kk5ybJQlbYOtlxIY4dIJI9IhPDr5GYEpxU4Y5+upw8uIUjrg==","signatures":[{"sig":"MEUCIFln4TgHncvtvUoKfkbjF574FQ/UT5h7hyinO8tU40w/AiEA3ptTiUP0kO8Rz7dSchxaiAY8zWCfFuYxOsSnGPtT9Wo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":425},"main":"index.js","_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/soulclaw_0.0.1_1772859095171_0.1600827964720204","host":"s3://npm-registry-packages-npm-production"}},"2026.3.3":{"name":"soulclaw","version":"2026.3.3","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.3","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"9284c5a58b6b6d74a62afdbab27bee6d698d6f3d","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.3.tgz","fileCount":4803,"integrity":"sha512-j86y1W+32Ja9YOZ4+1vmmbvxE60ZU1JQDFFxnqak5SD0UwKwDkrCKUPt8a/tU7rXtgL7Prhq6Zf1VAj4Yc2gxw==","signatures":[{"sig":"MEQCIEgu6DAbZ7wvM/+PTEjWJm+w+3ATyz9M7xzjTggIdsnKAiBNSi6MWtygCSNa1f3rlN32KFJNAqPLy5eMtmFLy11BSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92136008},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"d4f38e003d10387b459fdae898ff653a9e3b0e06","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.3_1772859802280_0.5139133059154064","host":"s3://npm-registry-packages-npm-production"}},"2026.3.4":{"name":"soulclaw","version":"2026.3.4","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.4","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"b1608911a4a23f8292127f48a9fc9b9447019ff3","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.4.tgz","fileCount":4809,"integrity":"sha512-mjLu/8/NRebK6LXyp8qC4FkLky0KRlL0Sz7oGfiQrbq5Ejs83igduZa6buKWVj67nDP+5KnDHcuGjAh8Yp1deQ==","signatures":[{"sig":"MEQCIBhCw29IctNKDz3w5HyZ5lDMnOfuhIApQzwuTMssRjoyAiB7XN4QhePzGWhlppZcgm7/vThIsOfher6dEp4/eu6SNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92023948},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"a18ac11b824d976cc8c5eac267d6e295dc475219","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.4_1772862363968_0.4713370128676444","host":"s3://npm-registry-packages-npm-production"}},"2026.3.5":{"name":"soulclaw","version":"2026.3.5","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.5","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"232869582ebf77027de69d20d85286a55f148112","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.5.tgz","fileCount":4809,"integrity":"sha512-3PBhvF1RqEWufz49xNzdRoF3Oucqsoz6BRlINzmhTQxMe8GAp/IeTzI2xiyyO7i4kf+5oTQCzXYjGY/D65FFTA==","signatures":[{"sig":"MEUCIQDjXJZJCDcH2KMC6QL+cKXPGkrm6UAk4AWjobgcruh07QIgM75ur7AdLZu78T6wXolfNY268xyFiWwqm/LUqOGW340=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92033383},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"f0ea6258cc8836079a8118f792dbe24386d5b967","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.5_1772862958183_0.01677829287602428","host":"s3://npm-registry-packages-npm-production"}},"2026.3.6":{"name":"soulclaw","version":"2026.3.6","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.6","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"6fb0e849b39c22069316ec6154f9ca678d5a3a38","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.6.tgz","fileCount":4886,"integrity":"sha512-2jsfj46yRfyEWb63gZSzd5YO+xU6H08QerpE7KsZQmxDasrc1X3aNb2ymWEHFXqLBh1tQMY5pa4U3iPH0u7cMQ==","signatures":[{"sig":"MEUCIFCKNtwl52Aiw3qdzpgvrJM6aJxR+Tdlq4krEST2SIV7AiEAiYciLWvYTNh+w3rB/TY7I6bx998PxvYj4NheGqjgNX4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98215313},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"def7e3502502df213249af6e6117885cdc1afe26","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.6_1772866694243_0.4392923190947884","host":"s3://npm-registry-packages-npm-production"}},"2026.3.7":{"name":"soulclaw","version":"2026.3.7","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.7","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"fa32be6970777ce959938e1d5f1c3af3405e12b9","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.7.tgz","fileCount":4810,"integrity":"sha512-DWMaG/ULzX945c+WXCKL+3loqwNqVtauYgWLN8mMd7mEol3mjKvqTuPHF0y974Vgbt6CeslVkhsDPEc4XM2ryQ==","signatures":[{"sig":"MEQCIEzjT8FJWfNLTKaKHK9veKeeEwHGlYiC/FNUaMciiFRoAiBK9WP5ZXlt4xDWOQSrvfJrgznz09NyCK/9/NlHjydqpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92049698},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"df68291b55d72d8d48d3ea97f85b00f2286aea25","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.7_1773123634414_0.21837072417794268","host":"s3://npm-registry-packages-npm-production"}},"2026.3.8":{"name":"soulclaw","version":"2026.3.8","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.8","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"4c46e47485e09baa79cacff639ec07f647f3fa85","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.8.tgz","fileCount":4810,"integrity":"sha512-NzPCjzs4Ehnze6aw1G21bRVY0g9v/ONKngCUn7NgItR+Kx4hohUq81elpugE3ixYvFLpxg1Ghz46GOtSnSS8YA==","signatures":[{"sig":"MEYCIQCYOeFd4SRBaw8MCHyCaJ2pPZAG96vdW6xo2NoGuh9gxQIhAPTx+gz7m7BKWnbM3dn1e5O3tMIgSdWAInLDDRuMcxKv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92050375},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"087bbcecceba6bf45c5497c72a7c76e52d6e8d8b","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.8_1773123839186_0.7379555532066122","host":"s3://npm-registry-packages-npm-production"}},"2026.3.9":{"name":"soulclaw","version":"2026.3.9","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.9","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"bfc57eaa31e04f66263b1360ce99b7375ff3ac9b","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.9.tgz","fileCount":4810,"integrity":"sha512-/tjeGK6F6vt7oE14AXHG9ViYhwSHIj+X6sW13dKRvLy5NgrLTPc+vDs34gO8cJAs0nyFAVTlStee4diAwGO0Lg==","signatures":[{"sig":"MEYCIQDQmY0LBj82nUuiEVTJbUTI1hcvQxRxwOKmt2Z5JFP8cwIhAK5eGxrA00Y5Q2x0rFmyVeOBkHQKiSLPV8TE3AwwY2Hx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92048070},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"d1673931f8d0283cf742c8c0777384c401218eb6","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.9_1773124825033_0.980015113293276","host":"s3://npm-registry-packages-npm-production"}},"2026.3.10":{"name":"soulclaw","version":"2026.3.10","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.10","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"5c708a6ed8957e1d8806f5714ef24cb7d849cfae","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.10.tgz","fileCount":4810,"integrity":"sha512-7UxoC9e2+PePx2H/o9tzXho9WY7AraPa2BWLXymO79oTZsjgCxzzG1FrPE4nBXCoebjgJHhHKKDDrvpJNsPT/A==","signatures":[{"sig":"MEUCIDetXJsaU/Hov0z5mxOw13bq0tfTXyTQzoKWEkGvjKWIAiEA75Vyd5LTfZuUvedPmVTCtjnTAWoLyqKnQkzGXQn549c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92047888},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"5b265569907fec8bad4e67ee5268191e22043fe0","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.10_1773128310465_0.2715861486806037","host":"s3://npm-registry-packages-npm-production"}},"2026.3.11":{"name":"soulclaw","version":"2026.3.11","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.11","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"041dcb179e0047ced007c2655e7ac5d84f3f14de","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.11.tgz","fileCount":4810,"integrity":"sha512-82hWpoAvMc9q/EknEgWML2t3j0qESmNL6vT5mqkGIuGYhRLpD/m5TexRGdosR6sntIvkpgOcu4u8nWbX+cgBqA==","signatures":[{"sig":"MEUCIQC/gtJX4UD2xlONU6gFjeiNsb+7WsnfzqjObd2IbiSIawIgDBm8BpqQMc5Ia9xtDgiCTPnxghHu/KH2G8f8/bxIHjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92048574},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"52fafefb8432e16114ef035f1cdcfbe3947077d4","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.11_1773128449092_0.2365808239013909","host":"s3://npm-registry-packages-npm-production"}},"2026.3.12":{"name":"soulclaw","version":"2026.3.12","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.12","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"3923599cba3b2ca843a5359283991d9534595c21","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.12.tgz","fileCount":4812,"integrity":"sha512-45JI7EDP36aHkLIeYhc+GNFwnoxt8VUoTQMwzekOGRCDG5yvQBTAVswasQ8Eakim+IfU7IM09sBhY505wN72Iw==","signatures":[{"sig":"MEUCIQDzsO/7326m9EPytzZ7pNSlVOHU6cpS+S3y1fUmfh4sRwIgf3GtgURlFgBvaS4EIPxIi7Y/zTLBJj8TWe1vvMANNng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92054333},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"da6ddc7b25e304fb57f38bf273f4a11c40f6c2a3","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.12_1773133429027_0.3387214090071342","host":"s3://npm-registry-packages-npm-production"}},"2026.3.13":{"name":"soulclaw","version":"2026.3.13","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.13","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"87341bd1fdd02a3e9f39f258b3dfbc1d40892dc9","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.13.tgz","fileCount":4812,"integrity":"sha512-6aZp0E0hYa9kpZiOxl02LGoBH0Qo5ihnslbLqXfHr/oxC2cIK/EFEILFYGLZO3c0W4hwGdcO9gMjN0ShgUWhfw==","signatures":[{"sig":"MEYCIQD4ESlD6FgoFYJlhDncaygqfdlnGDc+ZjCbd2C3NNYEzwIhANDDaEbFKdiDI9neI2Eal0UtmA8sHxOohKFMMNTF1cOC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92058588},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"eb3ed1f3126846fd7289de303d4e37df02e018c0","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.13_1773134525643_0.9521121076046652","host":"s3://npm-registry-packages-npm-production"}},"2026.3.14":{"name":"soulclaw","version":"2026.3.14","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.14","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"e276a48b6d81c2073f04161743bc8cfcf45c3304","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.14.tgz","fileCount":4814,"integrity":"sha512-hGTfv9IqIpVmfDDzdzbf0w85eFR7Px0JHo1r+k7H+KCJHWGegb2t0Bwqvtz00WFJhawe5F+txHijpuShs82MYw==","signatures":[{"sig":"MEQCIFJvT+tjFoPgoP9AxOtt35yctxxUNFkIYNSGamB1W03eAiAQ46vtF/4yhIzvK7vDCbhDeRuE5Ipkptc3SzrbGJPqZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92064938},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"6e3123fbe029ea87d4e362b99732c2780091a465","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.14_1773135085166_0.8705228280618817","host":"s3://npm-registry-packages-npm-production"}},"2026.3.15":{"name":"soulclaw","version":"2026.3.15","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.15","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"16c595128d24b3cf9bbae6c1a3e9e98f1b121456","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.15.tgz","fileCount":4814,"integrity":"sha512-m1dc6kYyn0qxIjRux0XsvmKC54SlRZC2Qceb+x5mBgIX7MOmKrcTlkwRXpA+DmSMzdT4X/s/XrhbOf7+ATXaqQ==","signatures":[{"sig":"MEQCIHfj4LSi41mSzOBT2JDE8t9CcSWpsmdwf6k8RiiqgIevAiBeZN5TQsxn4rh5bQHQXFsbRhycBZVgJU0lYdTs61Sqpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92068892},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"d28cf3cfc1e8eb87c7981c7eeedb0f1cb8638547","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.15_1773135181847_0.5652818927714696","host":"s3://npm-registry-packages-npm-production"}},"2026.3.16":{"name":"soulclaw","version":"2026.3.16","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.16","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"dc8834f68f21f890b8d4f572f9a10d4bbcae2fe3","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.16.tgz","fileCount":4814,"integrity":"sha512-KaCIu24oQ8C+msKzOyxagkvbNJo0vaT6zM6p9etu0Ae+5+ln9h2dVoTOrfd+Y9yTXdQqLxyoS6jpVKPjtNDeGg==","signatures":[{"sig":"MEUCIEIHHUfjysLzVXC4oYz8YyeKzkpnV96K7Wq7AMcOSIejAiEAu0LHm57v/6Ycas/tne3YyP6QPIAvLrlBqCx3GlHPxxY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92070557},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"cacee9c33e5d624949c1beda6fecfb80b5da7bc2","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.16_1773136661159_0.5744478471130172","host":"s3://npm-registry-packages-npm-production"}},"2026.3.17":{"name":"soulclaw","version":"2026.3.17","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.17","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"ebcd17e9de539ac7bc4a728aaba3872c71bc3e83","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.17.tgz","fileCount":4814,"integrity":"sha512-Y9CcvXOnEExNlFJg3Mi1Vq1FgmdHwaQElX12JHkQ9OQV6Gkulld7/ZzJRU/U0bD6Ge9DNzyeT7HfcC8yHiSE2A==","signatures":[{"sig":"MEYCIQDU631OqR5zrKQd7JGCZ0/Xh00tPFzbqBvbWuohCBn/CAIhALeEIa8wC/yojpoxVzaIB7xtIe2zWBO4spP1I5F0zjrJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92075076},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"ed2baf4fbd2337ed402cd20dc45a284cac47c373","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.17_1773146589273_0.0861686344714574","host":"s3://npm-registry-packages-npm-production"}},"2026.3.18":{"name":"soulclaw","version":"2026.3.18","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.18","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"1d6b45f26e3a7a5b24822e39b8ce526ce0ed0d9b","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.18.tgz","fileCount":4818,"integrity":"sha512-SxZn56ZAxlB/Tr5VGhZuLqu/PUVUs8jPHvQqsZc8TvoxzgD8f63cZbBjnd3wh/A4XQwykyDpUxPMCqJ/dUIb6w==","signatures":[{"sig":"MEQCIDDH/Z0BMWSxmBQ2TFvuFVjznT8UjfWl/W8Qhcm6rfl4AiALS0Pvh52R+va9RogQsR9LpSe444/f9vcGESANsi39sQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92172235},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"98fb6b08e143f5c01238c679d8009e2c2d355f9d","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.18_1773760802296_0.41859774863077437","host":"s3://npm-registry-packages-npm-production"}},"2026.3.19":{"name":"soulclaw","version":"2026.3.19","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.19","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"f8608720acb24778e95a95dd5a4522347356aba4","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.19.tgz","fileCount":4912,"integrity":"sha512-ZuPBm995rKAsIoKiOtY2ssbkJsFzzcCgQByTzN8p6BSmDW5fpgZixkG1vqyJYq1bm/OlJ0F8m7GXvKTtUbYxXw==","signatures":[{"sig":"MEUCIQCufqDRTq/raWQMyy8UgplfVJhxeimQQ0x1vj5U3W3tgwIgJXM51kt6UQwOsGMX/abzeOYwNFL19YFudZcrvhSa1kI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98409537},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"5a48e2458877c4ce87463ac884e0f8a8774ff20f","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.19_1773764042049_0.22978294786094144","host":"s3://npm-registry-packages-npm-production"}},"2026.3.20":{"name":"soulclaw","version":"2026.3.20","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.20","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"962eea258b213d86de072df5b72bfc36c250f648","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.20.tgz","fileCount":4834,"integrity":"sha512-d0HblIO3POy/0tES+nWhNQto0EtMVUGTPpwKBdWhQeWpLqpBYrHeNsWEt98q/iKZdTb0N2gIwG26/YX/zXCWYw==","signatures":[{"sig":"MEQCIBZxxagQexJko2IxCwxDydd7gJeNAK2OorRZQvpNdN8uAiAF4J/GueQ5vJ3ImWb8ZxU9R8GPTQYd9it+tm+bqMtd1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92219090},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"618aa8b3ea6769d29543237509d7051f7686e419","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.20_1773790871116_0.9414177051454342","host":"s3://npm-registry-packages-npm-production"}},"2026.3.21":{"name":"soulclaw","version":"2026.3.21","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.21","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"57412686ac34dd7498bfededfea631939d5e5b9a","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.21.tgz","fileCount":4877,"integrity":"sha512-DqnzJRjma1rDBtFSU+Ewft0pPlOnKx0JBBBPtF3NSzXGLPhC1fllG2DJaNZATx+PPU6/+eQyChAv5+iZhibMqA==","signatures":[{"sig":"MEYCIQDLj9Am0sSp8kvV/9uhZux2i9FzjlbG8DsC8aQQqWEzOQIhAIagtARnHaAqUyMuvErAHP/oMM6y9Gx5KufNSzjfd3nA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92509767},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"26fc60a5dabfcaebe87922e19132ab3f88e1c052","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.21_1773832648660_0.34346034377453094","host":"s3://npm-registry-packages-npm-production"}},"2026.3.22":{"name":"soulclaw","version":"2026.3.22","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.22","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"13d3b60b6f18e62c0294cf106d88dd44538fd1f2","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.22.tgz","fileCount":4877,"integrity":"sha512-K6XzH3bcNjV326uFRHIymkMTraASoOaU/UEskx6Qm73wOzlM+cuMsxwkohxf31wA6Dnx5mldZpOi2VB6wjVxyw==","signatures":[{"sig":"MEUCIQDQLQYwuUx1u0e7EXOOGaOF/Dz3N3jz5ELyDtepvla6ugIgW15lHRKEOm5g//0D/qzTx3G5HrnD7xiXXYqmMLIEyyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92510324},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"dc4194037385523ee49e83a8682e61dd7f8e643b","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.22_1773840094082_0.28028622592736463","host":"s3://npm-registry-packages-npm-production"}},"2026.3.23":{"name":"soulclaw","version":"2026.3.23","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.23","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"81859faf0dc77081e3fa82dd00e1114df149bb26","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.23.tgz","fileCount":4996,"integrity":"sha512-keOwQ98B/9sAfU0FREj5jvckFZHM3eWv7b8aevHSUGrMWEV+TQt8iB832jSNkStTSRvb+xYGCfjnTbT/2nRIVA==","signatures":[{"sig":"MEYCIQC5IST79C7yn25tK3c/GSJKzuG/UPhBYvdRMNA0JTzk7QIhANsrEYIQXhMgD+M7iTZQeiwgBuRREqJRjElo84Ktujcp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98958845},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"b047ce6121a313e8c1654f116928da968f104459","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.23_1773979687790_0.750825333286592","host":"s3://npm-registry-packages-npm-production"}},"2026.3.24":{"name":"soulclaw","version":"2026.3.24","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.24","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"ecf4dd598e18d3ec628dbf9c21fad50df50757d3","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.24.tgz","fileCount":4925,"integrity":"sha512-buQ6XLogv93ZoqL3slIqeYycqyGnb8egdaU3sQldhW0ShZJEArgaOMwV/sfd8yoTNDX7JOILoEPY/B3vlwsHSg==","signatures":[{"sig":"MEUCIHx/sG3axkapMZkwhAarkp8ON883EZAAeRSPvkT3Y/esAiEA3CedFz/V1iCV5a9l+VOfc2dk8gL4StfH99ecr2aT7Wg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92755198},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"1aa5a08939dcb9c32ec2a4b8e9cdfd631f11d06d","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.24_1774000891556_0.6545324655419495","host":"s3://npm-registry-packages-npm-production"}},"2026.3.25":{"name":"soulclaw","version":"2026.3.25","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.25","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"e6444ae626227d115d0b3bf13fd100fe6b8cb43b","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.25.tgz","fileCount":4925,"integrity":"sha512-sTPXl/aBkZHF9WvRubGc1KXky9vbdGk0uJqLrLtLFpmkLufiTM/QumNdI+WdR2y6Qb28jYnghO9EhAT93PWOlw==","signatures":[{"sig":"MEUCIQD9p7VrJ7v95WygGs18L/rjoCrOP36hwXFu3+UB5S9DOgIgJMJT6Ncoyf+jYOYsRX0Nr3XhxIbHrDm7kCDGjH5EAog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92757112},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"cfe75a1f1089204ddcecb64acb11412ea3012e85","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.25_1774016372294_0.7709993629212837","host":"s3://npm-registry-packages-npm-production"}},"2026.3.26":{"name":"soulclaw","version":"2026.3.26","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.26","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"036f5863d539304cc52896e12a86891e5165a6d2","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.26.tgz","fileCount":4908,"integrity":"sha512-6lPcTBt0CT+k4YdiJKqaz5SHJjFaAmLAFjBKGxPIt37o9+H6HSDI83ReLVW1k8V8QBCJxS8T5HZqoNLSoYSGyQ==","signatures":[{"sig":"MEYCIQCnSGCP9wFiueYiW8hU/czL6pa+JIbqkg6/8CbyDFnQigIhAMITs1riVL8a2V7QD06DxEKC+aKOmw5uK0UDs1gMJKoG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92728453},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"fe10a3c32be3148572a9d9eba903c9ca1d736b43","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.26_1774016915704_0.5088472335720844","host":"s3://npm-registry-packages-npm-production"}},"2026.3.27":{"name":"soulclaw","version":"2026.3.27","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.27","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"c14c3a75b6e5d4eef32204ef62057020a2fa83f8","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.27.tgz","fileCount":4908,"integrity":"sha512-bPlEGOx94sc7/m0WeME+Ax4ar8rmBrj8hrqaQp5LGfmwBJrY4TBfzUbO8hDlYLrWroThSuodx9A2T4opRJnp/g==","signatures":[{"sig":"MEQCIDsefac5byUHcwdKpbNSi7XqW6Ed+NyjhUOwOEeLlaNPAiBLtReX8g9yYR5Hv6KiMqEtWI38Y8T0EZAx2B/cvcfVlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92729982},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"89ca205bfc6ea4554012ded1663c8756d66c5010","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.27_1774017263420_0.6573248205381332","host":"s3://npm-registry-packages-npm-production"}},"2026.3.28":{"name":"soulclaw","version":"2026.3.28","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.28","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"72ce43afb63d164b2f16cfb4e60d72859efe0c48","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.28.tgz","fileCount":4911,"integrity":"sha512-pt9JCZui+J+pnw8dEG4CA6E5XiN8R+INTAtkv2u3hsKViqETZGqoKgvkNK9Tjwyd2ld4mCwTQsbPTZ8rugupYw==","signatures":[{"sig":"MEQCIHtL11vu5new30kCClUsfTypLnOZxxxUluaQsuTlxGhuAiA1Kyt+qlw4t+CuqBVzo3QD23xvS37/LSF0Kdpz8mx0EA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92737778},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"c134c258ec867251f2d5a4b3105676ed258ae2bf","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.28_1774020911097_0.8572790593903412","host":"s3://npm-registry-packages-npm-production"}},"2026.3.29":{"name":"soulclaw","version":"2026.3.29","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.29","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"a2c0053e2ecd284ebfb81573e60ead82f8555154","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.29.tgz","fileCount":4913,"integrity":"sha512-t9sNa24MA7Y3CCLmbgWCIUVDX3MT32/0o2xdlRXliECvil8vgV3VM9zSHtJvrzxQy8Ptsc9xu+EKVe8DEUdEzQ==","signatures":[{"sig":"MEUCIQDKigGaTdGvaTrIF4RwwYy675rz3pviQHII/5esPDIqJwIgCtnlOs8e5AvioX/PBZe+6EFPz66+RUaycbX5sTE0nfo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92746389},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"5b5f3a178500d3e29858d00fa483e327436f2201","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.29_1774046723577_0.8333556919800478","host":"s3://npm-registry-packages-npm-production"}},"2026.3.30":{"name":"soulclaw","version":"2026.3.30","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.30","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"311c95b0fe9c24ba8ae1c89fe7df75a67a889232","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.30.tgz","fileCount":4920,"integrity":"sha512-Qll4sc9z2i2XVT8Dj+3/StXpenIJTq6WyamsaG3PmO0UNm9HxvTuplUHXd9d5x0bWM4ZIR2GWKXqxxwebRAMsg==","signatures":[{"sig":"MEUCIF0jCwc9EEwV2Yt1Hg3kMhqaWpFXMEoi/VgZvmRVNugZAiEA0P7IEQmMTZ/ZE9AElSUtFsVZdlIyiFIHjd/RFa1T8Vs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92855809},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"9527d19c5693036fe1431b10ee6079477b13651d","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.30_1774167589354_0.5286335003179634","host":"s3://npm-registry-packages-npm-production"}},"2026.3.31":{"name":"soulclaw","version":"2026.3.31","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.31","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"f8e81c62d4272cd247c0a1b90e53bce123289198","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.31.tgz","fileCount":4920,"integrity":"sha512-TkCoyHild9mFxz5f+g5m49vSE8luROFWcahuedUT8W529MK8FLglWdUK8oSHgKL/p8RhqZotODYNJ/wQELP+cQ==","signatures":[{"sig":"MEUCIQCNLhoK+UHG5KzX3zj+EG4iXafHSKXj0occ/LQTOx4AzgIgPkfBGYzJSnG29Lf0YOZvXg35mlpLCcB479nj3tbWkSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92856575},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"5a380cea742c92e562b62cd8882f88867370e473","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.31_1774168068656_0.8553558786353976","host":"s3://npm-registry-packages-npm-production"}},"2026.3.32":{"name":"soulclaw","version":"2026.3.32","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.32","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"034190adc352624e5edfdfcae71c092c7d8729d3","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.32.tgz","fileCount":4921,"integrity":"sha512-g430Ee0KRcT4r5zVEPmHuXZhetExACDhItyxDqj4aoZYyPyF+iOF4MI8qWQtajiRL98qjTKF4FrSGQ1KcZIHKQ==","signatures":[{"sig":"MEUCID7R0MLtpGozig4OSl+CsQm+9MB8BGbs449/BoseucnPAiEAlZXodxixlyrEB4mYv0BOFjyU6MvQIKPG8EyATRLaDHc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92859613},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"da8873db3008f9c596e846b031ec5c5350cb263c","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.32_1774168907465_0.40857661041238","host":"s3://npm-registry-packages-npm-production"}},"2026.3.33":{"name":"soulclaw","version":"2026.3.33","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.33","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"0b68a6f9047011e217bd9933377f94f944cc1a54","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.33.tgz","fileCount":4922,"integrity":"sha512-bJAlRKXjDv1XNu/Z1y1tmnn9lfbdMBY5Gw7hyPlFkscKhlm7Ch4mnvXn4cLcqGj6r6qN1V28zl40PMuVCBKypA==","signatures":[{"sig":"MEQCIE0MoKhDCa5dqV1LrZFVB1NWfmsJudR9Wj/vjcxlRaXrAiAFHXnRmmQjTWyvfRwgFnRn0vdTKi8YQhgpzZ9z9SEpUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92877133},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"504f8888582498277fc6777f21d3b36070d2b2a3","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.33_1774267131976_0.20072859207842475","host":"s3://npm-registry-packages-npm-production"}},"2026.3.35":{"name":"soulclaw","version":"2026.3.35","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.35","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"22493108a64fbbe17ac6e5b858a5cefb431d286f","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.35.tgz","fileCount":4991,"integrity":"sha512-ua8/Mn/27QxXNX88P9y3G6o+NEsJifBVm1eDhs9XYirRzwHTyyHaKV4b55RY2OrtYCL/O8ZL5wjHmq7nuKQh3Q==","signatures":[{"sig":"MEYCIQCVvIVkWSMRQzzoCI3hU6f6SDzZccTdUpimPWr55EcEKQIhAPSXDmhGOc1tSrd8TRmQwXNVLTim1UBG8TOIgp4qwvVT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92936078},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"c576f424f436c8f4fe15cebc9e133ecd655ec16e","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"peerDependenciesMeta":{"node-llama-cpp":{"optional":true},"@napi-rs/canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.35_1774443046410_0.4609305251986837","host":"s3://npm-registry-packages-npm-production"}},"2026.3.36":{"name":"soulclaw","version":"2026.3.36","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.36","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"a75e4bddb869df429e230a15809498acb9dabad6","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.36.tgz","fileCount":5070,"integrity":"sha512-LB7E4kJYLGhW6tbFMEM0txghOcYqME9DDTIf99Gc4hHCSv+Frz5bi7iqefzNZtcCLxZcuHGkCi5hFA0TcsQ2Ew==","signatures":[{"sig":"MEUCIES6Qg5v55RTw8AVxcc/matkvvjfHRjLrswLVtFyQhoCAiEAxpdzxoPzrurZep57QaDFWzK7qRWE15iAazEp+KLjMbo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99192092},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"68a9b7f0856c521b5226aaeede84b4cf9bbe39de","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"peerDependenciesMeta":{"node-llama-cpp":{"optional":true},"@napi-rs/canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.36_1774612887554_0.5181853530223111","host":"s3://npm-registry-packages-npm-production"}},"2026.3.37":{"name":"soulclaw","version":"2026.3.37","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.3.37","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"093316aa72621651fefef0d83be457e7f463628b","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.3.37.tgz","fileCount":4991,"integrity":"sha512-ewuT3ieEE0V2/ybgulzUSJauPc1Ew/9VniIY/Y9K8a6f1E6XIrSZYnThbZL5+IgoKlBMbTD+o3lmgeVhOiPlhA==","signatures":[{"sig":"MEYCIQCm4VJBRQvL46QEY4pGx5vnAOVCjmJnkJkSIpXyEay32AIhALXsbdfJvUG22vcurixakEvJE3zOkhOv6My/eE0HMRMf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92940471},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.10","hono":"4.12.5","request":"npm:@cypress/request@3.0.10","form-data":"2.5.4","minimatch":"10.2.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.8","request-promise":"npm:@cypress/request-promise@5.0.0","@hono/node-server":"1.19.10","@sinclair/typebox":"0.34.48","node-domexception":"npm:@nolyfill/domexception@^1.0.28"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","koffi","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/irc":{"types":"./dist/plugin-sdk/irc.d.ts","default":"./dist/plugin-sdk/irc.js"},"./plugin-sdk/acpx":{"types":"./dist/plugin-sdk/acpx.d.ts","default":"./dist/plugin-sdk/acpx.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/line":{"types":"./dist/plugin-sdk/line.d.ts","default":"./dist/plugin-sdk/line.js"},"./plugin-sdk/tlon":{"types":"./dist/plugin-sdk/tlon.d.ts","default":"./dist/plugin-sdk/tlon.js"},"./plugin-sdk/zalo":{"types":"./dist/plugin-sdk/zalo.d.ts","default":"./dist/plugin-sdk/zalo.js"},"./plugin-sdk/diffs":{"types":"./dist/plugin-sdk/diffs.d.ts","default":"./dist/plugin-sdk/diffs.js"},"./plugin-sdk/nostr":{"types":"./dist/plugin-sdk/nostr.d.ts","default":"./dist/plugin-sdk/nostr.js"},"./plugin-sdk/slack":{"types":"./dist/plugin-sdk/slack.d.ts","default":"./dist/plugin-sdk/slack.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/feishu":{"types":"./dist/plugin-sdk/feishu.d.ts","default":"./dist/plugin-sdk/feishu.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/signal":{"types":"./dist/plugin-sdk/signal.d.ts","default":"./dist/plugin-sdk/signal.js"},"./plugin-sdk/twitch":{"types":"./dist/plugin-sdk/twitch.d.ts","default":"./dist/plugin-sdk/twitch.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/lobster":{"types":"./dist/plugin-sdk/lobster.d.ts","default":"./dist/plugin-sdk/lobster.js"},"./plugin-sdk/msteams":{"types":"./dist/plugin-sdk/msteams.d.ts","default":"./dist/plugin-sdk/msteams.js"},"./plugin-sdk/imessage":{"types":"./dist/plugin-sdk/imessage.d.ts","default":"./dist/plugin-sdk/imessage.js"},"./plugin-sdk/llm-task":{"types":"./dist/plugin-sdk/llm-task.d.ts","default":"./dist/plugin-sdk/llm-task.js"},"./plugin-sdk/telegram":{"types":"./dist/plugin-sdk/telegram.d.ts","default":"./dist/plugin-sdk/telegram.js"},"./plugin-sdk/whatsapp":{"types":"./dist/plugin-sdk/whatsapp.d.ts","default":"./dist/plugin-sdk/whatsapp.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/googlechat":{"types":"./dist/plugin-sdk/googlechat.d.ts","default":"./dist/plugin-sdk/googlechat.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/open-prose":{"types":"./dist/plugin-sdk/open-prose.d.ts","default":"./dist/plugin-sdk/open-prose.js"},"./plugin-sdk/talk-voice":{"types":"./dist/plugin-sdk/talk-voice.d.ts","default":"./dist/plugin-sdk/talk-voice.js"},"./plugin-sdk/test-utils":{"types":"./dist/plugin-sdk/test-utils.d.ts","default":"./dist/plugin-sdk/test-utils.js"},"./plugin-sdk/voice-call":{"types":"./dist/plugin-sdk/voice-call.d.ts","default":"./dist/plugin-sdk/voice-call.js"},"./plugin-sdk/bluebubbles":{"types":"./dist/plugin-sdk/bluebubbles.d.ts","default":"./dist/plugin-sdk/bluebubbles.js"},"./plugin-sdk/device-pair":{"types":"./dist/plugin-sdk/device-pair.d.ts","default":"./dist/plugin-sdk/device-pair.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/copilot-proxy":{"types":"./dist/plugin-sdk/copilot-proxy.d.ts","default":"./dist/plugin-sdk/copilot-proxy.js"},"./plugin-sdk/phone-control":{"types":"./dist/plugin-sdk/phone-control.d.ts","default":"./dist/plugin-sdk/phone-control.js"},"./plugin-sdk/synology-chat":{"types":"./dist/plugin-sdk/synology-chat.d.ts","default":"./dist/plugin-sdk/synology-chat.js"},"./plugin-sdk/memory-lancedb":{"types":"./dist/plugin-sdk/memory-lancedb.d.ts","default":"./dist/plugin-sdk/memory-lancedb.js"},"./plugin-sdk/nextcloud-talk":{"types":"./dist/plugin-sdk/nextcloud-talk.d.ts","default":"./dist/plugin-sdk/nextcloud-talk.js"},"./plugin-sdk/diagnostics-otel":{"types":"./dist/plugin-sdk/diagnostics-otel.d.ts","default":"./dist/plugin-sdk/diagnostics-otel.js"},"./plugin-sdk/qwen-portal-auth":{"types":"./dist/plugin-sdk/qwen-portal-auth.d.ts","default":"./dist/plugin-sdk/qwen-portal-auth.js"},"./plugin-sdk/thread-ownership":{"types":"./dist/plugin-sdk/thread-ownership.d.ts","default":"./dist/plugin-sdk/thread-ownership.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/minimax-portal-auth":{"types":"./dist/plugin-sdk/minimax-portal-auth.d.ts","default":"./dist/plugin-sdk/minimax-portal-auth.js"},"./plugin-sdk/google-gemini-cli-auth":{"types":"./dist/plugin-sdk/google-gemini-cli-auth.d.ts","default":"./dist/plugin-sdk/google-gemini-cli-auth.js"}},"gitHead":"fa4cd61325daeb409dc9d04f54ce88b7636ac7bb","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","test":"node scripts/test-parallel.mjs","build":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:agent:ingress-owner && pnpm lint:plugins:no-register-http-handler && pnpm lint:plugins:no-monolithic-plugin-sdk-entry-imports && pnpm lint:webhook:no-low-level-body-read && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.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'","prepack":"pnpm build && pnpm ui:build","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","test:ui":"pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"vitest run --config vitest.e2e.config.ts","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","ios:build":"bash -lc './scripts/ios-configure-signing.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:docs":"pnpm dlx markdownlint-cli2","test:fast":"vitest run --config vitest.unit.config.ts","test:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config .swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","test:force":"node --import tsx scripts/test-force.ts","test:watch":"vitest","ui:install":"node scripts/ui.js install","android:run":"cd apps/android && ./gradlew :app:installDebug && adb shell am start -n ai.openclaw.android/.MainActivity","deadcode:ci":"pnpm deadcode:report:ci:knip","format:diff":"oxfmt --write && git --no-pager diff","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","gateway:dev":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway","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","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","format:check":"oxfmt --check","format:swift":"swiftformat --lint --config .swiftformat apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","test:gateway":"vitest run --config vitest.gateway.config.ts --pool=forks","test:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --config knip.config.ts --isolate-workspaces --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/watch-node.mjs gateway --force","lint:docs:fix":"pnpm dlx markdownlint-cli2 --fix","release:check":"node --import tsx scripts/release-check.ts","test:channels":"vitest run --config vitest.channels.config.ts","test:coverage":"vitest run --config vitest.unit.config.ts --coverage","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:sectriage":"pnpm exec vitest run --config vitest.gateway.config.ts && vitest run --config vitest.unit.config.ts --exclude src/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","android:install":"cd apps/android && ./gradlew :app:installDebug","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","docs:spellcheck":"bash scripts/docs-spellcheck.sh","test:docker:all":"pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup","test:extensions":"vitest run --config vitest.extensions.config.ts","android:assemble":"cd apps/android && ./gradlew :app:assembleDebug","docs:check-links":"node scripts/docs-link-audit.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","gateway:dev:reset":"OPENCLAW_SKIP_CHANNELS=1 CLAWDBOT_SKIP_CHANNELS=1 node scripts/run-node.mjs --dev gateway --reset","build:strict-smoke":"pnpm canvas:a2ui:bundle && tsdown && node scripts/copy-plugin-sdk-root-alias.mjs && pnpm build:plugin-sdk:dts","canvas:a2ui:bundle":"bash scripts/bundle-a2ui.sh","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","android:test:integration":"OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 vitest run --config vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:voicecall:closedloop":"vitest run extensions/voice-call/src/manager.test.ts extensions/voice-call/src/media-stream.test.ts src/plugins/voice-call.plugin.test.ts --maxWorkers=1","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","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:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.10","zod":"^4.3.6","jiti":"^2.6.1","yaml":"^2.8.2","chalk":"^5.6.2","json5":"^2.2.3","jszip":"^3.10.1","sharp":"^0.34.5","tslog":"^4.10.2","croner":"^10.0.1","dotenv":"^17.3.1","grammy":"^1.41.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","ipaddr.js":"^2.3.0","opusscript":"^0.1.1","pdfjs-dist":"^5.5.207","sqlite-vec":"0.1.7-alpha.2","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","osc-progress":"^0.3.0","@buape/carbon":"0.0.0-beta-20260216184201","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.55.3","@mariozechner/pi-tui":"0.55.3","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.1000.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.3","@mariozechner/pi-coding-agent":"0.55.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"0.21.0-beta.2","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.3","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.25.0","oxlint-tsgolint":"^0.15.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260301.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"peerDependenciesMeta":{"node-llama-cpp":{"optional":true},"@napi-rs/canvas":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.3.37_1774612937945_0.4418097177209914","host":"s3://npm-registry-packages-npm-production"}},"2026.7.1":{"name":"soulclaw","version":"2026.7.1","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.7.1","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"d268ee77e6b4f9db68e847dc425f7e30b8c7a476","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.7.1.tgz","fileCount":8636,"integrity":"sha512-BkvDCy+2aMJE0ZJzzuRQWM0Znylflx0kJHu+UHzL67dpwMGMJnKvD/7XzPD7+W4PS3vn40mdUmLNYI/QLKU7Tw==","signatures":[{"sig":"MEQCIHqBTx8wYBOdRafRfCmFKmresSawpIvuLjBlk+PWb+TdAiAb9qNMXsF06Bzc6hi3vjytnfOIJywD599bv3klfQa1Mg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87766180},"main":"dist/index.js","type":"module","_from":"file:soulclaw-2026.7.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./extension-api":"./dist/extensionAPI.js","./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","default":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/zod":{"types":"./dist/plugin-sdk/zod.d.ts","default":"./dist/plugin-sdk/zod.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/setup":{"types":"./dist/plugin-sdk/setup.d.ts","default":"./dist/plugin-sdk/setup.js"},"./plugin-sdk/types":{"types":"./dist/plugin-sdk/types.d.ts","default":"./dist/plugin-sdk/types.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/health":{"types":"./dist/plugin-sdk/health.d.ts","default":"./dist/plugin-sdk/health.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/speech":{"types":"./dist/plugin-sdk/speech.d.ts","default":"./dist/plugin-sdk/speech.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/routing":{"types":"./dist/plugin-sdk/routing.d.ts","default":"./dist/plugin-sdk/routing.js"},"./plugin-sdk/runtime":{"types":"./dist/plugin-sdk/runtime.d.ts","default":"./dist/plugin-sdk/runtime.js"},"./plugin-sdk/sandbox":{"types":"./dist/plugin-sdk/sandbox.d.ts","default":"./dist/plugin-sdk/sandbox.js"},"./plugin-sdk/lmstudio":{"types":"./dist/plugin-sdk/lmstudio.d.ts","default":"./dist/plugin-sdk/lmstudio.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/direct-dm":{"types":"./dist/plugin-sdk/direct-dm.d.ts","default":"./dist/plugin-sdk/direct-dm.js"},"./plugin-sdk/file-lock":{"types":"./dist/plugin-sdk/file-lock.d.ts","default":"./dist/plugin-sdk/file-lock.js"},"./plugin-sdk/migration":{"types":"./dist/plugin-sdk/migration.d.ts","default":"./dist/plugin-sdk/migration.js"},"./plugin-sdk/temp-path":{"types":"./dist/plugin-sdk/temp-path.d.ts","default":"./dist/plugin-sdk/temp-path.js"},"./plugin-sdk/tool-send":{"types":"./dist/plugin-sdk/tool-send.d.ts","default":"./dist/plugin-sdk/tool-send.js"},"./plugin-sdk/web-media":{"types":"./dist/plugin-sdk/web-media.d.ts","default":"./dist/plugin-sdk/web-media.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/agent-core":{"types":"./dist/plugin-sdk/agent-core.d.ts","default":"./dist/plugin-sdk/agent-core.js"},"./plugin-sdk/allow-from":{"types":"./dist/plugin-sdk/allow-from.d.ts","default":"./dist/plugin-sdk/allow-from.js"},"./plugin-sdk/json-store":{"types":"./dist/plugin-sdk/json-store.d.ts","default":"./dist/plugin-sdk/json-store.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/media-mime":{"types":"./dist/plugin-sdk/media-mime.d.ts","default":"./dist/plugin-sdk/media-mime.js"},"./plugin-sdk/acp-runtime":{"types":"./dist/plugin-sdk/acp-runtime.d.ts","default":"./dist/plugin-sdk/acp-runtime.js"},"./plugin-sdk/cli-backend":{"types":"./dist/plugin-sdk/cli-backend.d.ts","default":"./dist/plugin-sdk/cli-backend.js"},"./plugin-sdk/cli-runtime":{"types":"./dist/plugin-sdk/cli-runtime.d.ts","default":"./dist/plugin-sdk/cli-runtime.js"},"./plugin-sdk/media-store":{"types":"./dist/plugin-sdk/media-store.d.ts","default":"./dist/plugin-sdk/media-store.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/request-url":{"types":"./dist/plugin-sdk/request-url.d.ts","default":"./dist/plugin-sdk/request-url.js"},"./plugin-sdk/run-command":{"types":"./dist/plugin-sdk/run-command.d.ts","default":"./dist/plugin-sdk/run-command.js"},"./plugin-sdk/runtime-env":{"types":"./dist/plugin-sdk/runtime-env.d.ts","default":"./dist/plugin-sdk/runtime-env.js"},"./plugin-sdk/setup-tools":{"types":"./dist/plugin-sdk/setup-tools.d.ts","default":"./dist/plugin-sdk/setup-tools.js"},"./plugin-sdk/speech-core":{"types":"./dist/plugin-sdk/speech-core.d.ts","default":"./dist/plugin-sdk/speech-core.js"},"./plugin-sdk/ssrf-policy":{"types":"./dist/plugin-sdk/ssrf-policy.d.ts","default":"./dist/plugin-sdk/ssrf-policy.js"},"./plugin-sdk/state-paths":{"types":"./dist/plugin-sdk/state-paths.d.ts","default":"./dist/plugin-sdk/state-paths.js"},"./plugin-sdk/tool-plugin":{"types":"./dist/plugin-sdk/tool-plugin.d.ts","default":"./dist/plugin-sdk/tool-plugin.js"},"./plugin-sdk/transcripts":{"types":"./dist/plugin-sdk/transcripts.d.ts","default":"./dist/plugin-sdk/transcripts.js"},"./plugin-sdk/tts-runtime":{"types":"./dist/plugin-sdk/tts-runtime.d.ts","default":"./dist/plugin-sdk/tts-runtime.js"},"./plugin-sdk/account-core":{"types":"./dist/plugin-sdk/account-core.d.ts","default":"./dist/plugin-sdk/account-core.js"},"./plugin-sdk/channel-core":{"types":"./dist/plugin-sdk/channel-core.d.ts","default":"./dist/plugin-sdk/channel-core.js"},"./plugin-sdk/command-auth":{"types":"./dist/plugin-sdk/command-auth.d.ts","default":"./dist/plugin-sdk/command-auth.js"},"./plugin-sdk/config-types":{"types":"./dist/plugin-sdk/config-types.d.ts","default":"./dist/plugin-sdk/config-types.js"},"./plugin-sdk/group-access":{"types":"./dist/plugin-sdk/group-access.d.ts","default":"./dist/plugin-sdk/group-access.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/lazy-runtime":{"types":"./dist/plugin-sdk/lazy-runtime.d.ts","default":"./dist/plugin-sdk/lazy-runtime.js"},"./plugin-sdk/logging-core":{"types":"./dist/plugin-sdk/logging-core.d.ts","default":"./dist/plugin-sdk/logging-core.js"},"./plugin-sdk/plugin-entry":{"types":"./dist/plugin-sdk/plugin-entry.d.ts","default":"./dist/plugin-sdk/plugin-entry.js"},"./plugin-sdk/poll-runtime":{"types":"./dist/plugin-sdk/poll-runtime.d.ts","default":"./dist/plugin-sdk/poll-runtime.js"},"./plugin-sdk/reply-dedupe":{"types":"./dist/plugin-sdk/reply-dedupe.d.ts","default":"./dist/plugin-sdk/reply-dedupe.js"},"./plugin-sdk/secret-input":{"types":"./dist/plugin-sdk/secret-input.d.ts","default":"./dist/plugin-sdk/secret-input.js"},"./plugin-sdk/ssrf-runtime":{"types":"./dist/plugin-sdk/ssrf-runtime.d.ts","default":"./dist/plugin-sdk/ssrf-runtime.js"},"./plugin-sdk/text-runtime":{"types":"./dist/plugin-sdk/text-runtime.d.ts","default":"./dist/plugin-sdk/text-runtime.js"},"./plugin-sdk/time-runtime":{"types":"./dist/plugin-sdk/time-runtime.d.ts","default":"./dist/plugin-sdk/time-runtime.js"},"./plugin-sdk/tool-payload":{"types":"./dist/plugin-sdk/tool-payload.d.ts","default":"./dist/plugin-sdk/tool-payload.js"},"./plugin-sdk/tool-results":{"types":"./dist/plugin-sdk/tool-results.d.ts","default":"./dist/plugin-sdk/tool-results.js"},"./plugin-sdk/webhook-path":{"types":"./dist/plugin-sdk/webhook-path.d.ts","default":"./dist/plugin-sdk/webhook-path.js"},"./plugin-sdk/access-groups":{"types":"./dist/plugin-sdk/access-groups.d.ts","default":"./dist/plugin-sdk/access-groups.js"},"./plugin-sdk/agent-harness":{"types":"./dist/plugin-sdk/agent-harness.d.ts","default":"./dist/plugin-sdk/agent-harness.js"},"./plugin-sdk/agent-runtime":{"types":"./dist/plugin-sdk/agent-runtime.d.ts","default":"./dist/plugin-sdk/agent-runtime.js"},"./plugin-sdk/boolean-param":{"types":"./dist/plugin-sdk/boolean-param.d.ts","default":"./dist/plugin-sdk/boolean-param.js"},"./plugin-sdk/channel-route":{"types":"./dist/plugin-sdk/channel-route.d.ts","default":"./dist/plugin-sdk/channel-route.js"},"./plugin-sdk/channel-setup":{"types":"./dist/plugin-sdk/channel-setup.d.ts","default":"./dist/plugin-sdk/channel-setup.js"},"./plugin-sdk/config-schema":{"types":"./dist/plugin-sdk/config-schema.d.ts","default":"./dist/plugin-sdk/config-schema.js"},"./plugin-sdk/error-runtime":{"types":"./dist/plugin-sdk/error-runtime.d.ts","default":"./dist/plugin-sdk/error-runtime.js"},"./plugin-sdk/fetch-runtime":{"types":"./dist/plugin-sdk/fetch-runtime.d.ts","default":"./dist/plugin-sdk/fetch-runtime.js"},"./plugin-sdk/infra-runtime":{"types":"./dist/plugin-sdk/infra-runtime.d.ts","default":"./dist/plugin-sdk/infra-runtime.js"},"./plugin-sdk/media-runtime":{"types":"./dist/plugin-sdk/media-runtime.d.ts","default":"./dist/plugin-sdk/media-runtime.js"},"./plugin-sdk/param-readers":{"types":"./dist/plugin-sdk/param-readers.d.ts","default":"./dist/plugin-sdk/param-readers.js"},"./plugin-sdk/provider-auth":{"types":"./dist/plugin-sdk/provider-auth.d.ts","default":"./dist/plugin-sdk/provider-auth.js"},"./plugin-sdk/provider-http":{"types":"./dist/plugin-sdk/provider-http.d.ts","default":"./dist/plugin-sdk/provider-http.js"},"./plugin-sdk/proxy-capture":{"types":"./dist/plugin-sdk/proxy-capture.d.ts","default":"./dist/plugin-sdk/proxy-capture.js"},"./plugin-sdk/reply-history":{"types":"./dist/plugin-sdk/reply-history.d.ts","default":"./dist/plugin-sdk/reply-history.js"},"./plugin-sdk/reply-payload":{"types":"./dist/plugin-sdk/reply-payload.d.ts","default":"./dist/plugin-sdk/reply-payload.js"},"./plugin-sdk/reply-runtime":{"types":"./dist/plugin-sdk/reply-runtime.d.ts","default":"./dist/plugin-sdk/reply-runtime.js"},"./plugin-sdk/retry-runtime":{"types":"./dist/plugin-sdk/retry-runtime.d.ts","default":"./dist/plugin-sdk/retry-runtime.js"},"./plugin-sdk/runtime-fetch":{"types":"./dist/plugin-sdk/runtime-fetch.d.ts","default":"./dist/plugin-sdk/runtime-fetch.js"},"./plugin-sdk/runtime-store":{"types":"./dist/plugin-sdk/runtime-store.d.ts","default":"./dist/plugin-sdk/runtime-store.js"},"./plugin-sdk/setup-runtime":{"types":"./dist/plugin-sdk/setup-runtime.d.ts","default":"./dist/plugin-sdk/setup-runtime.js"},"./plugin-sdk/text-chunking":{"types":"./dist/plugin-sdk/text-chunking.d.ts","default":"./dist/plugin-sdk/text-chunking.js"},"./plugin-sdk/windows-spawn":{"types":"./dist/plugin-sdk/windows-spawn.d.ts","default":"./dist/plugin-sdk/windows-spawn.js"},"./plugin-sdk/agent-sessions":{"types":"./dist/plugin-sdk/agent-sessions.d.ts","default":"./dist/plugin-sdk/agent-sessions.js"},"./plugin-sdk/browser-config":{"types":"./dist/plugin-sdk/browser-config.d.ts","default":"./dist/plugin-sdk/browser-config.js"},"./plugin-sdk/channel-policy":{"types":"./dist/plugin-sdk/channel-policy.d.ts","default":"./dist/plugin-sdk/channel-policy.js"},"./plugin-sdk/channel-status":{"types":"./dist/plugin-sdk/channel-status.d.ts","default":"./dist/plugin-sdk/channel-status.js"},"./plugin-sdk/command-gating":{"types":"./dist/plugin-sdk/command-gating.d.ts","default":"./dist/plugin-sdk/command-gating.js"},"./plugin-sdk/command-status":{"types":"./dist/plugin-sdk/command-status.d.ts","default":"./dist/plugin-sdk/command-status.js"},"./plugin-sdk/config-runtime":{"types":"./dist/plugin-sdk/config-runtime.d.ts","default":"./dist/plugin-sdk/config-runtime.js"},"./plugin-sdk/dedupe-runtime":{"types":"./dist/plugin-sdk/dedupe-runtime.d.ts","default":"./dist/plugin-sdk/dedupe-runtime.js"},"./plugin-sdk/number-runtime":{"types":"./dist/plugin-sdk/number-runtime.d.ts","default":"./dist/plugin-sdk/number-runtime.js"},"./plugin-sdk/outbound-media":{"types":"./dist/plugin-sdk/outbound-media.d.ts","default":"./dist/plugin-sdk/outbound-media.js"},"./plugin-sdk/plugin-runtime":{"types":"./dist/plugin-sdk/plugin-runtime.d.ts","default":"./dist/plugin-sdk/plugin-runtime.js"},"./plugin-sdk/provider-entry":{"types":"./dist/plugin-sdk/provider-entry.d.ts","default":"./dist/plugin-sdk/provider-entry.js"},"./plugin-sdk/provider-setup":{"types":"./dist/plugin-sdk/provider-setup.d.ts","default":"./dist/plugin-sdk/provider-setup.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/realtime-voice":{"types":"./dist/plugin-sdk/realtime-voice.d.ts","default":"./dist/plugin-sdk/realtime-voice.js"},"./plugin-sdk/reply-chunking":{"types":"./dist/plugin-sdk/reply-chunking.d.ts","default":"./dist/plugin-sdk/reply-chunking.js"},"./plugin-sdk/runtime-doctor":{"types":"./dist/plugin-sdk/runtime-doctor.d.ts","default":"./dist/plugin-sdk/runtime-doctor.js"},"./plugin-sdk/runtime-logger":{"types":"./dist/plugin-sdk/runtime-logger.d.ts","default":"./dist/plugin-sdk/runtime-logger.js"},"./plugin-sdk/skills-runtime":{"types":"./dist/plugin-sdk/skills-runtime.d.ts","default":"./dist/plugin-sdk/skills-runtime.js"},"./plugin-sdk/sqlite-runtime":{"types":"./dist/plugin-sdk/sqlite-runtime.d.ts","default":"./dist/plugin-sdk/sqlite-runtime.js"},"./plugin-sdk/status-helpers":{"types":"./dist/plugin-sdk/status-helpers.d.ts","default":"./dist/plugin-sdk/status-helpers.js"},"./plugin-sdk/account-helpers":{"types":"./dist/plugin-sdk/account-helpers.d.ts","default":"./dist/plugin-sdk/account-helpers.js"},"./plugin-sdk/channel-actions":{"types":"./dist/plugin-sdk/channel-actions.d.ts","default":"./dist/plugin-sdk/channel-actions.js"},"./plugin-sdk/channel-inbound":{"types":"./dist/plugin-sdk/channel-inbound.d.ts","default":"./dist/plugin-sdk/channel-inbound.js"},"./plugin-sdk/channel-ingress":{"types":"./dist/plugin-sdk/channel-ingress.d.ts","default":"./dist/plugin-sdk/channel-ingress.js"},"./plugin-sdk/channel-logging":{"types":"./dist/plugin-sdk/channel-logging.d.ts","default":"./dist/plugin-sdk/channel-logging.js"},"./plugin-sdk/channel-message":{"types":"./dist/plugin-sdk/channel-message.d.ts","default":"./dist/plugin-sdk/channel-message.js"},"./plugin-sdk/channel-pairing":{"types":"./dist/plugin-sdk/channel-pairing.d.ts","default":"./dist/plugin-sdk/channel-pairing.js"},"./plugin-sdk/channel-runtime":{"types":"./dist/plugin-sdk/channel-runtime.d.ts","default":"./dist/plugin-sdk/channel-runtime.js"},"./plugin-sdk/channel-targets":{"types":"./dist/plugin-sdk/channel-targets.d.ts","default":"./dist/plugin-sdk/channel-targets.js"},"./plugin-sdk/command-surface":{"types":"./dist/plugin-sdk/command-surface.d.ts","default":"./dist/plugin-sdk/command-surface.js"},"./plugin-sdk/config-mutation":{"types":"./dist/plugin-sdk/config-mutation.d.ts","default":"./dist/plugin-sdk/config-mutation.js"},"./plugin-sdk/gateway-runtime":{"types":"./dist/plugin-sdk/gateway-runtime.d.ts","default":"./dist/plugin-sdk/gateway-runtime.js"},"./plugin-sdk/process-runtime":{"types":"./dist/plugin-sdk/process-runtime.d.ts","default":"./dist/plugin-sdk/process-runtime.js"},"./plugin-sdk/provider-stream":{"types":"./dist/plugin-sdk/provider-stream.d.ts","default":"./dist/plugin-sdk/provider-stream.js"},"./plugin-sdk/reply-reference":{"types":"./dist/plugin-sdk/reply-reference.d.ts","default":"./dist/plugin-sdk/reply-reference.js"},"./plugin-sdk/ssrf-dispatcher":{"types":"./dist/plugin-sdk/ssrf-dispatcher.d.ts","default":"./dist/plugin-sdk/ssrf-dispatcher.js"},"./plugin-sdk/webhook-ingress":{"types":"./dist/plugin-sdk/webhook-ingress.d.ts","default":"./dist/plugin-sdk/webhook-ingress.js"},"./plugin-sdk/webhook-targets":{"types":"./dist/plugin-sdk/webhook-targets.d.ts","default":"./dist/plugin-sdk/webhook-targets.js"},"./plugin-sdk/approval-runtime":{"types":"./dist/plugin-sdk/approval-runtime.d.ts","default":"./dist/plugin-sdk/approval-runtime.js"},"./plugin-sdk/channel-contract":{"types":"./dist/plugin-sdk/channel-contract.d.ts","default":"./dist/plugin-sdk/channel-contract.js"},"./plugin-sdk/channel-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-location":{"types":"./dist/plugin-sdk/channel-location.d.ts","default":"./dist/plugin-sdk/channel-location.js"},"./plugin-sdk/channel-outbound":{"types":"./dist/plugin-sdk/channel-outbound.d.ts","default":"./dist/plugin-sdk/channel-outbound.js"},"./plugin-sdk/chat-channel-ids":{"types":"./dist/plugin-sdk/chat-channel-ids.d.ts","default":"./dist/plugin-sdk/chat-channel-ids.js"},"./plugin-sdk/config-contracts":{"types":"./dist/plugin-sdk/config-contracts.d.ts","default":"./dist/plugin-sdk/config-contracts.js"},"./plugin-sdk/device-bootstrap":{"types":"./dist/plugin-sdk/device-bootstrap.d.ts","default":"./dist/plugin-sdk/device-bootstrap.js"},"./plugin-sdk/direct-dm-access":{"types":"./dist/plugin-sdk/direct-dm-access.d.ts","default":"./dist/plugin-sdk/direct-dm-access.js"},"./plugin-sdk/extension-shared":{"types":"./dist/plugin-sdk/extension-shared.d.ts","default":"./dist/plugin-sdk/extension-shared.js"},"./plugin-sdk/global-singleton":{"types":"./dist/plugin-sdk/global-singleton.d.ts","default":"./dist/plugin-sdk/global-singleton.js"},"./plugin-sdk/group-activation":{"types":"./dist/plugin-sdk/group-activation.d.ts","default":"./dist/plugin-sdk/group-activation.js"},"./plugin-sdk/image-generation":{"types":"./dist/plugin-sdk/image-generation.d.ts","default":"./dist/plugin-sdk/image-generation.js"},"./plugin-sdk/inbound-envelope":{"types":"./dist/plugin-sdk/inbound-envelope.d.ts","default":"./dist/plugin-sdk/inbound-envelope.js"},"./plugin-sdk/lmstudio-runtime":{"types":"./dist/plugin-sdk/lmstudio-runtime.d.ts","default":"./dist/plugin-sdk/lmstudio-runtime.js"},"./plugin-sdk/memory-host-core":{"types":"./dist/plugin-sdk/memory-host-core.d.ts","default":"./dist/plugin-sdk/memory-host-core.js"},"./plugin-sdk/music-generation":{"types":"./dist/plugin-sdk/music-generation.d.ts","default":"./dist/plugin-sdk/music-generation.js"},"./plugin-sdk/outbound-runtime":{"types":"./dist/plugin-sdk/outbound-runtime.d.ts","default":"./dist/plugin-sdk/outbound-runtime.js"},"./plugin-sdk/provider-onboard":{"types":"./dist/plugin-sdk/provider-onboard.d.ts","default":"./dist/plugin-sdk/provider-onboard.js"},"./plugin-sdk/security-runtime":{"types":"./dist/plugin-sdk/security-runtime.d.ts","default":"./dist/plugin-sdk/security-runtime.js"},"./plugin-sdk/telegram-account":{"types":"./dist/plugin-sdk/telegram-account.d.ts","default":"./dist/plugin-sdk/telegram-account.js"},"./plugin-sdk/video-generation":{"types":"./dist/plugin-sdk/video-generation.d.ts","default":"./dist/plugin-sdk/video-generation.js"},"./plugin-sdk/channel-lifecycle":{"types":"./dist/plugin-sdk/channel-lifecycle.d.ts","default":"./dist/plugin-sdk/channel-lifecycle.js"},"./plugin-sdk/channel-streaming":{"types":"./dist/plugin-sdk/channel-streaming.d.ts","default":"./dist/plugin-sdk/channel-streaming.js"},"./plugin-sdk/command-detection":{"types":"./dist/plugin-sdk/command-detection.d.ts","default":"./dist/plugin-sdk/command-detection.js"},"./plugin-sdk/directory-runtime":{"types":"./dist/plugin-sdk/directory-runtime.d.ts","default":"./dist/plugin-sdk/directory-runtime.js"},"./plugin-sdk/heartbeat-runtime":{"types":"./dist/plugin-sdk/heartbeat-runtime.d.ts","default":"./dist/plugin-sdk/heartbeat-runtime.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/memory-host-files":{"types":"./dist/plugin-sdk/memory-host-files.d.ts","default":"./dist/plugin-sdk/memory-host-files.js"},"./plugin-sdk/messaging-targets":{"types":"./dist/plugin-sdk/messaging-targets.d.ts","default":"./dist/plugin-sdk/messaging-targets.js"},"./plugin-sdk/migration-runtime":{"types":"./dist/plugin-sdk/migration-runtime.d.ts","default":"./dist/plugin-sdk/migration-runtime.js"},"./plugin-sdk/persistent-dedupe":{"types":"./dist/plugin-sdk/persistent-dedupe.d.ts","default":"./dist/plugin-sdk/persistent-dedupe.js"},"./plugin-sdk/provider-env-vars":{"types":"./dist/plugin-sdk/provider-env-vars.d.ts","default":"./dist/plugin-sdk/provider-env-vars.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/account-resolution":{"types":"./dist/plugin-sdk/account-resolution.d.ts","default":"./dist/plugin-sdk/account-resolution.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/collection-runtime":{"types":"./dist/plugin-sdk/collection-runtime.d.ts","default":"./dist/plugin-sdk/collection-runtime.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/diagnostic-runtime":{"types":"./dist/plugin-sdk/diagnostic-runtime.d.ts","default":"./dist/plugin-sdk/diagnostic-runtime.js"},"./plugin-sdk/document-extractor":{"types":"./dist/plugin-sdk/document-extractor.d.ts","default":"./dist/plugin-sdk/document-extractor.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-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/outbound-send-deps":{"types":"./dist/plugin-sdk/outbound-send-deps.d.ts","default":"./dist/plugin-sdk/outbound-send-deps.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/secret-ref-runtime":{"types":"./dist/plugin-sdk/secret-ref-runtime.d.ts","default":"./dist/plugin-sdk/secret-ref-runtime.js"},"./plugin-sdk/session-visibility":{"types":"./dist/plugin-sdk/session-visibility.d.ts","default":"./dist/plugin-sdk/session-visibility.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-runtime-backend":{"types":"./dist/plugin-sdk/acp-runtime-backend.d.ts","default":"./dist/plugin-sdk/acp-runtime-backend.js"},"./plugin-sdk/agent-media-payload":{"types":"./dist/plugin-sdk/agent-media-payload.d.ts","default":"./dist/plugin-sdk/agent-media-payload.js"},"./plugin-sdk/channel-send-result":{"types":"./dist/plugin-sdk/channel-send-result.d.ts","default":"./dist/plugin-sdk/channel-send-result.js"},"./plugin-sdk/command-auth-native":{"types":"./dist/plugin-sdk/command-auth-native.d.ts","default":"./dist/plugin-sdk/command-auth-native.js"},"./plugin-sdk/concurrency-runtime":{"types":"./dist/plugin-sdk/concurrency-runtime.d.ts","default":"./dist/plugin-sdk/concurrency-runtime.js"},"./plugin-sdk/embedding-providers":{"types":"./dist/plugin-sdk/embedding-providers.d.ts","default":"./dist/plugin-sdk/embedding-providers.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/interactive-runtime":{"types":"./dist/plugin-sdk/interactive-runtime.d.ts","default":"./dist/plugin-sdk/interactive-runtime.js"},"./plugin-sdk/json-schema-runtime":{"types":"./dist/plugin-sdk/json-schema-runtime.d.ts","default":"./dist/plugin-sdk/json-schema-runtime.js"},"./plugin-sdk/media-understanding":{"types":"./dist/plugin-sdk/media-understanding.d.ts","default":"./dist/plugin-sdk/media-understanding.js"},"./plugin-sdk/provider-auth-login":{"types":"./dist/plugin-sdk/provider-auth-login.d.ts","default":"./dist/plugin-sdk/provider-auth-login.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/secret-file-runtime":{"types":"./dist/plugin-sdk/secret-file-runtime.d.ts","default":"./dist/plugin-sdk/secret-file-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/talk-config-runtime":{"types":"./dist/plugin-sdk/talk-config-runtime.d.ts","default":"./dist/plugin-sdk/talk-config-runtime.js"},"./plugin-sdk/codex-mcp-projection":{"types":"./dist/plugin-sdk/codex-mcp-projection.d.ts","default":"./dist/plugin-sdk/codex-mcp-projection.js"},"./plugin-sdk/conversation-runtime":{"types":"./dist/plugin-sdk/conversation-runtime.d.ts","default":"./dist/plugin-sdk/conversation-runtime.js"},"./plugin-sdk/json-unsafe-integers":{"types":"./dist/plugin-sdk/json-unsafe-integers.d.ts","default":"./dist/plugin-sdk/json-unsafe-integers.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/plugin-state-runtime":{"types":"./dist/plugin-sdk/plugin-state-runtime.d.ts","default":"./dist/plugin-sdk/plugin-state-runtime.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-model-types":{"types":"./dist/plugin-sdk/provider-model-types.d.ts","default":"./dist/plugin-sdk/provider-model-types.js"},"./plugin-sdk/runtime-group-policy":{"types":"./dist/plugin-sdk/runtime-group-policy.d.ts","default":"./dist/plugin-sdk/runtime-group-policy.js"},"./plugin-sdk/secret-input-runtime":{"types":"./dist/plugin-sdk/secret-input-runtime.d.ts","default":"./dist/plugin-sdk/secret-input-runtime.js"},"./plugin-sdk/system-event-runtime":{"types":"./dist/plugin-sdk/system-event-runtime.d.ts","default":"./dist/plugin-sdk/system-event-runtime.js"},"./plugin-sdk/text-utility-runtime":{"types":"./dist/plugin-sdk/text-utility-runtime.d.ts","default":"./dist/plugin-sdk/text-utility-runtime.js"},"./plugin-sdk/agent-harness-runtime":{"types":"./dist/plugin-sdk/agent-harness-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-runtime.js"},"./plugin-sdk/allowlist-config-edit":{"types":"./dist/plugin-sdk/allowlist-config-edit.d.ts","default":"./dist/plugin-sdk/allowlist-config-edit.js"},"./plugin-sdk/approval-auth-runtime":{"types":"./dist/plugin-sdk/approval-auth-runtime.d.ts","default":"./dist/plugin-sdk/approval-auth-runtime.js"},"./plugin-sdk/channel-config-schema":{"types":"./dist/plugin-sdk/channel-config-schema.d.ts","default":"./dist/plugin-sdk/channel-config-schema.js"},"./plugin-sdk/channel-config-writes":{"types":"./dist/plugin-sdk/channel-config-writes.d.ts","default":"./dist/plugin-sdk/channel-config-writes.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-pairing-paths":{"types":"./dist/plugin-sdk/channel-pairing-paths.d.ts","default":"./dist/plugin-sdk/channel-pairing-paths.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/image-generation-core":{"types":"./dist/plugin-sdk/image-generation-core.d.ts","default":"./dist/plugin-sdk/image-generation-core.js"},"./plugin-sdk/model-session-runtime":{"types":"./dist/plugin-sdk/model-session-runtime.d.ts","default":"./dist/plugin-sdk/model-session-runtime.js"},"./plugin-sdk/music-generation-core":{"types":"./dist/plugin-sdk/music-generation-core.d.ts","default":"./dist/plugin-sdk/music-generation-core.js"},"./plugin-sdk/plugin-config-runtime":{"types":"./dist/plugin-sdk/plugin-config-runtime.d.ts","default":"./dist/plugin-sdk/plugin-config-runtime.js"},"./plugin-sdk/provider-auth-api-key":{"types":"./dist/plugin-sdk/provider-auth-api-key.d.ts","default":"./dist/plugin-sdk/provider-auth-api-key.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-model-shared":{"types":"./dist/plugin-sdk/provider-model-shared.d.ts","default":"./dist/plugin-sdk/provider-model-shared.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/secure-random-runtime":{"types":"./dist/plugin-sdk/secure-random-runtime.d.ts","default":"./dist/plugin-sdk/secure-random-runtime.js"},"./plugin-sdk/session-store-runtime":{"types":"./dist/plugin-sdk/session-store-runtime.d.ts","default":"./dist/plugin-sdk/session-store-runtime.js"},"./plugin-sdk/setup-adapter-runtime":{"types":"./dist/plugin-sdk/setup-adapter-runtime.d.ts","default":"./dist/plugin-sdk/setup-adapter-runtime.js"},"./plugin-sdk/string-coerce-runtime":{"types":"./dist/plugin-sdk/string-coerce-runtime.d.ts","default":"./dist/plugin-sdk/string-coerce-runtime.js"},"./plugin-sdk/text-autolink-runtime":{"types":"./dist/plugin-sdk/text-autolink-runtime.d.ts","default":"./dist/plugin-sdk/text-autolink-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/web-content-extractor":{"types":"./dist/plugin-sdk/web-content-extractor.d.ts","default":"./dist/plugin-sdk/web-content-extractor.js"},"./plugin-sdk/approval-reply-runtime":{"types":"./dist/plugin-sdk/approval-reply-runtime.d.ts","default":"./dist/plugin-sdk/approval-reply-runtime.js"},"./plugin-sdk/channel-config-helpers":{"types":"./dist/plugin-sdk/channel-config-helpers.d.ts","default":"./dist/plugin-sdk/channel-config-helpers.js"},"./plugin-sdk/channel-entry-contract":{"types":"./dist/plugin-sdk/channel-entry-contract.d.ts","default":"./dist/plugin-sdk/channel-entry-contract.js"},"./plugin-sdk/channel-mention-gating":{"types":"./dist/plugin-sdk/channel-mention-gating.d.ts","default":"./dist/plugin-sdk/channel-mention-gating.js"},"./plugin-sdk/channel-reply-pipeline":{"types":"./dist/plugin-sdk/channel-reply-pipeline.d.ts","default":"./dist/plugin-sdk/channel-reply-pipeline.js"},"./plugin-sdk/channel-secret-runtime":{"types":"./dist/plugin-sdk/channel-secret-runtime.d.ts","default":"./dist/plugin-sdk/channel-secret-runtime.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/dangerous-name-runtime":{"types":"./dist/plugin-sdk/dangerous-name-runtime.d.ts","default":"./dist/plugin-sdk/dangerous-name-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/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/exec-approvals-runtime":{"types":"./dist/plugin-sdk/exec-approvals-runtime.d.ts","default":"./dist/plugin-sdk/exec-approvals-runtime.js"},"./plugin-sdk/gateway-method-runtime":{"types":"./dist/plugin-sdk/gateway-method-runtime.d.ts","default":"./dist/plugin-sdk/gateway-method-runtime.js"},"./plugin-sdk/inbound-reply-dispatch":{"types":"./dist/plugin-sdk/inbound-reply-dispatch.d.ts","default":"./dist/plugin-sdk/inbound-reply-dispatch.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/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/provider-oauth-runtime":{"types":"./dist/plugin-sdk/provider-oauth-runtime.d.ts","default":"./dist/plugin-sdk/provider-oauth-runtime.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/realtime-transcription":{"types":"./dist/plugin-sdk/realtime-transcription.d.ts","default":"./dist/plugin-sdk/realtime-transcription.js"},"./plugin-sdk/reply-dispatch-runtime":{"types":"./dist/plugin-sdk/reply-dispatch-runtime.d.ts","default":"./dist/plugin-sdk/reply-dispatch-runtime.js"},"./plugin-sdk/response-limit-runtime":{"types":"./dist/plugin-sdk/response-limit-runtime.d.ts","default":"./dist/plugin-sdk/response-limit-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/skill-commands-runtime":{"types":"./dist/plugin-sdk/skill-commands-runtime.d.ts","default":"./dist/plugin-sdk/skill-commands-runtime.js"},"./plugin-sdk/webhook-request-guards":{"types":"./dist/plugin-sdk/webhook-request-guards.d.ts","default":"./dist/plugin-sdk/webhook-request-guards.js"},"./plugin-sdk/agent-config-primitives":{"types":"./dist/plugin-sdk/agent-config-primitives.d.ts","default":"./dist/plugin-sdk/agent-config-primitives.js"},"./plugin-sdk/approval-client-runtime":{"types":"./dist/plugin-sdk/approval-client-runtime.d.ts","default":"./dist/plugin-sdk/approval-client-runtime.js"},"./plugin-sdk/approval-native-runtime":{"types":"./dist/plugin-sdk/approval-native-runtime.d.ts","default":"./dist/plugin-sdk/approval-native-runtime.js"},"./plugin-sdk/channel-ingress-runtime":{"types":"./dist/plugin-sdk/channel-ingress-runtime.d.ts","default":"./dist/plugin-sdk/channel-ingress-runtime.js"},"./plugin-sdk/channel-message-runtime":{"types":"./dist/plugin-sdk/channel-message-runtime.d.ts","default":"./dist/plugin-sdk/channel-message-runtime.js"},"./plugin-sdk/channel-runtime-context":{"types":"./dist/plugin-sdk/channel-runtime-context.d.ts","default":"./dist/plugin-sdk/channel-runtime-context.js"},"./plugin-sdk/memory-core-host-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-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-status":{"types":"./dist/plugin-sdk/memory-core-host-status.d.ts","default":"./dist/plugin-sdk/memory-core-host-status.js"},"./plugin-sdk/models-provider-runtime":{"types":"./dist/plugin-sdk/models-provider-runtime.d.ts","default":"./dist/plugin-sdk/models-provider-runtime.js"},"./plugin-sdk/native-command-registry":{"types":"./dist/plugin-sdk/native-command-registry.d.ts","default":"./dist/plugin-sdk/native-command-registry.js"},"./plugin-sdk/pair-loop-guard-runtime":{"types":"./dist/plugin-sdk/pair-loop-guard-runtime.d.ts","default":"./dist/plugin-sdk/pair-loop-guard-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/runtime-config-snapshot":{"types":"./dist/plugin-sdk/runtime-config-snapshot.d.ts","default":"./dist/plugin-sdk/runtime-config-snapshot.js"},"./plugin-sdk/session-binding-runtime":{"types":"./dist/plugin-sdk/session-binding-runtime.d.ts","default":"./dist/plugin-sdk/session-binding-runtime.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-command-config":{"types":"./dist/plugin-sdk/telegram-command-config.d.ts","default":"./dist/plugin-sdk/telegram-command-config.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/transport-ready-runtime":{"types":"./dist/plugin-sdk/transport-ready-runtime.d.ts","default":"./dist/plugin-sdk/transport-ready-runtime.js"},"./plugin-sdk/approval-gateway-runtime":{"types":"./dist/plugin-sdk/approval-gateway-runtime.d.ts","default":"./dist/plugin-sdk/approval-gateway-runtime.js"},"./plugin-sdk/approval-handler-runtime":{"types":"./dist/plugin-sdk/approval-handler-runtime.d.ts","default":"./dist/plugin-sdk/approval-handler-runtime.js"},"./plugin-sdk/channel-activity-runtime":{"types":"./dist/plugin-sdk/channel-activity-runtime.d.ts","default":"./dist/plugin-sdk/channel-activity-runtime.js"},"./plugin-sdk/channel-inbound-debounce":{"types":"./dist/plugin-sdk/channel-inbound-debounce.d.ts","default":"./dist/plugin-sdk/channel-inbound-debounce.js"},"./plugin-sdk/directory-config-runtime":{"types":"./dist/plugin-sdk/directory-config-runtime.d.ts","default":"./dist/plugin-sdk/directory-config-runtime.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/media-generation-runtime":{"types":"./dist/plugin-sdk/media-generation-runtime.d.ts","default":"./dist/plugin-sdk/media-generation-runtime.js"},"./plugin-sdk/provider-catalog-runtime":{"types":"./dist/plugin-sdk/provider-catalog-runtime.d.ts","default":"./dist/plugin-sdk/provider-catalog-runtime.js"},"./plugin-sdk/video-generation-runtime":{"types":"./dist/plugin-sdk/video-generation-runtime.d.ts","default":"./dist/plugin-sdk/video-generation-runtime.js"},"./plugin-sdk/approval-delivery-runtime":{"types":"./dist/plugin-sdk/approval-delivery-runtime.d.ts","default":"./dist/plugin-sdk/approval-delivery-runtime.js"},"./plugin-sdk/approval-reaction-runtime":{"types":"./dist/plugin-sdk/approval-reaction-runtime.d.ts","default":"./dist/plugin-sdk/approval-reaction-runtime.js"},"./plugin-sdk/channel-config-primitives":{"types":"./dist/plugin-sdk/channel-config-primitives.d.ts","default":"./dist/plugin-sdk/channel-config-primitives.js"},"./plugin-sdk/runtime-secret-resolution":{"types":"./dist/plugin-sdk/runtime-secret-resolution.d.ts","default":"./dist/plugin-sdk/runtime-secret-resolution.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/account-resolution-runtime":{"types":"./dist/plugin-sdk/account-resolution-runtime.d.ts","default":"./dist/plugin-sdk/account-resolution-runtime.js"},"./plugin-sdk/agent-harness-task-runtime":{"types":"./dist/plugin-sdk/agent-harness-task-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-task-runtime.js"},"./plugin-sdk/agent-harness-tool-runtime":{"types":"./dist/plugin-sdk/agent-harness-tool-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-tool-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/command-primitives-runtime":{"types":"./dist/plugin-sdk/command-primitives-runtime.d.ts","default":"./dist/plugin-sdk/command-primitives-runtime.js"},"./plugin-sdk/context-visibility-runtime":{"types":"./dist/plugin-sdk/context-visibility-runtime.d.ts","default":"./dist/plugin-sdk/context-visibility-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/provider-selection-runtime":{"types":"./dist/plugin-sdk/provider-selection-runtime.d.ts","default":"./dist/plugin-sdk/provider-selection-runtime.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/realtime-bootstrap-context":{"types":"./dist/plugin-sdk/realtime-bootstrap-context.d.ts","default":"./dist/plugin-sdk/realtime-bootstrap-context.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/session-transcript-runtime":{"types":"./dist/plugin-sdk/session-transcript-runtime.d.ts","default":"./dist/plugin-sdk/session-transcript-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/media-understanding-runtime":{"types":"./dist/plugin-sdk/media-understanding-runtime.d.ts","default":"./dist/plugin-sdk/media-understanding-runtime.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-multimodal":{"types":"./dist/plugin-sdk/memory-core-host-multimodal.d.ts","default":"./dist/plugin-sdk/memory-core-host-multimodal.js"},"./plugin-sdk/message-tool-delivery-hints":{"types":"./dist/plugin-sdk/message-tool-delivery-hints.d.ts","default":"./dist/plugin-sdk/message-tool-delivery-hints.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/qa-live-transport-scenarios":{"types":"./dist/plugin-sdk/qa-live-transport-scenarios.d.ts","default":"./dist/plugin-sdk/qa-live-transport-scenarios.js"},"./plugin-sdk/secret-provider-integration":{"types":"./dist/plugin-sdk/secret-provider-integration.d.ts","default":"./dist/plugin-sdk/secret-provider-integration.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-secret-basic-runtime":{"types":"./dist/plugin-sdk/channel-secret-basic-runtime.d.ts","default":"./dist/plugin-sdk/channel-secret-basic-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/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/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/string-normalization-runtime":{"types":"./dist/plugin-sdk/string-normalization-runtime.d.ts","default":"./dist/plugin-sdk/string-normalization-runtime.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-reply-options-runtime":{"types":"./dist/plugin-sdk/channel-reply-options-runtime.d.ts","default":"./dist/plugin-sdk/channel-reply-options-runtime.js"},"./plugin-sdk/inline-image-data-url-runtime":{"types":"./dist/plugin-sdk/inline-image-data-url-runtime.d.ts","default":"./dist/plugin-sdk/inline-image-data-url-runtime.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/native-command-config-runtime":{"types":"./dist/plugin-sdk/native-command-config-runtime.d.ts","default":"./dist/plugin-sdk/native-command-config-runtime.js"},"./plugin-sdk/provider-catalog-live-runtime":{"types":"./dist/plugin-sdk/provider-catalog-live-runtime.d.ts","default":"./dist/plugin-sdk/provider-catalog-live-runtime.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/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/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/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/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/provider-auth-login-flow-runtime":{"types":"./dist/plugin-sdk/provider-auth-login-flow-runtime.d.ts","default":"./dist/plugin-sdk/provider-auth-login-flow-runtime.js"},"./plugin-sdk/agent-harness-exec-review-runtime":{"types":"./dist/plugin-sdk/agent-harness-exec-review-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-exec-review-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-embedding-registry":{"types":"./dist/plugin-sdk/memory-core-host-embedding-registry.d.ts","default":"./dist/plugin-sdk/memory-core-host-embedding-registry.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"}},"scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"node scripts/run-oxlint-shards.mjs","test":"node scripts/test-projects.mjs","tsgo":"pnpm tsgo:core","build":"node scripts/build-all.mjs","check":"node scripts/check.mjs","start":"node openclaw.mjs","format":"oxfmt --write --threads=1","qa:e2e":"node --import tsx scripts/qa-e2e.ts","ui:dev":"node scripts/ui.js dev","verify":"node scripts/verify.mjs","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate'","ios:run":"bash scripts/ios-run.sh","test:ui":"pnpm ui:i18n:check && pnpm lint:ui:no-raw-window-open && node scripts/ensure-playwright-chromium.mjs && pnpm --dir ui test","tui:dev":"node scripts/run-with-env.mjs OPENCLAW_PROFILE=dev -- node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"node scripts/run-oxlint.mjs","lint:fix":"node scripts/run-oxlint.mjs --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"pnpm test:e2e:gateway && pnpm test:ui:e2e","test:max":"node scripts/test-projects-max.mjs","tsgo:all":"node scripts/run-tsgo.mjs -b tsconfig.projects.json","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","dup:check":"node scripts/check-duplicates.mjs","ios:build":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:apps":"pnpm lint:swift","lint:core":"node scripts/run-oxlint-shards.mjs --only=core --split-core","lint:docs":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc","proxy:run":"node scripts/run-node.mjs proxy run","qa:lab:ui":"pnpm openclaw qa ui","qa:lab:up":"node --import tsx scripts/qa-lab-up.ts","test:fast":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts","test:live":"node scripts/test-live.mjs","test:unit":"pnpm test:unit:fast && node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts","tsgo:core":"node scripts/run-tsgo.mjs -p tsconfig.core.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core.tsbuildinfo","tsgo:prod":"pnpm tsgo:core && pnpm tsgo:extensions","tsgo:test":"pnpm tsgo:core:test && pnpm tsgo:extensions:test","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-mdx && pnpm docs:check-i18n-glossary && pnpm docs:check-links && pnpm docs:map:check","ci:timings":"node scripts/ci-run-timings.mjs --latest-main","clean:dist":"node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write --threads=1","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config config/swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","preinstall":"node scripts/preinstall-package-manager-warning.mjs","prepush:ci":"bash scripts/prepush-ci.sh","test:force":"node --import tsx scripts/test-force.ts","test:watch":"node scripts/test-projects.mjs --watch","ui:install":"node scripts/ui.js install","android:run":"node scripts/run-android-gradle.mjs :app:installPlayDebug -- adb shell am start -n ai.openclaw.app/.MainActivity","audit:seams":"node scripts/audit-seams.mjs","check:timed":"node scripts/check-timed.mjs","crabbox:run":"node scripts/crabbox-wrapper.mjs run","deadcode:ci":"pnpm deadcode:report:ci:knip && pnpm deadcode:report:ci:ts-unused","dev:ui:mock":"node --import tsx scripts/control-ui-mock-dev.ts","format:diff":"oxfmt --write --threads=1 && git --no-pager diff","format:docs":"node scripts/format-docs.mjs","gateway:dev":"node scripts/run-with-env.mjs OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway","ios:version":"node --import tsx scripts/ios-version.ts --json","lint:kysely":"node scripts/check-kysely-guardrails.mjs","mac:package":"bash scripts/package-mac-app.sh","mac:restart":"bash scripts/restart-mac.sh","postinstall":"node scripts/postinstall-bundled-plugins.mjs","proxy:start":"node scripts/run-node.mjs proxy start","test:serial":"node scripts/test-projects-serial.mjs","test:ui:e2e":"node scripts/ensure-playwright-chromium.mjs && node scripts/run-vitest.mjs run --config test/vitest/vitest.ui-e2e.config.ts --configLoader runner","ts-topology":"node --import tsx scripts/ts-topology.ts","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"node scripts/run-android-gradle.mjs :app:testPlayDebugUnitTest","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 && pnpm plugins:assets:build && pnpm plugins:assets:copy && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","crabbox:stop":"node scripts/crabbox-wrapper.mjs stop","docs:map:gen":"node scripts/generate-docs-map.mjs","format:check":"oxfmt --check --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","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","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","qa:lab:build":"vite build --config extensions/qa-lab/web/vite.config.ts","qa:lab:watch":"vite build --watch --config extensions/qa-lab/web/vite.config.ts","release:beta":"node scripts/release-candidate-checklist.mjs","release:prep":"node scripts/release-preflight.mjs --fix","test:bundled":"node scripts/run-vitest.mjs run --config test/vitest/vitest.bundled.config.ts","test:changed":"node scripts/test-projects.mjs --changed origin/main","test:gateway":"node scripts/run-with-env.mjs OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts","tsgo:profile":"node scripts/profile-tsgo.mjs","tsgo:test:ui":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.ui.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-ui.tsbuildinfo","ui:i18n:sync":"node --import tsx scripts/control-ui-i18n.ts sync --write","changed:lanes":"node scripts/changed-lanes.mjs","check:changed":"node scripts/check-changed.mjs","db:kysely:gen":"node scripts/generate-kysely-types.mjs","deadcode:knip":"pnpm --config.minimum-release-age=0 dlx --package knip@6.8.0 knip --config config/knip.config.ts --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/gateway-watch-tmux.mjs gateway --force","lint:docs:fix":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc --fix","proxy:gateway":"node scripts/run-node.mjs proxy run -- node scripts/run-node.mjs gateway","qa:otel:smoke":"node --import tsx test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts","release:check":"pnpm release:generated:check && node --import tsx scripts/release-check.ts","test:channels":"node scripts/run-vitest.mjs run --config test/vitest/vitest.channels.config.ts","test:coverage":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage","test:macos:ci":"node 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/scripts/package-mac-app.test.ts test/scripts/package-mac-dist.test.ts test/scripts/create-dmg.test.ts test/scripts/codesign-mac-app.test.ts test/scripts/notarize-mac-artifact.test.ts","tsgo:core:all":"node scripts/run-tsgo.mjs -b tsconfig.core.projects.json","tsgo:test:src":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.src.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-src.tsbuildinfo","ui:i18n:check":"node --import tsx scripts/control-ui-i18n.ts check","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","crabbox:warmup":"node scripts/crabbox-wrapper.mjs warmup","deps:vuln:gate":"node scripts/dependency-vulnerability-gate.mjs","docs:check-mdx":"node scripts/check-docs-mdx.mjs docs README.md","docs:map:check":"node scripts/generate-docs-map.mjs --check","dup:check:json":"node scripts/check-duplicates.mjs --json","maturity:check":"node --import tsx scripts/qa/render-maturity-docs.ts --check","perf:web-fetch":"node --import tsx scripts/bench-web-fetch.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","proxy:coverage":"node scripts/run-node.mjs proxy coverage","qa:lab:up:fast":"node --import tsx scripts/qa-lab-up.ts --use-prebuilt-image --bind-ui-dist --skip-ui-build","test:contracts":"pnpm test:contracts:channels && pnpm test:contracts:plugins","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:extension":"node scripts/test-extension.mjs","test:sectriage":"node scripts/run-with-env.mjs OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts && node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --exclude src/process/exec.test.ts","test:unit:fast":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit-fast.config.ts","tsgo:core:test":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.core.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core-test.tsbuildinfo","ui:i18n:report":"node --import tsx scripts/control-ui-i18n-report.ts","android:install":"node scripts/run-android-gradle.mjs :app:installPlayDebug","android:release":"bash scripts/android-release.sh","android:version":"node --import tsx scripts/android-version.ts --json","check:workflows":"node scripts/check-workflows.mjs","ci:full-release":"node scripts/full-release-validation-at-sha.mjs","config:docs:gen":"node --import tsx scripts/generate-config-doc-baseline.ts --write","crabbox:hydrate":"node scripts/crabbox-wrapper.mjs actions hydrate","db:kysely:check":"node scripts/generate-kysely-types.mjs --verify","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","deps:pins:check":"node scripts/check-dependency-pins.mjs","docs:spellcheck":"bash scripts/docs-spellcheck.sh","ios:screenshots":"bash scripts/ios-screenshots.sh","lint:docker-e2e":"node scripts/check-docker-e2e-boundaries.mjs","lint:extensions":"node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.extensions.json extensions","maturity:render":"node --import tsx scripts/qa/render-maturity-docs.ts","release:prepare":"node --import tsx scripts/release-prepare.ts","release:version":"node --import tsx scripts/release-version.ts","test:docker:all":"node scripts/test-docker-all.mjs","test:extensions":"node scripts/test-projects.mjs extensions","test:live:cache":"node scripts/run-with-env.mjs OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 -- node --import tsx scripts/check-live-cache.ts","test:live:media":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts","test:windows:ci":"node scripts/test-projects.mjs src/shared/runtime-import.test.ts src/process/exec.windows.test.ts src/process/windows-command.test.ts src/infra/backup-create.windows.test.ts src/infra/windows-install-roots.test.ts src/node-host/invoke-system-run-allowlist.test.ts src/daemon/schtasks.startup-fallback.test.ts extensions/lobster/src/lobster-runner.test.ts test/scripts/format-generated-module.test.ts test/scripts/npm-runner.test.ts test/scripts/pnpm-runner.test.ts test/scripts/run-with-env.test.ts test/scripts/ui.test.ts test/scripts/vitest-process-group.test.ts","tsgo:extensions":"node scripts/run-tsgo.mjs -p tsconfig.extensions.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions.tsbuildinfo","android:assemble":"node scripts/run-android-gradle.mjs :app:assemblePlayDebug","apple:i18n:check":"node --import tsx scripts/apple-app-i18n.ts check","check:test-types":"pnpm tsgo:test","docs:check-links":"node scripts/docs-link-audit.mjs","ios:filelist:gen":"node scripts/ios-write-swift-filelist.mjs","ios:version:sync":"node --import tsx scripts/ios-sync-versioning.ts --write","native:i18n:sync":"node --import tsx scripts/native-app-i18n.ts sync --write","perf:issue-78851":"node --import tsx scripts/perf/issue-78851-model-resolution.ts","plugin-sdk:usage":"node --max-old-space-size=8192 --import tsx scripts/analyze-plugin-sdk-usage.ts","proxy:install-ca":"node --import tsx scripts/proxy-install-ca.mjs","test:auth:compat":"node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/server.auth.compat-baseline.test.ts src/gateway/client.test.ts src/gateway/reconnect-gating.test.ts && node scripts/run-vitest.mjs run packages/gateway-protocol/src/connect-error-details.test.ts","test:changed:max":"node scripts/test-projects-max.mjs --changed origin/main","test:e2e:gateway":"node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","test:perf:groups":"node scripts/test-group-report.mjs","test:sqlite:perf":"node --import tsx scripts/bench-sqlite-state.ts --profile default --output .artifacts/sqlite-perf/default.json","ci:timings:recent":"node scripts/ci-run-timings.mjs --recent 10","config:docs:check":"node --import tsx scripts/generate-config-doc-baseline.ts --check","config:schema:gen":"node --import tsx scripts/generate-base-config-schema.ts --write","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"node scripts/format-docs.mjs --check","gateway:dev:reset":"node scripts/run-with-env.mjs OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway --reset","gateway:watch:raw":"node scripts/watch-node.mjs gateway --force","ios:version:check":"node --import tsx scripts/ios-sync-versioning.ts --check","leak:embedded-run":"node --import tsx --expose-gc scripts/embedded-run-abort-leak.ts","native:i18n:check":"node --import tsx scripts/native-app-i18n.ts check","perf:kova:summary":"node scripts/kova-ci-summary.mjs","release:candidate":"node scripts/release-candidate-checklist.mjs","test:docker:rerun":"node scripts/docker-e2e-rerun.mjs","test:perf:imports":"node scripts/test-projects-imports.mjs","android:i18n:check":"node --import tsx scripts/android-app-i18n.ts check","build:ci-artifacts":"node scripts/build-all.mjs ciArtifacts","build:strict-smoke":"pnpm plugins:assets:build && 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 scripts/run-with-env.mjs OPENCLAW_PLUGIN_SDK_CANONICAL_DTS=1 -- node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node scripts/check-plugin-sdk-exports.mjs","canvas:a2ui:bundle":"node scripts/bundle-a2ui.mjs","check:architecture":"pnpm check:import-cycles && pnpm check:madge-import-cycles && pnpm check:deprecated-api-usage && pnpm check:deprecated-jsdoc && pnpm db:kysely:check && pnpm lint:kysely && pnpm check:database-first-legacy-stores","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","deps:patches:check":"node scripts/check-package-patches.mjs","dup:check:coverage":"node scripts/check-duplicates.mjs --coverage","ios:release:upload":"bash scripts/ios-release-upload.sh","plugin-sdk:api:gen":"node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --write","plugin-sdk:surface":"node --max-old-space-size=8192 scripts/plugin-sdk-surface-report.mjs","plugins:sync:check":"node --import tsx scripts/sync-plugin-versions.ts --check","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","release:beta-smoke":"node --import tsx scripts/release-beta-smoke.ts","test:e2e:openshell":"node scripts/run-with-env.mjs OPENCLAW_E2E_OPENSHELL=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts extensions/openshell/src/backend.e2e.test.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","test:startup:bench":"node --import tsx scripts/bench-cli-startup.ts","tool-display:check":"node --import tsx scripts/tool-display.ts --check","tool-display:write":"node --import tsx scripts/tool-display.ts --write","tsgo:test:packages":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.packages.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-packages.tsbuildinfo","tui:pty:test:watch":"node --import tsx scripts/dev/tui-pty-test-watch.ts","android:screenshots":"bash scripts/android-screenshots.sh","android:version:pin":"node --import tsx scripts/android-pin-version.ts","check:import-cycles":"node --import tsx scripts/check-import-cycles.ts","config:channels:gen":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --write","config:schema:check":"node --import tsx scripts/generate-base-config-schema.ts --check","deps:changes:report":"node scripts/dependency-changes-report.mjs","deps:root-ownership":"node scripts/root-dependency-ownership-audit.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","ios:release:archive":"bash scripts/ios-release-archive.sh","ios:release:prepare":"bash scripts/ios-release-prepare.sh","perf:source:summary":"node scripts/openclaw-performance-source-summary.mjs","plugins:assets:copy":"node scripts/bundled-plugin-assets.mjs --phase copy","qa:prometheus:smoke":"node scripts/run-node.mjs qa suite --provider-mode mock-openai --scenario docker-prometheus-smoke --concurrency 1 --fast","release:verify-beta":"node --import tsx scripts/release-verify-beta.ts","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","test:docker:timings":"node scripts/docker-e2e-timings.mjs","test:startup:memory":"node scripts/ensure-cli-startup-build.mjs && node scripts/check-cli-startup-memory.mjs","tsgo:extensions:all":"node scripts/run-tsgo.mjs -b tsconfig.extensions.projects.json","android:lint:android":"node scripts/run-android-gradle.mjs :app:lintPlayDebug :app:lintThirdPartyDebug","android:version:sync":"node --import tsx scripts/android-sync-versioning.ts --write","build:plugin-sdk:dts":"node scripts/run-tsgo.mjs -p tsconfig.plugin-sdk.dts.json --declaration true","codex-supervisor:mcp":"node --import tsx extensions/codex-supervisor/src/mcp-serve.ts","plugin-sdk:api:check":"node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check","plugins:assets:build":"node scripts/bundled-plugin-assets.mjs --phase build","prompt:snapshots:gen":"node --import tsx scripts/generate-prompt-snapshots.ts --write","release:prep:version":"node scripts/release-preflight.mjs --fix --scope version","runtime-sidecars:gen":"node --import tsx scripts/generate-runtime-sidecar-paths-baseline.ts --write","test:build:singleton":"node scripts/test-built-plugin-singleton.mjs","test:docker:cron-cli":"bash scripts/e2e/cron-cli-docker.sh","test:docker:live:all":"node scripts/run-with-env.mjs OPENCLAW_DOCKER_ALL_LIVE_MODE=only -- node scripts/test-docker-all.mjs","test:parallels:linux":"bash scripts/e2e/parallels-linux-smoke.sh","test:parallels:macos":"bash scripts/e2e/parallels-macos-smoke.sh","test:restart:gateway":"node --import tsx scripts/bench-gateway-restart.ts","test:startup:gateway":"node --import tsx scripts/bench-gateway-startup.ts","test:unit:fast:audit":"node scripts/test-unit-fast-audit.mjs","tsgo:extensions:test":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test.tsbuildinfo","tsgo:test:extensions":"pnpm tsgo:extensions:test","android:version:check":"node --import tsx scripts/android-sync-versioning.ts --check","check:timed:all-types":"node scripts/check-timed.mjs --include-test-types","config:channels:check":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check","deadcode:dependencies":"pnpm --config.minimum-release-age=0 dlx --package knip@6.8.0 knip --config config/knip.config.ts --production --no-progress --reporter compact --dependencies --no-config-hints","deadcode:unused-files":"node scripts/check-deadcode-unused-files.mjs","deps:shrinkwrap:check":"node scripts/generate-npm-shrinkwrap.mjs --all --check","mobile:release:record":"node --import tsx scripts/mobile-release-ref.ts record","plugins:inventory:gen":"node scripts/generate-plugin-inventory-doc.mjs --write","test:coverage:changed":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage --changed origin/main","test:docker:e2e-build":"bash scripts/e2e/build-image.sh","test:docker:local:all":"node scripts/run-with-env.mjs OPENCLAW_DOCKER_ALL_LIVE_MODE=skip -- node scripts/test-docker-all.mjs","test:docker:openwebui":"bash scripts/e2e/openwebui-docker.sh","test:extensions:batch":"node scripts/test-extension-batch.mjs","test:live:media:image":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts image","test:live:media:music":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts music","test:live:media:video":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts video","android:bundle:release":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android play_store_archive'","android:release:upload":"bash scripts/android-release-upload.sh","check:deprecated-jsdoc":"node scripts/check-deprecated-jsdoc.mjs","mobile:release:resolve":"node --import tsx scripts/mobile-release-ref.ts resolve","policy:config-coverage":"node --import tsx scripts/check-policy-config-coverage.ts","probe:anthropic:prompt":"node --import tsx scripts/anthropic-prompt-probe.ts","prompt:snapshots:check":"node --import tsx scripts/generate-prompt-snapshots.ts --check","qa:observability:smoke":"pnpm qa:otel:smoke && pnpm qa:prometheus:smoke","release-metadata:check":"node scripts/check-release-metadata-only.mjs","runtime-sidecars:check":"node --import tsx scripts/generate-runtime-sidecar-paths-baseline.ts --check","test:contracts:plugins":"node scripts/run-vitest.mjs run --config test/vitest/vitest.contracts-plugin.config.ts --maxWorkers=1","test:docker:live-build":"bash scripts/test-live-build-docker.sh","test:extensions:memory":"node scripts/profile-extension-memory.mjs","test:parallels:windows":"bash scripts/e2e/parallels-windows-smoke.sh","test:perf:profile:main":"node scripts/run-vitest-profile.mjs main","test:sqlite:perf:large":"node --import tsx scripts/bench-sqlite-state.ts --profile large --output .artifacts/sqlite-perf/large.json","test:sqlite:perf:smoke":"node --import tsx scripts/bench-sqlite-state.ts --profile smoke --output .artifacts/sqlite-perf/smoke.json","test:stability:gateway":"node scripts/run-with-env.mjs OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/gateway-stability.test.ts && node scripts/run-with-env.mjs OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.logging.config.ts src/logging/diagnostic-stability-bundle.test.ts && node scripts/run-with-env.mjs OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.infra.config.ts src/infra/fatal-error-hooks.test.ts","tui:pty:test:watch:all":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode all","android:release:archive":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android play_store_archive'","android:run:third-party":"node scripts/run-android-gradle.mjs :app:installThirdPartyDebug -- adb shell am start -n ai.openclaw.app/.MainActivity","canvas:a2ui:native:sync":"node scripts/sync-native-a2ui.mjs --write","check:protocol-coverage":"node scripts/check-protocol-event-coverage.mjs","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","lint:extensions:bundled":"node scripts/run-bundled-extension-oxlint.mjs","plugin-sdk:sync-exports":"node scripts/sync-plugin-sdk-exports.mjs","plugins:boundary-report":"node --import tsx scripts/plugin-boundary-report.ts","plugins:inventory:check":"node scripts/generate-plugin-inventory-doc.mjs --check","qa:otel:collector-smoke":"node --import tsx test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts --collector docker","release:generated:check":"node scripts/release-preflight.mjs --check","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:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","test:live:codex-harness":"node scripts/test-live.mjs --codex-harness -- src/gateway/gateway-codex-harness.live.test.ts","test:perf:changed:bench":"node scripts/bench-test-changed.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","tui:pty:test:watch:fake":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode fake","android:release:metadata":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android metadata'","android:test:integration":"node scripts/run-with-env.mjs OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","android:test:third-party":"node scripts/run-android-gradle.mjs :app:testThirdPartyDebugUnitTest","canvas:a2ui:native:check":"node scripts/sync-native-a2ui.mjs --check","check:base-config-schema":"node --import tsx scripts/generate-base-config-schema.ts --check","check:static-import-sccs":"pnpm check:madge-import-cycles","check:timed:architecture":"node scripts/check-timed.mjs --include-architecture","deps:shrinkwrap:generate":"node scripts/generate-npm-shrinkwrap.mjs --all","docs:check-i18n-glossary":"node scripts/check-docs-i18n-glossary.mjs","docs:check-links:anchors":"node scripts/docs-link-audit.mjs --anchors","ios:app-review-notes:pdf":"xcrun swift scripts/ios-app-review-notes-pdf.swift apps/ios/APP-REVIEW-NOTES.md apps/ios/build/app-review/APP-REVIEW-NOTES.pdf","ios:release:signing:plan":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_plan'","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","lint:extensions:channels":"node scripts/run-extension-channel-oxlint.mjs","mobile:release:preflight":"node --import tsx scripts/mobile-release-ref.ts preflight","plugin-sdk:check-exports":"node scripts/sync-plugin-sdk-exports.mjs --check","plugin-sdk:surface:check":"node --max-old-space-size=8192 scripts/plugin-sdk-surface-report.mjs --check","release:plugins:npm:plan":"node --import tsx scripts/plugin-npm-release-plan.ts","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:mcp-channels":"bash scripts/e2e/mcp-channels-docker.sh","test:perf:groups:compare":"node scripts/test-group-report.mjs --compare","test:perf:profile:runner":"node scripts/run-vitest-profile.mjs runner","test:startup:bench:check":"node scripts/test-cli-startup-bench-budget.mjs","test:startup:bench:smoke":"node scripts/ensure-cli-startup-build.mjs && node --import tsx scripts/bench-cli-startup.ts --preset real --case gatewayStatusJson --runs 1 --warmup 0 --output .artifacts/cli-startup-bench-smoke.json","tui:pty:test:watch:local":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode local","android:release:preflight":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android release_preflight'","check:madge-import-cycles":"node --import tsx scripts/check-madge-import-cycles.ts","check:no-conflict-markers":"node scripts/check-no-conflict-markers.mjs","deps:root-ownership:check":"node scripts/root-dependency-ownership-audit.mjs --check","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","ios:release:signing:check":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_check'","ios:release:signing:setup":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_setup'","release:fast-pretag-check":"bash scripts/release-fast-pretag-check.sh","release:plugins:npm:check":"node --import tsx scripts/plugin-npm-release-check.ts","test:docker:compose-setup":"bash scripts/e2e/compose-setup.sh","test:docker:config-reload":"bash scripts/e2e/config-reload-source-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:docker:live-acp-bind":"bash scripts/test-live-acp-bind-docker.sh","test:docker:plugin-update":"bash scripts/e2e/plugin-update-unchanged-docker.sh","test:docker:skill-install":"bash scripts/e2e/skill-install-docker.sh","test:env-mutations:report":"node --import tsx scripts/test-env-mutation-report.ts","test:live:models-profiles":"node scripts/test-live.mjs -- src/agents/models.profiles.live.test.ts","test:parallels:npm-update":"bash scripts/e2e/parallels-npm-update-smoke.sh","test:perf:imports:changed":"node scripts/test-projects-imports.mjs --changed origin/main","test:startup:bench:update":"node scripts/test-update-cli-startup-bench.mjs","test:voicecall:closedloop":"node scripts/test-voicecall-closedloop.mjs","android:release:auth:check":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android auth_check'","check:deprecated-api-usage":"node scripts/check-deprecated-api-usage.mjs","check:temp-path-guardrails":"node --import tsx scripts/check-temp-path-guardrails.ts","deps:shrinkwrap:root:check":"node scripts/generate-npm-shrinkwrap.mjs --check","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","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","release:openclaw:npm:check":"node --import tsx scripts/openclaw-npm-release-check.ts","test:cli-response:contract":"node scripts/build-all.mjs cliStartup && node scripts/test-cli-startup-bench-budget.mjs --preset response --runs 1 --warmup 0 --timeout-ms 10000 --skip-baseline","test:gateway:cpu-scenarios":"node scripts/check-gateway-cpu-scenarios.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:live:gateway-profiles":"node scripts/test-live.mjs -- src/gateway/gateway-models.profiles.live.test.ts","test:skip-inventory:report":"node --import tsx scripts/test-skip-inventory.ts","android:install:third-party":"node scripts/run-android-gradle.mjs :app:installThirdPartyDebug","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","deps:transitive-risk:report":"node scripts/transitive-manifest-risk-report.mjs","lint:tmp:tsgo-core-boundary":"node scripts/check-tsgo-core-boundary.mjs","test:docker:codex-on-demand":"bash scripts/e2e/codex-on-demand-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","test:docker:live-codex-bind":"OPENCLAW_LIVE_CODEX_BIND=1 OPENCLAW_LIVE_CODEX_TEST_FILES=src/gateway/gateway-codex-bind.live.test.ts bash scripts/test-live-codex-harness-docker.sh","test:docker:package-install":"bash scripts/e2e/docker-package-install.sh","android:assemble:third-party":"node scripts/run-android-gradle.mjs :app:assembleThirdPartyDebug","android:release:signing:plan":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_plan'","check:changelog-attributions":"node scripts/check-changelog-attributions.mjs","check:media-download-helpers":"node scripts/check-media-download-helper-roundtrip.mjs","check:opengrep-rule-metadata":"node security/opengrep/check-rule-metadata.mjs","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","deps:ownership-surface:check":"node scripts/dependency-ownership-surface-report.mjs --check","lint:tmp:no-random-messaging":"node scripts/check-no-random-messaging-tmp.mjs","plugins:boundary-report:json":"node --import tsx scripts/plugin-boundary-report.ts --json","release:plugins:clawhub:plan":"node --import tsx scripts/plugin-clawhub-release-plan.ts","test:docker:codex-media-path":"bash scripts/e2e/codex-media-path-docker.sh","test:docker:cron-mcp-cleanup":"bash scripts/e2e/cron-mcp-cleanup-docker.sh","test:docker:kitchen-sink-rpc":"bash scripts/e2e/kitchen-sink-rpc-docker.sh","test:docker:live-cli-backend":"bash scripts/test-live-cli-backend-docker.sh","test:docker:live-plugin-tool":"bash scripts/e2e/live-plugin-tool-docker.sh","test:docker:update-migration":"env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@2026.4.23} OPENCLAW_UPGRADE_SURVIVOR_SCENARIO=${OPENCLAW_UPGRADE_SURVIVOR_SCENARIO:-plugin-deps-cleanup} bash scripts/e2e/upgrade-survivor-docker.sh","test:docker:upgrade-survivor":"bash scripts/e2e/upgrade-survivor-docker.sh","test:gateway:memory-fd-repro":"node scripts/check-memory-fd-repro.mjs","android:release:signing:check":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_check'","build:plugin-sdk:strict-smoke":"node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/run-with-env.mjs OPENCLAW_PLUGIN_SDK_CANONICAL_DTS=1 -- node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node scripts/check-plugin-sdk-exports.mjs","check:runtime-sidecar-loaders":"node --import tsx scripts/check-runtime-sidecar-loaders.mjs","deps:ownership-surface:report":"node scripts/dependency-ownership-surface-report.mjs","deps:shrinkwrap:changed:check":"node scripts/generate-npm-shrinkwrap.mjs --changed --check","deps:shrinkwrap:root:generate":"node scripts/generate-npm-shrinkwrap.mjs","ios:release:signing:sync:pull":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_sync_pull'","ios:release:signing:sync:push":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_sync_push'","lint:tmp:dynamic-import-warts":"node scripts/check-dynamic-import-warts.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","release:plugins:clawhub:check":"node --import tsx scripts/plugin-clawhub-release-check.ts","test:docker:crestodian-rescue":"bash scripts/e2e/crestodian-rescue-docker.sh","test:docker:multi-node-update":"bash scripts/e2e/multi-node-update-docker.sh","test:docker:npm-telegram-live":"bash scripts/e2e/npm-telegram-live-docker.sh","test:docker:openai-chat-tools":"bash scripts/e2e/openai-chat-tools-docker.sh","test:docker:openai-image-auth":"bash scripts/e2e/openai-image-auth-docker.sh","test:gateway:watch-regression":"node scripts/check-gateway-watch-regression.mjs","test:plugins:gateway-gauntlet":"node scripts/check-plugin-gateway-gauntlet.mjs","test:plugins:kitchen-sink-rpc":"node --import tsx scripts/e2e/kitchen-sink-rpc-walk.mjs","codex-app-server:protocol:sync":"node --import tsx scripts/sync-codex-app-server-protocol.ts","test:docker:commitments-safety":"bash scripts/e2e/commitments-safety-docker.sh","test:docker:crestodian-planner":"bash scripts/e2e/crestodian-planner-docker.sh","test:docker:live-codex-harness":"bash scripts/test-live-codex-harness-docker.sh","test:docker:live-models:claude":"OPENCLAW_LIVE_PROVIDERS=claude-cli OPENCLAW_LIVE_MODELS=claude-cli/claude-sonnet-4-6 bash scripts/test-live-models-docker.sh","test:docker:live-models:gemini":"OPENCLAW_LIVE_PROVIDERS=google-gemini-cli OPENCLAW_LIVE_MODELS=google-gemini-cli/gemini-3.1-pro-preview bash scripts/test-live-models-docker.sh","test: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'","codex-app-server:protocol:check":"node --import tsx scripts/check-codex-app-server-protocol.ts","lint:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","plugins:boundary-report:summary":"node --import tsx scripts/plugin-boundary-report.ts --summary","test:docker:kitchen-sink-plugin":"bash scripts/e2e/kitchen-sink-plugin-docker.sh","test:docker:live-acp-bind:codex":"OPENCLAW_LIVE_ACP_BIND_AGENT=codex bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:droid":"OPENCLAW_LIVE_ACP_BIND_AGENT=droid OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh","test:docker:live-gateway:claude":"OPENCLAW_LIVE_GATEWAY_PROVIDERS=claude-cli OPENCLAW_LIVE_GATEWAY_MODELS=claude-cli/claude-sonnet-4-6 bash scripts/test-live-gateway-models-docker.sh","test:docker:live-gateway:gemini":"OPENCLAW_LIVE_GATEWAY_PROVIDERS=google-gemini-cli OPENCLAW_LIVE_GATEWAY_MODELS=google-gemini-cli/gemini-3.1-pro-preview bash scripts/test-live-gateway-models-docker.sh","test:docker:update-restart-auth":"env OPENCLAW_UPGRADE_SURVIVOR_UPDATE_RESTART_MODE=auto-auth OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh","deps:shrinkwrap:changed:generate":"node scripts/generate-npm-shrinkwrap.mjs --changed","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","qa:observability:collector-smoke":"pnpm qa:otel:collector-smoke && pnpm qa:prometheus:smoke","test:docker:browser-cdp-snapshot":"bash scripts/e2e/browser-cdp-snapshot-docker.sh","test:docker:crestodian-first-run":"bash scripts/e2e/crestodian-first-run-docker.sh","test:docker:live-acp-bind:claude":"OPENCLAW_LIVE_ACP_BIND_AGENT=claude bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:gemini":"OPENCLAW_LIVE_ACP_BIND_AGENT=gemini bash scripts/test-live-acp-bind-docker.sh","test:docker:release-media-memory":"bash scripts/e2e/release-media-memory-docker.sh","test:docker:release-user-journey":"bash scripts/e2e/release-user-journey-docker.sh","test:extensions:package-boundary":"node scripts/check-extension-package-tsc-boundary.mjs","android:release:signing:sync:pull":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_sync_pull'","android:release:signing:sync:push":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_sync_push'","lint:plugins:no-extension-imports":"node scripts/check-plugin-extension-import-boundary.mjs","prompt:snapshots:sync-codex-model":"node --import tsx scripts/sync-codex-model-prompt-fixture.ts","test:build:status-message-runtime":"node scripts/test-built-status-message-runtime.mjs","test:docker:live-codex-media-path":"OPENCLAW_LIVE_CODEX_HARNESS_AUTH=api-key OPENCLAW_LIVE_CODEX_HARNESS_CHAT_IMAGE_PROBE=1 OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0 bash scripts/test-live-codex-harness-docker.sh","test:docker:live-codex-npm-plugin":"bash scripts/e2e/codex-npm-plugin-live-docker.sh","test:docker:mcp-code-mode-gateway":"bash scripts/e2e/mcp-code-mode-gateway-docker.sh","test:docker:update-channel-switch":"bash scripts/e2e/update-channel-switch-docker.sh","test:docker:update-corrupt-plugin":"bash scripts/e2e/update-corrupt-plugin-docker.sh","check:database-first-legacy-stores":"node scripts/check-database-first-legacy-stores.mjs","lint:tmp:session-accessor-boundary":"node scripts/check-session-accessor-boundary.mjs","lint:web-fetch-provider-boundaries":"node scripts/check-web-fetch-provider-boundaries.mjs","test:docker:agent-bundle-mcp-tools":"bash scripts/e2e/agent-bundle-mcp-tools-docker.sh","test:docker:live-acp-bind:opencode":"OPENCLAW_LIVE_ACP_BIND_AGENT=opencode OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh","test:docker:live-subagent-announce":"bash scripts/test-live-subagent-announce-docker.sh","check:no-runtime-action-load-config":"node scripts/check-no-runtime-action-load-config.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","test:docker:live-cli-backend:claude":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview bash scripts/test-live-cli-backend-docker.sh","test:docker:plugin-lifecycle-matrix":"bash scripts/e2e/plugin-lifecycle-matrix-docker.sh","test:docker:session-runtime-context":"bash scripts/e2e/session-runtime-context-docker.sh","test:e2e:status-corrupt-plugin-deps":"bash scripts/e2e/status-corrupt-plugin-deps.sh","test:live:crestodian-rescue-channel":"node scripts/run-with-env.mjs OPENCLAW_LIVE_CRESTODIAN_RESCUE_CHANNEL=1 -- node scripts/test-live.mjs -- src/crestodian/rescue-channel.live.test.ts","test:plugins:init-provider-scaffold":"node --import tsx scripts/validate-plugin-init-provider-scaffold.ts","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","test:docker:release-typed-onboarding":"bash scripts/e2e/release-typed-onboarding-docker.sh","test:docker:root-managed-vps-upgrade":"env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_ROOT_MANAGED_VPS=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@2026.5.7} OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh","check:bundled-channel-config-metadata":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check","lint:extensions:telegram-grammy-types":"node scripts/check-telegram-grammy-types-imports.mjs","lint:plugins:no-extension-src-imports":"node --import tsx scripts/check-no-extension-src-imports.ts","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","release:openclaw:npm:verify-published":"node --import tsx scripts/openclaw-npm-postpublish-verify.ts","test:docker:npm-onboard-channel-agent":"bash scripts/e2e/npm-onboard-channel-agent-docker.sh","test:docker:openai-web-search-minimal":"bash scripts/e2e/openai-web-search-minimal-docker.sh","lint:extensions:no-plugin-sdk-internal":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=plugin-sdk-internal","lint:tmp:session-accessor-boundary:gen":"node scripts/check-session-accessor-boundary.mjs --update-debt-baseline","test:docker:live-mcp-code-mode-gateway":"bash scripts/e2e/mcp-code-mode-gateway-live-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:release-plugin-marketplace":"bash scripts/e2e/release-plugin-marketplace-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:gemini:mcp":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:extensions:package-boundary:canary":"node scripts/check-extension-package-tsc-boundary.mjs --mode=canary","test:docker:release-upgrade-user-journey":"bash scripts/e2e/release-upgrade-user-journey-docker.sh","test:extensions:package-boundary:compile":"node scripts/check-extension-package-tsc-boundary.mjs --mode=compile","lint:extensions:no-src-outside-plugin-sdk":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=src-outside-plugin-sdk","lint:plugins:plugin-sdk-subpaths-exported":"node scripts/check-plugin-sdk-subpath-exports.mjs","test:docker:plugin-binding-command-escape":"bash scripts/e2e/plugin-binding-command-escape-docker.sh","test:docker:agents-delete-shared-workspace":"bash scripts/e2e/agents-delete-shared-workspace-docker.sh","test:docker:live-cli-backend:claude:resume":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini:resume":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","lint:extensions:no-relative-outside-package":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=relative-outside-package","lint:plugins:no-extension-test-core-imports":"node --import tsx scripts/check-no-extension-test-core-imports.ts","lint:tmp:session-transcript-reader-boundary":"node scripts/check-session-transcript-reader-boundary.mjs","test:docker:npm-onboard-slack-channel-agent":"OPENCLAW_NPM_ONBOARD_CHANNEL=slack bash scripts/e2e/npm-onboard-channel-agent-docker.sh","lint:extensions:no-deprecated-channel-access":"node --import tsx scripts/check-no-deprecated-channel-access.ts","test:docker:bundled-plugin-install-uninstall":"bash scripts/e2e/bundled-plugin-install-uninstall-docker.sh","lint:extensions:no-guarded-wildcard-reexports":"node scripts/check-extension-wildcard-reexports.mjs","test:docker:npm-onboard-discord-channel-agent":"OPENCLAW_NPM_ONBOARD_CHANNEL=discord bash scripts/e2e/npm-onboard-channel-agent-docker.sh","lint:extensions:no-plugin-sdk-wildcard-reexports":"node scripts/check-plugin-sdk-wildcard-reexports.mjs","test:docker:live-cli-backend:claude-subscription":"OPENCLAW_LIVE_CLI_BACKEND_AUTH=subscription OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_DISABLE_MCP_CONFIG=1 OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=0 bash scripts/test-live-cli-backend-docker.sh","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"_resolved":"/private/tmp/claude-503/-Users-openclaw-projects-brad-cowork-test/3b2f36d2-d6cd-44a0-ab0d-cd86bcf7189f/scratchpad/soulclaw-2026.7.1.tgz","_integrity":"sha512-BkvDCy+2aMJE0ZJzzuRQWM0Znylflx0kJHu+UHzL67dpwMGMJnKvD/7XzPD7+W4PS3vn40mdUmLNYI/QLKU7Tw==","repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"8.21.0","tar":"7.5.19","zod":"4.4.3","diff":"9.0.0","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","json5":"2.2.3","jszip":"3.10.1","tslog":"4.10.2","croner":"10.0.1","dotenv":"17.4.2","grammy":"1.44.0","ignore":"7.0.5","kysely":"0.29.2","openai":"6.45.0","qrcode":"1.5.4","undici":"8.5.0","clawpdf":"0.3.0","express":"5.2.1","typebox":"1.3.3","chokidar":"5.0.0","linkedom":"0.18.12","web-push":"3.6.7","commander":"15.0.0","file-type":"22.0.1","minimatch":"10.2.5","rastermill":"0.3.1","typescript":"6.0.3","@clack/core":"1.4.2","@openclaw/ai":"2026.7.1","highlight.js":"11.11.1","partial-json":"0.1.7","quickjs-wasi":"3.0.2","@google/genai":"2.10.0","node-edge-tts":"1.2.10","@clack/prompts":"1.6.0","hosted-git-info":"10.1.1","playwright-core":"1.61.1","proper-lockfile":"4.1.2","web-tree-sitter":"0.26.10","@grammyjs/runner":"2.0.3","@homebridge/ciao":"1.3.9","@lydell/node-pty":"1.2.0-beta.12","tree-sitter-bash":"0.25.1","@anthropic-ai/sdk":"0.109.1","@openclaw/fs-safe":"0.4.1","@openclaw/proxyline":"0.3.3","@mistralai/mistralai":"2.4.0","@mozilla/readability":"0.6.0","@earendil-works/pi-tui":"0.80.3","@agentclientprotocol/sdk":"1.1.0","@modelcontextprotocol/sdk":"1.29.0","@silvia-odwyer/photon-node":"0.3.4","@grammyjs/transformer-throttler":"1.2.1"},"_hasShrinkwrap":true,"readmeFilename":"README.md","devDependencies":{"lit":"3.3.3","tsx":"4.22.4","jscpd":"4.2.4","jsdom":"29.1.1","oxfmt":"0.57.0","shiki":"4.3.0","unrun":"0.3.1","oxlint":"1.72.0","tsdown":"0.22.1","vitest":"4.1.9","esbuild":"0.28.1","sigstore":"4.1.1","@a2ui/lit":"0.10.1","@types/ws":"8.18.1","@mdx-js/mdx":"3.1.1","@types/node":"26.1.0","@lit/context":"1.1.6","signal-utils":"0.21.1","@shikijs/core":"4.3.0","@types/express":"5.0.6","@grammyjs/types":"3.28.0","oxlint-tsgolint":"0.24.0","@lit-labs/signals":"0.3.0","@copilotkit/aimock":"1.35.0","@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.9","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4","@shikijs/engine-oniguruma":"4.3.0","@shikijs/engine-javascript":"4.3.0","@typescript/native-preview":"7.0.0-dev.20260704.1"},"optionalDependencies":{"sqlite-vec":"0.1.9"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.7.1_1784818431303_0.4393470841682867","host":"s3://npm-registry-packages-npm-production"}},"2026.7.2":{"name":"soulclaw","version":"2026.7.2","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.7.2","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"52cead00938cfee014e99ae788c41185160c470e","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.7.2.tgz","fileCount":8636,"integrity":"sha512-3Dly2ZJOEBsMzy5LrLPPJIN3nGBn9Z+D8bXcKqgDlrBJ+pSrCCdKqq6uavjA7gciwIUQ31LqFhU0Nz4h2vxL+w==","signatures":[{"sig":"MEQCIEoAjIs3nlJ3e2cmCfurqxstOVU5EY/D8f3dLgTQi5tlAiAoqJ5qoDb0MF0Rv28zvHOkhQ4cyKEwUrF7hMW6pG3awA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87563625},"main":"dist/index.js","type":"module","_from":"file:/private/tmp/claude-503/-Users-openclaw-projects-brad-cowork-test/3b2f36d2-d6cd-44a0-ab0d-cd86bcf7189f/scratchpad/soulclaw-2026.7.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./extension-api":"./dist/extensionAPI.js","./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","default":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/zod":{"types":"./dist/plugin-sdk/zod.d.ts","default":"./dist/plugin-sdk/zod.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/setup":{"types":"./dist/plugin-sdk/setup.d.ts","default":"./dist/plugin-sdk/setup.js"},"./plugin-sdk/types":{"types":"./dist/plugin-sdk/types.d.ts","default":"./dist/plugin-sdk/types.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/health":{"types":"./dist/plugin-sdk/health.d.ts","default":"./dist/plugin-sdk/health.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/speech":{"types":"./dist/plugin-sdk/speech.d.ts","default":"./dist/plugin-sdk/speech.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/routing":{"types":"./dist/plugin-sdk/routing.d.ts","default":"./dist/plugin-sdk/routing.js"},"./plugin-sdk/runtime":{"types":"./dist/plugin-sdk/runtime.d.ts","default":"./dist/plugin-sdk/runtime.js"},"./plugin-sdk/sandbox":{"types":"./dist/plugin-sdk/sandbox.d.ts","default":"./dist/plugin-sdk/sandbox.js"},"./plugin-sdk/lmstudio":{"types":"./dist/plugin-sdk/lmstudio.d.ts","default":"./dist/plugin-sdk/lmstudio.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/direct-dm":{"types":"./dist/plugin-sdk/direct-dm.d.ts","default":"./dist/plugin-sdk/direct-dm.js"},"./plugin-sdk/file-lock":{"types":"./dist/plugin-sdk/file-lock.d.ts","default":"./dist/plugin-sdk/file-lock.js"},"./plugin-sdk/migration":{"types":"./dist/plugin-sdk/migration.d.ts","default":"./dist/plugin-sdk/migration.js"},"./plugin-sdk/temp-path":{"types":"./dist/plugin-sdk/temp-path.d.ts","default":"./dist/plugin-sdk/temp-path.js"},"./plugin-sdk/tool-send":{"types":"./dist/plugin-sdk/tool-send.d.ts","default":"./dist/plugin-sdk/tool-send.js"},"./plugin-sdk/web-media":{"types":"./dist/plugin-sdk/web-media.d.ts","default":"./dist/plugin-sdk/web-media.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/agent-core":{"types":"./dist/plugin-sdk/agent-core.d.ts","default":"./dist/plugin-sdk/agent-core.js"},"./plugin-sdk/allow-from":{"types":"./dist/plugin-sdk/allow-from.d.ts","default":"./dist/plugin-sdk/allow-from.js"},"./plugin-sdk/json-store":{"types":"./dist/plugin-sdk/json-store.d.ts","default":"./dist/plugin-sdk/json-store.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/media-mime":{"types":"./dist/plugin-sdk/media-mime.d.ts","default":"./dist/plugin-sdk/media-mime.js"},"./plugin-sdk/acp-runtime":{"types":"./dist/plugin-sdk/acp-runtime.d.ts","default":"./dist/plugin-sdk/acp-runtime.js"},"./plugin-sdk/cli-backend":{"types":"./dist/plugin-sdk/cli-backend.d.ts","default":"./dist/plugin-sdk/cli-backend.js"},"./plugin-sdk/cli-runtime":{"types":"./dist/plugin-sdk/cli-runtime.d.ts","default":"./dist/plugin-sdk/cli-runtime.js"},"./plugin-sdk/media-store":{"types":"./dist/plugin-sdk/media-store.d.ts","default":"./dist/plugin-sdk/media-store.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/request-url":{"types":"./dist/plugin-sdk/request-url.d.ts","default":"./dist/plugin-sdk/request-url.js"},"./plugin-sdk/run-command":{"types":"./dist/plugin-sdk/run-command.d.ts","default":"./dist/plugin-sdk/run-command.js"},"./plugin-sdk/runtime-env":{"types":"./dist/plugin-sdk/runtime-env.d.ts","default":"./dist/plugin-sdk/runtime-env.js"},"./plugin-sdk/setup-tools":{"types":"./dist/plugin-sdk/setup-tools.d.ts","default":"./dist/plugin-sdk/setup-tools.js"},"./plugin-sdk/speech-core":{"types":"./dist/plugin-sdk/speech-core.d.ts","default":"./dist/plugin-sdk/speech-core.js"},"./plugin-sdk/ssrf-policy":{"types":"./dist/plugin-sdk/ssrf-policy.d.ts","default":"./dist/plugin-sdk/ssrf-policy.js"},"./plugin-sdk/state-paths":{"types":"./dist/plugin-sdk/state-paths.d.ts","default":"./dist/plugin-sdk/state-paths.js"},"./plugin-sdk/tool-plugin":{"types":"./dist/plugin-sdk/tool-plugin.d.ts","default":"./dist/plugin-sdk/tool-plugin.js"},"./plugin-sdk/transcripts":{"types":"./dist/plugin-sdk/transcripts.d.ts","default":"./dist/plugin-sdk/transcripts.js"},"./plugin-sdk/tts-runtime":{"types":"./dist/plugin-sdk/tts-runtime.d.ts","default":"./dist/plugin-sdk/tts-runtime.js"},"./plugin-sdk/account-core":{"types":"./dist/plugin-sdk/account-core.d.ts","default":"./dist/plugin-sdk/account-core.js"},"./plugin-sdk/channel-core":{"types":"./dist/plugin-sdk/channel-core.d.ts","default":"./dist/plugin-sdk/channel-core.js"},"./plugin-sdk/command-auth":{"types":"./dist/plugin-sdk/command-auth.d.ts","default":"./dist/plugin-sdk/command-auth.js"},"./plugin-sdk/config-types":{"types":"./dist/plugin-sdk/config-types.d.ts","default":"./dist/plugin-sdk/config-types.js"},"./plugin-sdk/group-access":{"types":"./dist/plugin-sdk/group-access.d.ts","default":"./dist/plugin-sdk/group-access.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/lazy-runtime":{"types":"./dist/plugin-sdk/lazy-runtime.d.ts","default":"./dist/plugin-sdk/lazy-runtime.js"},"./plugin-sdk/logging-core":{"types":"./dist/plugin-sdk/logging-core.d.ts","default":"./dist/plugin-sdk/logging-core.js"},"./plugin-sdk/plugin-entry":{"types":"./dist/plugin-sdk/plugin-entry.d.ts","default":"./dist/plugin-sdk/plugin-entry.js"},"./plugin-sdk/poll-runtime":{"types":"./dist/plugin-sdk/poll-runtime.d.ts","default":"./dist/plugin-sdk/poll-runtime.js"},"./plugin-sdk/reply-dedupe":{"types":"./dist/plugin-sdk/reply-dedupe.d.ts","default":"./dist/plugin-sdk/reply-dedupe.js"},"./plugin-sdk/secret-input":{"types":"./dist/plugin-sdk/secret-input.d.ts","default":"./dist/plugin-sdk/secret-input.js"},"./plugin-sdk/ssrf-runtime":{"types":"./dist/plugin-sdk/ssrf-runtime.d.ts","default":"./dist/plugin-sdk/ssrf-runtime.js"},"./plugin-sdk/text-runtime":{"types":"./dist/plugin-sdk/text-runtime.d.ts","default":"./dist/plugin-sdk/text-runtime.js"},"./plugin-sdk/time-runtime":{"types":"./dist/plugin-sdk/time-runtime.d.ts","default":"./dist/plugin-sdk/time-runtime.js"},"./plugin-sdk/tool-payload":{"types":"./dist/plugin-sdk/tool-payload.d.ts","default":"./dist/plugin-sdk/tool-payload.js"},"./plugin-sdk/tool-results":{"types":"./dist/plugin-sdk/tool-results.d.ts","default":"./dist/plugin-sdk/tool-results.js"},"./plugin-sdk/webhook-path":{"types":"./dist/plugin-sdk/webhook-path.d.ts","default":"./dist/plugin-sdk/webhook-path.js"},"./plugin-sdk/access-groups":{"types":"./dist/plugin-sdk/access-groups.d.ts","default":"./dist/plugin-sdk/access-groups.js"},"./plugin-sdk/agent-harness":{"types":"./dist/plugin-sdk/agent-harness.d.ts","default":"./dist/plugin-sdk/agent-harness.js"},"./plugin-sdk/agent-runtime":{"types":"./dist/plugin-sdk/agent-runtime.d.ts","default":"./dist/plugin-sdk/agent-runtime.js"},"./plugin-sdk/boolean-param":{"types":"./dist/plugin-sdk/boolean-param.d.ts","default":"./dist/plugin-sdk/boolean-param.js"},"./plugin-sdk/channel-route":{"types":"./dist/plugin-sdk/channel-route.d.ts","default":"./dist/plugin-sdk/channel-route.js"},"./plugin-sdk/channel-setup":{"types":"./dist/plugin-sdk/channel-setup.d.ts","default":"./dist/plugin-sdk/channel-setup.js"},"./plugin-sdk/config-schema":{"types":"./dist/plugin-sdk/config-schema.d.ts","default":"./dist/plugin-sdk/config-schema.js"},"./plugin-sdk/error-runtime":{"types":"./dist/plugin-sdk/error-runtime.d.ts","default":"./dist/plugin-sdk/error-runtime.js"},"./plugin-sdk/fetch-runtime":{"types":"./dist/plugin-sdk/fetch-runtime.d.ts","default":"./dist/plugin-sdk/fetch-runtime.js"},"./plugin-sdk/infra-runtime":{"types":"./dist/plugin-sdk/infra-runtime.d.ts","default":"./dist/plugin-sdk/infra-runtime.js"},"./plugin-sdk/media-runtime":{"types":"./dist/plugin-sdk/media-runtime.d.ts","default":"./dist/plugin-sdk/media-runtime.js"},"./plugin-sdk/param-readers":{"types":"./dist/plugin-sdk/param-readers.d.ts","default":"./dist/plugin-sdk/param-readers.js"},"./plugin-sdk/provider-auth":{"types":"./dist/plugin-sdk/provider-auth.d.ts","default":"./dist/plugin-sdk/provider-auth.js"},"./plugin-sdk/provider-http":{"types":"./dist/plugin-sdk/provider-http.d.ts","default":"./dist/plugin-sdk/provider-http.js"},"./plugin-sdk/proxy-capture":{"types":"./dist/plugin-sdk/proxy-capture.d.ts","default":"./dist/plugin-sdk/proxy-capture.js"},"./plugin-sdk/reply-history":{"types":"./dist/plugin-sdk/reply-history.d.ts","default":"./dist/plugin-sdk/reply-history.js"},"./plugin-sdk/reply-payload":{"types":"./dist/plugin-sdk/reply-payload.d.ts","default":"./dist/plugin-sdk/reply-payload.js"},"./plugin-sdk/reply-runtime":{"types":"./dist/plugin-sdk/reply-runtime.d.ts","default":"./dist/plugin-sdk/reply-runtime.js"},"./plugin-sdk/retry-runtime":{"types":"./dist/plugin-sdk/retry-runtime.d.ts","default":"./dist/plugin-sdk/retry-runtime.js"},"./plugin-sdk/runtime-fetch":{"types":"./dist/plugin-sdk/runtime-fetch.d.ts","default":"./dist/plugin-sdk/runtime-fetch.js"},"./plugin-sdk/runtime-store":{"types":"./dist/plugin-sdk/runtime-store.d.ts","default":"./dist/plugin-sdk/runtime-store.js"},"./plugin-sdk/setup-runtime":{"types":"./dist/plugin-sdk/setup-runtime.d.ts","default":"./dist/plugin-sdk/setup-runtime.js"},"./plugin-sdk/text-chunking":{"types":"./dist/plugin-sdk/text-chunking.d.ts","default":"./dist/plugin-sdk/text-chunking.js"},"./plugin-sdk/windows-spawn":{"types":"./dist/plugin-sdk/windows-spawn.d.ts","default":"./dist/plugin-sdk/windows-spawn.js"},"./plugin-sdk/agent-sessions":{"types":"./dist/plugin-sdk/agent-sessions.d.ts","default":"./dist/plugin-sdk/agent-sessions.js"},"./plugin-sdk/browser-config":{"types":"./dist/plugin-sdk/browser-config.d.ts","default":"./dist/plugin-sdk/browser-config.js"},"./plugin-sdk/channel-policy":{"types":"./dist/plugin-sdk/channel-policy.d.ts","default":"./dist/plugin-sdk/channel-policy.js"},"./plugin-sdk/channel-status":{"types":"./dist/plugin-sdk/channel-status.d.ts","default":"./dist/plugin-sdk/channel-status.js"},"./plugin-sdk/command-gating":{"types":"./dist/plugin-sdk/command-gating.d.ts","default":"./dist/plugin-sdk/command-gating.js"},"./plugin-sdk/command-status":{"types":"./dist/plugin-sdk/command-status.d.ts","default":"./dist/plugin-sdk/command-status.js"},"./plugin-sdk/config-runtime":{"types":"./dist/plugin-sdk/config-runtime.d.ts","default":"./dist/plugin-sdk/config-runtime.js"},"./plugin-sdk/dedupe-runtime":{"types":"./dist/plugin-sdk/dedupe-runtime.d.ts","default":"./dist/plugin-sdk/dedupe-runtime.js"},"./plugin-sdk/number-runtime":{"types":"./dist/plugin-sdk/number-runtime.d.ts","default":"./dist/plugin-sdk/number-runtime.js"},"./plugin-sdk/outbound-media":{"types":"./dist/plugin-sdk/outbound-media.d.ts","default":"./dist/plugin-sdk/outbound-media.js"},"./plugin-sdk/plugin-runtime":{"types":"./dist/plugin-sdk/plugin-runtime.d.ts","default":"./dist/plugin-sdk/plugin-runtime.js"},"./plugin-sdk/provider-entry":{"types":"./dist/plugin-sdk/provider-entry.d.ts","default":"./dist/plugin-sdk/provider-entry.js"},"./plugin-sdk/provider-setup":{"types":"./dist/plugin-sdk/provider-setup.d.ts","default":"./dist/plugin-sdk/provider-setup.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/realtime-voice":{"types":"./dist/plugin-sdk/realtime-voice.d.ts","default":"./dist/plugin-sdk/realtime-voice.js"},"./plugin-sdk/reply-chunking":{"types":"./dist/plugin-sdk/reply-chunking.d.ts","default":"./dist/plugin-sdk/reply-chunking.js"},"./plugin-sdk/runtime-doctor":{"types":"./dist/plugin-sdk/runtime-doctor.d.ts","default":"./dist/plugin-sdk/runtime-doctor.js"},"./plugin-sdk/runtime-logger":{"types":"./dist/plugin-sdk/runtime-logger.d.ts","default":"./dist/plugin-sdk/runtime-logger.js"},"./plugin-sdk/skills-runtime":{"types":"./dist/plugin-sdk/skills-runtime.d.ts","default":"./dist/plugin-sdk/skills-runtime.js"},"./plugin-sdk/sqlite-runtime":{"types":"./dist/plugin-sdk/sqlite-runtime.d.ts","default":"./dist/plugin-sdk/sqlite-runtime.js"},"./plugin-sdk/status-helpers":{"types":"./dist/plugin-sdk/status-helpers.d.ts","default":"./dist/plugin-sdk/status-helpers.js"},"./plugin-sdk/account-helpers":{"types":"./dist/plugin-sdk/account-helpers.d.ts","default":"./dist/plugin-sdk/account-helpers.js"},"./plugin-sdk/channel-actions":{"types":"./dist/plugin-sdk/channel-actions.d.ts","default":"./dist/plugin-sdk/channel-actions.js"},"./plugin-sdk/channel-inbound":{"types":"./dist/plugin-sdk/channel-inbound.d.ts","default":"./dist/plugin-sdk/channel-inbound.js"},"./plugin-sdk/channel-ingress":{"types":"./dist/plugin-sdk/channel-ingress.d.ts","default":"./dist/plugin-sdk/channel-ingress.js"},"./plugin-sdk/channel-logging":{"types":"./dist/plugin-sdk/channel-logging.d.ts","default":"./dist/plugin-sdk/channel-logging.js"},"./plugin-sdk/channel-message":{"types":"./dist/plugin-sdk/channel-message.d.ts","default":"./dist/plugin-sdk/channel-message.js"},"./plugin-sdk/channel-pairing":{"types":"./dist/plugin-sdk/channel-pairing.d.ts","default":"./dist/plugin-sdk/channel-pairing.js"},"./plugin-sdk/channel-runtime":{"types":"./dist/plugin-sdk/channel-runtime.d.ts","default":"./dist/plugin-sdk/channel-runtime.js"},"./plugin-sdk/channel-targets":{"types":"./dist/plugin-sdk/channel-targets.d.ts","default":"./dist/plugin-sdk/channel-targets.js"},"./plugin-sdk/command-surface":{"types":"./dist/plugin-sdk/command-surface.d.ts","default":"./dist/plugin-sdk/command-surface.js"},"./plugin-sdk/config-mutation":{"types":"./dist/plugin-sdk/config-mutation.d.ts","default":"./dist/plugin-sdk/config-mutation.js"},"./plugin-sdk/gateway-runtime":{"types":"./dist/plugin-sdk/gateway-runtime.d.ts","default":"./dist/plugin-sdk/gateway-runtime.js"},"./plugin-sdk/process-runtime":{"types":"./dist/plugin-sdk/process-runtime.d.ts","default":"./dist/plugin-sdk/process-runtime.js"},"./plugin-sdk/provider-stream":{"types":"./dist/plugin-sdk/provider-stream.d.ts","default":"./dist/plugin-sdk/provider-stream.js"},"./plugin-sdk/reply-reference":{"types":"./dist/plugin-sdk/reply-reference.d.ts","default":"./dist/plugin-sdk/reply-reference.js"},"./plugin-sdk/ssrf-dispatcher":{"types":"./dist/plugin-sdk/ssrf-dispatcher.d.ts","default":"./dist/plugin-sdk/ssrf-dispatcher.js"},"./plugin-sdk/webhook-ingress":{"types":"./dist/plugin-sdk/webhook-ingress.d.ts","default":"./dist/plugin-sdk/webhook-ingress.js"},"./plugin-sdk/webhook-targets":{"types":"./dist/plugin-sdk/webhook-targets.d.ts","default":"./dist/plugin-sdk/webhook-targets.js"},"./plugin-sdk/approval-runtime":{"types":"./dist/plugin-sdk/approval-runtime.d.ts","default":"./dist/plugin-sdk/approval-runtime.js"},"./plugin-sdk/channel-contract":{"types":"./dist/plugin-sdk/channel-contract.d.ts","default":"./dist/plugin-sdk/channel-contract.js"},"./plugin-sdk/channel-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-location":{"types":"./dist/plugin-sdk/channel-location.d.ts","default":"./dist/plugin-sdk/channel-location.js"},"./plugin-sdk/channel-outbound":{"types":"./dist/plugin-sdk/channel-outbound.d.ts","default":"./dist/plugin-sdk/channel-outbound.js"},"./plugin-sdk/chat-channel-ids":{"types":"./dist/plugin-sdk/chat-channel-ids.d.ts","default":"./dist/plugin-sdk/chat-channel-ids.js"},"./plugin-sdk/config-contracts":{"types":"./dist/plugin-sdk/config-contracts.d.ts","default":"./dist/plugin-sdk/config-contracts.js"},"./plugin-sdk/device-bootstrap":{"types":"./dist/plugin-sdk/device-bootstrap.d.ts","default":"./dist/plugin-sdk/device-bootstrap.js"},"./plugin-sdk/direct-dm-access":{"types":"./dist/plugin-sdk/direct-dm-access.d.ts","default":"./dist/plugin-sdk/direct-dm-access.js"},"./plugin-sdk/extension-shared":{"types":"./dist/plugin-sdk/extension-shared.d.ts","default":"./dist/plugin-sdk/extension-shared.js"},"./plugin-sdk/global-singleton":{"types":"./dist/plugin-sdk/global-singleton.d.ts","default":"./dist/plugin-sdk/global-singleton.js"},"./plugin-sdk/group-activation":{"types":"./dist/plugin-sdk/group-activation.d.ts","default":"./dist/plugin-sdk/group-activation.js"},"./plugin-sdk/image-generation":{"types":"./dist/plugin-sdk/image-generation.d.ts","default":"./dist/plugin-sdk/image-generation.js"},"./plugin-sdk/inbound-envelope":{"types":"./dist/plugin-sdk/inbound-envelope.d.ts","default":"./dist/plugin-sdk/inbound-envelope.js"},"./plugin-sdk/lmstudio-runtime":{"types":"./dist/plugin-sdk/lmstudio-runtime.d.ts","default":"./dist/plugin-sdk/lmstudio-runtime.js"},"./plugin-sdk/memory-host-core":{"types":"./dist/plugin-sdk/memory-host-core.d.ts","default":"./dist/plugin-sdk/memory-host-core.js"},"./plugin-sdk/music-generation":{"types":"./dist/plugin-sdk/music-generation.d.ts","default":"./dist/plugin-sdk/music-generation.js"},"./plugin-sdk/outbound-runtime":{"types":"./dist/plugin-sdk/outbound-runtime.d.ts","default":"./dist/plugin-sdk/outbound-runtime.js"},"./plugin-sdk/provider-onboard":{"types":"./dist/plugin-sdk/provider-onboard.d.ts","default":"./dist/plugin-sdk/provider-onboard.js"},"./plugin-sdk/security-runtime":{"types":"./dist/plugin-sdk/security-runtime.d.ts","default":"./dist/plugin-sdk/security-runtime.js"},"./plugin-sdk/telegram-account":{"types":"./dist/plugin-sdk/telegram-account.d.ts","default":"./dist/plugin-sdk/telegram-account.js"},"./plugin-sdk/video-generation":{"types":"./dist/plugin-sdk/video-generation.d.ts","default":"./dist/plugin-sdk/video-generation.js"},"./plugin-sdk/channel-lifecycle":{"types":"./dist/plugin-sdk/channel-lifecycle.d.ts","default":"./dist/plugin-sdk/channel-lifecycle.js"},"./plugin-sdk/channel-streaming":{"types":"./dist/plugin-sdk/channel-streaming.d.ts","default":"./dist/plugin-sdk/channel-streaming.js"},"./plugin-sdk/command-detection":{"types":"./dist/plugin-sdk/command-detection.d.ts","default":"./dist/plugin-sdk/command-detection.js"},"./plugin-sdk/directory-runtime":{"types":"./dist/plugin-sdk/directory-runtime.d.ts","default":"./dist/plugin-sdk/directory-runtime.js"},"./plugin-sdk/heartbeat-runtime":{"types":"./dist/plugin-sdk/heartbeat-runtime.d.ts","default":"./dist/plugin-sdk/heartbeat-runtime.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/memory-host-files":{"types":"./dist/plugin-sdk/memory-host-files.d.ts","default":"./dist/plugin-sdk/memory-host-files.js"},"./plugin-sdk/messaging-targets":{"types":"./dist/plugin-sdk/messaging-targets.d.ts","default":"./dist/plugin-sdk/messaging-targets.js"},"./plugin-sdk/migration-runtime":{"types":"./dist/plugin-sdk/migration-runtime.d.ts","default":"./dist/plugin-sdk/migration-runtime.js"},"./plugin-sdk/persistent-dedupe":{"types":"./dist/plugin-sdk/persistent-dedupe.d.ts","default":"./dist/plugin-sdk/persistent-dedupe.js"},"./plugin-sdk/provider-env-vars":{"types":"./dist/plugin-sdk/provider-env-vars.d.ts","default":"./dist/plugin-sdk/provider-env-vars.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/account-resolution":{"types":"./dist/plugin-sdk/account-resolution.d.ts","default":"./dist/plugin-sdk/account-resolution.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/collection-runtime":{"types":"./dist/plugin-sdk/collection-runtime.d.ts","default":"./dist/plugin-sdk/collection-runtime.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/diagnostic-runtime":{"types":"./dist/plugin-sdk/diagnostic-runtime.d.ts","default":"./dist/plugin-sdk/diagnostic-runtime.js"},"./plugin-sdk/document-extractor":{"types":"./dist/plugin-sdk/document-extractor.d.ts","default":"./dist/plugin-sdk/document-extractor.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-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/outbound-send-deps":{"types":"./dist/plugin-sdk/outbound-send-deps.d.ts","default":"./dist/plugin-sdk/outbound-send-deps.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/secret-ref-runtime":{"types":"./dist/plugin-sdk/secret-ref-runtime.d.ts","default":"./dist/plugin-sdk/secret-ref-runtime.js"},"./plugin-sdk/session-visibility":{"types":"./dist/plugin-sdk/session-visibility.d.ts","default":"./dist/plugin-sdk/session-visibility.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-runtime-backend":{"types":"./dist/plugin-sdk/acp-runtime-backend.d.ts","default":"./dist/plugin-sdk/acp-runtime-backend.js"},"./plugin-sdk/agent-media-payload":{"types":"./dist/plugin-sdk/agent-media-payload.d.ts","default":"./dist/plugin-sdk/agent-media-payload.js"},"./plugin-sdk/channel-send-result":{"types":"./dist/plugin-sdk/channel-send-result.d.ts","default":"./dist/plugin-sdk/channel-send-result.js"},"./plugin-sdk/command-auth-native":{"types":"./dist/plugin-sdk/command-auth-native.d.ts","default":"./dist/plugin-sdk/command-auth-native.js"},"./plugin-sdk/concurrency-runtime":{"types":"./dist/plugin-sdk/concurrency-runtime.d.ts","default":"./dist/plugin-sdk/concurrency-runtime.js"},"./plugin-sdk/embedding-providers":{"types":"./dist/plugin-sdk/embedding-providers.d.ts","default":"./dist/plugin-sdk/embedding-providers.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/interactive-runtime":{"types":"./dist/plugin-sdk/interactive-runtime.d.ts","default":"./dist/plugin-sdk/interactive-runtime.js"},"./plugin-sdk/json-schema-runtime":{"types":"./dist/plugin-sdk/json-schema-runtime.d.ts","default":"./dist/plugin-sdk/json-schema-runtime.js"},"./plugin-sdk/media-understanding":{"types":"./dist/plugin-sdk/media-understanding.d.ts","default":"./dist/plugin-sdk/media-understanding.js"},"./plugin-sdk/provider-auth-login":{"types":"./dist/plugin-sdk/provider-auth-login.d.ts","default":"./dist/plugin-sdk/provider-auth-login.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/secret-file-runtime":{"types":"./dist/plugin-sdk/secret-file-runtime.d.ts","default":"./dist/plugin-sdk/secret-file-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/talk-config-runtime":{"types":"./dist/plugin-sdk/talk-config-runtime.d.ts","default":"./dist/plugin-sdk/talk-config-runtime.js"},"./plugin-sdk/codex-mcp-projection":{"types":"./dist/plugin-sdk/codex-mcp-projection.d.ts","default":"./dist/plugin-sdk/codex-mcp-projection.js"},"./plugin-sdk/conversation-runtime":{"types":"./dist/plugin-sdk/conversation-runtime.d.ts","default":"./dist/plugin-sdk/conversation-runtime.js"},"./plugin-sdk/json-unsafe-integers":{"types":"./dist/plugin-sdk/json-unsafe-integers.d.ts","default":"./dist/plugin-sdk/json-unsafe-integers.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/plugin-state-runtime":{"types":"./dist/plugin-sdk/plugin-state-runtime.d.ts","default":"./dist/plugin-sdk/plugin-state-runtime.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-model-types":{"types":"./dist/plugin-sdk/provider-model-types.d.ts","default":"./dist/plugin-sdk/provider-model-types.js"},"./plugin-sdk/runtime-group-policy":{"types":"./dist/plugin-sdk/runtime-group-policy.d.ts","default":"./dist/plugin-sdk/runtime-group-policy.js"},"./plugin-sdk/secret-input-runtime":{"types":"./dist/plugin-sdk/secret-input-runtime.d.ts","default":"./dist/plugin-sdk/secret-input-runtime.js"},"./plugin-sdk/system-event-runtime":{"types":"./dist/plugin-sdk/system-event-runtime.d.ts","default":"./dist/plugin-sdk/system-event-runtime.js"},"./plugin-sdk/text-utility-runtime":{"types":"./dist/plugin-sdk/text-utility-runtime.d.ts","default":"./dist/plugin-sdk/text-utility-runtime.js"},"./plugin-sdk/agent-harness-runtime":{"types":"./dist/plugin-sdk/agent-harness-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-runtime.js"},"./plugin-sdk/allowlist-config-edit":{"types":"./dist/plugin-sdk/allowlist-config-edit.d.ts","default":"./dist/plugin-sdk/allowlist-config-edit.js"},"./plugin-sdk/approval-auth-runtime":{"types":"./dist/plugin-sdk/approval-auth-runtime.d.ts","default":"./dist/plugin-sdk/approval-auth-runtime.js"},"./plugin-sdk/channel-config-schema":{"types":"./dist/plugin-sdk/channel-config-schema.d.ts","default":"./dist/plugin-sdk/channel-config-schema.js"},"./plugin-sdk/channel-config-writes":{"types":"./dist/plugin-sdk/channel-config-writes.d.ts","default":"./dist/plugin-sdk/channel-config-writes.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-pairing-paths":{"types":"./dist/plugin-sdk/channel-pairing-paths.d.ts","default":"./dist/plugin-sdk/channel-pairing-paths.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/image-generation-core":{"types":"./dist/plugin-sdk/image-generation-core.d.ts","default":"./dist/plugin-sdk/image-generation-core.js"},"./plugin-sdk/model-session-runtime":{"types":"./dist/plugin-sdk/model-session-runtime.d.ts","default":"./dist/plugin-sdk/model-session-runtime.js"},"./plugin-sdk/music-generation-core":{"types":"./dist/plugin-sdk/music-generation-core.d.ts","default":"./dist/plugin-sdk/music-generation-core.js"},"./plugin-sdk/plugin-config-runtime":{"types":"./dist/plugin-sdk/plugin-config-runtime.d.ts","default":"./dist/plugin-sdk/plugin-config-runtime.js"},"./plugin-sdk/provider-auth-api-key":{"types":"./dist/plugin-sdk/provider-auth-api-key.d.ts","default":"./dist/plugin-sdk/provider-auth-api-key.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-model-shared":{"types":"./dist/plugin-sdk/provider-model-shared.d.ts","default":"./dist/plugin-sdk/provider-model-shared.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/secure-random-runtime":{"types":"./dist/plugin-sdk/secure-random-runtime.d.ts","default":"./dist/plugin-sdk/secure-random-runtime.js"},"./plugin-sdk/session-store-runtime":{"types":"./dist/plugin-sdk/session-store-runtime.d.ts","default":"./dist/plugin-sdk/session-store-runtime.js"},"./plugin-sdk/setup-adapter-runtime":{"types":"./dist/plugin-sdk/setup-adapter-runtime.d.ts","default":"./dist/plugin-sdk/setup-adapter-runtime.js"},"./plugin-sdk/string-coerce-runtime":{"types":"./dist/plugin-sdk/string-coerce-runtime.d.ts","default":"./dist/plugin-sdk/string-coerce-runtime.js"},"./plugin-sdk/text-autolink-runtime":{"types":"./dist/plugin-sdk/text-autolink-runtime.d.ts","default":"./dist/plugin-sdk/text-autolink-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/web-content-extractor":{"types":"./dist/plugin-sdk/web-content-extractor.d.ts","default":"./dist/plugin-sdk/web-content-extractor.js"},"./plugin-sdk/approval-reply-runtime":{"types":"./dist/plugin-sdk/approval-reply-runtime.d.ts","default":"./dist/plugin-sdk/approval-reply-runtime.js"},"./plugin-sdk/channel-config-helpers":{"types":"./dist/plugin-sdk/channel-config-helpers.d.ts","default":"./dist/plugin-sdk/channel-config-helpers.js"},"./plugin-sdk/channel-entry-contract":{"types":"./dist/plugin-sdk/channel-entry-contract.d.ts","default":"./dist/plugin-sdk/channel-entry-contract.js"},"./plugin-sdk/channel-mention-gating":{"types":"./dist/plugin-sdk/channel-mention-gating.d.ts","default":"./dist/plugin-sdk/channel-mention-gating.js"},"./plugin-sdk/channel-reply-pipeline":{"types":"./dist/plugin-sdk/channel-reply-pipeline.d.ts","default":"./dist/plugin-sdk/channel-reply-pipeline.js"},"./plugin-sdk/channel-secret-runtime":{"types":"./dist/plugin-sdk/channel-secret-runtime.d.ts","default":"./dist/plugin-sdk/channel-secret-runtime.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/dangerous-name-runtime":{"types":"./dist/plugin-sdk/dangerous-name-runtime.d.ts","default":"./dist/plugin-sdk/dangerous-name-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/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/exec-approvals-runtime":{"types":"./dist/plugin-sdk/exec-approvals-runtime.d.ts","default":"./dist/plugin-sdk/exec-approvals-runtime.js"},"./plugin-sdk/gateway-method-runtime":{"types":"./dist/plugin-sdk/gateway-method-runtime.d.ts","default":"./dist/plugin-sdk/gateway-method-runtime.js"},"./plugin-sdk/inbound-reply-dispatch":{"types":"./dist/plugin-sdk/inbound-reply-dispatch.d.ts","default":"./dist/plugin-sdk/inbound-reply-dispatch.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/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/provider-oauth-runtime":{"types":"./dist/plugin-sdk/provider-oauth-runtime.d.ts","default":"./dist/plugin-sdk/provider-oauth-runtime.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/realtime-transcription":{"types":"./dist/plugin-sdk/realtime-transcription.d.ts","default":"./dist/plugin-sdk/realtime-transcription.js"},"./plugin-sdk/reply-dispatch-runtime":{"types":"./dist/plugin-sdk/reply-dispatch-runtime.d.ts","default":"./dist/plugin-sdk/reply-dispatch-runtime.js"},"./plugin-sdk/response-limit-runtime":{"types":"./dist/plugin-sdk/response-limit-runtime.d.ts","default":"./dist/plugin-sdk/response-limit-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/skill-commands-runtime":{"types":"./dist/plugin-sdk/skill-commands-runtime.d.ts","default":"./dist/plugin-sdk/skill-commands-runtime.js"},"./plugin-sdk/webhook-request-guards":{"types":"./dist/plugin-sdk/webhook-request-guards.d.ts","default":"./dist/plugin-sdk/webhook-request-guards.js"},"./plugin-sdk/agent-config-primitives":{"types":"./dist/plugin-sdk/agent-config-primitives.d.ts","default":"./dist/plugin-sdk/agent-config-primitives.js"},"./plugin-sdk/approval-client-runtime":{"types":"./dist/plugin-sdk/approval-client-runtime.d.ts","default":"./dist/plugin-sdk/approval-client-runtime.js"},"./plugin-sdk/approval-native-runtime":{"types":"./dist/plugin-sdk/approval-native-runtime.d.ts","default":"./dist/plugin-sdk/approval-native-runtime.js"},"./plugin-sdk/channel-ingress-runtime":{"types":"./dist/plugin-sdk/channel-ingress-runtime.d.ts","default":"./dist/plugin-sdk/channel-ingress-runtime.js"},"./plugin-sdk/channel-message-runtime":{"types":"./dist/plugin-sdk/channel-message-runtime.d.ts","default":"./dist/plugin-sdk/channel-message-runtime.js"},"./plugin-sdk/channel-runtime-context":{"types":"./dist/plugin-sdk/channel-runtime-context.d.ts","default":"./dist/plugin-sdk/channel-runtime-context.js"},"./plugin-sdk/memory-core-host-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-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-status":{"types":"./dist/plugin-sdk/memory-core-host-status.d.ts","default":"./dist/plugin-sdk/memory-core-host-status.js"},"./plugin-sdk/models-provider-runtime":{"types":"./dist/plugin-sdk/models-provider-runtime.d.ts","default":"./dist/plugin-sdk/models-provider-runtime.js"},"./plugin-sdk/native-command-registry":{"types":"./dist/plugin-sdk/native-command-registry.d.ts","default":"./dist/plugin-sdk/native-command-registry.js"},"./plugin-sdk/pair-loop-guard-runtime":{"types":"./dist/plugin-sdk/pair-loop-guard-runtime.d.ts","default":"./dist/plugin-sdk/pair-loop-guard-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/runtime-config-snapshot":{"types":"./dist/plugin-sdk/runtime-config-snapshot.d.ts","default":"./dist/plugin-sdk/runtime-config-snapshot.js"},"./plugin-sdk/session-binding-runtime":{"types":"./dist/plugin-sdk/session-binding-runtime.d.ts","default":"./dist/plugin-sdk/session-binding-runtime.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-command-config":{"types":"./dist/plugin-sdk/telegram-command-config.d.ts","default":"./dist/plugin-sdk/telegram-command-config.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/transport-ready-runtime":{"types":"./dist/plugin-sdk/transport-ready-runtime.d.ts","default":"./dist/plugin-sdk/transport-ready-runtime.js"},"./plugin-sdk/approval-gateway-runtime":{"types":"./dist/plugin-sdk/approval-gateway-runtime.d.ts","default":"./dist/plugin-sdk/approval-gateway-runtime.js"},"./plugin-sdk/approval-handler-runtime":{"types":"./dist/plugin-sdk/approval-handler-runtime.d.ts","default":"./dist/plugin-sdk/approval-handler-runtime.js"},"./plugin-sdk/channel-activity-runtime":{"types":"./dist/plugin-sdk/channel-activity-runtime.d.ts","default":"./dist/plugin-sdk/channel-activity-runtime.js"},"./plugin-sdk/channel-inbound-debounce":{"types":"./dist/plugin-sdk/channel-inbound-debounce.d.ts","default":"./dist/plugin-sdk/channel-inbound-debounce.js"},"./plugin-sdk/directory-config-runtime":{"types":"./dist/plugin-sdk/directory-config-runtime.d.ts","default":"./dist/plugin-sdk/directory-config-runtime.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/media-generation-runtime":{"types":"./dist/plugin-sdk/media-generation-runtime.d.ts","default":"./dist/plugin-sdk/media-generation-runtime.js"},"./plugin-sdk/provider-catalog-runtime":{"types":"./dist/plugin-sdk/provider-catalog-runtime.d.ts","default":"./dist/plugin-sdk/provider-catalog-runtime.js"},"./plugin-sdk/video-generation-runtime":{"types":"./dist/plugin-sdk/video-generation-runtime.d.ts","default":"./dist/plugin-sdk/video-generation-runtime.js"},"./plugin-sdk/approval-delivery-runtime":{"types":"./dist/plugin-sdk/approval-delivery-runtime.d.ts","default":"./dist/plugin-sdk/approval-delivery-runtime.js"},"./plugin-sdk/approval-reaction-runtime":{"types":"./dist/plugin-sdk/approval-reaction-runtime.d.ts","default":"./dist/plugin-sdk/approval-reaction-runtime.js"},"./plugin-sdk/channel-config-primitives":{"types":"./dist/plugin-sdk/channel-config-primitives.d.ts","default":"./dist/plugin-sdk/channel-config-primitives.js"},"./plugin-sdk/runtime-secret-resolution":{"types":"./dist/plugin-sdk/runtime-secret-resolution.d.ts","default":"./dist/plugin-sdk/runtime-secret-resolution.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/account-resolution-runtime":{"types":"./dist/plugin-sdk/account-resolution-runtime.d.ts","default":"./dist/plugin-sdk/account-resolution-runtime.js"},"./plugin-sdk/agent-harness-task-runtime":{"types":"./dist/plugin-sdk/agent-harness-task-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-task-runtime.js"},"./plugin-sdk/agent-harness-tool-runtime":{"types":"./dist/plugin-sdk/agent-harness-tool-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-tool-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/command-primitives-runtime":{"types":"./dist/plugin-sdk/command-primitives-runtime.d.ts","default":"./dist/plugin-sdk/command-primitives-runtime.js"},"./plugin-sdk/context-visibility-runtime":{"types":"./dist/plugin-sdk/context-visibility-runtime.d.ts","default":"./dist/plugin-sdk/context-visibility-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/provider-selection-runtime":{"types":"./dist/plugin-sdk/provider-selection-runtime.d.ts","default":"./dist/plugin-sdk/provider-selection-runtime.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/realtime-bootstrap-context":{"types":"./dist/plugin-sdk/realtime-bootstrap-context.d.ts","default":"./dist/plugin-sdk/realtime-bootstrap-context.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/session-transcript-runtime":{"types":"./dist/plugin-sdk/session-transcript-runtime.d.ts","default":"./dist/plugin-sdk/session-transcript-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/media-understanding-runtime":{"types":"./dist/plugin-sdk/media-understanding-runtime.d.ts","default":"./dist/plugin-sdk/media-understanding-runtime.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-multimodal":{"types":"./dist/plugin-sdk/memory-core-host-multimodal.d.ts","default":"./dist/plugin-sdk/memory-core-host-multimodal.js"},"./plugin-sdk/message-tool-delivery-hints":{"types":"./dist/plugin-sdk/message-tool-delivery-hints.d.ts","default":"./dist/plugin-sdk/message-tool-delivery-hints.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/qa-live-transport-scenarios":{"types":"./dist/plugin-sdk/qa-live-transport-scenarios.d.ts","default":"./dist/plugin-sdk/qa-live-transport-scenarios.js"},"./plugin-sdk/secret-provider-integration":{"types":"./dist/plugin-sdk/secret-provider-integration.d.ts","default":"./dist/plugin-sdk/secret-provider-integration.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-secret-basic-runtime":{"types":"./dist/plugin-sdk/channel-secret-basic-runtime.d.ts","default":"./dist/plugin-sdk/channel-secret-basic-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/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/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/string-normalization-runtime":{"types":"./dist/plugin-sdk/string-normalization-runtime.d.ts","default":"./dist/plugin-sdk/string-normalization-runtime.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-reply-options-runtime":{"types":"./dist/plugin-sdk/channel-reply-options-runtime.d.ts","default":"./dist/plugin-sdk/channel-reply-options-runtime.js"},"./plugin-sdk/inline-image-data-url-runtime":{"types":"./dist/plugin-sdk/inline-image-data-url-runtime.d.ts","default":"./dist/plugin-sdk/inline-image-data-url-runtime.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/native-command-config-runtime":{"types":"./dist/plugin-sdk/native-command-config-runtime.d.ts","default":"./dist/plugin-sdk/native-command-config-runtime.js"},"./plugin-sdk/provider-catalog-live-runtime":{"types":"./dist/plugin-sdk/provider-catalog-live-runtime.d.ts","default":"./dist/plugin-sdk/provider-catalog-live-runtime.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/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/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/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/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/provider-auth-login-flow-runtime":{"types":"./dist/plugin-sdk/provider-auth-login-flow-runtime.d.ts","default":"./dist/plugin-sdk/provider-auth-login-flow-runtime.js"},"./plugin-sdk/agent-harness-exec-review-runtime":{"types":"./dist/plugin-sdk/agent-harness-exec-review-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-exec-review-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-embedding-registry":{"types":"./dist/plugin-sdk/memory-core-host-embedding-registry.d.ts","default":"./dist/plugin-sdk/memory-core-host-embedding-registry.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"}},"scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"node scripts/run-oxlint-shards.mjs","test":"node scripts/test-projects.mjs","tsgo":"pnpm tsgo:core","build":"node scripts/build-all.mjs","check":"node scripts/check.mjs","start":"node openclaw.mjs","format":"oxfmt --write --threads=1","qa:e2e":"node --import tsx scripts/qa-e2e.ts","ui:dev":"node scripts/ui.js dev","verify":"node scripts/verify.mjs","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate'","ios:run":"bash scripts/ios-run.sh","test:ui":"pnpm ui:i18n:check && pnpm lint:ui:no-raw-window-open && node scripts/ensure-playwright-chromium.mjs && pnpm --dir ui test","tui:dev":"node scripts/run-with-env.mjs OPENCLAW_PROFILE=dev -- node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"node scripts/run-oxlint.mjs","lint:fix":"node scripts/run-oxlint.mjs --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"pnpm test:e2e:gateway && pnpm test:ui:e2e","test:max":"node scripts/test-projects-max.mjs","tsgo:all":"node scripts/run-tsgo.mjs -b tsconfig.projects.json","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","dup:check":"node scripts/check-duplicates.mjs","ios:build":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:apps":"pnpm lint:swift","lint:core":"node scripts/run-oxlint-shards.mjs --only=core --split-core","lint:docs":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc","proxy:run":"node scripts/run-node.mjs proxy run","qa:lab:ui":"pnpm openclaw qa ui","qa:lab:up":"node --import tsx scripts/qa-lab-up.ts","test:fast":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts","test:live":"node scripts/test-live.mjs","test:unit":"pnpm test:unit:fast && node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts","tsgo:core":"node scripts/run-tsgo.mjs -p tsconfig.core.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core.tsbuildinfo","tsgo:prod":"pnpm tsgo:core && pnpm tsgo:extensions","tsgo:test":"pnpm tsgo:core:test && pnpm tsgo:extensions:test","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-mdx && pnpm docs:check-i18n-glossary && pnpm docs:check-links && pnpm docs:map:check","ci:timings":"node scripts/ci-run-timings.mjs --latest-main","clean:dist":"node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write --threads=1","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config config/swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","preinstall":"node scripts/preinstall-package-manager-warning.mjs","prepush:ci":"bash scripts/prepush-ci.sh","test:force":"node --import tsx scripts/test-force.ts","test:watch":"node scripts/test-projects.mjs --watch","ui:install":"node scripts/ui.js install","android:run":"node scripts/run-android-gradle.mjs :app:installPlayDebug -- adb shell am start -n ai.openclaw.app/.MainActivity","audit:seams":"node scripts/audit-seams.mjs","check:timed":"node scripts/check-timed.mjs","crabbox:run":"node scripts/crabbox-wrapper.mjs run","deadcode:ci":"pnpm deadcode:report:ci:knip && pnpm deadcode:report:ci:ts-unused","dev:ui:mock":"node --import tsx scripts/control-ui-mock-dev.ts","format:diff":"oxfmt --write --threads=1 && git --no-pager diff","format:docs":"node scripts/format-docs.mjs","gateway:dev":"node scripts/run-with-env.mjs OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway","ios:version":"node --import tsx scripts/ios-version.ts --json","lint:kysely":"node scripts/check-kysely-guardrails.mjs","mac:package":"bash scripts/package-mac-app.sh","mac:restart":"bash scripts/restart-mac.sh","postinstall":"node scripts/postinstall-bundled-plugins.mjs","proxy:start":"node scripts/run-node.mjs proxy start","test:serial":"node scripts/test-projects-serial.mjs","test:ui:e2e":"node scripts/ensure-playwright-chromium.mjs && node scripts/run-vitest.mjs run --config test/vitest/vitest.ui-e2e.config.ts --configLoader runner","ts-topology":"node --import tsx scripts/ts-topology.ts","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"node scripts/run-android-gradle.mjs :app:testPlayDebugUnitTest","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 && pnpm plugins:assets:build && pnpm plugins:assets:copy && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","crabbox:stop":"node scripts/crabbox-wrapper.mjs stop","docs:map:gen":"node scripts/generate-docs-map.mjs","format:check":"oxfmt --check --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","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","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","qa:lab:build":"vite build --config extensions/qa-lab/web/vite.config.ts","qa:lab:watch":"vite build --watch --config extensions/qa-lab/web/vite.config.ts","release:beta":"node scripts/release-candidate-checklist.mjs","release:prep":"node scripts/release-preflight.mjs --fix","test:bundled":"node scripts/run-vitest.mjs run --config test/vitest/vitest.bundled.config.ts","test:changed":"node scripts/test-projects.mjs --changed origin/main","test:gateway":"node scripts/run-with-env.mjs OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts","tsgo:profile":"node scripts/profile-tsgo.mjs","tsgo:test:ui":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.ui.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-ui.tsbuildinfo","ui:i18n:sync":"node --import tsx scripts/control-ui-i18n.ts sync --write","changed:lanes":"node scripts/changed-lanes.mjs","check:changed":"node scripts/check-changed.mjs","db:kysely:gen":"node scripts/generate-kysely-types.mjs","deadcode:knip":"pnpm --config.minimum-release-age=0 dlx --package knip@6.8.0 knip --config config/knip.config.ts --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/gateway-watch-tmux.mjs gateway --force","lint:docs:fix":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc --fix","proxy:gateway":"node scripts/run-node.mjs proxy run -- node scripts/run-node.mjs gateway","qa:otel:smoke":"node --import tsx test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts","release:check":"pnpm release:generated:check && node --import tsx scripts/release-check.ts","test:channels":"node scripts/run-vitest.mjs run --config test/vitest/vitest.channels.config.ts","test:coverage":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage","test:macos:ci":"node 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/scripts/package-mac-app.test.ts test/scripts/package-mac-dist.test.ts test/scripts/create-dmg.test.ts test/scripts/codesign-mac-app.test.ts test/scripts/notarize-mac-artifact.test.ts","tsgo:core:all":"node scripts/run-tsgo.mjs -b tsconfig.core.projects.json","tsgo:test:src":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.src.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-src.tsbuildinfo","ui:i18n:check":"node --import tsx scripts/control-ui-i18n.ts check","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","crabbox:warmup":"node scripts/crabbox-wrapper.mjs warmup","deps:vuln:gate":"node scripts/dependency-vulnerability-gate.mjs","docs:check-mdx":"node scripts/check-docs-mdx.mjs docs README.md","docs:map:check":"node scripts/generate-docs-map.mjs --check","dup:check:json":"node scripts/check-duplicates.mjs --json","maturity:check":"node --import tsx scripts/qa/render-maturity-docs.ts --check","perf:web-fetch":"node --import tsx scripts/bench-web-fetch.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","proxy:coverage":"node scripts/run-node.mjs proxy coverage","qa:lab:up:fast":"node --import tsx scripts/qa-lab-up.ts --use-prebuilt-image --bind-ui-dist --skip-ui-build","test:contracts":"pnpm test:contracts:channels && pnpm test:contracts:plugins","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:extension":"node scripts/test-extension.mjs","test:sectriage":"node scripts/run-with-env.mjs OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts && node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --exclude src/process/exec.test.ts","test:unit:fast":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit-fast.config.ts","tsgo:core:test":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.core.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core-test.tsbuildinfo","ui:i18n:report":"node --import tsx scripts/control-ui-i18n-report.ts","android:install":"node scripts/run-android-gradle.mjs :app:installPlayDebug","android:release":"bash scripts/android-release.sh","android:version":"node --import tsx scripts/android-version.ts --json","check:workflows":"node scripts/check-workflows.mjs","ci:full-release":"node scripts/full-release-validation-at-sha.mjs","config:docs:gen":"node --import tsx scripts/generate-config-doc-baseline.ts --write","crabbox:hydrate":"node scripts/crabbox-wrapper.mjs actions hydrate","db:kysely:check":"node scripts/generate-kysely-types.mjs --verify","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","deps:pins:check":"node scripts/check-dependency-pins.mjs","docs:spellcheck":"bash scripts/docs-spellcheck.sh","ios:screenshots":"bash scripts/ios-screenshots.sh","lint:docker-e2e":"node scripts/check-docker-e2e-boundaries.mjs","lint:extensions":"node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.extensions.json extensions","maturity:render":"node --import tsx scripts/qa/render-maturity-docs.ts","release:prepare":"node --import tsx scripts/release-prepare.ts","release:version":"node --import tsx scripts/release-version.ts","test:docker:all":"node scripts/test-docker-all.mjs","test:extensions":"node scripts/test-projects.mjs extensions","test:live:cache":"node scripts/run-with-env.mjs OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 -- node --import tsx scripts/check-live-cache.ts","test:live:media":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts","test:windows:ci":"node scripts/test-projects.mjs src/shared/runtime-import.test.ts src/process/exec.windows.test.ts src/process/windows-command.test.ts src/infra/backup-create.windows.test.ts src/infra/windows-install-roots.test.ts src/node-host/invoke-system-run-allowlist.test.ts src/daemon/schtasks.startup-fallback.test.ts extensions/lobster/src/lobster-runner.test.ts test/scripts/format-generated-module.test.ts test/scripts/npm-runner.test.ts test/scripts/pnpm-runner.test.ts test/scripts/run-with-env.test.ts test/scripts/ui.test.ts test/scripts/vitest-process-group.test.ts","tsgo:extensions":"node scripts/run-tsgo.mjs -p tsconfig.extensions.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions.tsbuildinfo","android:assemble":"node scripts/run-android-gradle.mjs :app:assemblePlayDebug","apple:i18n:check":"node --import tsx scripts/apple-app-i18n.ts check","check:test-types":"pnpm tsgo:test","docs:check-links":"node scripts/docs-link-audit.mjs","ios:filelist:gen":"node scripts/ios-write-swift-filelist.mjs","ios:version:sync":"node --import tsx scripts/ios-sync-versioning.ts --write","native:i18n:sync":"node --import tsx scripts/native-app-i18n.ts sync --write","perf:issue-78851":"node --import tsx scripts/perf/issue-78851-model-resolution.ts","plugin-sdk:usage":"node --max-old-space-size=8192 --import tsx scripts/analyze-plugin-sdk-usage.ts","proxy:install-ca":"node --import tsx scripts/proxy-install-ca.mjs","test:auth:compat":"node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/server.auth.compat-baseline.test.ts src/gateway/client.test.ts src/gateway/reconnect-gating.test.ts && node scripts/run-vitest.mjs run packages/gateway-protocol/src/connect-error-details.test.ts","test:changed:max":"node scripts/test-projects-max.mjs --changed origin/main","test:e2e:gateway":"node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","test:perf:groups":"node scripts/test-group-report.mjs","test:sqlite:perf":"node --import tsx scripts/bench-sqlite-state.ts --profile default --output .artifacts/sqlite-perf/default.json","ci:timings:recent":"node scripts/ci-run-timings.mjs --recent 10","config:docs:check":"node --import tsx scripts/generate-config-doc-baseline.ts --check","config:schema:gen":"node --import tsx scripts/generate-base-config-schema.ts --write","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"node scripts/format-docs.mjs --check","gateway:dev:reset":"node scripts/run-with-env.mjs OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway --reset","gateway:watch:raw":"node scripts/watch-node.mjs gateway --force","ios:version:check":"node --import tsx scripts/ios-sync-versioning.ts --check","leak:embedded-run":"node --import tsx --expose-gc scripts/embedded-run-abort-leak.ts","native:i18n:check":"node --import tsx scripts/native-app-i18n.ts check","perf:kova:summary":"node scripts/kova-ci-summary.mjs","release:candidate":"node scripts/release-candidate-checklist.mjs","test:docker:rerun":"node scripts/docker-e2e-rerun.mjs","test:perf:imports":"node scripts/test-projects-imports.mjs","android:i18n:check":"node --import tsx scripts/android-app-i18n.ts check","build:ci-artifacts":"node scripts/build-all.mjs ciArtifacts","build:strict-smoke":"pnpm plugins:assets:build && 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 scripts/run-with-env.mjs OPENCLAW_PLUGIN_SDK_CANONICAL_DTS=1 -- node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node scripts/check-plugin-sdk-exports.mjs","canvas:a2ui:bundle":"node scripts/bundle-a2ui.mjs","check:architecture":"pnpm check:import-cycles && pnpm check:madge-import-cycles && pnpm check:deprecated-api-usage && pnpm check:deprecated-jsdoc && pnpm db:kysely:check && pnpm lint:kysely && pnpm check:database-first-legacy-stores","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","deps:patches:check":"node scripts/check-package-patches.mjs","dup:check:coverage":"node scripts/check-duplicates.mjs --coverage","ios:release:upload":"bash scripts/ios-release-upload.sh","plugin-sdk:api:gen":"node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --write","plugin-sdk:surface":"node --max-old-space-size=8192 scripts/plugin-sdk-surface-report.mjs","plugins:sync:check":"node --import tsx scripts/sync-plugin-versions.ts --check","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","release:beta-smoke":"node --import tsx scripts/release-beta-smoke.ts","test:e2e:openshell":"node scripts/run-with-env.mjs OPENCLAW_E2E_OPENSHELL=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts extensions/openshell/src/backend.e2e.test.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","test:startup:bench":"node --import tsx scripts/bench-cli-startup.ts","tool-display:check":"node --import tsx scripts/tool-display.ts --check","tool-display:write":"node --import tsx scripts/tool-display.ts --write","tsgo:test:packages":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.packages.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-packages.tsbuildinfo","tui:pty:test:watch":"node --import tsx scripts/dev/tui-pty-test-watch.ts","android:screenshots":"bash scripts/android-screenshots.sh","android:version:pin":"node --import tsx scripts/android-pin-version.ts","check:import-cycles":"node --import tsx scripts/check-import-cycles.ts","config:channels:gen":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --write","config:schema:check":"node --import tsx scripts/generate-base-config-schema.ts --check","deps:changes:report":"node scripts/dependency-changes-report.mjs","deps:root-ownership":"node scripts/root-dependency-ownership-audit.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","ios:release:archive":"bash scripts/ios-release-archive.sh","ios:release:prepare":"bash scripts/ios-release-prepare.sh","perf:source:summary":"node scripts/openclaw-performance-source-summary.mjs","plugins:assets:copy":"node scripts/bundled-plugin-assets.mjs --phase copy","qa:prometheus:smoke":"node scripts/run-node.mjs qa suite --provider-mode mock-openai --scenario docker-prometheus-smoke --concurrency 1 --fast","release:verify-beta":"node --import tsx scripts/release-verify-beta.ts","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","test:docker:timings":"node scripts/docker-e2e-timings.mjs","test:startup:memory":"node scripts/ensure-cli-startup-build.mjs && node scripts/check-cli-startup-memory.mjs","tsgo:extensions:all":"node scripts/run-tsgo.mjs -b tsconfig.extensions.projects.json","android:lint:android":"node scripts/run-android-gradle.mjs :app:lintPlayDebug :app:lintThirdPartyDebug","android:version:sync":"node --import tsx scripts/android-sync-versioning.ts --write","build:plugin-sdk:dts":"node scripts/run-tsgo.mjs -p tsconfig.plugin-sdk.dts.json --declaration true","codex-supervisor:mcp":"node --import tsx extensions/codex-supervisor/src/mcp-serve.ts","plugin-sdk:api:check":"node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check","plugins:assets:build":"node scripts/bundled-plugin-assets.mjs --phase build","prompt:snapshots:gen":"node --import tsx scripts/generate-prompt-snapshots.ts --write","release:prep:version":"node scripts/release-preflight.mjs --fix --scope version","runtime-sidecars:gen":"node --import tsx scripts/generate-runtime-sidecar-paths-baseline.ts --write","test:build:singleton":"node scripts/test-built-plugin-singleton.mjs","test:docker:cron-cli":"bash scripts/e2e/cron-cli-docker.sh","test:docker:live:all":"node scripts/run-with-env.mjs OPENCLAW_DOCKER_ALL_LIVE_MODE=only -- node scripts/test-docker-all.mjs","test:parallels:linux":"bash scripts/e2e/parallels-linux-smoke.sh","test:parallels:macos":"bash scripts/e2e/parallels-macos-smoke.sh","test:restart:gateway":"node --import tsx scripts/bench-gateway-restart.ts","test:startup:gateway":"node --import tsx scripts/bench-gateway-startup.ts","test:unit:fast:audit":"node scripts/test-unit-fast-audit.mjs","tsgo:extensions:test":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test.tsbuildinfo","tsgo:test:extensions":"pnpm tsgo:extensions:test","android:version:check":"node --import tsx scripts/android-sync-versioning.ts --check","check:timed:all-types":"node scripts/check-timed.mjs --include-test-types","config:channels:check":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check","deadcode:dependencies":"pnpm --config.minimum-release-age=0 dlx --package knip@6.8.0 knip --config config/knip.config.ts --production --no-progress --reporter compact --dependencies --no-config-hints","deadcode:unused-files":"node scripts/check-deadcode-unused-files.mjs","deps:shrinkwrap:check":"node scripts/generate-npm-shrinkwrap.mjs --all --check","mobile:release:record":"node --import tsx scripts/mobile-release-ref.ts record","plugins:inventory:gen":"node scripts/generate-plugin-inventory-doc.mjs --write","test:coverage:changed":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage --changed origin/main","test:docker:e2e-build":"bash scripts/e2e/build-image.sh","test:docker:local:all":"node scripts/run-with-env.mjs OPENCLAW_DOCKER_ALL_LIVE_MODE=skip -- node scripts/test-docker-all.mjs","test:docker:openwebui":"bash scripts/e2e/openwebui-docker.sh","test:extensions:batch":"node scripts/test-extension-batch.mjs","test:live:media:image":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts image","test:live:media:music":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts music","test:live:media:video":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts video","android:bundle:release":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android play_store_archive'","android:release:upload":"bash scripts/android-release-upload.sh","check:deprecated-jsdoc":"node scripts/check-deprecated-jsdoc.mjs","mobile:release:resolve":"node --import tsx scripts/mobile-release-ref.ts resolve","policy:config-coverage":"node --import tsx scripts/check-policy-config-coverage.ts","probe:anthropic:prompt":"node --import tsx scripts/anthropic-prompt-probe.ts","prompt:snapshots:check":"node --import tsx scripts/generate-prompt-snapshots.ts --check","qa:observability:smoke":"pnpm qa:otel:smoke && pnpm qa:prometheus:smoke","release-metadata:check":"node scripts/check-release-metadata-only.mjs","runtime-sidecars:check":"node --import tsx scripts/generate-runtime-sidecar-paths-baseline.ts --check","test:contracts:plugins":"node scripts/run-vitest.mjs run --config test/vitest/vitest.contracts-plugin.config.ts --maxWorkers=1","test:docker:live-build":"bash scripts/test-live-build-docker.sh","test:extensions:memory":"node scripts/profile-extension-memory.mjs","test:parallels:windows":"bash scripts/e2e/parallels-windows-smoke.sh","test:perf:profile:main":"node scripts/run-vitest-profile.mjs main","test:sqlite:perf:large":"node --import tsx scripts/bench-sqlite-state.ts --profile large --output .artifacts/sqlite-perf/large.json","test:sqlite:perf:smoke":"node --import tsx scripts/bench-sqlite-state.ts --profile smoke --output .artifacts/sqlite-perf/smoke.json","test:stability:gateway":"node scripts/run-with-env.mjs OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/gateway-stability.test.ts && node scripts/run-with-env.mjs OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.logging.config.ts src/logging/diagnostic-stability-bundle.test.ts && node scripts/run-with-env.mjs OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.infra.config.ts src/infra/fatal-error-hooks.test.ts","tui:pty:test:watch:all":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode all","android:release:archive":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android play_store_archive'","android:run:third-party":"node scripts/run-android-gradle.mjs :app:installThirdPartyDebug -- adb shell am start -n ai.openclaw.app/.MainActivity","canvas:a2ui:native:sync":"node scripts/sync-native-a2ui.mjs --write","check:protocol-coverage":"node scripts/check-protocol-event-coverage.mjs","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","lint:extensions:bundled":"node scripts/run-bundled-extension-oxlint.mjs","plugin-sdk:sync-exports":"node scripts/sync-plugin-sdk-exports.mjs","plugins:boundary-report":"node --import tsx scripts/plugin-boundary-report.ts","plugins:inventory:check":"node scripts/generate-plugin-inventory-doc.mjs --check","qa:otel:collector-smoke":"node --import tsx test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts --collector docker","release:generated:check":"node scripts/release-preflight.mjs --check","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:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","test:live:codex-harness":"node scripts/test-live.mjs --codex-harness -- src/gateway/gateway-codex-harness.live.test.ts","test:perf:changed:bench":"node scripts/bench-test-changed.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","tui:pty:test:watch:fake":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode fake","android:release:metadata":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android metadata'","android:test:integration":"node scripts/run-with-env.mjs OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","android:test:third-party":"node scripts/run-android-gradle.mjs :app:testThirdPartyDebugUnitTest","canvas:a2ui:native:check":"node scripts/sync-native-a2ui.mjs --check","check:base-config-schema":"node --import tsx scripts/generate-base-config-schema.ts --check","check:static-import-sccs":"pnpm check:madge-import-cycles","check:timed:architecture":"node scripts/check-timed.mjs --include-architecture","deps:shrinkwrap:generate":"node scripts/generate-npm-shrinkwrap.mjs --all","docs:check-i18n-glossary":"node scripts/check-docs-i18n-glossary.mjs","docs:check-links:anchors":"node scripts/docs-link-audit.mjs --anchors","ios:app-review-notes:pdf":"xcrun swift scripts/ios-app-review-notes-pdf.swift apps/ios/APP-REVIEW-NOTES.md apps/ios/build/app-review/APP-REVIEW-NOTES.pdf","ios:release:signing:plan":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_plan'","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","lint:extensions:channels":"node scripts/run-extension-channel-oxlint.mjs","mobile:release:preflight":"node --import tsx scripts/mobile-release-ref.ts preflight","plugin-sdk:check-exports":"node scripts/sync-plugin-sdk-exports.mjs --check","plugin-sdk:surface:check":"node --max-old-space-size=8192 scripts/plugin-sdk-surface-report.mjs --check","release:plugins:npm:plan":"node --import tsx scripts/plugin-npm-release-plan.ts","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:mcp-channels":"bash scripts/e2e/mcp-channels-docker.sh","test:perf:groups:compare":"node scripts/test-group-report.mjs --compare","test:perf:profile:runner":"node scripts/run-vitest-profile.mjs runner","test:startup:bench:check":"node scripts/test-cli-startup-bench-budget.mjs","test:startup:bench:smoke":"node scripts/ensure-cli-startup-build.mjs && node --import tsx scripts/bench-cli-startup.ts --preset real --case gatewayStatusJson --runs 1 --warmup 0 --output .artifacts/cli-startup-bench-smoke.json","tui:pty:test:watch:local":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode local","android:release:preflight":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android release_preflight'","check:madge-import-cycles":"node --import tsx scripts/check-madge-import-cycles.ts","check:no-conflict-markers":"node scripts/check-no-conflict-markers.mjs","deps:root-ownership:check":"node scripts/root-dependency-ownership-audit.mjs --check","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","ios:release:signing:check":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_check'","ios:release:signing:setup":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_setup'","release:fast-pretag-check":"bash scripts/release-fast-pretag-check.sh","release:plugins:npm:check":"node --import tsx scripts/plugin-npm-release-check.ts","test:docker:compose-setup":"bash scripts/e2e/compose-setup.sh","test:docker:config-reload":"bash scripts/e2e/config-reload-source-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:docker:live-acp-bind":"bash scripts/test-live-acp-bind-docker.sh","test:docker:plugin-update":"bash scripts/e2e/plugin-update-unchanged-docker.sh","test:docker:skill-install":"bash scripts/e2e/skill-install-docker.sh","test:env-mutations:report":"node --import tsx scripts/test-env-mutation-report.ts","test:live:models-profiles":"node scripts/test-live.mjs -- src/agents/models.profiles.live.test.ts","test:parallels:npm-update":"bash scripts/e2e/parallels-npm-update-smoke.sh","test:perf:imports:changed":"node scripts/test-projects-imports.mjs --changed origin/main","test:startup:bench:update":"node scripts/test-update-cli-startup-bench.mjs","test:voicecall:closedloop":"node scripts/test-voicecall-closedloop.mjs","android:release:auth:check":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android auth_check'","check:deprecated-api-usage":"node scripts/check-deprecated-api-usage.mjs","check:temp-path-guardrails":"node --import tsx scripts/check-temp-path-guardrails.ts","deps:shrinkwrap:root:check":"node scripts/generate-npm-shrinkwrap.mjs --check","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","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","release:openclaw:npm:check":"node --import tsx scripts/openclaw-npm-release-check.ts","test:cli-response:contract":"node scripts/build-all.mjs cliStartup && node scripts/test-cli-startup-bench-budget.mjs --preset response --runs 1 --warmup 0 --timeout-ms 10000 --skip-baseline","test:gateway:cpu-scenarios":"node scripts/check-gateway-cpu-scenarios.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:live:gateway-profiles":"node scripts/test-live.mjs -- src/gateway/gateway-models.profiles.live.test.ts","test:skip-inventory:report":"node --import tsx scripts/test-skip-inventory.ts","android:install:third-party":"node scripts/run-android-gradle.mjs :app:installThirdPartyDebug","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","deps:transitive-risk:report":"node scripts/transitive-manifest-risk-report.mjs","lint:tmp:tsgo-core-boundary":"node scripts/check-tsgo-core-boundary.mjs","test:docker:codex-on-demand":"bash scripts/e2e/codex-on-demand-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","test:docker:live-codex-bind":"OPENCLAW_LIVE_CODEX_BIND=1 OPENCLAW_LIVE_CODEX_TEST_FILES=src/gateway/gateway-codex-bind.live.test.ts bash scripts/test-live-codex-harness-docker.sh","test:docker:package-install":"bash scripts/e2e/docker-package-install.sh","android:assemble:third-party":"node scripts/run-android-gradle.mjs :app:assembleThirdPartyDebug","android:release:signing:plan":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_plan'","check:changelog-attributions":"node scripts/check-changelog-attributions.mjs","check:media-download-helpers":"node scripts/check-media-download-helper-roundtrip.mjs","check:opengrep-rule-metadata":"node security/opengrep/check-rule-metadata.mjs","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","deps:ownership-surface:check":"node scripts/dependency-ownership-surface-report.mjs --check","lint:tmp:no-random-messaging":"node scripts/check-no-random-messaging-tmp.mjs","plugins:boundary-report:json":"node --import tsx scripts/plugin-boundary-report.ts --json","release:plugins:clawhub:plan":"node --import tsx scripts/plugin-clawhub-release-plan.ts","test:docker:codex-media-path":"bash scripts/e2e/codex-media-path-docker.sh","test:docker:cron-mcp-cleanup":"bash scripts/e2e/cron-mcp-cleanup-docker.sh","test:docker:kitchen-sink-rpc":"bash scripts/e2e/kitchen-sink-rpc-docker.sh","test:docker:live-cli-backend":"bash scripts/test-live-cli-backend-docker.sh","test:docker:live-plugin-tool":"bash scripts/e2e/live-plugin-tool-docker.sh","test:docker:update-migration":"env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@2026.4.23} OPENCLAW_UPGRADE_SURVIVOR_SCENARIO=${OPENCLAW_UPGRADE_SURVIVOR_SCENARIO:-plugin-deps-cleanup} bash scripts/e2e/upgrade-survivor-docker.sh","test:docker:upgrade-survivor":"bash scripts/e2e/upgrade-survivor-docker.sh","test:gateway:memory-fd-repro":"node scripts/check-memory-fd-repro.mjs","android:release:signing:check":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_check'","build:plugin-sdk:strict-smoke":"node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/run-with-env.mjs OPENCLAW_PLUGIN_SDK_CANONICAL_DTS=1 -- node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node scripts/check-plugin-sdk-exports.mjs","check:runtime-sidecar-loaders":"node --import tsx scripts/check-runtime-sidecar-loaders.mjs","deps:ownership-surface:report":"node scripts/dependency-ownership-surface-report.mjs","deps:shrinkwrap:changed:check":"node scripts/generate-npm-shrinkwrap.mjs --changed --check","deps:shrinkwrap:root:generate":"node scripts/generate-npm-shrinkwrap.mjs","ios:release:signing:sync:pull":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_sync_pull'","ios:release:signing:sync:push":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_sync_push'","lint:tmp:dynamic-import-warts":"node scripts/check-dynamic-import-warts.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","release:plugins:clawhub:check":"node --import tsx scripts/plugin-clawhub-release-check.ts","test:docker:crestodian-rescue":"bash scripts/e2e/crestodian-rescue-docker.sh","test:docker:multi-node-update":"bash scripts/e2e/multi-node-update-docker.sh","test:docker:npm-telegram-live":"bash scripts/e2e/npm-telegram-live-docker.sh","test:docker:openai-chat-tools":"bash scripts/e2e/openai-chat-tools-docker.sh","test:docker:openai-image-auth":"bash scripts/e2e/openai-image-auth-docker.sh","test:gateway:watch-regression":"node scripts/check-gateway-watch-regression.mjs","test:plugins:gateway-gauntlet":"node scripts/check-plugin-gateway-gauntlet.mjs","test:plugins:kitchen-sink-rpc":"node --import tsx scripts/e2e/kitchen-sink-rpc-walk.mjs","codex-app-server:protocol:sync":"node --import tsx scripts/sync-codex-app-server-protocol.ts","test:docker:commitments-safety":"bash scripts/e2e/commitments-safety-docker.sh","test:docker:crestodian-planner":"bash scripts/e2e/crestodian-planner-docker.sh","test:docker:live-codex-harness":"bash scripts/test-live-codex-harness-docker.sh","test:docker:live-models:claude":"OPENCLAW_LIVE_PROVIDERS=claude-cli OPENCLAW_LIVE_MODELS=claude-cli/claude-sonnet-4-6 bash scripts/test-live-models-docker.sh","test:docker:live-models:gemini":"OPENCLAW_LIVE_PROVIDERS=google-gemini-cli OPENCLAW_LIVE_MODELS=google-gemini-cli/gemini-3.1-pro-preview bash scripts/test-live-models-docker.sh","test: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'","codex-app-server:protocol:check":"node --import tsx scripts/check-codex-app-server-protocol.ts","lint:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","plugins:boundary-report:summary":"node --import tsx scripts/plugin-boundary-report.ts --summary","test:docker:kitchen-sink-plugin":"bash scripts/e2e/kitchen-sink-plugin-docker.sh","test:docker:live-acp-bind:codex":"OPENCLAW_LIVE_ACP_BIND_AGENT=codex bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:droid":"OPENCLAW_LIVE_ACP_BIND_AGENT=droid OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh","test:docker:live-gateway:claude":"OPENCLAW_LIVE_GATEWAY_PROVIDERS=claude-cli OPENCLAW_LIVE_GATEWAY_MODELS=claude-cli/claude-sonnet-4-6 bash scripts/test-live-gateway-models-docker.sh","test:docker:live-gateway:gemini":"OPENCLAW_LIVE_GATEWAY_PROVIDERS=google-gemini-cli OPENCLAW_LIVE_GATEWAY_MODELS=google-gemini-cli/gemini-3.1-pro-preview bash scripts/test-live-gateway-models-docker.sh","test:docker:update-restart-auth":"env OPENCLAW_UPGRADE_SURVIVOR_UPDATE_RESTART_MODE=auto-auth OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh","deps:shrinkwrap:changed:generate":"node scripts/generate-npm-shrinkwrap.mjs --changed","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","qa:observability:collector-smoke":"pnpm qa:otel:collector-smoke && pnpm qa:prometheus:smoke","test:docker:browser-cdp-snapshot":"bash scripts/e2e/browser-cdp-snapshot-docker.sh","test:docker:crestodian-first-run":"bash scripts/e2e/crestodian-first-run-docker.sh","test:docker:live-acp-bind:claude":"OPENCLAW_LIVE_ACP_BIND_AGENT=claude bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:gemini":"OPENCLAW_LIVE_ACP_BIND_AGENT=gemini bash scripts/test-live-acp-bind-docker.sh","test:docker:release-media-memory":"bash scripts/e2e/release-media-memory-docker.sh","test:docker:release-user-journey":"bash scripts/e2e/release-user-journey-docker.sh","test:extensions:package-boundary":"node scripts/check-extension-package-tsc-boundary.mjs","android:release:signing:sync:pull":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_sync_pull'","android:release:signing:sync:push":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_sync_push'","lint:plugins:no-extension-imports":"node scripts/check-plugin-extension-import-boundary.mjs","prompt:snapshots:sync-codex-model":"node --import tsx scripts/sync-codex-model-prompt-fixture.ts","test:build:status-message-runtime":"node scripts/test-built-status-message-runtime.mjs","test:docker:live-codex-media-path":"OPENCLAW_LIVE_CODEX_HARNESS_AUTH=api-key OPENCLAW_LIVE_CODEX_HARNESS_CHAT_IMAGE_PROBE=1 OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0 bash scripts/test-live-codex-harness-docker.sh","test:docker:live-codex-npm-plugin":"bash scripts/e2e/codex-npm-plugin-live-docker.sh","test:docker:mcp-code-mode-gateway":"bash scripts/e2e/mcp-code-mode-gateway-docker.sh","test:docker:update-channel-switch":"bash scripts/e2e/update-channel-switch-docker.sh","test:docker:update-corrupt-plugin":"bash scripts/e2e/update-corrupt-plugin-docker.sh","check:database-first-legacy-stores":"node scripts/check-database-first-legacy-stores.mjs","lint:tmp:session-accessor-boundary":"node scripts/check-session-accessor-boundary.mjs","lint:web-fetch-provider-boundaries":"node scripts/check-web-fetch-provider-boundaries.mjs","test:docker:agent-bundle-mcp-tools":"bash scripts/e2e/agent-bundle-mcp-tools-docker.sh","test:docker:live-acp-bind:opencode":"OPENCLAW_LIVE_ACP_BIND_AGENT=opencode OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh","test:docker:live-subagent-announce":"bash scripts/test-live-subagent-announce-docker.sh","check:no-runtime-action-load-config":"node scripts/check-no-runtime-action-load-config.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","test:docker:live-cli-backend:claude":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview bash scripts/test-live-cli-backend-docker.sh","test:docker:plugin-lifecycle-matrix":"bash scripts/e2e/plugin-lifecycle-matrix-docker.sh","test:docker:session-runtime-context":"bash scripts/e2e/session-runtime-context-docker.sh","test:e2e:status-corrupt-plugin-deps":"bash scripts/e2e/status-corrupt-plugin-deps.sh","test:live:crestodian-rescue-channel":"node scripts/run-with-env.mjs OPENCLAW_LIVE_CRESTODIAN_RESCUE_CHANNEL=1 -- node scripts/test-live.mjs -- src/crestodian/rescue-channel.live.test.ts","test:plugins:init-provider-scaffold":"node --import tsx scripts/validate-plugin-init-provider-scaffold.ts","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","test:docker:release-typed-onboarding":"bash scripts/e2e/release-typed-onboarding-docker.sh","test:docker:root-managed-vps-upgrade":"env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_ROOT_MANAGED_VPS=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@2026.5.7} OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh","check:bundled-channel-config-metadata":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check","lint:extensions:telegram-grammy-types":"node scripts/check-telegram-grammy-types-imports.mjs","lint:plugins:no-extension-src-imports":"node --import tsx scripts/check-no-extension-src-imports.ts","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","release:openclaw:npm:verify-published":"node --import tsx scripts/openclaw-npm-postpublish-verify.ts","test:docker:npm-onboard-channel-agent":"bash scripts/e2e/npm-onboard-channel-agent-docker.sh","test:docker:openai-web-search-minimal":"bash scripts/e2e/openai-web-search-minimal-docker.sh","lint:extensions:no-plugin-sdk-internal":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=plugin-sdk-internal","lint:tmp:session-accessor-boundary:gen":"node scripts/check-session-accessor-boundary.mjs --update-debt-baseline","test:docker:live-mcp-code-mode-gateway":"bash scripts/e2e/mcp-code-mode-gateway-live-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:release-plugin-marketplace":"bash scripts/e2e/release-plugin-marketplace-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:gemini:mcp":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:extensions:package-boundary:canary":"node scripts/check-extension-package-tsc-boundary.mjs --mode=canary","test:docker:release-upgrade-user-journey":"bash scripts/e2e/release-upgrade-user-journey-docker.sh","test:extensions:package-boundary:compile":"node scripts/check-extension-package-tsc-boundary.mjs --mode=compile","lint:extensions:no-src-outside-plugin-sdk":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=src-outside-plugin-sdk","lint:plugins:plugin-sdk-subpaths-exported":"node scripts/check-plugin-sdk-subpath-exports.mjs","test:docker:plugin-binding-command-escape":"bash scripts/e2e/plugin-binding-command-escape-docker.sh","test:docker:agents-delete-shared-workspace":"bash scripts/e2e/agents-delete-shared-workspace-docker.sh","test:docker:live-cli-backend:claude:resume":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini:resume":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","lint:extensions:no-relative-outside-package":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=relative-outside-package","lint:plugins:no-extension-test-core-imports":"node --import tsx scripts/check-no-extension-test-core-imports.ts","lint:tmp:session-transcript-reader-boundary":"node scripts/check-session-transcript-reader-boundary.mjs","test:docker:npm-onboard-slack-channel-agent":"OPENCLAW_NPM_ONBOARD_CHANNEL=slack bash scripts/e2e/npm-onboard-channel-agent-docker.sh","lint:extensions:no-deprecated-channel-access":"node --import tsx scripts/check-no-deprecated-channel-access.ts","test:docker:bundled-plugin-install-uninstall":"bash scripts/e2e/bundled-plugin-install-uninstall-docker.sh","lint:extensions:no-guarded-wildcard-reexports":"node scripts/check-extension-wildcard-reexports.mjs","test:docker:npm-onboard-discord-channel-agent":"OPENCLAW_NPM_ONBOARD_CHANNEL=discord bash scripts/e2e/npm-onboard-channel-agent-docker.sh","lint:extensions:no-plugin-sdk-wildcard-reexports":"node scripts/check-plugin-sdk-wildcard-reexports.mjs","test:docker:live-cli-backend:claude-subscription":"OPENCLAW_LIVE_CLI_BACKEND_AUTH=subscription OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_DISABLE_MCP_CONFIG=1 OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=0 bash scripts/test-live-cli-backend-docker.sh","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"_resolved":"/private/tmp/claude-503/-Users-openclaw-projects-brad-cowork-test/3b2f36d2-d6cd-44a0-ab0d-cd86bcf7189f/scratchpad/soulclaw-2026.7.2.tgz","_integrity":"sha512-3Dly2ZJOEBsMzy5LrLPPJIN3nGBn9Z+D8bXcKqgDlrBJ+pSrCCdKqq6uavjA7gciwIUQ31LqFhU0Nz4h2vxL+w==","repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"8.21.0","tar":"7.5.19","zod":"4.4.3","diff":"9.0.0","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","json5":"2.2.3","jszip":"3.10.1","tslog":"4.10.2","croner":"10.0.1","dotenv":"17.4.2","grammy":"1.44.0","ignore":"7.0.5","kysely":"0.29.2","openai":"6.45.0","qrcode":"1.5.4","undici":"8.5.0","clawpdf":"0.3.0","express":"5.2.1","typebox":"1.3.3","chokidar":"5.0.0","linkedom":"0.18.12","web-push":"3.6.7","commander":"15.0.0","file-type":"22.0.1","minimatch":"10.2.5","rastermill":"0.3.1","typescript":"6.0.3","@clack/core":"1.4.2","@openclaw/ai":"2026.7.1","highlight.js":"11.11.1","partial-json":"0.1.7","quickjs-wasi":"3.0.2","@google/genai":"2.10.0","node-edge-tts":"1.2.10","@clack/prompts":"1.6.0","hosted-git-info":"10.1.1","playwright-core":"1.61.1","proper-lockfile":"4.1.2","web-tree-sitter":"0.26.10","@grammyjs/runner":"2.0.3","@homebridge/ciao":"1.3.9","@lydell/node-pty":"1.2.0-beta.12","tree-sitter-bash":"0.25.1","@anthropic-ai/sdk":"0.109.1","@openclaw/fs-safe":"0.4.1","@openclaw/proxyline":"0.3.3","@mistralai/mistralai":"2.4.0","@mozilla/readability":"0.6.0","@earendil-works/pi-tui":"0.80.3","@agentclientprotocol/sdk":"1.1.0","@modelcontextprotocol/sdk":"1.29.0","@silvia-odwyer/photon-node":"0.3.4","@grammyjs/transformer-throttler":"1.2.1"},"_hasShrinkwrap":true,"readmeFilename":"README.md","devDependencies":{"lit":"3.3.3","tsx":"4.22.4","jscpd":"4.2.4","jsdom":"29.1.1","oxfmt":"0.57.0","shiki":"4.3.0","unrun":"0.3.1","oxlint":"1.72.0","tsdown":"0.22.1","vitest":"4.1.9","esbuild":"0.28.1","sigstore":"4.1.1","@a2ui/lit":"0.10.1","@types/ws":"8.18.1","@mdx-js/mdx":"3.1.1","@types/node":"26.1.0","@lit/context":"1.1.6","signal-utils":"0.21.1","@shikijs/core":"4.3.0","@types/express":"5.0.6","@grammyjs/types":"3.28.0","oxlint-tsgolint":"0.24.0","@lit-labs/signals":"0.3.0","@copilotkit/aimock":"1.35.0","@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.9","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4","@shikijs/engine-oniguruma":"4.3.0","@shikijs/engine-javascript":"4.3.0","@typescript/native-preview":"7.0.0-dev.20260704.1"},"optionalDependencies":{"sqlite-vec":"0.1.9"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.7.2_1784852267696_0.5169092635540791","host":"s3://npm-registry-packages-npm-production"}},"2026.7.3":{"name":"soulclaw","version":"2026.7.3","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.7.3","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"36cd6dd9440fb3402540108dde0d11dac5d56339","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.7.3.tgz","fileCount":8637,"integrity":"sha512-edEfH23dLGttPA2kIkV+kPpG8iXtPhrS29JVmFoNz0o4Wal3c58dVyr5HBMviNzr9/YhCqF2/z2A//XPP1Y2mQ==","signatures":[{"sig":"MEYCIQDGxC+Vbo5DX8kKvh5NrZnnaA1nvsObF3rJubD5v49IbAIhAMdDT2+3LwsQ6D5nKBZH8SxO/BisRCOezOGhTS/bE8Yk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87564535},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./extension-api":"./dist/extensionAPI.js","./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","default":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/zod":{"types":"./dist/plugin-sdk/zod.d.ts","default":"./dist/plugin-sdk/zod.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/setup":{"types":"./dist/plugin-sdk/setup.d.ts","default":"./dist/plugin-sdk/setup.js"},"./plugin-sdk/types":{"types":"./dist/plugin-sdk/types.d.ts","default":"./dist/plugin-sdk/types.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/health":{"types":"./dist/plugin-sdk/health.d.ts","default":"./dist/plugin-sdk/health.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/speech":{"types":"./dist/plugin-sdk/speech.d.ts","default":"./dist/plugin-sdk/speech.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/routing":{"types":"./dist/plugin-sdk/routing.d.ts","default":"./dist/plugin-sdk/routing.js"},"./plugin-sdk/runtime":{"types":"./dist/plugin-sdk/runtime.d.ts","default":"./dist/plugin-sdk/runtime.js"},"./plugin-sdk/sandbox":{"types":"./dist/plugin-sdk/sandbox.d.ts","default":"./dist/plugin-sdk/sandbox.js"},"./plugin-sdk/lmstudio":{"types":"./dist/plugin-sdk/lmstudio.d.ts","default":"./dist/plugin-sdk/lmstudio.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/direct-dm":{"types":"./dist/plugin-sdk/direct-dm.d.ts","default":"./dist/plugin-sdk/direct-dm.js"},"./plugin-sdk/file-lock":{"types":"./dist/plugin-sdk/file-lock.d.ts","default":"./dist/plugin-sdk/file-lock.js"},"./plugin-sdk/migration":{"types":"./dist/plugin-sdk/migration.d.ts","default":"./dist/plugin-sdk/migration.js"},"./plugin-sdk/temp-path":{"types":"./dist/plugin-sdk/temp-path.d.ts","default":"./dist/plugin-sdk/temp-path.js"},"./plugin-sdk/tool-send":{"types":"./dist/plugin-sdk/tool-send.d.ts","default":"./dist/plugin-sdk/tool-send.js"},"./plugin-sdk/web-media":{"types":"./dist/plugin-sdk/web-media.d.ts","default":"./dist/plugin-sdk/web-media.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/agent-core":{"types":"./dist/plugin-sdk/agent-core.d.ts","default":"./dist/plugin-sdk/agent-core.js"},"./plugin-sdk/allow-from":{"types":"./dist/plugin-sdk/allow-from.d.ts","default":"./dist/plugin-sdk/allow-from.js"},"./plugin-sdk/json-store":{"types":"./dist/plugin-sdk/json-store.d.ts","default":"./dist/plugin-sdk/json-store.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/media-mime":{"types":"./dist/plugin-sdk/media-mime.d.ts","default":"./dist/plugin-sdk/media-mime.js"},"./plugin-sdk/acp-runtime":{"types":"./dist/plugin-sdk/acp-runtime.d.ts","default":"./dist/plugin-sdk/acp-runtime.js"},"./plugin-sdk/cli-backend":{"types":"./dist/plugin-sdk/cli-backend.d.ts","default":"./dist/plugin-sdk/cli-backend.js"},"./plugin-sdk/cli-runtime":{"types":"./dist/plugin-sdk/cli-runtime.d.ts","default":"./dist/plugin-sdk/cli-runtime.js"},"./plugin-sdk/media-store":{"types":"./dist/plugin-sdk/media-store.d.ts","default":"./dist/plugin-sdk/media-store.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/request-url":{"types":"./dist/plugin-sdk/request-url.d.ts","default":"./dist/plugin-sdk/request-url.js"},"./plugin-sdk/run-command":{"types":"./dist/plugin-sdk/run-command.d.ts","default":"./dist/plugin-sdk/run-command.js"},"./plugin-sdk/runtime-env":{"types":"./dist/plugin-sdk/runtime-env.d.ts","default":"./dist/plugin-sdk/runtime-env.js"},"./plugin-sdk/setup-tools":{"types":"./dist/plugin-sdk/setup-tools.d.ts","default":"./dist/plugin-sdk/setup-tools.js"},"./plugin-sdk/speech-core":{"types":"./dist/plugin-sdk/speech-core.d.ts","default":"./dist/plugin-sdk/speech-core.js"},"./plugin-sdk/ssrf-policy":{"types":"./dist/plugin-sdk/ssrf-policy.d.ts","default":"./dist/plugin-sdk/ssrf-policy.js"},"./plugin-sdk/state-paths":{"types":"./dist/plugin-sdk/state-paths.d.ts","default":"./dist/plugin-sdk/state-paths.js"},"./plugin-sdk/tool-plugin":{"types":"./dist/plugin-sdk/tool-plugin.d.ts","default":"./dist/plugin-sdk/tool-plugin.js"},"./plugin-sdk/transcripts":{"types":"./dist/plugin-sdk/transcripts.d.ts","default":"./dist/plugin-sdk/transcripts.js"},"./plugin-sdk/tts-runtime":{"types":"./dist/plugin-sdk/tts-runtime.d.ts","default":"./dist/plugin-sdk/tts-runtime.js"},"./plugin-sdk/account-core":{"types":"./dist/plugin-sdk/account-core.d.ts","default":"./dist/plugin-sdk/account-core.js"},"./plugin-sdk/channel-core":{"types":"./dist/plugin-sdk/channel-core.d.ts","default":"./dist/plugin-sdk/channel-core.js"},"./plugin-sdk/command-auth":{"types":"./dist/plugin-sdk/command-auth.d.ts","default":"./dist/plugin-sdk/command-auth.js"},"./plugin-sdk/config-types":{"types":"./dist/plugin-sdk/config-types.d.ts","default":"./dist/plugin-sdk/config-types.js"},"./plugin-sdk/group-access":{"types":"./dist/plugin-sdk/group-access.d.ts","default":"./dist/plugin-sdk/group-access.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/lazy-runtime":{"types":"./dist/plugin-sdk/lazy-runtime.d.ts","default":"./dist/plugin-sdk/lazy-runtime.js"},"./plugin-sdk/logging-core":{"types":"./dist/plugin-sdk/logging-core.d.ts","default":"./dist/plugin-sdk/logging-core.js"},"./plugin-sdk/plugin-entry":{"types":"./dist/plugin-sdk/plugin-entry.d.ts","default":"./dist/plugin-sdk/plugin-entry.js"},"./plugin-sdk/poll-runtime":{"types":"./dist/plugin-sdk/poll-runtime.d.ts","default":"./dist/plugin-sdk/poll-runtime.js"},"./plugin-sdk/reply-dedupe":{"types":"./dist/plugin-sdk/reply-dedupe.d.ts","default":"./dist/plugin-sdk/reply-dedupe.js"},"./plugin-sdk/secret-input":{"types":"./dist/plugin-sdk/secret-input.d.ts","default":"./dist/plugin-sdk/secret-input.js"},"./plugin-sdk/ssrf-runtime":{"types":"./dist/plugin-sdk/ssrf-runtime.d.ts","default":"./dist/plugin-sdk/ssrf-runtime.js"},"./plugin-sdk/text-runtime":{"types":"./dist/plugin-sdk/text-runtime.d.ts","default":"./dist/plugin-sdk/text-runtime.js"},"./plugin-sdk/time-runtime":{"types":"./dist/plugin-sdk/time-runtime.d.ts","default":"./dist/plugin-sdk/time-runtime.js"},"./plugin-sdk/tool-payload":{"types":"./dist/plugin-sdk/tool-payload.d.ts","default":"./dist/plugin-sdk/tool-payload.js"},"./plugin-sdk/tool-results":{"types":"./dist/plugin-sdk/tool-results.d.ts","default":"./dist/plugin-sdk/tool-results.js"},"./plugin-sdk/webhook-path":{"types":"./dist/plugin-sdk/webhook-path.d.ts","default":"./dist/plugin-sdk/webhook-path.js"},"./plugin-sdk/access-groups":{"types":"./dist/plugin-sdk/access-groups.d.ts","default":"./dist/plugin-sdk/access-groups.js"},"./plugin-sdk/agent-harness":{"types":"./dist/plugin-sdk/agent-harness.d.ts","default":"./dist/plugin-sdk/agent-harness.js"},"./plugin-sdk/agent-runtime":{"types":"./dist/plugin-sdk/agent-runtime.d.ts","default":"./dist/plugin-sdk/agent-runtime.js"},"./plugin-sdk/boolean-param":{"types":"./dist/plugin-sdk/boolean-param.d.ts","default":"./dist/plugin-sdk/boolean-param.js"},"./plugin-sdk/channel-route":{"types":"./dist/plugin-sdk/channel-route.d.ts","default":"./dist/plugin-sdk/channel-route.js"},"./plugin-sdk/channel-setup":{"types":"./dist/plugin-sdk/channel-setup.d.ts","default":"./dist/plugin-sdk/channel-setup.js"},"./plugin-sdk/config-schema":{"types":"./dist/plugin-sdk/config-schema.d.ts","default":"./dist/plugin-sdk/config-schema.js"},"./plugin-sdk/error-runtime":{"types":"./dist/plugin-sdk/error-runtime.d.ts","default":"./dist/plugin-sdk/error-runtime.js"},"./plugin-sdk/fetch-runtime":{"types":"./dist/plugin-sdk/fetch-runtime.d.ts","default":"./dist/plugin-sdk/fetch-runtime.js"},"./plugin-sdk/infra-runtime":{"types":"./dist/plugin-sdk/infra-runtime.d.ts","default":"./dist/plugin-sdk/infra-runtime.js"},"./plugin-sdk/media-runtime":{"types":"./dist/plugin-sdk/media-runtime.d.ts","default":"./dist/plugin-sdk/media-runtime.js"},"./plugin-sdk/param-readers":{"types":"./dist/plugin-sdk/param-readers.d.ts","default":"./dist/plugin-sdk/param-readers.js"},"./plugin-sdk/provider-auth":{"types":"./dist/plugin-sdk/provider-auth.d.ts","default":"./dist/plugin-sdk/provider-auth.js"},"./plugin-sdk/provider-http":{"types":"./dist/plugin-sdk/provider-http.d.ts","default":"./dist/plugin-sdk/provider-http.js"},"./plugin-sdk/proxy-capture":{"types":"./dist/plugin-sdk/proxy-capture.d.ts","default":"./dist/plugin-sdk/proxy-capture.js"},"./plugin-sdk/reply-history":{"types":"./dist/plugin-sdk/reply-history.d.ts","default":"./dist/plugin-sdk/reply-history.js"},"./plugin-sdk/reply-payload":{"types":"./dist/plugin-sdk/reply-payload.d.ts","default":"./dist/plugin-sdk/reply-payload.js"},"./plugin-sdk/reply-runtime":{"types":"./dist/plugin-sdk/reply-runtime.d.ts","default":"./dist/plugin-sdk/reply-runtime.js"},"./plugin-sdk/retry-runtime":{"types":"./dist/plugin-sdk/retry-runtime.d.ts","default":"./dist/plugin-sdk/retry-runtime.js"},"./plugin-sdk/runtime-fetch":{"types":"./dist/plugin-sdk/runtime-fetch.d.ts","default":"./dist/plugin-sdk/runtime-fetch.js"},"./plugin-sdk/runtime-store":{"types":"./dist/plugin-sdk/runtime-store.d.ts","default":"./dist/plugin-sdk/runtime-store.js"},"./plugin-sdk/setup-runtime":{"types":"./dist/plugin-sdk/setup-runtime.d.ts","default":"./dist/plugin-sdk/setup-runtime.js"},"./plugin-sdk/text-chunking":{"types":"./dist/plugin-sdk/text-chunking.d.ts","default":"./dist/plugin-sdk/text-chunking.js"},"./plugin-sdk/windows-spawn":{"types":"./dist/plugin-sdk/windows-spawn.d.ts","default":"./dist/plugin-sdk/windows-spawn.js"},"./plugin-sdk/agent-sessions":{"types":"./dist/plugin-sdk/agent-sessions.d.ts","default":"./dist/plugin-sdk/agent-sessions.js"},"./plugin-sdk/browser-config":{"types":"./dist/plugin-sdk/browser-config.d.ts","default":"./dist/plugin-sdk/browser-config.js"},"./plugin-sdk/channel-policy":{"types":"./dist/plugin-sdk/channel-policy.d.ts","default":"./dist/plugin-sdk/channel-policy.js"},"./plugin-sdk/channel-status":{"types":"./dist/plugin-sdk/channel-status.d.ts","default":"./dist/plugin-sdk/channel-status.js"},"./plugin-sdk/command-gating":{"types":"./dist/plugin-sdk/command-gating.d.ts","default":"./dist/plugin-sdk/command-gating.js"},"./plugin-sdk/command-status":{"types":"./dist/plugin-sdk/command-status.d.ts","default":"./dist/plugin-sdk/command-status.js"},"./plugin-sdk/config-runtime":{"types":"./dist/plugin-sdk/config-runtime.d.ts","default":"./dist/plugin-sdk/config-runtime.js"},"./plugin-sdk/dedupe-runtime":{"types":"./dist/plugin-sdk/dedupe-runtime.d.ts","default":"./dist/plugin-sdk/dedupe-runtime.js"},"./plugin-sdk/number-runtime":{"types":"./dist/plugin-sdk/number-runtime.d.ts","default":"./dist/plugin-sdk/number-runtime.js"},"./plugin-sdk/outbound-media":{"types":"./dist/plugin-sdk/outbound-media.d.ts","default":"./dist/plugin-sdk/outbound-media.js"},"./plugin-sdk/plugin-runtime":{"types":"./dist/plugin-sdk/plugin-runtime.d.ts","default":"./dist/plugin-sdk/plugin-runtime.js"},"./plugin-sdk/provider-entry":{"types":"./dist/plugin-sdk/provider-entry.d.ts","default":"./dist/plugin-sdk/provider-entry.js"},"./plugin-sdk/provider-setup":{"types":"./dist/plugin-sdk/provider-setup.d.ts","default":"./dist/plugin-sdk/provider-setup.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/realtime-voice":{"types":"./dist/plugin-sdk/realtime-voice.d.ts","default":"./dist/plugin-sdk/realtime-voice.js"},"./plugin-sdk/reply-chunking":{"types":"./dist/plugin-sdk/reply-chunking.d.ts","default":"./dist/plugin-sdk/reply-chunking.js"},"./plugin-sdk/runtime-doctor":{"types":"./dist/plugin-sdk/runtime-doctor.d.ts","default":"./dist/plugin-sdk/runtime-doctor.js"},"./plugin-sdk/runtime-logger":{"types":"./dist/plugin-sdk/runtime-logger.d.ts","default":"./dist/plugin-sdk/runtime-logger.js"},"./plugin-sdk/skills-runtime":{"types":"./dist/plugin-sdk/skills-runtime.d.ts","default":"./dist/plugin-sdk/skills-runtime.js"},"./plugin-sdk/sqlite-runtime":{"types":"./dist/plugin-sdk/sqlite-runtime.d.ts","default":"./dist/plugin-sdk/sqlite-runtime.js"},"./plugin-sdk/status-helpers":{"types":"./dist/plugin-sdk/status-helpers.d.ts","default":"./dist/plugin-sdk/status-helpers.js"},"./plugin-sdk/account-helpers":{"types":"./dist/plugin-sdk/account-helpers.d.ts","default":"./dist/plugin-sdk/account-helpers.js"},"./plugin-sdk/channel-actions":{"types":"./dist/plugin-sdk/channel-actions.d.ts","default":"./dist/plugin-sdk/channel-actions.js"},"./plugin-sdk/channel-inbound":{"types":"./dist/plugin-sdk/channel-inbound.d.ts","default":"./dist/plugin-sdk/channel-inbound.js"},"./plugin-sdk/channel-ingress":{"types":"./dist/plugin-sdk/channel-ingress.d.ts","default":"./dist/plugin-sdk/channel-ingress.js"},"./plugin-sdk/channel-logging":{"types":"./dist/plugin-sdk/channel-logging.d.ts","default":"./dist/plugin-sdk/channel-logging.js"},"./plugin-sdk/channel-message":{"types":"./dist/plugin-sdk/channel-message.d.ts","default":"./dist/plugin-sdk/channel-message.js"},"./plugin-sdk/channel-pairing":{"types":"./dist/plugin-sdk/channel-pairing.d.ts","default":"./dist/plugin-sdk/channel-pairing.js"},"./plugin-sdk/channel-runtime":{"types":"./dist/plugin-sdk/channel-runtime.d.ts","default":"./dist/plugin-sdk/channel-runtime.js"},"./plugin-sdk/channel-targets":{"types":"./dist/plugin-sdk/channel-targets.d.ts","default":"./dist/plugin-sdk/channel-targets.js"},"./plugin-sdk/command-surface":{"types":"./dist/plugin-sdk/command-surface.d.ts","default":"./dist/plugin-sdk/command-surface.js"},"./plugin-sdk/config-mutation":{"types":"./dist/plugin-sdk/config-mutation.d.ts","default":"./dist/plugin-sdk/config-mutation.js"},"./plugin-sdk/gateway-runtime":{"types":"./dist/plugin-sdk/gateway-runtime.d.ts","default":"./dist/plugin-sdk/gateway-runtime.js"},"./plugin-sdk/process-runtime":{"types":"./dist/plugin-sdk/process-runtime.d.ts","default":"./dist/plugin-sdk/process-runtime.js"},"./plugin-sdk/provider-stream":{"types":"./dist/plugin-sdk/provider-stream.d.ts","default":"./dist/plugin-sdk/provider-stream.js"},"./plugin-sdk/reply-reference":{"types":"./dist/plugin-sdk/reply-reference.d.ts","default":"./dist/plugin-sdk/reply-reference.js"},"./plugin-sdk/ssrf-dispatcher":{"types":"./dist/plugin-sdk/ssrf-dispatcher.d.ts","default":"./dist/plugin-sdk/ssrf-dispatcher.js"},"./plugin-sdk/webhook-ingress":{"types":"./dist/plugin-sdk/webhook-ingress.d.ts","default":"./dist/plugin-sdk/webhook-ingress.js"},"./plugin-sdk/webhook-targets":{"types":"./dist/plugin-sdk/webhook-targets.d.ts","default":"./dist/plugin-sdk/webhook-targets.js"},"./plugin-sdk/approval-runtime":{"types":"./dist/plugin-sdk/approval-runtime.d.ts","default":"./dist/plugin-sdk/approval-runtime.js"},"./plugin-sdk/channel-contract":{"types":"./dist/plugin-sdk/channel-contract.d.ts","default":"./dist/plugin-sdk/channel-contract.js"},"./plugin-sdk/channel-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-location":{"types":"./dist/plugin-sdk/channel-location.d.ts","default":"./dist/plugin-sdk/channel-location.js"},"./plugin-sdk/channel-outbound":{"types":"./dist/plugin-sdk/channel-outbound.d.ts","default":"./dist/plugin-sdk/channel-outbound.js"},"./plugin-sdk/chat-channel-ids":{"types":"./dist/plugin-sdk/chat-channel-ids.d.ts","default":"./dist/plugin-sdk/chat-channel-ids.js"},"./plugin-sdk/config-contracts":{"types":"./dist/plugin-sdk/config-contracts.d.ts","default":"./dist/plugin-sdk/config-contracts.js"},"./plugin-sdk/device-bootstrap":{"types":"./dist/plugin-sdk/device-bootstrap.d.ts","default":"./dist/plugin-sdk/device-bootstrap.js"},"./plugin-sdk/direct-dm-access":{"types":"./dist/plugin-sdk/direct-dm-access.d.ts","default":"./dist/plugin-sdk/direct-dm-access.js"},"./plugin-sdk/extension-shared":{"types":"./dist/plugin-sdk/extension-shared.d.ts","default":"./dist/plugin-sdk/extension-shared.js"},"./plugin-sdk/global-singleton":{"types":"./dist/plugin-sdk/global-singleton.d.ts","default":"./dist/plugin-sdk/global-singleton.js"},"./plugin-sdk/group-activation":{"types":"./dist/plugin-sdk/group-activation.d.ts","default":"./dist/plugin-sdk/group-activation.js"},"./plugin-sdk/image-generation":{"types":"./dist/plugin-sdk/image-generation.d.ts","default":"./dist/plugin-sdk/image-generation.js"},"./plugin-sdk/inbound-envelope":{"types":"./dist/plugin-sdk/inbound-envelope.d.ts","default":"./dist/plugin-sdk/inbound-envelope.js"},"./plugin-sdk/lmstudio-runtime":{"types":"./dist/plugin-sdk/lmstudio-runtime.d.ts","default":"./dist/plugin-sdk/lmstudio-runtime.js"},"./plugin-sdk/memory-host-core":{"types":"./dist/plugin-sdk/memory-host-core.d.ts","default":"./dist/plugin-sdk/memory-host-core.js"},"./plugin-sdk/music-generation":{"types":"./dist/plugin-sdk/music-generation.d.ts","default":"./dist/plugin-sdk/music-generation.js"},"./plugin-sdk/outbound-runtime":{"types":"./dist/plugin-sdk/outbound-runtime.d.ts","default":"./dist/plugin-sdk/outbound-runtime.js"},"./plugin-sdk/provider-onboard":{"types":"./dist/plugin-sdk/provider-onboard.d.ts","default":"./dist/plugin-sdk/provider-onboard.js"},"./plugin-sdk/security-runtime":{"types":"./dist/plugin-sdk/security-runtime.d.ts","default":"./dist/plugin-sdk/security-runtime.js"},"./plugin-sdk/telegram-account":{"types":"./dist/plugin-sdk/telegram-account.d.ts","default":"./dist/plugin-sdk/telegram-account.js"},"./plugin-sdk/video-generation":{"types":"./dist/plugin-sdk/video-generation.d.ts","default":"./dist/plugin-sdk/video-generation.js"},"./plugin-sdk/channel-lifecycle":{"types":"./dist/plugin-sdk/channel-lifecycle.d.ts","default":"./dist/plugin-sdk/channel-lifecycle.js"},"./plugin-sdk/channel-streaming":{"types":"./dist/plugin-sdk/channel-streaming.d.ts","default":"./dist/plugin-sdk/channel-streaming.js"},"./plugin-sdk/command-detection":{"types":"./dist/plugin-sdk/command-detection.d.ts","default":"./dist/plugin-sdk/command-detection.js"},"./plugin-sdk/directory-runtime":{"types":"./dist/plugin-sdk/directory-runtime.d.ts","default":"./dist/plugin-sdk/directory-runtime.js"},"./plugin-sdk/heartbeat-runtime":{"types":"./dist/plugin-sdk/heartbeat-runtime.d.ts","default":"./dist/plugin-sdk/heartbeat-runtime.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/memory-host-files":{"types":"./dist/plugin-sdk/memory-host-files.d.ts","default":"./dist/plugin-sdk/memory-host-files.js"},"./plugin-sdk/messaging-targets":{"types":"./dist/plugin-sdk/messaging-targets.d.ts","default":"./dist/plugin-sdk/messaging-targets.js"},"./plugin-sdk/migration-runtime":{"types":"./dist/plugin-sdk/migration-runtime.d.ts","default":"./dist/plugin-sdk/migration-runtime.js"},"./plugin-sdk/persistent-dedupe":{"types":"./dist/plugin-sdk/persistent-dedupe.d.ts","default":"./dist/plugin-sdk/persistent-dedupe.js"},"./plugin-sdk/provider-env-vars":{"types":"./dist/plugin-sdk/provider-env-vars.d.ts","default":"./dist/plugin-sdk/provider-env-vars.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/account-resolution":{"types":"./dist/plugin-sdk/account-resolution.d.ts","default":"./dist/plugin-sdk/account-resolution.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/collection-runtime":{"types":"./dist/plugin-sdk/collection-runtime.d.ts","default":"./dist/plugin-sdk/collection-runtime.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/diagnostic-runtime":{"types":"./dist/plugin-sdk/diagnostic-runtime.d.ts","default":"./dist/plugin-sdk/diagnostic-runtime.js"},"./plugin-sdk/document-extractor":{"types":"./dist/plugin-sdk/document-extractor.d.ts","default":"./dist/plugin-sdk/document-extractor.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-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/outbound-send-deps":{"types":"./dist/plugin-sdk/outbound-send-deps.d.ts","default":"./dist/plugin-sdk/outbound-send-deps.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/secret-ref-runtime":{"types":"./dist/plugin-sdk/secret-ref-runtime.d.ts","default":"./dist/plugin-sdk/secret-ref-runtime.js"},"./plugin-sdk/session-visibility":{"types":"./dist/plugin-sdk/session-visibility.d.ts","default":"./dist/plugin-sdk/session-visibility.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-runtime-backend":{"types":"./dist/plugin-sdk/acp-runtime-backend.d.ts","default":"./dist/plugin-sdk/acp-runtime-backend.js"},"./plugin-sdk/agent-media-payload":{"types":"./dist/plugin-sdk/agent-media-payload.d.ts","default":"./dist/plugin-sdk/agent-media-payload.js"},"./plugin-sdk/channel-send-result":{"types":"./dist/plugin-sdk/channel-send-result.d.ts","default":"./dist/plugin-sdk/channel-send-result.js"},"./plugin-sdk/command-auth-native":{"types":"./dist/plugin-sdk/command-auth-native.d.ts","default":"./dist/plugin-sdk/command-auth-native.js"},"./plugin-sdk/concurrency-runtime":{"types":"./dist/plugin-sdk/concurrency-runtime.d.ts","default":"./dist/plugin-sdk/concurrency-runtime.js"},"./plugin-sdk/embedding-providers":{"types":"./dist/plugin-sdk/embedding-providers.d.ts","default":"./dist/plugin-sdk/embedding-providers.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/interactive-runtime":{"types":"./dist/plugin-sdk/interactive-runtime.d.ts","default":"./dist/plugin-sdk/interactive-runtime.js"},"./plugin-sdk/json-schema-runtime":{"types":"./dist/plugin-sdk/json-schema-runtime.d.ts","default":"./dist/plugin-sdk/json-schema-runtime.js"},"./plugin-sdk/media-understanding":{"types":"./dist/plugin-sdk/media-understanding.d.ts","default":"./dist/plugin-sdk/media-understanding.js"},"./plugin-sdk/provider-auth-login":{"types":"./dist/plugin-sdk/provider-auth-login.d.ts","default":"./dist/plugin-sdk/provider-auth-login.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/secret-file-runtime":{"types":"./dist/plugin-sdk/secret-file-runtime.d.ts","default":"./dist/plugin-sdk/secret-file-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/talk-config-runtime":{"types":"./dist/plugin-sdk/talk-config-runtime.d.ts","default":"./dist/plugin-sdk/talk-config-runtime.js"},"./plugin-sdk/codex-mcp-projection":{"types":"./dist/plugin-sdk/codex-mcp-projection.d.ts","default":"./dist/plugin-sdk/codex-mcp-projection.js"},"./plugin-sdk/conversation-runtime":{"types":"./dist/plugin-sdk/conversation-runtime.d.ts","default":"./dist/plugin-sdk/conversation-runtime.js"},"./plugin-sdk/json-unsafe-integers":{"types":"./dist/plugin-sdk/json-unsafe-integers.d.ts","default":"./dist/plugin-sdk/json-unsafe-integers.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/plugin-state-runtime":{"types":"./dist/plugin-sdk/plugin-state-runtime.d.ts","default":"./dist/plugin-sdk/plugin-state-runtime.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-model-types":{"types":"./dist/plugin-sdk/provider-model-types.d.ts","default":"./dist/plugin-sdk/provider-model-types.js"},"./plugin-sdk/runtime-group-policy":{"types":"./dist/plugin-sdk/runtime-group-policy.d.ts","default":"./dist/plugin-sdk/runtime-group-policy.js"},"./plugin-sdk/secret-input-runtime":{"types":"./dist/plugin-sdk/secret-input-runtime.d.ts","default":"./dist/plugin-sdk/secret-input-runtime.js"},"./plugin-sdk/system-event-runtime":{"types":"./dist/plugin-sdk/system-event-runtime.d.ts","default":"./dist/plugin-sdk/system-event-runtime.js"},"./plugin-sdk/text-utility-runtime":{"types":"./dist/plugin-sdk/text-utility-runtime.d.ts","default":"./dist/plugin-sdk/text-utility-runtime.js"},"./plugin-sdk/agent-harness-runtime":{"types":"./dist/plugin-sdk/agent-harness-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-runtime.js"},"./plugin-sdk/allowlist-config-edit":{"types":"./dist/plugin-sdk/allowlist-config-edit.d.ts","default":"./dist/plugin-sdk/allowlist-config-edit.js"},"./plugin-sdk/approval-auth-runtime":{"types":"./dist/plugin-sdk/approval-auth-runtime.d.ts","default":"./dist/plugin-sdk/approval-auth-runtime.js"},"./plugin-sdk/channel-config-schema":{"types":"./dist/plugin-sdk/channel-config-schema.d.ts","default":"./dist/plugin-sdk/channel-config-schema.js"},"./plugin-sdk/channel-config-writes":{"types":"./dist/plugin-sdk/channel-config-writes.d.ts","default":"./dist/plugin-sdk/channel-config-writes.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-pairing-paths":{"types":"./dist/plugin-sdk/channel-pairing-paths.d.ts","default":"./dist/plugin-sdk/channel-pairing-paths.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/image-generation-core":{"types":"./dist/plugin-sdk/image-generation-core.d.ts","default":"./dist/plugin-sdk/image-generation-core.js"},"./plugin-sdk/model-session-runtime":{"types":"./dist/plugin-sdk/model-session-runtime.d.ts","default":"./dist/plugin-sdk/model-session-runtime.js"},"./plugin-sdk/music-generation-core":{"types":"./dist/plugin-sdk/music-generation-core.d.ts","default":"./dist/plugin-sdk/music-generation-core.js"},"./plugin-sdk/plugin-config-runtime":{"types":"./dist/plugin-sdk/plugin-config-runtime.d.ts","default":"./dist/plugin-sdk/plugin-config-runtime.js"},"./plugin-sdk/provider-auth-api-key":{"types":"./dist/plugin-sdk/provider-auth-api-key.d.ts","default":"./dist/plugin-sdk/provider-auth-api-key.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-model-shared":{"types":"./dist/plugin-sdk/provider-model-shared.d.ts","default":"./dist/plugin-sdk/provider-model-shared.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/secure-random-runtime":{"types":"./dist/plugin-sdk/secure-random-runtime.d.ts","default":"./dist/plugin-sdk/secure-random-runtime.js"},"./plugin-sdk/session-store-runtime":{"types":"./dist/plugin-sdk/session-store-runtime.d.ts","default":"./dist/plugin-sdk/session-store-runtime.js"},"./plugin-sdk/setup-adapter-runtime":{"types":"./dist/plugin-sdk/setup-adapter-runtime.d.ts","default":"./dist/plugin-sdk/setup-adapter-runtime.js"},"./plugin-sdk/string-coerce-runtime":{"types":"./dist/plugin-sdk/string-coerce-runtime.d.ts","default":"./dist/plugin-sdk/string-coerce-runtime.js"},"./plugin-sdk/text-autolink-runtime":{"types":"./dist/plugin-sdk/text-autolink-runtime.d.ts","default":"./dist/plugin-sdk/text-autolink-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/web-content-extractor":{"types":"./dist/plugin-sdk/web-content-extractor.d.ts","default":"./dist/plugin-sdk/web-content-extractor.js"},"./plugin-sdk/approval-reply-runtime":{"types":"./dist/plugin-sdk/approval-reply-runtime.d.ts","default":"./dist/plugin-sdk/approval-reply-runtime.js"},"./plugin-sdk/channel-config-helpers":{"types":"./dist/plugin-sdk/channel-config-helpers.d.ts","default":"./dist/plugin-sdk/channel-config-helpers.js"},"./plugin-sdk/channel-entry-contract":{"types":"./dist/plugin-sdk/channel-entry-contract.d.ts","default":"./dist/plugin-sdk/channel-entry-contract.js"},"./plugin-sdk/channel-mention-gating":{"types":"./dist/plugin-sdk/channel-mention-gating.d.ts","default":"./dist/plugin-sdk/channel-mention-gating.js"},"./plugin-sdk/channel-reply-pipeline":{"types":"./dist/plugin-sdk/channel-reply-pipeline.d.ts","default":"./dist/plugin-sdk/channel-reply-pipeline.js"},"./plugin-sdk/channel-secret-runtime":{"types":"./dist/plugin-sdk/channel-secret-runtime.d.ts","default":"./dist/plugin-sdk/channel-secret-runtime.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/dangerous-name-runtime":{"types":"./dist/plugin-sdk/dangerous-name-runtime.d.ts","default":"./dist/plugin-sdk/dangerous-name-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/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/exec-approvals-runtime":{"types":"./dist/plugin-sdk/exec-approvals-runtime.d.ts","default":"./dist/plugin-sdk/exec-approvals-runtime.js"},"./plugin-sdk/gateway-method-runtime":{"types":"./dist/plugin-sdk/gateway-method-runtime.d.ts","default":"./dist/plugin-sdk/gateway-method-runtime.js"},"./plugin-sdk/inbound-reply-dispatch":{"types":"./dist/plugin-sdk/inbound-reply-dispatch.d.ts","default":"./dist/plugin-sdk/inbound-reply-dispatch.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/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/provider-oauth-runtime":{"types":"./dist/plugin-sdk/provider-oauth-runtime.d.ts","default":"./dist/plugin-sdk/provider-oauth-runtime.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/realtime-transcription":{"types":"./dist/plugin-sdk/realtime-transcription.d.ts","default":"./dist/plugin-sdk/realtime-transcription.js"},"./plugin-sdk/reply-dispatch-runtime":{"types":"./dist/plugin-sdk/reply-dispatch-runtime.d.ts","default":"./dist/plugin-sdk/reply-dispatch-runtime.js"},"./plugin-sdk/response-limit-runtime":{"types":"./dist/plugin-sdk/response-limit-runtime.d.ts","default":"./dist/plugin-sdk/response-limit-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/skill-commands-runtime":{"types":"./dist/plugin-sdk/skill-commands-runtime.d.ts","default":"./dist/plugin-sdk/skill-commands-runtime.js"},"./plugin-sdk/webhook-request-guards":{"types":"./dist/plugin-sdk/webhook-request-guards.d.ts","default":"./dist/plugin-sdk/webhook-request-guards.js"},"./plugin-sdk/agent-config-primitives":{"types":"./dist/plugin-sdk/agent-config-primitives.d.ts","default":"./dist/plugin-sdk/agent-config-primitives.js"},"./plugin-sdk/approval-client-runtime":{"types":"./dist/plugin-sdk/approval-client-runtime.d.ts","default":"./dist/plugin-sdk/approval-client-runtime.js"},"./plugin-sdk/approval-native-runtime":{"types":"./dist/plugin-sdk/approval-native-runtime.d.ts","default":"./dist/plugin-sdk/approval-native-runtime.js"},"./plugin-sdk/channel-ingress-runtime":{"types":"./dist/plugin-sdk/channel-ingress-runtime.d.ts","default":"./dist/plugin-sdk/channel-ingress-runtime.js"},"./plugin-sdk/channel-message-runtime":{"types":"./dist/plugin-sdk/channel-message-runtime.d.ts","default":"./dist/plugin-sdk/channel-message-runtime.js"},"./plugin-sdk/channel-runtime-context":{"types":"./dist/plugin-sdk/channel-runtime-context.d.ts","default":"./dist/plugin-sdk/channel-runtime-context.js"},"./plugin-sdk/memory-core-host-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-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-status":{"types":"./dist/plugin-sdk/memory-core-host-status.d.ts","default":"./dist/plugin-sdk/memory-core-host-status.js"},"./plugin-sdk/models-provider-runtime":{"types":"./dist/plugin-sdk/models-provider-runtime.d.ts","default":"./dist/plugin-sdk/models-provider-runtime.js"},"./plugin-sdk/native-command-registry":{"types":"./dist/plugin-sdk/native-command-registry.d.ts","default":"./dist/plugin-sdk/native-command-registry.js"},"./plugin-sdk/pair-loop-guard-runtime":{"types":"./dist/plugin-sdk/pair-loop-guard-runtime.d.ts","default":"./dist/plugin-sdk/pair-loop-guard-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/runtime-config-snapshot":{"types":"./dist/plugin-sdk/runtime-config-snapshot.d.ts","default":"./dist/plugin-sdk/runtime-config-snapshot.js"},"./plugin-sdk/session-binding-runtime":{"types":"./dist/plugin-sdk/session-binding-runtime.d.ts","default":"./dist/plugin-sdk/session-binding-runtime.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-command-config":{"types":"./dist/plugin-sdk/telegram-command-config.d.ts","default":"./dist/plugin-sdk/telegram-command-config.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/transport-ready-runtime":{"types":"./dist/plugin-sdk/transport-ready-runtime.d.ts","default":"./dist/plugin-sdk/transport-ready-runtime.js"},"./plugin-sdk/approval-gateway-runtime":{"types":"./dist/plugin-sdk/approval-gateway-runtime.d.ts","default":"./dist/plugin-sdk/approval-gateway-runtime.js"},"./plugin-sdk/approval-handler-runtime":{"types":"./dist/plugin-sdk/approval-handler-runtime.d.ts","default":"./dist/plugin-sdk/approval-handler-runtime.js"},"./plugin-sdk/channel-activity-runtime":{"types":"./dist/plugin-sdk/channel-activity-runtime.d.ts","default":"./dist/plugin-sdk/channel-activity-runtime.js"},"./plugin-sdk/channel-inbound-debounce":{"types":"./dist/plugin-sdk/channel-inbound-debounce.d.ts","default":"./dist/plugin-sdk/channel-inbound-debounce.js"},"./plugin-sdk/directory-config-runtime":{"types":"./dist/plugin-sdk/directory-config-runtime.d.ts","default":"./dist/plugin-sdk/directory-config-runtime.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/media-generation-runtime":{"types":"./dist/plugin-sdk/media-generation-runtime.d.ts","default":"./dist/plugin-sdk/media-generation-runtime.js"},"./plugin-sdk/provider-catalog-runtime":{"types":"./dist/plugin-sdk/provider-catalog-runtime.d.ts","default":"./dist/plugin-sdk/provider-catalog-runtime.js"},"./plugin-sdk/video-generation-runtime":{"types":"./dist/plugin-sdk/video-generation-runtime.d.ts","default":"./dist/plugin-sdk/video-generation-runtime.js"},"./plugin-sdk/approval-delivery-runtime":{"types":"./dist/plugin-sdk/approval-delivery-runtime.d.ts","default":"./dist/plugin-sdk/approval-delivery-runtime.js"},"./plugin-sdk/approval-reaction-runtime":{"types":"./dist/plugin-sdk/approval-reaction-runtime.d.ts","default":"./dist/plugin-sdk/approval-reaction-runtime.js"},"./plugin-sdk/channel-config-primitives":{"types":"./dist/plugin-sdk/channel-config-primitives.d.ts","default":"./dist/plugin-sdk/channel-config-primitives.js"},"./plugin-sdk/runtime-secret-resolution":{"types":"./dist/plugin-sdk/runtime-secret-resolution.d.ts","default":"./dist/plugin-sdk/runtime-secret-resolution.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/account-resolution-runtime":{"types":"./dist/plugin-sdk/account-resolution-runtime.d.ts","default":"./dist/plugin-sdk/account-resolution-runtime.js"},"./plugin-sdk/agent-harness-task-runtime":{"types":"./dist/plugin-sdk/agent-harness-task-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-task-runtime.js"},"./plugin-sdk/agent-harness-tool-runtime":{"types":"./dist/plugin-sdk/agent-harness-tool-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-tool-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/command-primitives-runtime":{"types":"./dist/plugin-sdk/command-primitives-runtime.d.ts","default":"./dist/plugin-sdk/command-primitives-runtime.js"},"./plugin-sdk/context-visibility-runtime":{"types":"./dist/plugin-sdk/context-visibility-runtime.d.ts","default":"./dist/plugin-sdk/context-visibility-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/provider-selection-runtime":{"types":"./dist/plugin-sdk/provider-selection-runtime.d.ts","default":"./dist/plugin-sdk/provider-selection-runtime.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/realtime-bootstrap-context":{"types":"./dist/plugin-sdk/realtime-bootstrap-context.d.ts","default":"./dist/plugin-sdk/realtime-bootstrap-context.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/session-transcript-runtime":{"types":"./dist/plugin-sdk/session-transcript-runtime.d.ts","default":"./dist/plugin-sdk/session-transcript-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/media-understanding-runtime":{"types":"./dist/plugin-sdk/media-understanding-runtime.d.ts","default":"./dist/plugin-sdk/media-understanding-runtime.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-multimodal":{"types":"./dist/plugin-sdk/memory-core-host-multimodal.d.ts","default":"./dist/plugin-sdk/memory-core-host-multimodal.js"},"./plugin-sdk/message-tool-delivery-hints":{"types":"./dist/plugin-sdk/message-tool-delivery-hints.d.ts","default":"./dist/plugin-sdk/message-tool-delivery-hints.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/qa-live-transport-scenarios":{"types":"./dist/plugin-sdk/qa-live-transport-scenarios.d.ts","default":"./dist/plugin-sdk/qa-live-transport-scenarios.js"},"./plugin-sdk/secret-provider-integration":{"types":"./dist/plugin-sdk/secret-provider-integration.d.ts","default":"./dist/plugin-sdk/secret-provider-integration.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-secret-basic-runtime":{"types":"./dist/plugin-sdk/channel-secret-basic-runtime.d.ts","default":"./dist/plugin-sdk/channel-secret-basic-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/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/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/string-normalization-runtime":{"types":"./dist/plugin-sdk/string-normalization-runtime.d.ts","default":"./dist/plugin-sdk/string-normalization-runtime.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-reply-options-runtime":{"types":"./dist/plugin-sdk/channel-reply-options-runtime.d.ts","default":"./dist/plugin-sdk/channel-reply-options-runtime.js"},"./plugin-sdk/inline-image-data-url-runtime":{"types":"./dist/plugin-sdk/inline-image-data-url-runtime.d.ts","default":"./dist/plugin-sdk/inline-image-data-url-runtime.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/native-command-config-runtime":{"types":"./dist/plugin-sdk/native-command-config-runtime.d.ts","default":"./dist/plugin-sdk/native-command-config-runtime.js"},"./plugin-sdk/provider-catalog-live-runtime":{"types":"./dist/plugin-sdk/provider-catalog-live-runtime.d.ts","default":"./dist/plugin-sdk/provider-catalog-live-runtime.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/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/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/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/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/provider-auth-login-flow-runtime":{"types":"./dist/plugin-sdk/provider-auth-login-flow-runtime.d.ts","default":"./dist/plugin-sdk/provider-auth-login-flow-runtime.js"},"./plugin-sdk/agent-harness-exec-review-runtime":{"types":"./dist/plugin-sdk/agent-harness-exec-review-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-exec-review-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-embedding-registry":{"types":"./dist/plugin-sdk/memory-core-host-embedding-registry.d.ts","default":"./dist/plugin-sdk/memory-core-host-embedding-registry.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"}},"gitHead":"dcc34df1b9c3fc0eccce9236d463daa71ea803a7","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"node scripts/run-oxlint-shards.mjs","test":"node scripts/test-projects.mjs","tsgo":"pnpm tsgo:core","build":"node scripts/build-all.mjs","check":"node scripts/check.mjs","start":"node openclaw.mjs","format":"oxfmt --write --threads=1","qa:e2e":"node --import tsx scripts/qa-e2e.ts","ui:dev":"node scripts/ui.js dev","verify":"node scripts/verify.mjs","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate'","ios:run":"bash scripts/ios-run.sh","prepack":"node --import tsx scripts/openclaw-prepack.ts","prepare":"node scripts/prepare-git-hooks.mjs","test:ui":"pnpm ui:i18n:check && pnpm lint:ui:no-raw-window-open && node scripts/ensure-playwright-chromium.mjs && pnpm --dir ui test","tui:dev":"node scripts/run-with-env.mjs OPENCLAW_PROFILE=dev -- node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"node scripts/run-oxlint.mjs","lint:fix":"node scripts/run-oxlint.mjs --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","postpack":"node scripts/package-changelog.mjs restore","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"pnpm test:e2e:gateway && pnpm test:ui:e2e","test:max":"node scripts/test-projects-max.mjs","tsgo:all":"node scripts/run-tsgo.mjs -b tsconfig.projects.json","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","dup:check":"node scripts/check-duplicates.mjs","ios:build":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:apps":"pnpm lint:swift","lint:core":"node scripts/run-oxlint-shards.mjs --only=core --split-core","lint:docs":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc","proxy:run":"node scripts/run-node.mjs proxy run","qa:lab:ui":"pnpm openclaw qa ui","qa:lab:up":"node --import tsx scripts/qa-lab-up.ts","test:fast":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts","test:live":"node scripts/test-live.mjs","test:unit":"pnpm test:unit:fast && node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts","tsgo:core":"node scripts/run-tsgo.mjs -p tsconfig.core.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core.tsbuildinfo","tsgo:prod":"pnpm tsgo:core && pnpm tsgo:extensions","tsgo:test":"pnpm tsgo:core:test && pnpm tsgo:extensions:test","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-mdx && pnpm docs:check-i18n-glossary && pnpm docs:check-links && pnpm docs:map:check","ci:timings":"node scripts/ci-run-timings.mjs --latest-main","clean:dist":"node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write --threads=1","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config config/swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","preinstall":"node scripts/preinstall-package-manager-warning.mjs","prepush:ci":"bash scripts/prepush-ci.sh","test:force":"node --import tsx scripts/test-force.ts","test:watch":"node scripts/test-projects.mjs --watch","ui:install":"node scripts/ui.js install","android:run":"node scripts/run-android-gradle.mjs :app:installPlayDebug -- adb shell am start -n ai.openclaw.app/.MainActivity","audit:seams":"node scripts/audit-seams.mjs","check:timed":"node scripts/check-timed.mjs","crabbox:run":"node scripts/crabbox-wrapper.mjs run","deadcode:ci":"pnpm deadcode:report:ci:knip && pnpm deadcode:report:ci:ts-unused","dev:ui:mock":"node --import tsx scripts/control-ui-mock-dev.ts","format:diff":"oxfmt --write --threads=1 && git --no-pager diff","format:docs":"node scripts/format-docs.mjs","gateway:dev":"node scripts/run-with-env.mjs OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway","ios:version":"node --import tsx scripts/ios-version.ts --json","lint:kysely":"node scripts/check-kysely-guardrails.mjs","mac:package":"bash scripts/package-mac-app.sh","mac:restart":"bash scripts/restart-mac.sh","postinstall":"node scripts/postinstall-bundled-plugins.mjs","proxy:start":"node scripts/run-node.mjs proxy start","test:serial":"node scripts/test-projects-serial.mjs","test:ui:e2e":"node scripts/ensure-playwright-chromium.mjs && node scripts/run-vitest.mjs run --config test/vitest/vitest.ui-e2e.config.ts --configLoader runner","ts-topology":"node --import tsx scripts/ts-topology.ts","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"node scripts/run-android-gradle.mjs :app:testPlayDebugUnitTest","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 && pnpm plugins:assets:build && pnpm plugins:assets:copy && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","crabbox:stop":"node scripts/crabbox-wrapper.mjs stop","docs:map:gen":"node scripts/generate-docs-map.mjs","format:check":"oxfmt --check --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","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","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","qa:lab:build":"vite build --config extensions/qa-lab/web/vite.config.ts","qa:lab:watch":"vite build --watch --config extensions/qa-lab/web/vite.config.ts","release:beta":"node scripts/release-candidate-checklist.mjs","release:prep":"node scripts/release-preflight.mjs --fix","test:bundled":"node scripts/run-vitest.mjs run --config test/vitest/vitest.bundled.config.ts","test:changed":"node scripts/test-projects.mjs --changed origin/main","test:gateway":"node scripts/run-with-env.mjs OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts","tsgo:profile":"node scripts/profile-tsgo.mjs","tsgo:test:ui":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.ui.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-ui.tsbuildinfo","ui:i18n:sync":"node --import tsx scripts/control-ui-i18n.ts sync --write","changed:lanes":"node scripts/changed-lanes.mjs","check:changed":"node scripts/check-changed.mjs","db:kysely:gen":"node scripts/generate-kysely-types.mjs","deadcode:knip":"pnpm --config.minimum-release-age=0 dlx --package knip@6.8.0 knip --config config/knip.config.ts --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/gateway-watch-tmux.mjs gateway --force","lint:docs:fix":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc --fix","proxy:gateway":"node scripts/run-node.mjs proxy run -- node scripts/run-node.mjs gateway","qa:otel:smoke":"node --import tsx test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts","release:check":"pnpm release:generated:check && node --import tsx scripts/release-check.ts","test:channels":"node scripts/run-vitest.mjs run --config test/vitest/vitest.channels.config.ts","test:coverage":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage","test:macos:ci":"node 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/scripts/package-mac-app.test.ts test/scripts/package-mac-dist.test.ts test/scripts/create-dmg.test.ts test/scripts/codesign-mac-app.test.ts test/scripts/notarize-mac-artifact.test.ts","tsgo:core:all":"node scripts/run-tsgo.mjs -b tsconfig.core.projects.json","tsgo:test:src":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.src.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-src.tsbuildinfo","ui:i18n:check":"node --import tsx scripts/control-ui-i18n.ts check","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","crabbox:warmup":"node scripts/crabbox-wrapper.mjs warmup","deps:vuln:gate":"node scripts/dependency-vulnerability-gate.mjs","docs:check-mdx":"node scripts/check-docs-mdx.mjs docs README.md","docs:map:check":"node scripts/generate-docs-map.mjs --check","dup:check:json":"node scripts/check-duplicates.mjs --json","maturity:check":"node --import tsx scripts/qa/render-maturity-docs.ts --check","perf:web-fetch":"node --import tsx scripts/bench-web-fetch.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","proxy:coverage":"node scripts/run-node.mjs proxy coverage","qa:lab:up:fast":"node --import tsx scripts/qa-lab-up.ts --use-prebuilt-image --bind-ui-dist --skip-ui-build","test:contracts":"pnpm test:contracts:channels && pnpm test:contracts:plugins","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:extension":"node scripts/test-extension.mjs","test:sectriage":"node scripts/run-with-env.mjs OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts && node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --exclude src/process/exec.test.ts","test:unit:fast":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit-fast.config.ts","tsgo:core:test":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.core.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core-test.tsbuildinfo","ui:i18n:report":"node --import tsx scripts/control-ui-i18n-report.ts","android:install":"node scripts/run-android-gradle.mjs :app:installPlayDebug","android:release":"bash scripts/android-release.sh","android:version":"node --import tsx scripts/android-version.ts --json","check:workflows":"node scripts/check-workflows.mjs","ci:full-release":"node scripts/full-release-validation-at-sha.mjs","config:docs:gen":"node --import tsx scripts/generate-config-doc-baseline.ts --write","crabbox:hydrate":"node scripts/crabbox-wrapper.mjs actions hydrate","db:kysely:check":"node scripts/generate-kysely-types.mjs --verify","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","deps:pins:check":"node scripts/check-dependency-pins.mjs","docs:spellcheck":"bash scripts/docs-spellcheck.sh","ios:screenshots":"bash scripts/ios-screenshots.sh","lint:docker-e2e":"node scripts/check-docker-e2e-boundaries.mjs","lint:extensions":"node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.extensions.json extensions","maturity:render":"node --import tsx scripts/qa/render-maturity-docs.ts","release:prepare":"node --import tsx scripts/release-prepare.ts","release:version":"node --import tsx scripts/release-version.ts","test:docker:all":"node scripts/test-docker-all.mjs","test:extensions":"node scripts/test-projects.mjs extensions","test:live:cache":"node scripts/run-with-env.mjs OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 -- node --import tsx scripts/check-live-cache.ts","test:live:media":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts","test:windows:ci":"node scripts/test-projects.mjs src/shared/runtime-import.test.ts src/process/exec.windows.test.ts src/process/windows-command.test.ts src/infra/backup-create.windows.test.ts src/infra/windows-install-roots.test.ts src/node-host/invoke-system-run-allowlist.test.ts src/daemon/schtasks.startup-fallback.test.ts extensions/lobster/src/lobster-runner.test.ts test/scripts/format-generated-module.test.ts test/scripts/npm-runner.test.ts test/scripts/pnpm-runner.test.ts test/scripts/run-with-env.test.ts test/scripts/ui.test.ts test/scripts/vitest-process-group.test.ts","tsgo:extensions":"node scripts/run-tsgo.mjs -p tsconfig.extensions.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions.tsbuildinfo","android:assemble":"node scripts/run-android-gradle.mjs :app:assemblePlayDebug","apple:i18n:check":"node --import tsx scripts/apple-app-i18n.ts check","check:test-types":"pnpm tsgo:test","docs:check-links":"node scripts/docs-link-audit.mjs","ios:filelist:gen":"node scripts/ios-write-swift-filelist.mjs","ios:version:sync":"node --import tsx scripts/ios-sync-versioning.ts --write","native:i18n:sync":"node --import tsx scripts/native-app-i18n.ts sync --write","perf:issue-78851":"node --import tsx scripts/perf/issue-78851-model-resolution.ts","plugin-sdk:usage":"node --max-old-space-size=8192 --import tsx scripts/analyze-plugin-sdk-usage.ts","proxy:install-ca":"node --import tsx scripts/proxy-install-ca.mjs","test:auth:compat":"node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/server.auth.compat-baseline.test.ts src/gateway/client.test.ts src/gateway/reconnect-gating.test.ts && node scripts/run-vitest.mjs run packages/gateway-protocol/src/connect-error-details.test.ts","test:changed:max":"node scripts/test-projects-max.mjs --changed origin/main","test:e2e:gateway":"node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","test:perf:groups":"node scripts/test-group-report.mjs","test:sqlite:perf":"node --import tsx scripts/bench-sqlite-state.ts --profile default --output .artifacts/sqlite-perf/default.json","ci:timings:recent":"node scripts/ci-run-timings.mjs --recent 10","config:docs:check":"node --import tsx scripts/generate-config-doc-baseline.ts --check","config:schema:gen":"node --import tsx scripts/generate-base-config-schema.ts --write","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"node scripts/format-docs.mjs --check","gateway:dev:reset":"node scripts/run-with-env.mjs OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway --reset","gateway:watch:raw":"node scripts/watch-node.mjs gateway --force","ios:version:check":"node --import tsx scripts/ios-sync-versioning.ts --check","leak:embedded-run":"node --import tsx --expose-gc scripts/embedded-run-abort-leak.ts","native:i18n:check":"node --import tsx scripts/native-app-i18n.ts check","perf:kova:summary":"node scripts/kova-ci-summary.mjs","release:candidate":"node scripts/release-candidate-checklist.mjs","test:docker:rerun":"node scripts/docker-e2e-rerun.mjs","test:perf:imports":"node scripts/test-projects-imports.mjs","android:i18n:check":"node --import tsx scripts/android-app-i18n.ts check","build:ci-artifacts":"node scripts/build-all.mjs ciArtifacts","build:strict-smoke":"pnpm plugins:assets:build && 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 scripts/run-with-env.mjs OPENCLAW_PLUGIN_SDK_CANONICAL_DTS=1 -- node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node scripts/check-plugin-sdk-exports.mjs","canvas:a2ui:bundle":"node scripts/bundle-a2ui.mjs","check:architecture":"pnpm check:import-cycles && pnpm check:madge-import-cycles && pnpm check:deprecated-api-usage && pnpm check:deprecated-jsdoc && pnpm db:kysely:check && pnpm lint:kysely && pnpm check:database-first-legacy-stores","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","deps:patches:check":"node scripts/check-package-patches.mjs","dup:check:coverage":"node scripts/check-duplicates.mjs --coverage","ios:release:upload":"bash scripts/ios-release-upload.sh","plugin-sdk:api:gen":"node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --write","plugin-sdk:surface":"node --max-old-space-size=8192 scripts/plugin-sdk-surface-report.mjs","plugins:sync:check":"node --import tsx scripts/sync-plugin-versions.ts --check","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","release:beta-smoke":"node --import tsx scripts/release-beta-smoke.ts","test:e2e:openshell":"node scripts/run-with-env.mjs OPENCLAW_E2E_OPENSHELL=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts extensions/openshell/src/backend.e2e.test.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","test:startup:bench":"node --import tsx scripts/bench-cli-startup.ts","tool-display:check":"node --import tsx scripts/tool-display.ts --check","tool-display:write":"node --import tsx scripts/tool-display.ts --write","tsgo:test:packages":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.packages.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-packages.tsbuildinfo","tui:pty:test:watch":"node --import tsx scripts/dev/tui-pty-test-watch.ts","android:screenshots":"bash scripts/android-screenshots.sh","android:version:pin":"node --import tsx scripts/android-pin-version.ts","check:import-cycles":"node --import tsx scripts/check-import-cycles.ts","config:channels:gen":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --write","config:schema:check":"node --import tsx scripts/generate-base-config-schema.ts --check","deps:changes:report":"node scripts/dependency-changes-report.mjs","deps:root-ownership":"node scripts/root-dependency-ownership-audit.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","ios:release:archive":"bash scripts/ios-release-archive.sh","ios:release:prepare":"bash scripts/ios-release-prepare.sh","perf:source:summary":"node scripts/openclaw-performance-source-summary.mjs","plugins:assets:copy":"node scripts/bundled-plugin-assets.mjs --phase copy","qa:prometheus:smoke":"node scripts/run-node.mjs qa suite --provider-mode mock-openai --scenario docker-prometheus-smoke --concurrency 1 --fast","release:verify-beta":"node --import tsx scripts/release-verify-beta.ts","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","test:docker:timings":"node scripts/docker-e2e-timings.mjs","test:startup:memory":"node scripts/ensure-cli-startup-build.mjs && node scripts/check-cli-startup-memory.mjs","tsgo:extensions:all":"node scripts/run-tsgo.mjs -b tsconfig.extensions.projects.json","android:lint:android":"node scripts/run-android-gradle.mjs :app:lintPlayDebug :app:lintThirdPartyDebug","android:version:sync":"node --import tsx scripts/android-sync-versioning.ts --write","build:plugin-sdk:dts":"node scripts/run-tsgo.mjs -p tsconfig.plugin-sdk.dts.json --declaration true","codex-supervisor:mcp":"node --import tsx extensions/codex-supervisor/src/mcp-serve.ts","plugin-sdk:api:check":"node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check","plugins:assets:build":"node scripts/bundled-plugin-assets.mjs --phase build","prompt:snapshots:gen":"node --import tsx scripts/generate-prompt-snapshots.ts --write","release:prep:version":"node scripts/release-preflight.mjs --fix --scope version","runtime-sidecars:gen":"node --import tsx scripts/generate-runtime-sidecar-paths-baseline.ts --write","test:build:singleton":"node scripts/test-built-plugin-singleton.mjs","test:docker:cron-cli":"bash scripts/e2e/cron-cli-docker.sh","test:docker:live:all":"node scripts/run-with-env.mjs OPENCLAW_DOCKER_ALL_LIVE_MODE=only -- node scripts/test-docker-all.mjs","test:parallels:linux":"bash scripts/e2e/parallels-linux-smoke.sh","test:parallels:macos":"bash scripts/e2e/parallels-macos-smoke.sh","test:restart:gateway":"node --import tsx scripts/bench-gateway-restart.ts","test:startup:gateway":"node --import tsx scripts/bench-gateway-startup.ts","test:unit:fast:audit":"node scripts/test-unit-fast-audit.mjs","tsgo:extensions:test":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test.tsbuildinfo","tsgo:test:extensions":"pnpm tsgo:extensions:test","android:version:check":"node --import tsx scripts/android-sync-versioning.ts --check","check:timed:all-types":"node scripts/check-timed.mjs --include-test-types","config:channels:check":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check","deadcode:dependencies":"pnpm --config.minimum-release-age=0 dlx --package knip@6.8.0 knip --config config/knip.config.ts --production --no-progress --reporter compact --dependencies --no-config-hints","deadcode:unused-files":"node scripts/check-deadcode-unused-files.mjs","deps:shrinkwrap:check":"node scripts/generate-npm-shrinkwrap.mjs --all --check","mobile:release:record":"node --import tsx scripts/mobile-release-ref.ts record","plugins:inventory:gen":"node scripts/generate-plugin-inventory-doc.mjs --write","test:coverage:changed":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage --changed origin/main","test:docker:e2e-build":"bash scripts/e2e/build-image.sh","test:docker:local:all":"node scripts/run-with-env.mjs OPENCLAW_DOCKER_ALL_LIVE_MODE=skip -- node scripts/test-docker-all.mjs","test:docker:openwebui":"bash scripts/e2e/openwebui-docker.sh","test:extensions:batch":"node scripts/test-extension-batch.mjs","test:live:media:image":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts image","test:live:media:music":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts music","test:live:media:video":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts video","android:bundle:release":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android play_store_archive'","android:release:upload":"bash scripts/android-release-upload.sh","check:deprecated-jsdoc":"node scripts/check-deprecated-jsdoc.mjs","mobile:release:resolve":"node --import tsx scripts/mobile-release-ref.ts resolve","policy:config-coverage":"node --import tsx scripts/check-policy-config-coverage.ts","probe:anthropic:prompt":"node --import tsx scripts/anthropic-prompt-probe.ts","prompt:snapshots:check":"node --import tsx scripts/generate-prompt-snapshots.ts --check","qa:observability:smoke":"pnpm qa:otel:smoke && pnpm qa:prometheus:smoke","release-metadata:check":"node scripts/check-release-metadata-only.mjs","runtime-sidecars:check":"node --import tsx scripts/generate-runtime-sidecar-paths-baseline.ts --check","test:contracts:plugins":"node scripts/run-vitest.mjs run --config test/vitest/vitest.contracts-plugin.config.ts --maxWorkers=1","test:docker:live-build":"bash scripts/test-live-build-docker.sh","test:extensions:memory":"node scripts/profile-extension-memory.mjs","test:parallels:windows":"bash scripts/e2e/parallels-windows-smoke.sh","test:perf:profile:main":"node scripts/run-vitest-profile.mjs main","test:sqlite:perf:large":"node --import tsx scripts/bench-sqlite-state.ts --profile large --output .artifacts/sqlite-perf/large.json","test:sqlite:perf:smoke":"node --import tsx scripts/bench-sqlite-state.ts --profile smoke --output .artifacts/sqlite-perf/smoke.json","test:stability:gateway":"node scripts/run-with-env.mjs OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/gateway-stability.test.ts && node scripts/run-with-env.mjs OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.logging.config.ts src/logging/diagnostic-stability-bundle.test.ts && node scripts/run-with-env.mjs OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.infra.config.ts src/infra/fatal-error-hooks.test.ts","tui:pty:test:watch:all":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode all","android:release:archive":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android play_store_archive'","android:run:third-party":"node scripts/run-android-gradle.mjs :app:installThirdPartyDebug -- adb shell am start -n ai.openclaw.app/.MainActivity","canvas:a2ui:native:sync":"node scripts/sync-native-a2ui.mjs --write","check:protocol-coverage":"node scripts/check-protocol-event-coverage.mjs","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","lint:extensions:bundled":"node scripts/run-bundled-extension-oxlint.mjs","plugin-sdk:sync-exports":"node scripts/sync-plugin-sdk-exports.mjs","plugins:boundary-report":"node --import tsx scripts/plugin-boundary-report.ts","plugins:inventory:check":"node scripts/generate-plugin-inventory-doc.mjs --check","qa:otel:collector-smoke":"node --import tsx test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts --collector docker","release:generated:check":"node scripts/release-preflight.mjs --check","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:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","test:live:codex-harness":"node scripts/test-live.mjs --codex-harness -- src/gateway/gateway-codex-harness.live.test.ts","test:perf:changed:bench":"node scripts/bench-test-changed.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","tui:pty:test:watch:fake":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode fake","android:release:metadata":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android metadata'","android:test:integration":"node scripts/run-with-env.mjs OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","android:test:third-party":"node scripts/run-android-gradle.mjs :app:testThirdPartyDebugUnitTest","canvas:a2ui:native:check":"node scripts/sync-native-a2ui.mjs --check","check:base-config-schema":"node --import tsx scripts/generate-base-config-schema.ts --check","check:static-import-sccs":"pnpm check:madge-import-cycles","check:timed:architecture":"node scripts/check-timed.mjs --include-architecture","deps:shrinkwrap:generate":"node scripts/generate-npm-shrinkwrap.mjs --all","docs:check-i18n-glossary":"node scripts/check-docs-i18n-glossary.mjs","docs:check-links:anchors":"node scripts/docs-link-audit.mjs --anchors","ios:app-review-notes:pdf":"xcrun swift scripts/ios-app-review-notes-pdf.swift apps/ios/APP-REVIEW-NOTES.md apps/ios/build/app-review/APP-REVIEW-NOTES.pdf","ios:release:signing:plan":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_plan'","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","lint:extensions:channels":"node scripts/run-extension-channel-oxlint.mjs","mobile:release:preflight":"node --import tsx scripts/mobile-release-ref.ts preflight","plugin-sdk:check-exports":"node scripts/sync-plugin-sdk-exports.mjs --check","plugin-sdk:surface:check":"node --max-old-space-size=8192 scripts/plugin-sdk-surface-report.mjs --check","release:plugins:npm:plan":"node --import tsx scripts/plugin-npm-release-plan.ts","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:mcp-channels":"bash scripts/e2e/mcp-channels-docker.sh","test:perf:groups:compare":"node scripts/test-group-report.mjs --compare","test:perf:profile:runner":"node scripts/run-vitest-profile.mjs runner","test:startup:bench:check":"node scripts/test-cli-startup-bench-budget.mjs","test:startup:bench:smoke":"node scripts/ensure-cli-startup-build.mjs && node --import tsx scripts/bench-cli-startup.ts --preset real --case gatewayStatusJson --runs 1 --warmup 0 --output .artifacts/cli-startup-bench-smoke.json","tui:pty:test:watch:local":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode local","android:release:preflight":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android release_preflight'","check:madge-import-cycles":"node --import tsx scripts/check-madge-import-cycles.ts","check:no-conflict-markers":"node scripts/check-no-conflict-markers.mjs","deps:root-ownership:check":"node scripts/root-dependency-ownership-audit.mjs --check","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","ios:release:signing:check":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_check'","ios:release:signing:setup":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_setup'","release:fast-pretag-check":"bash scripts/release-fast-pretag-check.sh","release:plugins:npm:check":"node --import tsx scripts/plugin-npm-release-check.ts","test:docker:compose-setup":"bash scripts/e2e/compose-setup.sh","test:docker:config-reload":"bash scripts/e2e/config-reload-source-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:docker:live-acp-bind":"bash scripts/test-live-acp-bind-docker.sh","test:docker:plugin-update":"bash scripts/e2e/plugin-update-unchanged-docker.sh","test:docker:skill-install":"bash scripts/e2e/skill-install-docker.sh","test:env-mutations:report":"node --import tsx scripts/test-env-mutation-report.ts","test:live:models-profiles":"node scripts/test-live.mjs -- src/agents/models.profiles.live.test.ts","test:parallels:npm-update":"bash scripts/e2e/parallels-npm-update-smoke.sh","test:perf:imports:changed":"node scripts/test-projects-imports.mjs --changed origin/main","test:startup:bench:update":"node scripts/test-update-cli-startup-bench.mjs","test:voicecall:closedloop":"node scripts/test-voicecall-closedloop.mjs","android:release:auth:check":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android auth_check'","check:deprecated-api-usage":"node scripts/check-deprecated-api-usage.mjs","check:temp-path-guardrails":"node --import tsx scripts/check-temp-path-guardrails.ts","deps:shrinkwrap:root:check":"node scripts/generate-npm-shrinkwrap.mjs --check","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","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","release:openclaw:npm:check":"node --import tsx scripts/openclaw-npm-release-check.ts","test:cli-response:contract":"node scripts/build-all.mjs cliStartup && node scripts/test-cli-startup-bench-budget.mjs --preset response --runs 1 --warmup 0 --timeout-ms 10000 --skip-baseline","test:gateway:cpu-scenarios":"node scripts/check-gateway-cpu-scenarios.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:live:gateway-profiles":"node scripts/test-live.mjs -- src/gateway/gateway-models.profiles.live.test.ts","test:skip-inventory:report":"node --import tsx scripts/test-skip-inventory.ts","android:install:third-party":"node scripts/run-android-gradle.mjs :app:installThirdPartyDebug","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","deps:transitive-risk:report":"node scripts/transitive-manifest-risk-report.mjs","lint:tmp:tsgo-core-boundary":"node scripts/check-tsgo-core-boundary.mjs","test:docker:codex-on-demand":"bash scripts/e2e/codex-on-demand-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","test:docker:live-codex-bind":"OPENCLAW_LIVE_CODEX_BIND=1 OPENCLAW_LIVE_CODEX_TEST_FILES=src/gateway/gateway-codex-bind.live.test.ts bash scripts/test-live-codex-harness-docker.sh","test:docker:package-install":"bash scripts/e2e/docker-package-install.sh","android:assemble:third-party":"node scripts/run-android-gradle.mjs :app:assembleThirdPartyDebug","android:release:signing:plan":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_plan'","check:changelog-attributions":"node scripts/check-changelog-attributions.mjs","check:media-download-helpers":"node scripts/check-media-download-helper-roundtrip.mjs","check:opengrep-rule-metadata":"node security/opengrep/check-rule-metadata.mjs","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","deps:ownership-surface:check":"node scripts/dependency-ownership-surface-report.mjs --check","lint:tmp:no-random-messaging":"node scripts/check-no-random-messaging-tmp.mjs","plugins:boundary-report:json":"node --import tsx scripts/plugin-boundary-report.ts --json","release:plugins:clawhub:plan":"node --import tsx scripts/plugin-clawhub-release-plan.ts","test:docker:codex-media-path":"bash scripts/e2e/codex-media-path-docker.sh","test:docker:cron-mcp-cleanup":"bash scripts/e2e/cron-mcp-cleanup-docker.sh","test:docker:kitchen-sink-rpc":"bash scripts/e2e/kitchen-sink-rpc-docker.sh","test:docker:live-cli-backend":"bash scripts/test-live-cli-backend-docker.sh","test:docker:live-plugin-tool":"bash scripts/e2e/live-plugin-tool-docker.sh","test:docker:update-migration":"env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@2026.4.23} OPENCLAW_UPGRADE_SURVIVOR_SCENARIO=${OPENCLAW_UPGRADE_SURVIVOR_SCENARIO:-plugin-deps-cleanup} bash scripts/e2e/upgrade-survivor-docker.sh","test:docker:upgrade-survivor":"bash scripts/e2e/upgrade-survivor-docker.sh","test:gateway:memory-fd-repro":"node scripts/check-memory-fd-repro.mjs","android:release:signing:check":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_check'","build:plugin-sdk:strict-smoke":"node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/run-with-env.mjs OPENCLAW_PLUGIN_SDK_CANONICAL_DTS=1 -- node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node scripts/check-plugin-sdk-exports.mjs","check:runtime-sidecar-loaders":"node --import tsx scripts/check-runtime-sidecar-loaders.mjs","deps:ownership-surface:report":"node scripts/dependency-ownership-surface-report.mjs","deps:shrinkwrap:changed:check":"node scripts/generate-npm-shrinkwrap.mjs --changed --check","deps:shrinkwrap:root:generate":"node scripts/generate-npm-shrinkwrap.mjs","ios:release:signing:sync:pull":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_sync_pull'","ios:release:signing:sync:push":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_sync_push'","lint:tmp:dynamic-import-warts":"node scripts/check-dynamic-import-warts.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","release:plugins:clawhub:check":"node --import tsx scripts/plugin-clawhub-release-check.ts","test:docker:crestodian-rescue":"bash scripts/e2e/crestodian-rescue-docker.sh","test:docker:multi-node-update":"bash scripts/e2e/multi-node-update-docker.sh","test:docker:npm-telegram-live":"bash scripts/e2e/npm-telegram-live-docker.sh","test:docker:openai-chat-tools":"bash scripts/e2e/openai-chat-tools-docker.sh","test:docker:openai-image-auth":"bash scripts/e2e/openai-image-auth-docker.sh","test:gateway:watch-regression":"node scripts/check-gateway-watch-regression.mjs","test:plugins:gateway-gauntlet":"node scripts/check-plugin-gateway-gauntlet.mjs","test:plugins:kitchen-sink-rpc":"node --import tsx scripts/e2e/kitchen-sink-rpc-walk.mjs","codex-app-server:protocol:sync":"node --import tsx scripts/sync-codex-app-server-protocol.ts","test:docker:commitments-safety":"bash scripts/e2e/commitments-safety-docker.sh","test:docker:crestodian-planner":"bash scripts/e2e/crestodian-planner-docker.sh","test:docker:live-codex-harness":"bash scripts/test-live-codex-harness-docker.sh","test:docker:live-models:claude":"OPENCLAW_LIVE_PROVIDERS=claude-cli OPENCLAW_LIVE_MODELS=claude-cli/claude-sonnet-4-6 bash scripts/test-live-models-docker.sh","test:docker:live-models:gemini":"OPENCLAW_LIVE_PROVIDERS=google-gemini-cli OPENCLAW_LIVE_MODELS=google-gemini-cli/gemini-3.1-pro-preview bash scripts/test-live-models-docker.sh","test: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'","codex-app-server:protocol:check":"node --import tsx scripts/check-codex-app-server-protocol.ts","lint:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","plugins:boundary-report:summary":"node --import tsx scripts/plugin-boundary-report.ts --summary","test:docker:kitchen-sink-plugin":"bash scripts/e2e/kitchen-sink-plugin-docker.sh","test:docker:live-acp-bind:codex":"OPENCLAW_LIVE_ACP_BIND_AGENT=codex bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:droid":"OPENCLAW_LIVE_ACP_BIND_AGENT=droid OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh","test:docker:live-gateway:claude":"OPENCLAW_LIVE_GATEWAY_PROVIDERS=claude-cli OPENCLAW_LIVE_GATEWAY_MODELS=claude-cli/claude-sonnet-4-6 bash scripts/test-live-gateway-models-docker.sh","test:docker:live-gateway:gemini":"OPENCLAW_LIVE_GATEWAY_PROVIDERS=google-gemini-cli OPENCLAW_LIVE_GATEWAY_MODELS=google-gemini-cli/gemini-3.1-pro-preview bash scripts/test-live-gateway-models-docker.sh","test:docker:update-restart-auth":"env OPENCLAW_UPGRADE_SURVIVOR_UPDATE_RESTART_MODE=auto-auth OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh","deps:shrinkwrap:changed:generate":"node scripts/generate-npm-shrinkwrap.mjs --changed","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","qa:observability:collector-smoke":"pnpm qa:otel:collector-smoke && pnpm qa:prometheus:smoke","test:docker:browser-cdp-snapshot":"bash scripts/e2e/browser-cdp-snapshot-docker.sh","test:docker:crestodian-first-run":"bash scripts/e2e/crestodian-first-run-docker.sh","test:docker:live-acp-bind:claude":"OPENCLAW_LIVE_ACP_BIND_AGENT=claude bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:gemini":"OPENCLAW_LIVE_ACP_BIND_AGENT=gemini bash scripts/test-live-acp-bind-docker.sh","test:docker:release-media-memory":"bash scripts/e2e/release-media-memory-docker.sh","test:docker:release-user-journey":"bash scripts/e2e/release-user-journey-docker.sh","test:extensions:package-boundary":"node scripts/check-extension-package-tsc-boundary.mjs","android:release:signing:sync:pull":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_sync_pull'","android:release:signing:sync:push":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_sync_push'","lint:plugins:no-extension-imports":"node scripts/check-plugin-extension-import-boundary.mjs","prompt:snapshots:sync-codex-model":"node --import tsx scripts/sync-codex-model-prompt-fixture.ts","test:build:status-message-runtime":"node scripts/test-built-status-message-runtime.mjs","test:docker:live-codex-media-path":"OPENCLAW_LIVE_CODEX_HARNESS_AUTH=api-key OPENCLAW_LIVE_CODEX_HARNESS_CHAT_IMAGE_PROBE=1 OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0 bash scripts/test-live-codex-harness-docker.sh","test:docker:live-codex-npm-plugin":"bash scripts/e2e/codex-npm-plugin-live-docker.sh","test:docker:mcp-code-mode-gateway":"bash scripts/e2e/mcp-code-mode-gateway-docker.sh","test:docker:update-channel-switch":"bash scripts/e2e/update-channel-switch-docker.sh","test:docker:update-corrupt-plugin":"bash scripts/e2e/update-corrupt-plugin-docker.sh","check:database-first-legacy-stores":"node scripts/check-database-first-legacy-stores.mjs","lint:tmp:session-accessor-boundary":"node scripts/check-session-accessor-boundary.mjs","lint:web-fetch-provider-boundaries":"node scripts/check-web-fetch-provider-boundaries.mjs","test:docker:agent-bundle-mcp-tools":"bash scripts/e2e/agent-bundle-mcp-tools-docker.sh","test:docker:live-acp-bind:opencode":"OPENCLAW_LIVE_ACP_BIND_AGENT=opencode OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh","test:docker:live-subagent-announce":"bash scripts/test-live-subagent-announce-docker.sh","check:no-runtime-action-load-config":"node scripts/check-no-runtime-action-load-config.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","test:docker:live-cli-backend:claude":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview bash scripts/test-live-cli-backend-docker.sh","test:docker:plugin-lifecycle-matrix":"bash scripts/e2e/plugin-lifecycle-matrix-docker.sh","test:docker:session-runtime-context":"bash scripts/e2e/session-runtime-context-docker.sh","test:e2e:status-corrupt-plugin-deps":"bash scripts/e2e/status-corrupt-plugin-deps.sh","test:live:crestodian-rescue-channel":"node scripts/run-with-env.mjs OPENCLAW_LIVE_CRESTODIAN_RESCUE_CHANNEL=1 -- node scripts/test-live.mjs -- src/crestodian/rescue-channel.live.test.ts","test:plugins:init-provider-scaffold":"node --import tsx scripts/validate-plugin-init-provider-scaffold.ts","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","test:docker:release-typed-onboarding":"bash scripts/e2e/release-typed-onboarding-docker.sh","test:docker:root-managed-vps-upgrade":"env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_ROOT_MANAGED_VPS=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@2026.5.7} OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh","check:bundled-channel-config-metadata":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check","lint:extensions:telegram-grammy-types":"node scripts/check-telegram-grammy-types-imports.mjs","lint:plugins:no-extension-src-imports":"node --import tsx scripts/check-no-extension-src-imports.ts","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","release:openclaw:npm:verify-published":"node --import tsx scripts/openclaw-npm-postpublish-verify.ts","test:docker:npm-onboard-channel-agent":"bash scripts/e2e/npm-onboard-channel-agent-docker.sh","test:docker:openai-web-search-minimal":"bash scripts/e2e/openai-web-search-minimal-docker.sh","lint:extensions:no-plugin-sdk-internal":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=plugin-sdk-internal","lint:tmp:session-accessor-boundary:gen":"node scripts/check-session-accessor-boundary.mjs --update-debt-baseline","test:docker:live-mcp-code-mode-gateway":"bash scripts/e2e/mcp-code-mode-gateway-live-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:release-plugin-marketplace":"bash scripts/e2e/release-plugin-marketplace-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:gemini:mcp":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:extensions:package-boundary:canary":"node scripts/check-extension-package-tsc-boundary.mjs --mode=canary","test:docker:release-upgrade-user-journey":"bash scripts/e2e/release-upgrade-user-journey-docker.sh","test:extensions:package-boundary:compile":"node scripts/check-extension-package-tsc-boundary.mjs --mode=compile","lint:extensions:no-src-outside-plugin-sdk":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=src-outside-plugin-sdk","lint:plugins:plugin-sdk-subpaths-exported":"node scripts/check-plugin-sdk-subpath-exports.mjs","test:docker:plugin-binding-command-escape":"bash scripts/e2e/plugin-binding-command-escape-docker.sh","test:docker:agents-delete-shared-workspace":"bash scripts/e2e/agents-delete-shared-workspace-docker.sh","test:docker:live-cli-backend:claude:resume":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini:resume":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","lint:extensions:no-relative-outside-package":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=relative-outside-package","lint:plugins:no-extension-test-core-imports":"node --import tsx scripts/check-no-extension-test-core-imports.ts","lint:tmp:session-transcript-reader-boundary":"node scripts/check-session-transcript-reader-boundary.mjs","test:docker:npm-onboard-slack-channel-agent":"OPENCLAW_NPM_ONBOARD_CHANNEL=slack bash scripts/e2e/npm-onboard-channel-agent-docker.sh","lint:extensions:no-deprecated-channel-access":"node --import tsx scripts/check-no-deprecated-channel-access.ts","test:docker:bundled-plugin-install-uninstall":"bash scripts/e2e/bundled-plugin-install-uninstall-docker.sh","lint:extensions:no-guarded-wildcard-reexports":"node scripts/check-extension-wildcard-reexports.mjs","test:docker:npm-onboard-discord-channel-agent":"OPENCLAW_NPM_ONBOARD_CHANNEL=discord bash scripts/e2e/npm-onboard-channel-agent-docker.sh","lint:extensions:no-plugin-sdk-wildcard-reexports":"node scripts/check-plugin-sdk-wildcard-reexports.mjs","test:docker:live-cli-backend:claude-subscription":"OPENCLAW_LIVE_CLI_BACKEND_AUTH=subscription OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_DISABLE_MCP_CONFIG=1 OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=0 bash scripts/test-live-cli-backend-docker.sh","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"deprecated":"Broken dependency spec (workspace:* leaked into package.json). Use 2026.7.4.","repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.0","tar":"7.5.19","zod":"4.4.3","diff":"9.0.0","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","json5":"2.2.3","jszip":"3.10.1","tslog":"4.10.2","croner":"10.0.1","dotenv":"17.4.2","grammy":"1.44.0","ignore":"7.0.5","kysely":"0.29.2","openai":"6.45.0","qrcode":"1.5.4","undici":"8.5.0","clawpdf":"0.3.0","express":"5.2.1","typebox":"1.3.3","chokidar":"5.0.0","linkedom":"0.18.12","web-push":"3.6.7","commander":"15.0.0","file-type":"22.0.1","minimatch":"10.2.5","rastermill":"0.3.1","typescript":"6.0.3","@clack/core":"1.4.2","@openclaw/ai":"workspace:*","highlight.js":"11.11.1","partial-json":"0.1.7","quickjs-wasi":"3.0.2","@google/genai":"2.10.0","node-edge-tts":"1.2.10","@clack/prompts":"1.6.0","hosted-git-info":"10.1.1","playwright-core":"1.61.1","proper-lockfile":"4.1.2","web-tree-sitter":"0.26.10","@grammyjs/runner":"2.0.3","@homebridge/ciao":"1.3.9","@lydell/node-pty":"1.2.0-beta.12","tree-sitter-bash":"0.25.1","@anthropic-ai/sdk":"0.109.1","@openclaw/fs-safe":"0.4.1","@openclaw/proxyline":"0.3.3","@mistralai/mistralai":"2.4.0","@mozilla/readability":"0.6.0","@earendil-works/pi-tui":"0.80.3","@agentclientprotocol/sdk":"1.1.0","@modelcontextprotocol/sdk":"1.29.0","@silvia-odwyer/photon-node":"0.3.4","@grammyjs/transformer-throttler":"1.2.1"},"_hasShrinkwrap":true,"packageManager":"pnpm@11.2.2+sha512.36e6621fad506178936455e70247b8808ef4ec25797a9f437a93281a020484e2607f6a469a22e982987c3dbb8866e3071514ab10a4a1749e06edcd1ec118436f","devDependencies":{"lit":"3.3.3","tsx":"4.22.4","jscpd":"4.2.4","jsdom":"29.1.1","oxfmt":"0.57.0","shiki":"4.3.0","unrun":"0.3.1","oxlint":"1.72.0","tsdown":"0.22.1","vitest":"4.1.9","esbuild":"0.28.1","sigstore":"4.1.1","@a2ui/lit":"0.10.1","@types/ws":"8.18.1","@mdx-js/mdx":"3.1.1","@types/node":"26.1.0","@lit/context":"1.1.6","signal-utils":"0.21.1","@shikijs/core":"4.3.0","@types/express":"5.0.6","@grammyjs/types":"3.28.0","oxlint-tsgolint":"0.24.0","@lit-labs/signals":"0.3.0","@copilotkit/aimock":"1.35.0","@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.9","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4","@shikijs/engine-oniguruma":"4.3.0","@shikijs/engine-javascript":"4.3.0","@typescript/native-preview":"7.0.0-dev.20260704.1"},"optionalDependencies":{"sqlite-vec":"0.1.9"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.7.3_1786543153777_0.665025200380186","host":"s3://npm-registry-packages-npm-production"}},"2026.7.4":{"name":"soulclaw","version":"2026.7.4","keywords":[],"author":"","license":"MIT","_id":"soulclaw@2026.7.4","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"dist":{"shasum":"cb2b9146a4d90cbbe1d79c09b8e7853283ee9fa7","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.7.4.tgz","fileCount":8886,"integrity":"sha512-JjXMzWNFiZiBh4lp7ArNBVQs8e6H20HwNTmljP6feRdE4nJTFoBCa07VJtqF7ZfW6rNKdQgThIxS+Rzg4l2qEw==","signatures":[{"sig":"MEUCIF9jowCDlZvLkLzcZfcwImAC5zW5uqQIDb5lBr5ZXkAkAiEAvlWWRyof1elY+27a/eMKe7Gweve1gWuYQ57++SqD9Uw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87564357},"main":"dist/index.js","type":"module","_from":"file:soulclaw-2026.7.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./extension-api":"./dist/extensionAPI.js","./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","default":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/zod":{"types":"./dist/plugin-sdk/zod.d.ts","default":"./dist/plugin-sdk/zod.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/setup":{"types":"./dist/plugin-sdk/setup.d.ts","default":"./dist/plugin-sdk/setup.js"},"./plugin-sdk/types":{"types":"./dist/plugin-sdk/types.d.ts","default":"./dist/plugin-sdk/types.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/health":{"types":"./dist/plugin-sdk/health.d.ts","default":"./dist/plugin-sdk/health.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/speech":{"types":"./dist/plugin-sdk/speech.d.ts","default":"./dist/plugin-sdk/speech.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/routing":{"types":"./dist/plugin-sdk/routing.d.ts","default":"./dist/plugin-sdk/routing.js"},"./plugin-sdk/runtime":{"types":"./dist/plugin-sdk/runtime.d.ts","default":"./dist/plugin-sdk/runtime.js"},"./plugin-sdk/sandbox":{"types":"./dist/plugin-sdk/sandbox.d.ts","default":"./dist/plugin-sdk/sandbox.js"},"./plugin-sdk/lmstudio":{"types":"./dist/plugin-sdk/lmstudio.d.ts","default":"./dist/plugin-sdk/lmstudio.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/direct-dm":{"types":"./dist/plugin-sdk/direct-dm.d.ts","default":"./dist/plugin-sdk/direct-dm.js"},"./plugin-sdk/file-lock":{"types":"./dist/plugin-sdk/file-lock.d.ts","default":"./dist/plugin-sdk/file-lock.js"},"./plugin-sdk/migration":{"types":"./dist/plugin-sdk/migration.d.ts","default":"./dist/plugin-sdk/migration.js"},"./plugin-sdk/temp-path":{"types":"./dist/plugin-sdk/temp-path.d.ts","default":"./dist/plugin-sdk/temp-path.js"},"./plugin-sdk/tool-send":{"types":"./dist/plugin-sdk/tool-send.d.ts","default":"./dist/plugin-sdk/tool-send.js"},"./plugin-sdk/web-media":{"types":"./dist/plugin-sdk/web-media.d.ts","default":"./dist/plugin-sdk/web-media.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/agent-core":{"types":"./dist/plugin-sdk/agent-core.d.ts","default":"./dist/plugin-sdk/agent-core.js"},"./plugin-sdk/allow-from":{"types":"./dist/plugin-sdk/allow-from.d.ts","default":"./dist/plugin-sdk/allow-from.js"},"./plugin-sdk/json-store":{"types":"./dist/plugin-sdk/json-store.d.ts","default":"./dist/plugin-sdk/json-store.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/media-mime":{"types":"./dist/plugin-sdk/media-mime.d.ts","default":"./dist/plugin-sdk/media-mime.js"},"./plugin-sdk/acp-runtime":{"types":"./dist/plugin-sdk/acp-runtime.d.ts","default":"./dist/plugin-sdk/acp-runtime.js"},"./plugin-sdk/cli-backend":{"types":"./dist/plugin-sdk/cli-backend.d.ts","default":"./dist/plugin-sdk/cli-backend.js"},"./plugin-sdk/cli-runtime":{"types":"./dist/plugin-sdk/cli-runtime.d.ts","default":"./dist/plugin-sdk/cli-runtime.js"},"./plugin-sdk/media-store":{"types":"./dist/plugin-sdk/media-store.d.ts","default":"./dist/plugin-sdk/media-store.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/request-url":{"types":"./dist/plugin-sdk/request-url.d.ts","default":"./dist/plugin-sdk/request-url.js"},"./plugin-sdk/run-command":{"types":"./dist/plugin-sdk/run-command.d.ts","default":"./dist/plugin-sdk/run-command.js"},"./plugin-sdk/runtime-env":{"types":"./dist/plugin-sdk/runtime-env.d.ts","default":"./dist/plugin-sdk/runtime-env.js"},"./plugin-sdk/setup-tools":{"types":"./dist/plugin-sdk/setup-tools.d.ts","default":"./dist/plugin-sdk/setup-tools.js"},"./plugin-sdk/speech-core":{"types":"./dist/plugin-sdk/speech-core.d.ts","default":"./dist/plugin-sdk/speech-core.js"},"./plugin-sdk/ssrf-policy":{"types":"./dist/plugin-sdk/ssrf-policy.d.ts","default":"./dist/plugin-sdk/ssrf-policy.js"},"./plugin-sdk/state-paths":{"types":"./dist/plugin-sdk/state-paths.d.ts","default":"./dist/plugin-sdk/state-paths.js"},"./plugin-sdk/tool-plugin":{"types":"./dist/plugin-sdk/tool-plugin.d.ts","default":"./dist/plugin-sdk/tool-plugin.js"},"./plugin-sdk/transcripts":{"types":"./dist/plugin-sdk/transcripts.d.ts","default":"./dist/plugin-sdk/transcripts.js"},"./plugin-sdk/tts-runtime":{"types":"./dist/plugin-sdk/tts-runtime.d.ts","default":"./dist/plugin-sdk/tts-runtime.js"},"./plugin-sdk/account-core":{"types":"./dist/plugin-sdk/account-core.d.ts","default":"./dist/plugin-sdk/account-core.js"},"./plugin-sdk/channel-core":{"types":"./dist/plugin-sdk/channel-core.d.ts","default":"./dist/plugin-sdk/channel-core.js"},"./plugin-sdk/command-auth":{"types":"./dist/plugin-sdk/command-auth.d.ts","default":"./dist/plugin-sdk/command-auth.js"},"./plugin-sdk/config-types":{"types":"./dist/plugin-sdk/config-types.d.ts","default":"./dist/plugin-sdk/config-types.js"},"./plugin-sdk/group-access":{"types":"./dist/plugin-sdk/group-access.d.ts","default":"./dist/plugin-sdk/group-access.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/lazy-runtime":{"types":"./dist/plugin-sdk/lazy-runtime.d.ts","default":"./dist/plugin-sdk/lazy-runtime.js"},"./plugin-sdk/logging-core":{"types":"./dist/plugin-sdk/logging-core.d.ts","default":"./dist/plugin-sdk/logging-core.js"},"./plugin-sdk/plugin-entry":{"types":"./dist/plugin-sdk/plugin-entry.d.ts","default":"./dist/plugin-sdk/plugin-entry.js"},"./plugin-sdk/poll-runtime":{"types":"./dist/plugin-sdk/poll-runtime.d.ts","default":"./dist/plugin-sdk/poll-runtime.js"},"./plugin-sdk/reply-dedupe":{"types":"./dist/plugin-sdk/reply-dedupe.d.ts","default":"./dist/plugin-sdk/reply-dedupe.js"},"./plugin-sdk/secret-input":{"types":"./dist/plugin-sdk/secret-input.d.ts","default":"./dist/plugin-sdk/secret-input.js"},"./plugin-sdk/ssrf-runtime":{"types":"./dist/plugin-sdk/ssrf-runtime.d.ts","default":"./dist/plugin-sdk/ssrf-runtime.js"},"./plugin-sdk/text-runtime":{"types":"./dist/plugin-sdk/text-runtime.d.ts","default":"./dist/plugin-sdk/text-runtime.js"},"./plugin-sdk/time-runtime":{"types":"./dist/plugin-sdk/time-runtime.d.ts","default":"./dist/plugin-sdk/time-runtime.js"},"./plugin-sdk/tool-payload":{"types":"./dist/plugin-sdk/tool-payload.d.ts","default":"./dist/plugin-sdk/tool-payload.js"},"./plugin-sdk/tool-results":{"types":"./dist/plugin-sdk/tool-results.d.ts","default":"./dist/plugin-sdk/tool-results.js"},"./plugin-sdk/webhook-path":{"types":"./dist/plugin-sdk/webhook-path.d.ts","default":"./dist/plugin-sdk/webhook-path.js"},"./plugin-sdk/access-groups":{"types":"./dist/plugin-sdk/access-groups.d.ts","default":"./dist/plugin-sdk/access-groups.js"},"./plugin-sdk/agent-harness":{"types":"./dist/plugin-sdk/agent-harness.d.ts","default":"./dist/plugin-sdk/agent-harness.js"},"./plugin-sdk/agent-runtime":{"types":"./dist/plugin-sdk/agent-runtime.d.ts","default":"./dist/plugin-sdk/agent-runtime.js"},"./plugin-sdk/boolean-param":{"types":"./dist/plugin-sdk/boolean-param.d.ts","default":"./dist/plugin-sdk/boolean-param.js"},"./plugin-sdk/channel-route":{"types":"./dist/plugin-sdk/channel-route.d.ts","default":"./dist/plugin-sdk/channel-route.js"},"./plugin-sdk/channel-setup":{"types":"./dist/plugin-sdk/channel-setup.d.ts","default":"./dist/plugin-sdk/channel-setup.js"},"./plugin-sdk/config-schema":{"types":"./dist/plugin-sdk/config-schema.d.ts","default":"./dist/plugin-sdk/config-schema.js"},"./plugin-sdk/error-runtime":{"types":"./dist/plugin-sdk/error-runtime.d.ts","default":"./dist/plugin-sdk/error-runtime.js"},"./plugin-sdk/fetch-runtime":{"types":"./dist/plugin-sdk/fetch-runtime.d.ts","default":"./dist/plugin-sdk/fetch-runtime.js"},"./plugin-sdk/infra-runtime":{"types":"./dist/plugin-sdk/infra-runtime.d.ts","default":"./dist/plugin-sdk/infra-runtime.js"},"./plugin-sdk/media-runtime":{"types":"./dist/plugin-sdk/media-runtime.d.ts","default":"./dist/plugin-sdk/media-runtime.js"},"./plugin-sdk/param-readers":{"types":"./dist/plugin-sdk/param-readers.d.ts","default":"./dist/plugin-sdk/param-readers.js"},"./plugin-sdk/provider-auth":{"types":"./dist/plugin-sdk/provider-auth.d.ts","default":"./dist/plugin-sdk/provider-auth.js"},"./plugin-sdk/provider-http":{"types":"./dist/plugin-sdk/provider-http.d.ts","default":"./dist/plugin-sdk/provider-http.js"},"./plugin-sdk/proxy-capture":{"types":"./dist/plugin-sdk/proxy-capture.d.ts","default":"./dist/plugin-sdk/proxy-capture.js"},"./plugin-sdk/reply-history":{"types":"./dist/plugin-sdk/reply-history.d.ts","default":"./dist/plugin-sdk/reply-history.js"},"./plugin-sdk/reply-payload":{"types":"./dist/plugin-sdk/reply-payload.d.ts","default":"./dist/plugin-sdk/reply-payload.js"},"./plugin-sdk/reply-runtime":{"types":"./dist/plugin-sdk/reply-runtime.d.ts","default":"./dist/plugin-sdk/reply-runtime.js"},"./plugin-sdk/retry-runtime":{"types":"./dist/plugin-sdk/retry-runtime.d.ts","default":"./dist/plugin-sdk/retry-runtime.js"},"./plugin-sdk/runtime-fetch":{"types":"./dist/plugin-sdk/runtime-fetch.d.ts","default":"./dist/plugin-sdk/runtime-fetch.js"},"./plugin-sdk/runtime-store":{"types":"./dist/plugin-sdk/runtime-store.d.ts","default":"./dist/plugin-sdk/runtime-store.js"},"./plugin-sdk/setup-runtime":{"types":"./dist/plugin-sdk/setup-runtime.d.ts","default":"./dist/plugin-sdk/setup-runtime.js"},"./plugin-sdk/text-chunking":{"types":"./dist/plugin-sdk/text-chunking.d.ts","default":"./dist/plugin-sdk/text-chunking.js"},"./plugin-sdk/windows-spawn":{"types":"./dist/plugin-sdk/windows-spawn.d.ts","default":"./dist/plugin-sdk/windows-spawn.js"},"./plugin-sdk/agent-sessions":{"types":"./dist/plugin-sdk/agent-sessions.d.ts","default":"./dist/plugin-sdk/agent-sessions.js"},"./plugin-sdk/browser-config":{"types":"./dist/plugin-sdk/browser-config.d.ts","default":"./dist/plugin-sdk/browser-config.js"},"./plugin-sdk/channel-policy":{"types":"./dist/plugin-sdk/channel-policy.d.ts","default":"./dist/plugin-sdk/channel-policy.js"},"./plugin-sdk/channel-status":{"types":"./dist/plugin-sdk/channel-status.d.ts","default":"./dist/plugin-sdk/channel-status.js"},"./plugin-sdk/command-gating":{"types":"./dist/plugin-sdk/command-gating.d.ts","default":"./dist/plugin-sdk/command-gating.js"},"./plugin-sdk/command-status":{"types":"./dist/plugin-sdk/command-status.d.ts","default":"./dist/plugin-sdk/command-status.js"},"./plugin-sdk/config-runtime":{"types":"./dist/plugin-sdk/config-runtime.d.ts","default":"./dist/plugin-sdk/config-runtime.js"},"./plugin-sdk/dedupe-runtime":{"types":"./dist/plugin-sdk/dedupe-runtime.d.ts","default":"./dist/plugin-sdk/dedupe-runtime.js"},"./plugin-sdk/number-runtime":{"types":"./dist/plugin-sdk/number-runtime.d.ts","default":"./dist/plugin-sdk/number-runtime.js"},"./plugin-sdk/outbound-media":{"types":"./dist/plugin-sdk/outbound-media.d.ts","default":"./dist/plugin-sdk/outbound-media.js"},"./plugin-sdk/plugin-runtime":{"types":"./dist/plugin-sdk/plugin-runtime.d.ts","default":"./dist/plugin-sdk/plugin-runtime.js"},"./plugin-sdk/provider-entry":{"types":"./dist/plugin-sdk/provider-entry.d.ts","default":"./dist/plugin-sdk/provider-entry.js"},"./plugin-sdk/provider-setup":{"types":"./dist/plugin-sdk/provider-setup.d.ts","default":"./dist/plugin-sdk/provider-setup.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/realtime-voice":{"types":"./dist/plugin-sdk/realtime-voice.d.ts","default":"./dist/plugin-sdk/realtime-voice.js"},"./plugin-sdk/reply-chunking":{"types":"./dist/plugin-sdk/reply-chunking.d.ts","default":"./dist/plugin-sdk/reply-chunking.js"},"./plugin-sdk/runtime-doctor":{"types":"./dist/plugin-sdk/runtime-doctor.d.ts","default":"./dist/plugin-sdk/runtime-doctor.js"},"./plugin-sdk/runtime-logger":{"types":"./dist/plugin-sdk/runtime-logger.d.ts","default":"./dist/plugin-sdk/runtime-logger.js"},"./plugin-sdk/skills-runtime":{"types":"./dist/plugin-sdk/skills-runtime.d.ts","default":"./dist/plugin-sdk/skills-runtime.js"},"./plugin-sdk/sqlite-runtime":{"types":"./dist/plugin-sdk/sqlite-runtime.d.ts","default":"./dist/plugin-sdk/sqlite-runtime.js"},"./plugin-sdk/status-helpers":{"types":"./dist/plugin-sdk/status-helpers.d.ts","default":"./dist/plugin-sdk/status-helpers.js"},"./plugin-sdk/account-helpers":{"types":"./dist/plugin-sdk/account-helpers.d.ts","default":"./dist/plugin-sdk/account-helpers.js"},"./plugin-sdk/channel-actions":{"types":"./dist/plugin-sdk/channel-actions.d.ts","default":"./dist/plugin-sdk/channel-actions.js"},"./plugin-sdk/channel-inbound":{"types":"./dist/plugin-sdk/channel-inbound.d.ts","default":"./dist/plugin-sdk/channel-inbound.js"},"./plugin-sdk/channel-ingress":{"types":"./dist/plugin-sdk/channel-ingress.d.ts","default":"./dist/plugin-sdk/channel-ingress.js"},"./plugin-sdk/channel-logging":{"types":"./dist/plugin-sdk/channel-logging.d.ts","default":"./dist/plugin-sdk/channel-logging.js"},"./plugin-sdk/channel-message":{"types":"./dist/plugin-sdk/channel-message.d.ts","default":"./dist/plugin-sdk/channel-message.js"},"./plugin-sdk/channel-pairing":{"types":"./dist/plugin-sdk/channel-pairing.d.ts","default":"./dist/plugin-sdk/channel-pairing.js"},"./plugin-sdk/channel-runtime":{"types":"./dist/plugin-sdk/channel-runtime.d.ts","default":"./dist/plugin-sdk/channel-runtime.js"},"./plugin-sdk/channel-targets":{"types":"./dist/plugin-sdk/channel-targets.d.ts","default":"./dist/plugin-sdk/channel-targets.js"},"./plugin-sdk/command-surface":{"types":"./dist/plugin-sdk/command-surface.d.ts","default":"./dist/plugin-sdk/command-surface.js"},"./plugin-sdk/config-mutation":{"types":"./dist/plugin-sdk/config-mutation.d.ts","default":"./dist/plugin-sdk/config-mutation.js"},"./plugin-sdk/gateway-runtime":{"types":"./dist/plugin-sdk/gateway-runtime.d.ts","default":"./dist/plugin-sdk/gateway-runtime.js"},"./plugin-sdk/process-runtime":{"types":"./dist/plugin-sdk/process-runtime.d.ts","default":"./dist/plugin-sdk/process-runtime.js"},"./plugin-sdk/provider-stream":{"types":"./dist/plugin-sdk/provider-stream.d.ts","default":"./dist/plugin-sdk/provider-stream.js"},"./plugin-sdk/reply-reference":{"types":"./dist/plugin-sdk/reply-reference.d.ts","default":"./dist/plugin-sdk/reply-reference.js"},"./plugin-sdk/ssrf-dispatcher":{"types":"./dist/plugin-sdk/ssrf-dispatcher.d.ts","default":"./dist/plugin-sdk/ssrf-dispatcher.js"},"./plugin-sdk/webhook-ingress":{"types":"./dist/plugin-sdk/webhook-ingress.d.ts","default":"./dist/plugin-sdk/webhook-ingress.js"},"./plugin-sdk/webhook-targets":{"types":"./dist/plugin-sdk/webhook-targets.d.ts","default":"./dist/plugin-sdk/webhook-targets.js"},"./plugin-sdk/approval-runtime":{"types":"./dist/plugin-sdk/approval-runtime.d.ts","default":"./dist/plugin-sdk/approval-runtime.js"},"./plugin-sdk/channel-contract":{"types":"./dist/plugin-sdk/channel-contract.d.ts","default":"./dist/plugin-sdk/channel-contract.js"},"./plugin-sdk/channel-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-location":{"types":"./dist/plugin-sdk/channel-location.d.ts","default":"./dist/plugin-sdk/channel-location.js"},"./plugin-sdk/channel-outbound":{"types":"./dist/plugin-sdk/channel-outbound.d.ts","default":"./dist/plugin-sdk/channel-outbound.js"},"./plugin-sdk/chat-channel-ids":{"types":"./dist/plugin-sdk/chat-channel-ids.d.ts","default":"./dist/plugin-sdk/chat-channel-ids.js"},"./plugin-sdk/config-contracts":{"types":"./dist/plugin-sdk/config-contracts.d.ts","default":"./dist/plugin-sdk/config-contracts.js"},"./plugin-sdk/device-bootstrap":{"types":"./dist/plugin-sdk/device-bootstrap.d.ts","default":"./dist/plugin-sdk/device-bootstrap.js"},"./plugin-sdk/direct-dm-access":{"types":"./dist/plugin-sdk/direct-dm-access.d.ts","default":"./dist/plugin-sdk/direct-dm-access.js"},"./plugin-sdk/extension-shared":{"types":"./dist/plugin-sdk/extension-shared.d.ts","default":"./dist/plugin-sdk/extension-shared.js"},"./plugin-sdk/global-singleton":{"types":"./dist/plugin-sdk/global-singleton.d.ts","default":"./dist/plugin-sdk/global-singleton.js"},"./plugin-sdk/group-activation":{"types":"./dist/plugin-sdk/group-activation.d.ts","default":"./dist/plugin-sdk/group-activation.js"},"./plugin-sdk/image-generation":{"types":"./dist/plugin-sdk/image-generation.d.ts","default":"./dist/plugin-sdk/image-generation.js"},"./plugin-sdk/inbound-envelope":{"types":"./dist/plugin-sdk/inbound-envelope.d.ts","default":"./dist/plugin-sdk/inbound-envelope.js"},"./plugin-sdk/lmstudio-runtime":{"types":"./dist/plugin-sdk/lmstudio-runtime.d.ts","default":"./dist/plugin-sdk/lmstudio-runtime.js"},"./plugin-sdk/memory-host-core":{"types":"./dist/plugin-sdk/memory-host-core.d.ts","default":"./dist/plugin-sdk/memory-host-core.js"},"./plugin-sdk/music-generation":{"types":"./dist/plugin-sdk/music-generation.d.ts","default":"./dist/plugin-sdk/music-generation.js"},"./plugin-sdk/outbound-runtime":{"types":"./dist/plugin-sdk/outbound-runtime.d.ts","default":"./dist/plugin-sdk/outbound-runtime.js"},"./plugin-sdk/provider-onboard":{"types":"./dist/plugin-sdk/provider-onboard.d.ts","default":"./dist/plugin-sdk/provider-onboard.js"},"./plugin-sdk/security-runtime":{"types":"./dist/plugin-sdk/security-runtime.d.ts","default":"./dist/plugin-sdk/security-runtime.js"},"./plugin-sdk/telegram-account":{"types":"./dist/plugin-sdk/telegram-account.d.ts","default":"./dist/plugin-sdk/telegram-account.js"},"./plugin-sdk/video-generation":{"types":"./dist/plugin-sdk/video-generation.d.ts","default":"./dist/plugin-sdk/video-generation.js"},"./plugin-sdk/channel-lifecycle":{"types":"./dist/plugin-sdk/channel-lifecycle.d.ts","default":"./dist/plugin-sdk/channel-lifecycle.js"},"./plugin-sdk/channel-streaming":{"types":"./dist/plugin-sdk/channel-streaming.d.ts","default":"./dist/plugin-sdk/channel-streaming.js"},"./plugin-sdk/command-detection":{"types":"./dist/plugin-sdk/command-detection.d.ts","default":"./dist/plugin-sdk/command-detection.js"},"./plugin-sdk/directory-runtime":{"types":"./dist/plugin-sdk/directory-runtime.d.ts","default":"./dist/plugin-sdk/directory-runtime.js"},"./plugin-sdk/heartbeat-runtime":{"types":"./dist/plugin-sdk/heartbeat-runtime.d.ts","default":"./dist/plugin-sdk/heartbeat-runtime.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/memory-host-files":{"types":"./dist/plugin-sdk/memory-host-files.d.ts","default":"./dist/plugin-sdk/memory-host-files.js"},"./plugin-sdk/messaging-targets":{"types":"./dist/plugin-sdk/messaging-targets.d.ts","default":"./dist/plugin-sdk/messaging-targets.js"},"./plugin-sdk/migration-runtime":{"types":"./dist/plugin-sdk/migration-runtime.d.ts","default":"./dist/plugin-sdk/migration-runtime.js"},"./plugin-sdk/persistent-dedupe":{"types":"./dist/plugin-sdk/persistent-dedupe.d.ts","default":"./dist/plugin-sdk/persistent-dedupe.js"},"./plugin-sdk/provider-env-vars":{"types":"./dist/plugin-sdk/provider-env-vars.d.ts","default":"./dist/plugin-sdk/provider-env-vars.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/account-resolution":{"types":"./dist/plugin-sdk/account-resolution.d.ts","default":"./dist/plugin-sdk/account-resolution.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/collection-runtime":{"types":"./dist/plugin-sdk/collection-runtime.d.ts","default":"./dist/plugin-sdk/collection-runtime.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/diagnostic-runtime":{"types":"./dist/plugin-sdk/diagnostic-runtime.d.ts","default":"./dist/plugin-sdk/diagnostic-runtime.js"},"./plugin-sdk/document-extractor":{"types":"./dist/plugin-sdk/document-extractor.d.ts","default":"./dist/plugin-sdk/document-extractor.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-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/outbound-send-deps":{"types":"./dist/plugin-sdk/outbound-send-deps.d.ts","default":"./dist/plugin-sdk/outbound-send-deps.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/secret-ref-runtime":{"types":"./dist/plugin-sdk/secret-ref-runtime.d.ts","default":"./dist/plugin-sdk/secret-ref-runtime.js"},"./plugin-sdk/session-visibility":{"types":"./dist/plugin-sdk/session-visibility.d.ts","default":"./dist/plugin-sdk/session-visibility.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-runtime-backend":{"types":"./dist/plugin-sdk/acp-runtime-backend.d.ts","default":"./dist/plugin-sdk/acp-runtime-backend.js"},"./plugin-sdk/agent-media-payload":{"types":"./dist/plugin-sdk/agent-media-payload.d.ts","default":"./dist/plugin-sdk/agent-media-payload.js"},"./plugin-sdk/channel-send-result":{"types":"./dist/plugin-sdk/channel-send-result.d.ts","default":"./dist/plugin-sdk/channel-send-result.js"},"./plugin-sdk/command-auth-native":{"types":"./dist/plugin-sdk/command-auth-native.d.ts","default":"./dist/plugin-sdk/command-auth-native.js"},"./plugin-sdk/concurrency-runtime":{"types":"./dist/plugin-sdk/concurrency-runtime.d.ts","default":"./dist/plugin-sdk/concurrency-runtime.js"},"./plugin-sdk/embedding-providers":{"types":"./dist/plugin-sdk/embedding-providers.d.ts","default":"./dist/plugin-sdk/embedding-providers.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/interactive-runtime":{"types":"./dist/plugin-sdk/interactive-runtime.d.ts","default":"./dist/plugin-sdk/interactive-runtime.js"},"./plugin-sdk/json-schema-runtime":{"types":"./dist/plugin-sdk/json-schema-runtime.d.ts","default":"./dist/plugin-sdk/json-schema-runtime.js"},"./plugin-sdk/media-understanding":{"types":"./dist/plugin-sdk/media-understanding.d.ts","default":"./dist/plugin-sdk/media-understanding.js"},"./plugin-sdk/provider-auth-login":{"types":"./dist/plugin-sdk/provider-auth-login.d.ts","default":"./dist/plugin-sdk/provider-auth-login.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/secret-file-runtime":{"types":"./dist/plugin-sdk/secret-file-runtime.d.ts","default":"./dist/plugin-sdk/secret-file-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/talk-config-runtime":{"types":"./dist/plugin-sdk/talk-config-runtime.d.ts","default":"./dist/plugin-sdk/talk-config-runtime.js"},"./plugin-sdk/codex-mcp-projection":{"types":"./dist/plugin-sdk/codex-mcp-projection.d.ts","default":"./dist/plugin-sdk/codex-mcp-projection.js"},"./plugin-sdk/conversation-runtime":{"types":"./dist/plugin-sdk/conversation-runtime.d.ts","default":"./dist/plugin-sdk/conversation-runtime.js"},"./plugin-sdk/json-unsafe-integers":{"types":"./dist/plugin-sdk/json-unsafe-integers.d.ts","default":"./dist/plugin-sdk/json-unsafe-integers.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/plugin-state-runtime":{"types":"./dist/plugin-sdk/plugin-state-runtime.d.ts","default":"./dist/plugin-sdk/plugin-state-runtime.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-model-types":{"types":"./dist/plugin-sdk/provider-model-types.d.ts","default":"./dist/plugin-sdk/provider-model-types.js"},"./plugin-sdk/runtime-group-policy":{"types":"./dist/plugin-sdk/runtime-group-policy.d.ts","default":"./dist/plugin-sdk/runtime-group-policy.js"},"./plugin-sdk/secret-input-runtime":{"types":"./dist/plugin-sdk/secret-input-runtime.d.ts","default":"./dist/plugin-sdk/secret-input-runtime.js"},"./plugin-sdk/system-event-runtime":{"types":"./dist/plugin-sdk/system-event-runtime.d.ts","default":"./dist/plugin-sdk/system-event-runtime.js"},"./plugin-sdk/text-utility-runtime":{"types":"./dist/plugin-sdk/text-utility-runtime.d.ts","default":"./dist/plugin-sdk/text-utility-runtime.js"},"./plugin-sdk/agent-harness-runtime":{"types":"./dist/plugin-sdk/agent-harness-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-runtime.js"},"./plugin-sdk/allowlist-config-edit":{"types":"./dist/plugin-sdk/allowlist-config-edit.d.ts","default":"./dist/plugin-sdk/allowlist-config-edit.js"},"./plugin-sdk/approval-auth-runtime":{"types":"./dist/plugin-sdk/approval-auth-runtime.d.ts","default":"./dist/plugin-sdk/approval-auth-runtime.js"},"./plugin-sdk/channel-config-schema":{"types":"./dist/plugin-sdk/channel-config-schema.d.ts","default":"./dist/plugin-sdk/channel-config-schema.js"},"./plugin-sdk/channel-config-writes":{"types":"./dist/plugin-sdk/channel-config-writes.d.ts","default":"./dist/plugin-sdk/channel-config-writes.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-pairing-paths":{"types":"./dist/plugin-sdk/channel-pairing-paths.d.ts","default":"./dist/plugin-sdk/channel-pairing-paths.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/image-generation-core":{"types":"./dist/plugin-sdk/image-generation-core.d.ts","default":"./dist/plugin-sdk/image-generation-core.js"},"./plugin-sdk/model-session-runtime":{"types":"./dist/plugin-sdk/model-session-runtime.d.ts","default":"./dist/plugin-sdk/model-session-runtime.js"},"./plugin-sdk/music-generation-core":{"types":"./dist/plugin-sdk/music-generation-core.d.ts","default":"./dist/plugin-sdk/music-generation-core.js"},"./plugin-sdk/plugin-config-runtime":{"types":"./dist/plugin-sdk/plugin-config-runtime.d.ts","default":"./dist/plugin-sdk/plugin-config-runtime.js"},"./plugin-sdk/provider-auth-api-key":{"types":"./dist/plugin-sdk/provider-auth-api-key.d.ts","default":"./dist/plugin-sdk/provider-auth-api-key.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-model-shared":{"types":"./dist/plugin-sdk/provider-model-shared.d.ts","default":"./dist/plugin-sdk/provider-model-shared.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/secure-random-runtime":{"types":"./dist/plugin-sdk/secure-random-runtime.d.ts","default":"./dist/plugin-sdk/secure-random-runtime.js"},"./plugin-sdk/session-store-runtime":{"types":"./dist/plugin-sdk/session-store-runtime.d.ts","default":"./dist/plugin-sdk/session-store-runtime.js"},"./plugin-sdk/setup-adapter-runtime":{"types":"./dist/plugin-sdk/setup-adapter-runtime.d.ts","default":"./dist/plugin-sdk/setup-adapter-runtime.js"},"./plugin-sdk/string-coerce-runtime":{"types":"./dist/plugin-sdk/string-coerce-runtime.d.ts","default":"./dist/plugin-sdk/string-coerce-runtime.js"},"./plugin-sdk/text-autolink-runtime":{"types":"./dist/plugin-sdk/text-autolink-runtime.d.ts","default":"./dist/plugin-sdk/text-autolink-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/web-content-extractor":{"types":"./dist/plugin-sdk/web-content-extractor.d.ts","default":"./dist/plugin-sdk/web-content-extractor.js"},"./plugin-sdk/approval-reply-runtime":{"types":"./dist/plugin-sdk/approval-reply-runtime.d.ts","default":"./dist/plugin-sdk/approval-reply-runtime.js"},"./plugin-sdk/channel-config-helpers":{"types":"./dist/plugin-sdk/channel-config-helpers.d.ts","default":"./dist/plugin-sdk/channel-config-helpers.js"},"./plugin-sdk/channel-entry-contract":{"types":"./dist/plugin-sdk/channel-entry-contract.d.ts","default":"./dist/plugin-sdk/channel-entry-contract.js"},"./plugin-sdk/channel-mention-gating":{"types":"./dist/plugin-sdk/channel-mention-gating.d.ts","default":"./dist/plugin-sdk/channel-mention-gating.js"},"./plugin-sdk/channel-reply-pipeline":{"types":"./dist/plugin-sdk/channel-reply-pipeline.d.ts","default":"./dist/plugin-sdk/channel-reply-pipeline.js"},"./plugin-sdk/channel-secret-runtime":{"types":"./dist/plugin-sdk/channel-secret-runtime.d.ts","default":"./dist/plugin-sdk/channel-secret-runtime.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/dangerous-name-runtime":{"types":"./dist/plugin-sdk/dangerous-name-runtime.d.ts","default":"./dist/plugin-sdk/dangerous-name-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/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/exec-approvals-runtime":{"types":"./dist/plugin-sdk/exec-approvals-runtime.d.ts","default":"./dist/plugin-sdk/exec-approvals-runtime.js"},"./plugin-sdk/gateway-method-runtime":{"types":"./dist/plugin-sdk/gateway-method-runtime.d.ts","default":"./dist/plugin-sdk/gateway-method-runtime.js"},"./plugin-sdk/inbound-reply-dispatch":{"types":"./dist/plugin-sdk/inbound-reply-dispatch.d.ts","default":"./dist/plugin-sdk/inbound-reply-dispatch.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/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/provider-oauth-runtime":{"types":"./dist/plugin-sdk/provider-oauth-runtime.d.ts","default":"./dist/plugin-sdk/provider-oauth-runtime.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/realtime-transcription":{"types":"./dist/plugin-sdk/realtime-transcription.d.ts","default":"./dist/plugin-sdk/realtime-transcription.js"},"./plugin-sdk/reply-dispatch-runtime":{"types":"./dist/plugin-sdk/reply-dispatch-runtime.d.ts","default":"./dist/plugin-sdk/reply-dispatch-runtime.js"},"./plugin-sdk/response-limit-runtime":{"types":"./dist/plugin-sdk/response-limit-runtime.d.ts","default":"./dist/plugin-sdk/response-limit-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/skill-commands-runtime":{"types":"./dist/plugin-sdk/skill-commands-runtime.d.ts","default":"./dist/plugin-sdk/skill-commands-runtime.js"},"./plugin-sdk/webhook-request-guards":{"types":"./dist/plugin-sdk/webhook-request-guards.d.ts","default":"./dist/plugin-sdk/webhook-request-guards.js"},"./plugin-sdk/agent-config-primitives":{"types":"./dist/plugin-sdk/agent-config-primitives.d.ts","default":"./dist/plugin-sdk/agent-config-primitives.js"},"./plugin-sdk/approval-client-runtime":{"types":"./dist/plugin-sdk/approval-client-runtime.d.ts","default":"./dist/plugin-sdk/approval-client-runtime.js"},"./plugin-sdk/approval-native-runtime":{"types":"./dist/plugin-sdk/approval-native-runtime.d.ts","default":"./dist/plugin-sdk/approval-native-runtime.js"},"./plugin-sdk/channel-ingress-runtime":{"types":"./dist/plugin-sdk/channel-ingress-runtime.d.ts","default":"./dist/plugin-sdk/channel-ingress-runtime.js"},"./plugin-sdk/channel-message-runtime":{"types":"./dist/plugin-sdk/channel-message-runtime.d.ts","default":"./dist/plugin-sdk/channel-message-runtime.js"},"./plugin-sdk/channel-runtime-context":{"types":"./dist/plugin-sdk/channel-runtime-context.d.ts","default":"./dist/plugin-sdk/channel-runtime-context.js"},"./plugin-sdk/memory-core-host-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-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-status":{"types":"./dist/plugin-sdk/memory-core-host-status.d.ts","default":"./dist/plugin-sdk/memory-core-host-status.js"},"./plugin-sdk/models-provider-runtime":{"types":"./dist/plugin-sdk/models-provider-runtime.d.ts","default":"./dist/plugin-sdk/models-provider-runtime.js"},"./plugin-sdk/native-command-registry":{"types":"./dist/plugin-sdk/native-command-registry.d.ts","default":"./dist/plugin-sdk/native-command-registry.js"},"./plugin-sdk/pair-loop-guard-runtime":{"types":"./dist/plugin-sdk/pair-loop-guard-runtime.d.ts","default":"./dist/plugin-sdk/pair-loop-guard-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/runtime-config-snapshot":{"types":"./dist/plugin-sdk/runtime-config-snapshot.d.ts","default":"./dist/plugin-sdk/runtime-config-snapshot.js"},"./plugin-sdk/session-binding-runtime":{"types":"./dist/plugin-sdk/session-binding-runtime.d.ts","default":"./dist/plugin-sdk/session-binding-runtime.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-command-config":{"types":"./dist/plugin-sdk/telegram-command-config.d.ts","default":"./dist/plugin-sdk/telegram-command-config.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/transport-ready-runtime":{"types":"./dist/plugin-sdk/transport-ready-runtime.d.ts","default":"./dist/plugin-sdk/transport-ready-runtime.js"},"./plugin-sdk/approval-gateway-runtime":{"types":"./dist/plugin-sdk/approval-gateway-runtime.d.ts","default":"./dist/plugin-sdk/approval-gateway-runtime.js"},"./plugin-sdk/approval-handler-runtime":{"types":"./dist/plugin-sdk/approval-handler-runtime.d.ts","default":"./dist/plugin-sdk/approval-handler-runtime.js"},"./plugin-sdk/channel-activity-runtime":{"types":"./dist/plugin-sdk/channel-activity-runtime.d.ts","default":"./dist/plugin-sdk/channel-activity-runtime.js"},"./plugin-sdk/channel-inbound-debounce":{"types":"./dist/plugin-sdk/channel-inbound-debounce.d.ts","default":"./dist/plugin-sdk/channel-inbound-debounce.js"},"./plugin-sdk/directory-config-runtime":{"types":"./dist/plugin-sdk/directory-config-runtime.d.ts","default":"./dist/plugin-sdk/directory-config-runtime.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/media-generation-runtime":{"types":"./dist/plugin-sdk/media-generation-runtime.d.ts","default":"./dist/plugin-sdk/media-generation-runtime.js"},"./plugin-sdk/provider-catalog-runtime":{"types":"./dist/plugin-sdk/provider-catalog-runtime.d.ts","default":"./dist/plugin-sdk/provider-catalog-runtime.js"},"./plugin-sdk/video-generation-runtime":{"types":"./dist/plugin-sdk/video-generation-runtime.d.ts","default":"./dist/plugin-sdk/video-generation-runtime.js"},"./plugin-sdk/approval-delivery-runtime":{"types":"./dist/plugin-sdk/approval-delivery-runtime.d.ts","default":"./dist/plugin-sdk/approval-delivery-runtime.js"},"./plugin-sdk/approval-reaction-runtime":{"types":"./dist/plugin-sdk/approval-reaction-runtime.d.ts","default":"./dist/plugin-sdk/approval-reaction-runtime.js"},"./plugin-sdk/channel-config-primitives":{"types":"./dist/plugin-sdk/channel-config-primitives.d.ts","default":"./dist/plugin-sdk/channel-config-primitives.js"},"./plugin-sdk/runtime-secret-resolution":{"types":"./dist/plugin-sdk/runtime-secret-resolution.d.ts","default":"./dist/plugin-sdk/runtime-secret-resolution.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/account-resolution-runtime":{"types":"./dist/plugin-sdk/account-resolution-runtime.d.ts","default":"./dist/plugin-sdk/account-resolution-runtime.js"},"./plugin-sdk/agent-harness-task-runtime":{"types":"./dist/plugin-sdk/agent-harness-task-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-task-runtime.js"},"./plugin-sdk/agent-harness-tool-runtime":{"types":"./dist/plugin-sdk/agent-harness-tool-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-tool-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/command-primitives-runtime":{"types":"./dist/plugin-sdk/command-primitives-runtime.d.ts","default":"./dist/plugin-sdk/command-primitives-runtime.js"},"./plugin-sdk/context-visibility-runtime":{"types":"./dist/plugin-sdk/context-visibility-runtime.d.ts","default":"./dist/plugin-sdk/context-visibility-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/provider-selection-runtime":{"types":"./dist/plugin-sdk/provider-selection-runtime.d.ts","default":"./dist/plugin-sdk/provider-selection-runtime.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/realtime-bootstrap-context":{"types":"./dist/plugin-sdk/realtime-bootstrap-context.d.ts","default":"./dist/plugin-sdk/realtime-bootstrap-context.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/session-transcript-runtime":{"types":"./dist/plugin-sdk/session-transcript-runtime.d.ts","default":"./dist/plugin-sdk/session-transcript-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/media-understanding-runtime":{"types":"./dist/plugin-sdk/media-understanding-runtime.d.ts","default":"./dist/plugin-sdk/media-understanding-runtime.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-multimodal":{"types":"./dist/plugin-sdk/memory-core-host-multimodal.d.ts","default":"./dist/plugin-sdk/memory-core-host-multimodal.js"},"./plugin-sdk/message-tool-delivery-hints":{"types":"./dist/plugin-sdk/message-tool-delivery-hints.d.ts","default":"./dist/plugin-sdk/message-tool-delivery-hints.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/qa-live-transport-scenarios":{"types":"./dist/plugin-sdk/qa-live-transport-scenarios.d.ts","default":"./dist/plugin-sdk/qa-live-transport-scenarios.js"},"./plugin-sdk/secret-provider-integration":{"types":"./dist/plugin-sdk/secret-provider-integration.d.ts","default":"./dist/plugin-sdk/secret-provider-integration.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-secret-basic-runtime":{"types":"./dist/plugin-sdk/channel-secret-basic-runtime.d.ts","default":"./dist/plugin-sdk/channel-secret-basic-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/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/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/string-normalization-runtime":{"types":"./dist/plugin-sdk/string-normalization-runtime.d.ts","default":"./dist/plugin-sdk/string-normalization-runtime.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-reply-options-runtime":{"types":"./dist/plugin-sdk/channel-reply-options-runtime.d.ts","default":"./dist/plugin-sdk/channel-reply-options-runtime.js"},"./plugin-sdk/inline-image-data-url-runtime":{"types":"./dist/plugin-sdk/inline-image-data-url-runtime.d.ts","default":"./dist/plugin-sdk/inline-image-data-url-runtime.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/native-command-config-runtime":{"types":"./dist/plugin-sdk/native-command-config-runtime.d.ts","default":"./dist/plugin-sdk/native-command-config-runtime.js"},"./plugin-sdk/provider-catalog-live-runtime":{"types":"./dist/plugin-sdk/provider-catalog-live-runtime.d.ts","default":"./dist/plugin-sdk/provider-catalog-live-runtime.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/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/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/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/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/provider-auth-login-flow-runtime":{"types":"./dist/plugin-sdk/provider-auth-login-flow-runtime.d.ts","default":"./dist/plugin-sdk/provider-auth-login-flow-runtime.js"},"./plugin-sdk/agent-harness-exec-review-runtime":{"types":"./dist/plugin-sdk/agent-harness-exec-review-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-exec-review-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-embedding-registry":{"types":"./dist/plugin-sdk/memory-core-host-embedding-registry.d.ts","default":"./dist/plugin-sdk/memory-core-host-embedding-registry.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"}},"scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"node scripts/run-oxlint-shards.mjs","test":"node scripts/test-projects.mjs","tsgo":"pnpm tsgo:core","build":"node scripts/build-all.mjs","check":"node scripts/check.mjs","start":"node openclaw.mjs","format":"oxfmt --write --threads=1","qa:e2e":"node --import tsx scripts/qa-e2e.ts","ui:dev":"node scripts/ui.js dev","verify":"node scripts/verify.mjs","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate'","ios:run":"bash scripts/ios-run.sh","test:ui":"pnpm ui:i18n:check && pnpm lint:ui:no-raw-window-open && node scripts/ensure-playwright-chromium.mjs && pnpm --dir ui test","tui:dev":"node scripts/run-with-env.mjs OPENCLAW_PROFILE=dev -- node scripts/run-node.mjs --dev tui","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","lint:all":"node scripts/run-oxlint.mjs","lint:fix":"node scripts/run-oxlint.mjs --fix && pnpm format","mac:open":"open dist/OpenClaw.app","openclaw":"node scripts/run-node.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:e2e":"pnpm test:e2e:gateway && pnpm test:ui:e2e","test:max":"node scripts/test-projects-max.mjs","tsgo:all":"node scripts/run-tsgo.mjs -b tsconfig.projects.json","ui:build":"node scripts/ui.js build","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","docs:list":"node scripts/docs-list.js","dup:check":"node scripts/check-duplicates.mjs","ios:build":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","lint:apps":"pnpm lint:swift","lint:core":"node scripts/run-oxlint-shards.mjs --only=core --split-core","lint:docs":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc","proxy:run":"node scripts/run-node.mjs proxy run","qa:lab:ui":"pnpm openclaw qa ui","qa:lab:up":"node --import tsx scripts/qa-lab-up.ts","test:fast":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts","test:live":"node scripts/test-live.mjs","test:unit":"pnpm test:unit:fast && node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts","tsgo:core":"node scripts/run-tsgo.mjs -p tsconfig.core.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core.tsbuildinfo","tsgo:prod":"pnpm tsgo:core && pnpm tsgo:extensions","tsgo:test":"pnpm tsgo:core:test && pnpm tsgo:extensions:test","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-mdx && pnpm docs:check-i18n-glossary && pnpm docs:check-links && pnpm docs:map:check","ci:timings":"node scripts/ci-run-timings.mjs --latest-main","clean:dist":"node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write --threads=1","ghsa:patch":"node scripts/ghsa-patch.mjs","lint:swift":"swiftlint lint --config config/swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","preinstall":"node scripts/preinstall-package-manager-warning.mjs","prepush:ci":"bash scripts/prepush-ci.sh","test:force":"node --import tsx scripts/test-force.ts","test:watch":"node scripts/test-projects.mjs --watch","ui:install":"node scripts/ui.js install","android:run":"node scripts/run-android-gradle.mjs :app:installPlayDebug -- adb shell am start -n ai.openclaw.app/.MainActivity","audit:seams":"node scripts/audit-seams.mjs","check:timed":"node scripts/check-timed.mjs","crabbox:run":"node scripts/crabbox-wrapper.mjs run","deadcode:ci":"pnpm deadcode:report:ci:knip && pnpm deadcode:report:ci:ts-unused","dev:ui:mock":"node --import tsx scripts/control-ui-mock-dev.ts","format:diff":"oxfmt --write --threads=1 && git --no-pager diff","format:docs":"node scripts/format-docs.mjs","gateway:dev":"node scripts/run-with-env.mjs OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway","ios:version":"node --import tsx scripts/ios-version.ts --json","lint:kysely":"node scripts/check-kysely-guardrails.mjs","mac:package":"bash scripts/package-mac-app.sh","mac:restart":"bash scripts/restart-mac.sh","postinstall":"node scripts/postinstall-bundled-plugins.mjs","proxy:start":"node scripts/run-node.mjs proxy start","test:serial":"node scripts/test-projects-serial.mjs","test:ui:e2e":"node scripts/ensure-playwright-chromium.mjs && node scripts/run-vitest.mjs run --config test/vitest/vitest.ui-e2e.config.ts --configLoader runner","ts-topology":"node --import tsx scripts/ts-topology.ts","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:test":"node scripts/run-android-gradle.mjs :app:testPlayDebugUnitTest","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 && pnpm plugins:assets:build && pnpm plugins:assets:copy && 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 --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts","crabbox:stop":"node scripts/crabbox-wrapper.mjs stop","docs:map:gen":"node scripts/generate-docs-map.mjs","format:check":"oxfmt --check --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","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","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","protocol:gen":"node --import tsx scripts/protocol-gen.ts","qa:lab:build":"vite build --config extensions/qa-lab/web/vite.config.ts","qa:lab:watch":"vite build --watch --config extensions/qa-lab/web/vite.config.ts","release:beta":"node scripts/release-candidate-checklist.mjs","release:prep":"node scripts/release-preflight.mjs --fix","test:bundled":"node scripts/run-vitest.mjs run --config test/vitest/vitest.bundled.config.ts","test:changed":"node scripts/test-projects.mjs --changed origin/main","test:gateway":"node scripts/run-with-env.mjs OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts","tsgo:profile":"node scripts/profile-tsgo.mjs","tsgo:test:ui":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.ui.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-ui.tsbuildinfo","ui:i18n:sync":"node --import tsx scripts/control-ui-i18n.ts sync --write","changed:lanes":"node scripts/changed-lanes.mjs","check:changed":"node scripts/check-changed.mjs","db:kysely:gen":"node scripts/generate-kysely-types.mjs","deadcode:knip":"pnpm --config.minimum-release-age=0 dlx --package knip@6.8.0 knip --config config/knip.config.ts --production --no-progress --reporter compact --files --dependencies","gateway:watch":"node scripts/gateway-watch-tmux.mjs gateway --force","lint:docs:fix":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc --fix","proxy:gateway":"node scripts/run-node.mjs proxy run -- node scripts/run-node.mjs gateway","qa:otel:smoke":"node --import tsx test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts","release:check":"pnpm release:generated:check && node --import tsx scripts/release-check.ts","test:channels":"node scripts/run-vitest.mjs run --config test/vitest/vitest.channels.config.ts","test:coverage":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage","test:macos:ci":"node 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/scripts/package-mac-app.test.ts test/scripts/package-mac-dist.test.ts test/scripts/create-dmg.test.ts test/scripts/codesign-mac-app.test.ts test/scripts/notarize-mac-artifact.test.ts","tsgo:core:all":"node scripts/run-tsgo.mjs -b tsconfig.core.projects.json","tsgo:test:src":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.src.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-src.tsbuildinfo","ui:i18n:check":"node --import tsx scripts/control-ui-i18n.ts check","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","crabbox:warmup":"node scripts/crabbox-wrapper.mjs warmup","deps:vuln:gate":"node scripts/dependency-vulnerability-gate.mjs","docs:check-mdx":"node scripts/check-docs-mdx.mjs docs README.md","docs:map:check":"node scripts/generate-docs-map.mjs --check","dup:check:json":"node scripts/check-duplicates.mjs --json","maturity:check":"node --import tsx scripts/qa/render-maturity-docs.ts --check","perf:web-fetch":"node --import tsx scripts/bench-web-fetch.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","proxy:coverage":"node scripts/run-node.mjs proxy coverage","qa:lab:up:fast":"node --import tsx scripts/qa-lab-up.ts --use-prebuilt-image --bind-ui-dist --skip-ui-build","test:contracts":"pnpm test:contracts:channels && pnpm test:contracts:plugins","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:extension":"node scripts/test-extension.mjs","test:sectriage":"node scripts/run-with-env.mjs OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts && node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --exclude src/process/exec.test.ts","test:unit:fast":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit-fast.config.ts","tsgo:core:test":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.core.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core-test.tsbuildinfo","ui:i18n:report":"node --import tsx scripts/control-ui-i18n-report.ts","android:install":"node scripts/run-android-gradle.mjs :app:installPlayDebug","android:release":"bash scripts/android-release.sh","android:version":"node --import tsx scripts/android-version.ts --json","check:workflows":"node scripts/check-workflows.mjs","ci:full-release":"node scripts/full-release-validation-at-sha.mjs","config:docs:gen":"node --import tsx scripts/generate-config-doc-baseline.ts --write","crabbox:hydrate":"node scripts/crabbox-wrapper.mjs actions hydrate","db:kysely:check":"node scripts/generate-kysely-types.mjs --verify","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","deps:pins:check":"node scripts/check-dependency-pins.mjs","docs:spellcheck":"bash scripts/docs-spellcheck.sh","ios:screenshots":"bash scripts/ios-screenshots.sh","lint:docker-e2e":"node scripts/check-docker-e2e-boundaries.mjs","lint:extensions":"node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.extensions.json extensions","maturity:render":"node --import tsx scripts/qa/render-maturity-docs.ts","release:prepare":"node --import tsx scripts/release-prepare.ts","release:version":"node --import tsx scripts/release-version.ts","test:docker:all":"node scripts/test-docker-all.mjs","test:extensions":"node scripts/test-projects.mjs extensions","test:live:cache":"node scripts/run-with-env.mjs OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 -- node --import tsx scripts/check-live-cache.ts","test:live:media":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts","test:windows:ci":"node scripts/test-projects.mjs src/shared/runtime-import.test.ts src/process/exec.windows.test.ts src/process/windows-command.test.ts src/infra/backup-create.windows.test.ts src/infra/windows-install-roots.test.ts src/node-host/invoke-system-run-allowlist.test.ts src/daemon/schtasks.startup-fallback.test.ts extensions/lobster/src/lobster-runner.test.ts test/scripts/format-generated-module.test.ts test/scripts/npm-runner.test.ts test/scripts/pnpm-runner.test.ts test/scripts/run-with-env.test.ts test/scripts/ui.test.ts test/scripts/vitest-process-group.test.ts","tsgo:extensions":"node scripts/run-tsgo.mjs -p tsconfig.extensions.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions.tsbuildinfo","android:assemble":"node scripts/run-android-gradle.mjs :app:assemblePlayDebug","apple:i18n:check":"node --import tsx scripts/apple-app-i18n.ts check","check:test-types":"pnpm tsgo:test","docs:check-links":"node scripts/docs-link-audit.mjs","ios:filelist:gen":"node scripts/ios-write-swift-filelist.mjs","ios:version:sync":"node --import tsx scripts/ios-sync-versioning.ts --write","native:i18n:sync":"node --import tsx scripts/native-app-i18n.ts sync --write","perf:issue-78851":"node --import tsx scripts/perf/issue-78851-model-resolution.ts","plugin-sdk:usage":"node --max-old-space-size=8192 --import tsx scripts/analyze-plugin-sdk-usage.ts","proxy:install-ca":"node --import tsx scripts/proxy-install-ca.mjs","test:auth:compat":"node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/server.auth.compat-baseline.test.ts src/gateway/client.test.ts src/gateway/reconnect-gating.test.ts && node scripts/run-vitest.mjs run packages/gateway-protocol/src/connect-error-details.test.ts","test:changed:max":"node scripts/test-projects-max.mjs --changed origin/main","test:e2e:gateway":"node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","test:perf:groups":"node scripts/test-group-report.mjs","test:sqlite:perf":"node --import tsx scripts/bench-sqlite-state.ts --profile default --output .artifacts/sqlite-perf/default.json","ci:timings:recent":"node scripts/ci-run-timings.mjs --recent 10","config:docs:check":"node --import tsx scripts/generate-config-doc-baseline.ts --check","config:schema:gen":"node --import tsx scripts/generate-base-config-schema.ts --write","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","format:docs:check":"node scripts/format-docs.mjs --check","gateway:dev:reset":"node scripts/run-with-env.mjs OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway --reset","gateway:watch:raw":"node scripts/watch-node.mjs gateway --force","ios:version:check":"node --import tsx scripts/ios-sync-versioning.ts --check","leak:embedded-run":"node --import tsx --expose-gc scripts/embedded-run-abort-leak.ts","native:i18n:check":"node --import tsx scripts/native-app-i18n.ts check","perf:kova:summary":"node scripts/kova-ci-summary.mjs","release:candidate":"node scripts/release-candidate-checklist.mjs","test:docker:rerun":"node scripts/docker-e2e-rerun.mjs","test:perf:imports":"node scripts/test-projects-imports.mjs","android:i18n:check":"node --import tsx scripts/android-app-i18n.ts check","build:ci-artifacts":"node scripts/build-all.mjs ciArtifacts","build:strict-smoke":"pnpm plugins:assets:build && 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 scripts/run-with-env.mjs OPENCLAW_PLUGIN_SDK_CANONICAL_DTS=1 -- node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node scripts/check-plugin-sdk-exports.mjs","canvas:a2ui:bundle":"node scripts/bundle-a2ui.mjs","check:architecture":"pnpm check:import-cycles && pnpm check:madge-import-cycles && pnpm check:deprecated-api-usage && pnpm check:deprecated-jsdoc && pnpm db:kysely:check && pnpm lint:kysely && pnpm check:database-first-legacy-stores","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","deps:patches:check":"node scripts/check-package-patches.mjs","dup:check:coverage":"node scripts/check-duplicates.mjs --coverage","ios:release:upload":"bash scripts/ios-release-upload.sh","plugin-sdk:api:gen":"node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --write","plugin-sdk:surface":"node --max-old-space-size=8192 scripts/plugin-sdk-surface-report.mjs","plugins:sync:check":"node --import tsx scripts/sync-plugin-versions.ts --check","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","release:beta-smoke":"node --import tsx scripts/release-beta-smoke.ts","test:e2e:openshell":"node scripts/run-with-env.mjs OPENCLAW_E2E_OPENSHELL=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts extensions/openshell/src/backend.e2e.test.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:perf:hotspots":"node scripts/test-hotspots.mjs","test:startup:bench":"node --import tsx scripts/bench-cli-startup.ts","tool-display:check":"node --import tsx scripts/tool-display.ts --check","tool-display:write":"node --import tsx scripts/tool-display.ts --write","tsgo:test:packages":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.packages.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-packages.tsbuildinfo","tui:pty:test:watch":"node --import tsx scripts/dev/tui-pty-test-watch.ts","android:screenshots":"bash scripts/android-screenshots.sh","android:version:pin":"node --import tsx scripts/android-pin-version.ts","check:import-cycles":"node --import tsx scripts/check-import-cycles.ts","config:channels:gen":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --write","config:schema:check":"node --import tsx scripts/generate-base-config-schema.ts --check","deps:changes:report":"node scripts/dependency-changes-report.mjs","deps:root-ownership":"node scripts/root-dependency-ownership-audit.mjs","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","ios:release:archive":"bash scripts/ios-release-archive.sh","ios:release:prepare":"bash scripts/ios-release-prepare.sh","perf:source:summary":"node scripts/openclaw-performance-source-summary.mjs","plugins:assets:copy":"node scripts/bundled-plugin-assets.mjs --phase copy","qa:prometheus:smoke":"node scripts/run-node.mjs qa suite --provider-mode mock-openai --scenario docker-prometheus-smoke --concurrency 1 --fast","release:verify-beta":"node --import tsx scripts/release-verify-beta.ts","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","test:docker:timings":"node scripts/docker-e2e-timings.mjs","test:startup:memory":"node scripts/ensure-cli-startup-build.mjs && node scripts/check-cli-startup-memory.mjs","tsgo:extensions:all":"node scripts/run-tsgo.mjs -b tsconfig.extensions.projects.json","android:lint:android":"node scripts/run-android-gradle.mjs :app:lintPlayDebug :app:lintThirdPartyDebug","android:version:sync":"node --import tsx scripts/android-sync-versioning.ts --write","build:plugin-sdk:dts":"node scripts/run-tsgo.mjs -p tsconfig.plugin-sdk.dts.json --declaration true","codex-supervisor:mcp":"node --import tsx extensions/codex-supervisor/src/mcp-serve.ts","plugin-sdk:api:check":"node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check","plugins:assets:build":"node scripts/bundled-plugin-assets.mjs --phase build","prompt:snapshots:gen":"node --import tsx scripts/generate-prompt-snapshots.ts --write","release:prep:version":"node scripts/release-preflight.mjs --fix --scope version","runtime-sidecars:gen":"node --import tsx scripts/generate-runtime-sidecar-paths-baseline.ts --write","test:build:singleton":"node scripts/test-built-plugin-singleton.mjs","test:docker:cron-cli":"bash scripts/e2e/cron-cli-docker.sh","test:docker:live:all":"node scripts/run-with-env.mjs OPENCLAW_DOCKER_ALL_LIVE_MODE=only -- node scripts/test-docker-all.mjs","test:parallels:linux":"bash scripts/e2e/parallels-linux-smoke.sh","test:parallels:macos":"bash scripts/e2e/parallels-macos-smoke.sh","test:restart:gateway":"node --import tsx scripts/bench-gateway-restart.ts","test:startup:gateway":"node --import tsx scripts/bench-gateway-startup.ts","test:unit:fast:audit":"node scripts/test-unit-fast-audit.mjs","tsgo:extensions:test":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test.tsbuildinfo","tsgo:test:extensions":"pnpm tsgo:extensions:test","android:version:check":"node --import tsx scripts/android-sync-versioning.ts --check","check:timed:all-types":"node scripts/check-timed.mjs --include-test-types","config:channels:check":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check","deadcode:dependencies":"pnpm --config.minimum-release-age=0 dlx --package knip@6.8.0 knip --config config/knip.config.ts --production --no-progress --reporter compact --dependencies --no-config-hints","deadcode:unused-files":"node scripts/check-deadcode-unused-files.mjs","deps:shrinkwrap:check":"node scripts/generate-npm-shrinkwrap.mjs --all --check","mobile:release:record":"node --import tsx scripts/mobile-release-ref.ts record","plugins:inventory:gen":"node scripts/generate-plugin-inventory-doc.mjs --write","test:coverage:changed":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage --changed origin/main","test:docker:e2e-build":"bash scripts/e2e/build-image.sh","test:docker:local:all":"node scripts/run-with-env.mjs OPENCLAW_DOCKER_ALL_LIVE_MODE=skip -- node scripts/test-docker-all.mjs","test:docker:openwebui":"bash scripts/e2e/openwebui-docker.sh","test:extensions:batch":"node scripts/test-extension-batch.mjs","test:live:media:image":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts image","test:live:media:music":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts music","test:live:media:video":"node --import tsx test/e2e/qa-lab/media/hosted-media-provider-live.ts video","android:bundle:release":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android play_store_archive'","android:release:upload":"bash scripts/android-release-upload.sh","check:deprecated-jsdoc":"node scripts/check-deprecated-jsdoc.mjs","mobile:release:resolve":"node --import tsx scripts/mobile-release-ref.ts resolve","policy:config-coverage":"node --import tsx scripts/check-policy-config-coverage.ts","probe:anthropic:prompt":"node --import tsx scripts/anthropic-prompt-probe.ts","prompt:snapshots:check":"node --import tsx scripts/generate-prompt-snapshots.ts --check","qa:observability:smoke":"pnpm qa:otel:smoke && pnpm qa:prometheus:smoke","release-metadata:check":"node scripts/check-release-metadata-only.mjs","runtime-sidecars:check":"node --import tsx scripts/generate-runtime-sidecar-paths-baseline.ts --check","test:contracts:plugins":"node scripts/run-vitest.mjs run --config test/vitest/vitest.contracts-plugin.config.ts --maxWorkers=1","test:docker:live-build":"bash scripts/test-live-build-docker.sh","test:extensions:memory":"node scripts/profile-extension-memory.mjs","test:parallels:windows":"bash scripts/e2e/parallels-windows-smoke.sh","test:perf:profile:main":"node scripts/run-vitest-profile.mjs main","test:sqlite:perf:large":"node --import tsx scripts/bench-sqlite-state.ts --profile large --output .artifacts/sqlite-perf/large.json","test:sqlite:perf:smoke":"node --import tsx scripts/bench-sqlite-state.ts --profile smoke --output .artifacts/sqlite-perf/smoke.json","test:stability:gateway":"node scripts/run-with-env.mjs OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/gateway-stability.test.ts && node scripts/run-with-env.mjs OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.logging.config.ts src/logging/diagnostic-stability-bundle.test.ts && node scripts/run-with-env.mjs OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.infra.config.ts src/infra/fatal-error-hooks.test.ts","tui:pty:test:watch:all":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode all","android:release:archive":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android play_store_archive'","android:run:third-party":"node scripts/run-android-gradle.mjs :app:installThirdPartyDebug -- adb shell am start -n ai.openclaw.app/.MainActivity","canvas:a2ui:native:sync":"node scripts/sync-native-a2ui.mjs --write","check:protocol-coverage":"node scripts/check-protocol-event-coverage.mjs","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","lint:extensions:bundled":"node scripts/run-bundled-extension-oxlint.mjs","plugin-sdk:sync-exports":"node scripts/sync-plugin-sdk-exports.mjs","plugins:boundary-report":"node --import tsx scripts/plugin-boundary-report.ts","plugins:inventory:check":"node scripts/generate-plugin-inventory-doc.mjs --check","qa:otel:collector-smoke":"node --import tsx test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts --collector docker","release:generated:check":"node scripts/release-preflight.mjs --check","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:docker:live-models":"bash scripts/test-live-models-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","test:live:codex-harness":"node scripts/test-live.mjs --codex-harness -- src/gateway/gateway-codex-harness.live.test.ts","test:perf:changed:bench":"node scripts/bench-test-changed.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","tui:pty:test:watch:fake":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode fake","android:release:metadata":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android metadata'","android:test:integration":"node scripts/run-with-env.mjs OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","android:test:third-party":"node scripts/run-android-gradle.mjs :app:testThirdPartyDebugUnitTest","canvas:a2ui:native:check":"node scripts/sync-native-a2ui.mjs --check","check:base-config-schema":"node --import tsx scripts/generate-base-config-schema.ts --check","check:static-import-sccs":"pnpm check:madge-import-cycles","check:timed:architecture":"node scripts/check-timed.mjs --include-architecture","deps:shrinkwrap:generate":"node scripts/generate-npm-shrinkwrap.mjs --all","docs:check-i18n-glossary":"node scripts/check-docs-i18n-glossary.mjs","docs:check-links:anchors":"node scripts/docs-link-audit.mjs --anchors","ios:app-review-notes:pdf":"xcrun swift scripts/ios-app-review-notes-pdf.swift apps/ios/APP-REVIEW-NOTES.md apps/ios/build/app-review/APP-REVIEW-NOTES.pdf","ios:release:signing:plan":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_plan'","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","lint:extensions:channels":"node scripts/run-extension-channel-oxlint.mjs","mobile:release:preflight":"node --import tsx scripts/mobile-release-ref.ts preflight","plugin-sdk:check-exports":"node scripts/sync-plugin-sdk-exports.mjs --check","plugin-sdk:surface:check":"node --max-old-space-size=8192 scripts/plugin-sdk-surface-report.mjs --check","release:plugins:npm:plan":"node --import tsx scripts/plugin-npm-release-plan.ts","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:mcp-channels":"bash scripts/e2e/mcp-channels-docker.sh","test:perf:groups:compare":"node scripts/test-group-report.mjs --compare","test:perf:profile:runner":"node scripts/run-vitest-profile.mjs runner","test:startup:bench:check":"node scripts/test-cli-startup-bench-budget.mjs","test:startup:bench:smoke":"node scripts/ensure-cli-startup-build.mjs && node --import tsx scripts/bench-cli-startup.ts --preset real --case gatewayStatusJson --runs 1 --warmup 0 --output .artifacts/cli-startup-bench-smoke.json","tui:pty:test:watch:local":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode local","android:release:preflight":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android release_preflight'","check:madge-import-cycles":"node --import tsx scripts/check-madge-import-cycles.ts","check:no-conflict-markers":"node scripts/check-no-conflict-markers.mjs","deps:root-ownership:check":"node scripts/root-dependency-ownership-audit.mjs --check","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","ios:release:signing:check":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_check'","ios:release:signing:setup":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_setup'","release:fast-pretag-check":"bash scripts/release-fast-pretag-check.sh","release:plugins:npm:check":"node --import tsx scripts/plugin-npm-release-check.ts","test:docker:compose-setup":"bash scripts/e2e/compose-setup.sh","test:docker:config-reload":"bash scripts/e2e/config-reload-source-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:docker:live-acp-bind":"bash scripts/test-live-acp-bind-docker.sh","test:docker:plugin-update":"bash scripts/e2e/plugin-update-unchanged-docker.sh","test:docker:skill-install":"bash scripts/e2e/skill-install-docker.sh","test:env-mutations:report":"node --import tsx scripts/test-env-mutation-report.ts","test:live:models-profiles":"node scripts/test-live.mjs -- src/agents/models.profiles.live.test.ts","test:parallels:npm-update":"bash scripts/e2e/parallels-npm-update-smoke.sh","test:perf:imports:changed":"node scripts/test-projects-imports.mjs --changed origin/main","test:startup:bench:update":"node scripts/test-update-cli-startup-bench.mjs","test:voicecall:closedloop":"node scripts/test-voicecall-closedloop.mjs","android:release:auth:check":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android auth_check'","check:deprecated-api-usage":"node scripts/check-deprecated-api-usage.mjs","check:temp-path-guardrails":"node --import tsx scripts/check-temp-path-guardrails.ts","deps:shrinkwrap:root:check":"node scripts/generate-npm-shrinkwrap.mjs --check","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","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","release:openclaw:npm:check":"node --import tsx scripts/openclaw-npm-release-check.ts","test:cli-response:contract":"node scripts/build-all.mjs cliStartup && node scripts/test-cli-startup-bench-budget.mjs --preset response --runs 1 --warmup 0 --timeout-ms 10000 --skip-baseline","test:gateway:cpu-scenarios":"node scripts/check-gateway-cpu-scenarios.mjs","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:live:gateway-profiles":"node scripts/test-live.mjs -- src/gateway/gateway-models.profiles.live.test.ts","test:skip-inventory:report":"node --import tsx scripts/test-skip-inventory.ts","android:install:third-party":"node scripts/run-android-gradle.mjs :app:installThirdPartyDebug","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","deps:transitive-risk:report":"node scripts/transitive-manifest-risk-report.mjs","lint:tmp:tsgo-core-boundary":"node scripts/check-tsgo-core-boundary.mjs","test:docker:codex-on-demand":"bash scripts/e2e/codex-on-demand-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","test:docker:live-codex-bind":"OPENCLAW_LIVE_CODEX_BIND=1 OPENCLAW_LIVE_CODEX_TEST_FILES=src/gateway/gateway-codex-bind.live.test.ts bash scripts/test-live-codex-harness-docker.sh","test:docker:package-install":"bash scripts/e2e/docker-package-install.sh","android:assemble:third-party":"node scripts/run-android-gradle.mjs :app:assembleThirdPartyDebug","android:release:signing:plan":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_plan'","check:changelog-attributions":"node scripts/check-changelog-attributions.mjs","check:media-download-helpers":"node scripts/check-media-download-helper-roundtrip.mjs","check:opengrep-rule-metadata":"node security/opengrep/check-rule-metadata.mjs","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","deps:ownership-surface:check":"node scripts/dependency-ownership-surface-report.mjs --check","lint:tmp:no-random-messaging":"node scripts/check-no-random-messaging-tmp.mjs","plugins:boundary-report:json":"node --import tsx scripts/plugin-boundary-report.ts --json","release:plugins:clawhub:plan":"node --import tsx scripts/plugin-clawhub-release-plan.ts","test:docker:codex-media-path":"bash scripts/e2e/codex-media-path-docker.sh","test:docker:cron-mcp-cleanup":"bash scripts/e2e/cron-mcp-cleanup-docker.sh","test:docker:kitchen-sink-rpc":"bash scripts/e2e/kitchen-sink-rpc-docker.sh","test:docker:live-cli-backend":"bash scripts/test-live-cli-backend-docker.sh","test:docker:live-plugin-tool":"bash scripts/e2e/live-plugin-tool-docker.sh","test:docker:update-migration":"env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@2026.4.23} OPENCLAW_UPGRADE_SURVIVOR_SCENARIO=${OPENCLAW_UPGRADE_SURVIVOR_SCENARIO:-plugin-deps-cleanup} bash scripts/e2e/upgrade-survivor-docker.sh","test:docker:upgrade-survivor":"bash scripts/e2e/upgrade-survivor-docker.sh","test:gateway:memory-fd-repro":"node scripts/check-memory-fd-repro.mjs","android:release:signing:check":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_check'","build:plugin-sdk:strict-smoke":"node scripts/tsdown-build.mjs && node scripts/runtime-postbuild.mjs && node scripts/run-with-env.mjs OPENCLAW_PLUGIN_SDK_CANONICAL_DTS=1 -- node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node scripts/check-plugin-sdk-exports.mjs","check:runtime-sidecar-loaders":"node --import tsx scripts/check-runtime-sidecar-loaders.mjs","deps:ownership-surface:report":"node scripts/dependency-ownership-surface-report.mjs","deps:shrinkwrap:changed:check":"node scripts/generate-npm-shrinkwrap.mjs --changed --check","deps:shrinkwrap:root:generate":"node scripts/generate-npm-shrinkwrap.mjs","ios:release:signing:sync:pull":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_sync_pull'","ios:release:signing:sync:push":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_sync_push'","lint:tmp:dynamic-import-warts":"node scripts/check-dynamic-import-warts.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","release:plugins:clawhub:check":"node --import tsx scripts/plugin-clawhub-release-check.ts","test:docker:crestodian-rescue":"bash scripts/e2e/crestodian-rescue-docker.sh","test:docker:multi-node-update":"bash scripts/e2e/multi-node-update-docker.sh","test:docker:npm-telegram-live":"bash scripts/e2e/npm-telegram-live-docker.sh","test:docker:openai-chat-tools":"bash scripts/e2e/openai-chat-tools-docker.sh","test:docker:openai-image-auth":"bash scripts/e2e/openai-image-auth-docker.sh","test:gateway:watch-regression":"node scripts/check-gateway-watch-regression.mjs","test:plugins:gateway-gauntlet":"node scripts/check-plugin-gateway-gauntlet.mjs","test:plugins:kitchen-sink-rpc":"node --import tsx scripts/e2e/kitchen-sink-rpc-walk.mjs","codex-app-server:protocol:sync":"node --import tsx scripts/sync-codex-app-server-protocol.ts","test:docker:commitments-safety":"bash scripts/e2e/commitments-safety-docker.sh","test:docker:crestodian-planner":"bash scripts/e2e/crestodian-planner-docker.sh","test:docker:live-codex-harness":"bash scripts/test-live-codex-harness-docker.sh","test:docker:live-models:claude":"OPENCLAW_LIVE_PROVIDERS=claude-cli OPENCLAW_LIVE_MODELS=claude-cli/claude-sonnet-4-6 bash scripts/test-live-models-docker.sh","test:docker:live-models:gemini":"OPENCLAW_LIVE_PROVIDERS=google-gemini-cli OPENCLAW_LIVE_MODELS=google-gemini-cli/gemini-3.1-pro-preview bash scripts/test-live-models-docker.sh","test: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'","codex-app-server:protocol:check":"node --import tsx scripts/check-codex-app-server-protocol.ts","lint:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","plugins:boundary-report:summary":"node --import tsx scripts/plugin-boundary-report.ts --summary","test:docker:kitchen-sink-plugin":"bash scripts/e2e/kitchen-sink-plugin-docker.sh","test:docker:live-acp-bind:codex":"OPENCLAW_LIVE_ACP_BIND_AGENT=codex bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:droid":"OPENCLAW_LIVE_ACP_BIND_AGENT=droid OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh","test:docker:live-gateway:claude":"OPENCLAW_LIVE_GATEWAY_PROVIDERS=claude-cli OPENCLAW_LIVE_GATEWAY_MODELS=claude-cli/claude-sonnet-4-6 bash scripts/test-live-gateway-models-docker.sh","test:docker:live-gateway:gemini":"OPENCLAW_LIVE_GATEWAY_PROVIDERS=google-gemini-cli OPENCLAW_LIVE_GATEWAY_MODELS=google-gemini-cli/gemini-3.1-pro-preview bash scripts/test-live-gateway-models-docker.sh","test:docker:update-restart-auth":"env OPENCLAW_UPGRADE_SURVIVOR_UPDATE_RESTART_MODE=auto-auth OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh","deps:shrinkwrap:changed:generate":"node scripts/generate-npm-shrinkwrap.mjs --changed","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","qa:observability:collector-smoke":"pnpm qa:otel:collector-smoke && pnpm qa:prometheus:smoke","test:docker:browser-cdp-snapshot":"bash scripts/e2e/browser-cdp-snapshot-docker.sh","test:docker:crestodian-first-run":"bash scripts/e2e/crestodian-first-run-docker.sh","test:docker:live-acp-bind:claude":"OPENCLAW_LIVE_ACP_BIND_AGENT=claude bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:gemini":"OPENCLAW_LIVE_ACP_BIND_AGENT=gemini bash scripts/test-live-acp-bind-docker.sh","test:docker:release-media-memory":"bash scripts/e2e/release-media-memory-docker.sh","test:docker:release-user-journey":"bash scripts/e2e/release-user-journey-docker.sh","test:extensions:package-boundary":"node scripts/check-extension-package-tsc-boundary.mjs","android:release:signing:sync:pull":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_sync_pull'","android:release:signing:sync:push":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_sync_push'","lint:plugins:no-extension-imports":"node scripts/check-plugin-extension-import-boundary.mjs","prompt:snapshots:sync-codex-model":"node --import tsx scripts/sync-codex-model-prompt-fixture.ts","test:build:status-message-runtime":"node scripts/test-built-status-message-runtime.mjs","test:docker:live-codex-media-path":"OPENCLAW_LIVE_CODEX_HARNESS_AUTH=api-key OPENCLAW_LIVE_CODEX_HARNESS_CHAT_IMAGE_PROBE=1 OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0 bash scripts/test-live-codex-harness-docker.sh","test:docker:live-codex-npm-plugin":"bash scripts/e2e/codex-npm-plugin-live-docker.sh","test:docker:mcp-code-mode-gateway":"bash scripts/e2e/mcp-code-mode-gateway-docker.sh","test:docker:update-channel-switch":"bash scripts/e2e/update-channel-switch-docker.sh","test:docker:update-corrupt-plugin":"bash scripts/e2e/update-corrupt-plugin-docker.sh","check:database-first-legacy-stores":"node scripts/check-database-first-legacy-stores.mjs","lint:tmp:session-accessor-boundary":"node scripts/check-session-accessor-boundary.mjs","lint:web-fetch-provider-boundaries":"node scripts/check-web-fetch-provider-boundaries.mjs","test:docker:agent-bundle-mcp-tools":"bash scripts/e2e/agent-bundle-mcp-tools-docker.sh","test:docker:live-acp-bind:opencode":"OPENCLAW_LIVE_ACP_BIND_AGENT=opencode OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh","test:docker:live-subagent-announce":"bash scripts/test-live-subagent-announce-docker.sh","check:no-runtime-action-load-config":"node scripts/check-no-runtime-action-load-config.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","test:docker:live-cli-backend:claude":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview bash scripts/test-live-cli-backend-docker.sh","test:docker:plugin-lifecycle-matrix":"bash scripts/e2e/plugin-lifecycle-matrix-docker.sh","test:docker:session-runtime-context":"bash scripts/e2e/session-runtime-context-docker.sh","test:e2e:status-corrupt-plugin-deps":"bash scripts/e2e/status-corrupt-plugin-deps.sh","test:live:crestodian-rescue-channel":"node scripts/run-with-env.mjs OPENCLAW_LIVE_CRESTODIAN_RESCUE_CHANNEL=1 -- node scripts/test-live.mjs -- src/crestodian/rescue-channel.live.test.ts","test:plugins:init-provider-scaffold":"node --import tsx scripts/validate-plugin-init-provider-scaffold.ts","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","test:docker:release-typed-onboarding":"bash scripts/e2e/release-typed-onboarding-docker.sh","test:docker:root-managed-vps-upgrade":"env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_ROOT_MANAGED_VPS=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@2026.5.7} OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh","check:bundled-channel-config-metadata":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check","lint:extensions:telegram-grammy-types":"node scripts/check-telegram-grammy-types-imports.mjs","lint:plugins:no-extension-src-imports":"node --import tsx scripts/check-no-extension-src-imports.ts","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","release:openclaw:npm:verify-published":"node --import tsx scripts/openclaw-npm-postpublish-verify.ts","test:docker:npm-onboard-channel-agent":"bash scripts/e2e/npm-onboard-channel-agent-docker.sh","test:docker:openai-web-search-minimal":"bash scripts/e2e/openai-web-search-minimal-docker.sh","lint:extensions:no-plugin-sdk-internal":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=plugin-sdk-internal","lint:tmp:session-accessor-boundary:gen":"node scripts/check-session-accessor-boundary.mjs --update-debt-baseline","test:docker:live-mcp-code-mode-gateway":"bash scripts/e2e/mcp-code-mode-gateway-live-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:release-plugin-marketplace":"bash scripts/e2e/release-plugin-marketplace-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:gemini:mcp":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:extensions:package-boundary:canary":"node scripts/check-extension-package-tsc-boundary.mjs --mode=canary","test:docker:release-upgrade-user-journey":"bash scripts/e2e/release-upgrade-user-journey-docker.sh","test:extensions:package-boundary:compile":"node scripts/check-extension-package-tsc-boundary.mjs --mode=compile","lint:extensions:no-src-outside-plugin-sdk":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=src-outside-plugin-sdk","lint:plugins:plugin-sdk-subpaths-exported":"node scripts/check-plugin-sdk-subpath-exports.mjs","test:docker:plugin-binding-command-escape":"bash scripts/e2e/plugin-binding-command-escape-docker.sh","test:docker:agents-delete-shared-workspace":"bash scripts/e2e/agents-delete-shared-workspace-docker.sh","test:docker:live-cli-backend:claude:resume":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini:resume":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","lint:extensions:no-relative-outside-package":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=relative-outside-package","lint:plugins:no-extension-test-core-imports":"node --import tsx scripts/check-no-extension-test-core-imports.ts","lint:tmp:session-transcript-reader-boundary":"node scripts/check-session-transcript-reader-boundary.mjs","test:docker:npm-onboard-slack-channel-agent":"OPENCLAW_NPM_ONBOARD_CHANNEL=slack bash scripts/e2e/npm-onboard-channel-agent-docker.sh","lint:extensions:no-deprecated-channel-access":"node --import tsx scripts/check-no-deprecated-channel-access.ts","test:docker:bundled-plugin-install-uninstall":"bash scripts/e2e/bundled-plugin-install-uninstall-docker.sh","lint:extensions:no-guarded-wildcard-reexports":"node scripts/check-extension-wildcard-reexports.mjs","test:docker:npm-onboard-discord-channel-agent":"OPENCLAW_NPM_ONBOARD_CHANNEL=discord bash scripts/e2e/npm-onboard-channel-agent-docker.sh","lint:extensions:no-plugin-sdk-wildcard-reexports":"node scripts/check-plugin-sdk-wildcard-reexports.mjs","test:docker:live-cli-backend:claude-subscription":"OPENCLAW_LIVE_CLI_BACKEND_AUTH=subscription OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_DISABLE_MCP_CONFIG=1 OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=0 bash scripts/test-live-cli-backend-docker.sh","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts"},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"_resolved":"/private/tmp/claude-503/-Users-openclaw-projects-brad-cowork-test/3b2f36d2-d6cd-44a0-ab0d-cd86bcf7189f/scratchpad/soulclaw-2026.7.4.tgz","_integrity":"sha512-JjXMzWNFiZiBh4lp7ArNBVQs8e6H20HwNTmljP6feRdE4nJTFoBCa07VJtqF7ZfW6rNKdQgThIxS+Rzg4l2qEw==","repository":{"url":"git+https://github.com/clawsouls/soulclaw.git","type":"git"},"_npmVersion":"11.6.2","description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.13.0","dependencies":{"ws":"8.21.0","tar":"7.5.19","zod":"4.4.3","diff":"9.0.0","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","json5":"2.2.3","jszip":"3.10.1","tslog":"4.10.2","croner":"10.0.1","dotenv":"17.4.2","grammy":"1.44.0","ignore":"7.0.5","kysely":"0.29.2","openai":"6.45.0","qrcode":"1.5.4","undici":"8.5.0","clawpdf":"0.3.0","express":"5.2.1","typebox":"1.3.3","chokidar":"5.0.0","linkedom":"0.18.12","web-push":"3.6.7","commander":"15.0.0","file-type":"22.0.1","minimatch":"10.2.5","rastermill":"0.3.1","typescript":"6.0.3","@clack/core":"1.4.2","@openclaw/ai":"2026.7.1","highlight.js":"11.11.1","partial-json":"0.1.7","quickjs-wasi":"3.0.2","@google/genai":"2.10.0","node-edge-tts":"1.2.10","@clack/prompts":"1.6.0","hosted-git-info":"10.1.1","playwright-core":"1.61.1","proper-lockfile":"4.1.2","web-tree-sitter":"0.26.10","@grammyjs/runner":"2.0.3","@homebridge/ciao":"1.3.9","@lydell/node-pty":"1.2.0-beta.12","tree-sitter-bash":"0.25.1","@anthropic-ai/sdk":"0.109.1","@openclaw/fs-safe":"0.4.1","@openclaw/proxyline":"0.3.3","@mistralai/mistralai":"2.4.0","@mozilla/readability":"0.6.0","@earendil-works/pi-tui":"0.80.3","@agentclientprotocol/sdk":"1.1.0","@modelcontextprotocol/sdk":"1.29.0","@silvia-odwyer/photon-node":"0.3.4","@grammyjs/transformer-throttler":"1.2.1"},"_hasShrinkwrap":true,"packageManager":"pnpm@11.2.2+sha512.36e6621fad506178936455e70247b8808ef4ec25797a9f437a93281a020484e2607f6a469a22e982987c3dbb8866e3071514ab10a4a1749e06edcd1ec118436f","devDependencies":{"lit":"3.3.3","tsx":"4.22.4","jscpd":"4.2.4","jsdom":"29.1.1","oxfmt":"0.57.0","shiki":"4.3.0","unrun":"0.3.1","oxlint":"1.72.0","tsdown":"0.22.1","vitest":"4.1.9","esbuild":"0.28.1","sigstore":"4.1.1","@a2ui/lit":"0.10.1","@types/ws":"8.18.1","@mdx-js/mdx":"3.1.1","@types/node":"26.1.0","@lit/context":"1.1.6","signal-utils":"0.21.1","@shikijs/core":"4.3.0","@types/express":"5.0.6","@grammyjs/types":"3.28.0","oxlint-tsgolint":"0.24.0","@lit-labs/signals":"0.3.0","@copilotkit/aimock":"1.35.0","@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.9","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4","@shikijs/engine-oniguruma":"4.3.0","@shikijs/engine-javascript":"4.3.0","@typescript/native-preview":"7.0.0-dev.20260704.1"},"optionalDependencies":{"sqlite-vec":"0.1.9"},"_npmOperationalInternal":{"tmp":"tmp/soulclaw_2026.7.4_1786543847192_0.21178423056676388","host":"s3://npm-registry-packages-npm-production"}},"2026.8.1":{"name":"soulclaw","version":"2026.8.1","openclaw":{"schemaVersions":{"state":15,"agent":19}},"description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","keywords":[],"homepage":"https://github.com/clawsouls/soulclaw#readme","bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"license":"MIT","author":{"name":"OpenClaw Foundation","url":"https://openclaw.org"},"repository":{"type":"git","url":"git+https://github.com/clawsouls/soulclaw.git"},"bin":{"openclaw":"openclaw.mjs","soulclaw":"openclaw.mjs"},"directories":{"doc":"docs","test":"test"},"type":"module","main":"dist/index.js","exports":{".":"./dist/index.js","./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/provider-setup":{"default":"./dist/plugin-sdk/provider-setup.js"},"./plugin-sdk/sandbox":{"default":"./dist/plugin-sdk/sandbox.js"},"./plugin-sdk/routing":{"types":"./dist/plugin-sdk/routing.d.ts","default":"./dist/plugin-sdk/routing.js"},"./plugin-sdk/runtime":{"types":"./dist/plugin-sdk/runtime.d.ts","default":"./dist/plugin-sdk/runtime.js"},"./plugin-sdk/health":{"types":"./dist/plugin-sdk/health.d.ts","default":"./dist/plugin-sdk/health.js"},"./plugin-sdk/doctor-repair-runtime":{"default":"./dist/plugin-sdk/doctor-repair-runtime.js"},"./plugin-sdk/model-ref-parse":{"default":"./dist/plugin-sdk/model-ref-parse.js"},"./plugin-sdk/outbound-echo-runtime":{"default":"./dist/plugin-sdk/outbound-echo-runtime.js"},"./plugin-sdk/secret-provider-alias":{"default":"./dist/plugin-sdk/secret-provider-alias.js"},"./plugin-sdk/session-store-paths":{"default":"./dist/plugin-sdk/session-store-paths.js"},"./plugin-sdk/plugin-state-store-runtime":{"default":"./dist/plugin-sdk/plugin-state-store-runtime.js"},"./plugin-sdk/runtime-doctor":{"default":"./dist/plugin-sdk/runtime-doctor.js"},"./plugin-sdk/runtime-doctor-migrations":{"default":"./dist/plugin-sdk/runtime-doctor-migrations.js"},"./plugin-sdk/runtime-env":{"types":"./dist/plugin-sdk/runtime-env.d.ts","default":"./dist/plugin-sdk/runtime-env.js"},"./plugin-sdk/proxy-capture":{"types":"./dist/plugin-sdk/proxy-capture.d.ts","default":"./dist/plugin-sdk/proxy-capture.js"},"./plugin-sdk/setup":{"types":"./dist/plugin-sdk/setup.d.ts","default":"./dist/plugin-sdk/setup.js"},"./plugin-sdk/setup-runtime":{"types":"./dist/plugin-sdk/setup-runtime.d.ts","default":"./dist/plugin-sdk/setup-runtime.js"},"./plugin-sdk/channel-setup":{"types":"./dist/plugin-sdk/channel-setup.d.ts","default":"./dist/plugin-sdk/channel-setup.js"},"./plugin-sdk/channel-streaming-config":{"types":"./dist/plugin-sdk/channel-streaming-config.d.ts","default":"./dist/plugin-sdk/channel-streaming-config.js"},"./plugin-sdk/setup-tools":{"types":"./dist/plugin-sdk/setup-tools.d.ts","default":"./dist/plugin-sdk/setup-tools.js"},"./plugin-sdk/archive":{"types":"./dist/plugin-sdk/archive.d.ts","default":"./dist/plugin-sdk/archive.js"},"./plugin-sdk/root-walk":{"types":"./dist/plugin-sdk/root-walk.d.ts","default":"./dist/plugin-sdk/root-walk.js"},"./plugin-sdk/secret-file":{"types":"./dist/plugin-sdk/secret-file.d.ts","default":"./dist/plugin-sdk/secret-file.js"},"./plugin-sdk/approval-auth-runtime":{"types":"./dist/plugin-sdk/approval-auth-runtime.d.ts","default":"./dist/plugin-sdk/approval-auth-runtime.js"},"./plugin-sdk/approval-client-runtime":{"types":"./dist/plugin-sdk/approval-client-runtime.d.ts","default":"./dist/plugin-sdk/approval-client-runtime.js"},"./plugin-sdk/approval-delivery-runtime":{"types":"./dist/plugin-sdk/approval-delivery-runtime.d.ts","default":"./dist/plugin-sdk/approval-delivery-runtime.js"},"./plugin-sdk/approval-gateway-runtime":{"types":"./dist/plugin-sdk/approval-gateway-runtime.d.ts","default":"./dist/plugin-sdk/approval-gateway-runtime.js"},"./plugin-sdk/approval-reference-runtime":{"default":"./dist/plugin-sdk/approval-reference-runtime.js"},"./plugin-sdk/approval-handler-adapter-runtime":{"types":"./dist/plugin-sdk/approval-handler-adapter-runtime.d.ts","default":"./dist/plugin-sdk/approval-handler-adapter-runtime.js"},"./plugin-sdk/approval-handler-runtime":{"types":"./dist/plugin-sdk/approval-handler-runtime.d.ts","default":"./dist/plugin-sdk/approval-handler-runtime.js"},"./plugin-sdk/channel-runtime-context":{"types":"./dist/plugin-sdk/channel-runtime-context.d.ts","default":"./dist/plugin-sdk/channel-runtime-context.js"},"./plugin-sdk/approval-native-runtime":{"types":"./dist/plugin-sdk/approval-native-runtime.d.ts","default":"./dist/plugin-sdk/approval-native-runtime.js"},"./plugin-sdk/approval-reaction-runtime":{"default":"./dist/plugin-sdk/approval-reaction-runtime.js"},"./plugin-sdk/approval-reply-runtime":{"types":"./dist/plugin-sdk/approval-reply-runtime.d.ts","default":"./dist/plugin-sdk/approval-reply-runtime.js"},"./plugin-sdk/approval-runtime":{"types":"./dist/plugin-sdk/approval-runtime.d.ts","default":"./dist/plugin-sdk/approval-runtime.js"},"./plugin-sdk/question-gateway-runtime":{"types":"./dist/plugin-sdk/question-gateway-runtime.d.ts","default":"./dist/plugin-sdk/question-gateway-runtime.js"},"./plugin-sdk/config-runtime":{"types":"./dist/plugin-sdk/config-runtime.d.ts","default":"./dist/plugin-sdk/config-runtime.js"},"./plugin-sdk/config-contracts":{"types":"./dist/plugin-sdk/config-contracts.d.ts","default":"./dist/plugin-sdk/config-contracts.js"},"./plugin-sdk/plugin-config-runtime":{"types":"./dist/plugin-sdk/plugin-config-runtime.d.ts","default":"./dist/plugin-sdk/plugin-config-runtime.js"},"./plugin-sdk/config-mutation":{"types":"./dist/plugin-sdk/config-mutation.d.ts","default":"./dist/plugin-sdk/config-mutation.js"},"./plugin-sdk/cron-store-runtime":{"default":"./dist/plugin-sdk/cron-store-runtime.js"},"./plugin-sdk/json-schema-runtime":{"default":"./dist/plugin-sdk/json-schema-runtime.js"},"./plugin-sdk/json-unsafe-integers":{"default":"./dist/plugin-sdk/json-unsafe-integers.js"},"./plugin-sdk/reply-runtime":{"types":"./dist/plugin-sdk/reply-runtime.d.ts","default":"./dist/plugin-sdk/reply-runtime.js"},"./plugin-sdk/reply-dispatch-runtime":{"types":"./dist/plugin-sdk/reply-dispatch-runtime.d.ts","default":"./dist/plugin-sdk/reply-dispatch-runtime.js"},"./plugin-sdk/reply-reference":{"default":"./dist/plugin-sdk/reply-reference.js"},"./plugin-sdk/reply-chunking":{"types":"./dist/plugin-sdk/reply-chunking.d.ts","default":"./dist/plugin-sdk/reply-chunking.js"},"./plugin-sdk/reply-payload":{"types":"./dist/plugin-sdk/reply-payload.d.ts","default":"./dist/plugin-sdk/reply-payload.js"},"./plugin-sdk/agent-media-payload":{"types":"./dist/plugin-sdk/agent-media-payload.d.ts","default":"./dist/plugin-sdk/agent-media-payload.js"},"./plugin-sdk/inbound-reply-dispatch":{"types":"./dist/plugin-sdk/inbound-reply-dispatch.d.ts","default":"./dist/plugin-sdk/inbound-reply-dispatch.js"},"./plugin-sdk/inbound-envelope":{"types":"./dist/plugin-sdk/inbound-envelope.d.ts","default":"./dist/plugin-sdk/inbound-envelope.js"},"./plugin-sdk/inbound-event-delivery":{"types":"./dist/plugin-sdk/inbound-event-delivery.d.ts","default":"./dist/plugin-sdk/inbound-event-delivery.js"},"./plugin-sdk/channel-reply-pipeline":{"types":"./dist/plugin-sdk/channel-reply-pipeline.d.ts","default":"./dist/plugin-sdk/channel-reply-pipeline.js"},"./plugin-sdk/interactive-runtime":{"types":"./dist/plugin-sdk/interactive-runtime.d.ts","default":"./dist/plugin-sdk/interactive-runtime.js"},"./plugin-sdk/outbound-media":{"default":"./dist/plugin-sdk/outbound-media.js"},"./plugin-sdk/pair-loop-guard-runtime":{"default":"./dist/plugin-sdk/pair-loop-guard-runtime.js"},"./plugin-sdk/poll-runtime":{"default":"./dist/plugin-sdk/poll-runtime.js"},"./plugin-sdk/async-lock-runtime":{"default":"./dist/plugin-sdk/async-lock-runtime.js"},"./plugin-sdk/channel-activity-runtime":{"default":"./dist/plugin-sdk/channel-activity-runtime.js"},"./plugin-sdk/channel-join-intro-runtime":{"default":"./dist/plugin-sdk/channel-join-intro-runtime.js"},"./plugin-sdk/concurrency-runtime":{"default":"./dist/plugin-sdk/concurrency-runtime.js"},"./plugin-sdk/dedupe-runtime":{"types":"./dist/plugin-sdk/dedupe-runtime.d.ts","default":"./dist/plugin-sdk/dedupe-runtime.js"},"./plugin-sdk/delivery-queue-runtime":{"default":"./dist/plugin-sdk/delivery-queue-runtime.js"},"./plugin-sdk/file-access-runtime":{"default":"./dist/plugin-sdk/file-access-runtime.js"},"./plugin-sdk/node-selection-runtime":{"default":"./dist/plugin-sdk/node-selection-runtime.js"},"./plugin-sdk/heartbeat-runtime":{"default":"./dist/plugin-sdk/heartbeat-runtime.js"},"./plugin-sdk/expect-runtime":{"default":"./dist/plugin-sdk/expect-runtime.js"},"./plugin-sdk/number-runtime":{"default":"./dist/plugin-sdk/number-runtime.js"},"./plugin-sdk/secure-random-runtime":{"default":"./dist/plugin-sdk/secure-random-runtime.js"},"./plugin-sdk/system-event-runtime":{"default":"./dist/plugin-sdk/system-event-runtime.js"},"./plugin-sdk/transport-ready-runtime":{"default":"./dist/plugin-sdk/transport-ready-runtime.js"},"./plugin-sdk/exec-approvals-runtime":{"default":"./dist/plugin-sdk/exec-approvals-runtime.js"},"./plugin-sdk/infra-runtime":{"types":"./dist/plugin-sdk/infra-runtime.d.ts","default":"./dist/plugin-sdk/infra-runtime.js"},"./plugin-sdk/runtime-config-snapshot":{"types":"./dist/plugin-sdk/runtime-config-snapshot.d.ts","default":"./dist/plugin-sdk/runtime-config-snapshot.js"},"./plugin-sdk/runtime-group-policy":{"types":"./dist/plugin-sdk/runtime-group-policy.d.ts","default":"./dist/plugin-sdk/runtime-group-policy.js"},"./plugin-sdk/model-session-runtime":{"types":"./dist/plugin-sdk/model-session-runtime.d.ts","default":"./dist/plugin-sdk/model-session-runtime.js"},"./plugin-sdk/talk-config-runtime":{"default":"./dist/plugin-sdk/talk-config-runtime.js"},"./plugin-sdk/ssrf-policy":{"types":"./dist/plugin-sdk/ssrf-policy.d.ts","default":"./dist/plugin-sdk/ssrf-policy.js"},"./plugin-sdk/ssrf-runtime":{"types":"./dist/plugin-sdk/ssrf-runtime.d.ts","default":"./dist/plugin-sdk/ssrf-runtime.js"},"./plugin-sdk/ssrf-runtime-internal":{"default":"./dist/plugin-sdk/ssrf-runtime-internal.js"},"./plugin-sdk/media-runtime":{"types":"./dist/plugin-sdk/media-runtime.d.ts","default":"./dist/plugin-sdk/media-runtime.js"},"./plugin-sdk/media-local-roots":{"types":"./dist/plugin-sdk/media-local-roots.d.ts","default":"./dist/plugin-sdk/media-local-roots.js"},"./plugin-sdk/media-store":{"types":"./dist/plugin-sdk/media-store.d.ts","default":"./dist/plugin-sdk/media-store.js"},"./plugin-sdk/media-mime":{"types":"./dist/plugin-sdk/media-mime.d.ts","default":"./dist/plugin-sdk/media-mime.js"},"./plugin-sdk/embedding-providers":{"default":"./dist/plugin-sdk/embedding-providers.js"},"./plugin-sdk/media-generation-runtime":{"default":"./dist/plugin-sdk/media-generation-runtime.js"},"./plugin-sdk/conversation-binding-inspection-runtime":{"types":"./dist/plugin-sdk/conversation-binding-inspection-runtime.d.ts","default":"./dist/plugin-sdk/conversation-binding-inspection-runtime.js"},"./plugin-sdk/conversation-binding-runtime":{"default":"./dist/plugin-sdk/conversation-binding-runtime.js"},"./plugin-sdk/conversation-runtime":{"types":"./dist/plugin-sdk/conversation-runtime.d.ts","default":"./dist/plugin-sdk/conversation-runtime.js"},"./plugin-sdk/thread-bindings-runtime":{"default":"./dist/plugin-sdk/thread-bindings-runtime.js"},"./plugin-sdk/thread-bindings-session-runtime":{"default":"./dist/plugin-sdk/thread-bindings-session-runtime.js"},"./plugin-sdk/text-chunking":{"types":"./dist/plugin-sdk/text-chunking.d.ts","default":"./dist/plugin-sdk/text-chunking.js"},"./plugin-sdk/agent-scope-runtime":{"types":"./dist/plugin-sdk/agent-scope-runtime.d.ts","default":"./dist/plugin-sdk/agent-scope-runtime.js"},"./plugin-sdk/agent-runtime":{"types":"./dist/plugin-sdk/agent-runtime.d.ts","default":"./dist/plugin-sdk/agent-runtime.js"},"./plugin-sdk/simple-completion-runtime":{"default":"./dist/plugin-sdk/simple-completion-runtime.js"},"./plugin-sdk/speech-core":{"default":"./dist/plugin-sdk/speech-core.js"},"./plugin-sdk/speech-settings":{"types":"./dist/plugin-sdk/speech-settings.d.ts","default":"./dist/plugin-sdk/speech-settings.js"},"./plugin-sdk/tts-runtime":{"default":"./dist/plugin-sdk/tts-runtime.js"},"./plugin-sdk/plugin-command-runtime":{"types":"./dist/plugin-sdk/plugin-command-runtime.d.ts","default":"./dist/plugin-sdk/plugin-command-runtime.js"},"./plugin-sdk/plugin-runtime":{"types":"./dist/plugin-sdk/plugin-runtime.d.ts","default":"./dist/plugin-sdk/plugin-runtime.js"},"./plugin-sdk/channel-secret-basic-runtime":{"types":"./dist/plugin-sdk/channel-secret-basic-runtime.d.ts","default":"./dist/plugin-sdk/channel-secret-basic-runtime.js"},"./plugin-sdk/channel-secret-owner-runtime":{"default":"./dist/plugin-sdk/channel-secret-owner-runtime.js"},"./plugin-sdk/channel-secret-tts-runtime":{"default":"./dist/plugin-sdk/channel-secret-tts-runtime.js"},"./plugin-sdk/secret-ref-runtime":{"types":"./dist/plugin-sdk/secret-ref-runtime.d.ts","default":"./dist/plugin-sdk/secret-ref-runtime.js"},"./plugin-sdk/secret-file-runtime":{"default":"./dist/plugin-sdk/secret-file-runtime.js"},"./plugin-sdk/security-runtime":{"types":"./dist/plugin-sdk/security-runtime.d.ts","default":"./dist/plugin-sdk/security-runtime.js"},"./plugin-sdk/gateway-config-runtime":{"default":"./dist/plugin-sdk/gateway-config-runtime.js"},"./plugin-sdk/gateway-method-runtime":{"types":"./dist/plugin-sdk/gateway-method-runtime.d.ts","default":"./dist/plugin-sdk/gateway-method-runtime.js"},"./plugin-sdk/gateway-runtime":{"types":"./dist/plugin-sdk/gateway-runtime.d.ts","default":"./dist/plugin-sdk/gateway-runtime.js"},"./plugin-sdk/cli-argv":{"types":"./dist/plugin-sdk/cli-argv.d.ts","default":"./dist/plugin-sdk/cli-argv.js"},"./plugin-sdk/cli-runtime":{"default":"./dist/plugin-sdk/cli-runtime.js"},"./plugin-sdk/cli-backend":{"default":"./dist/plugin-sdk/cli-backend.js"},"./plugin-sdk/claude-model-runtime":{"default":"./dist/plugin-sdk/claude-model-runtime.js"},"./plugin-sdk/codex-mcp-projection":{"default":"./dist/plugin-sdk/codex-mcp-projection.js"},"./plugin-sdk/native-hook-relay-runtime":{"default":"./dist/plugin-sdk/native-hook-relay-runtime.js"},"./plugin-sdk/codex-session-transcript-runtime":{"default":"./dist/plugin-sdk/codex-session-transcript-runtime.js"},"./plugin-sdk/agent-harness-task-runtime":{"default":"./dist/plugin-sdk/agent-harness-task-runtime.js"},"./plugin-sdk/agent-harness":{"types":"./dist/plugin-sdk/agent-harness.d.ts","default":"./dist/plugin-sdk/agent-harness.js"},"./plugin-sdk/agent-harness-exec-review-runtime":{"default":"./dist/plugin-sdk/agent-harness-exec-review-runtime.js"},"./plugin-sdk/agent-harness-runtime":{"types":"./dist/plugin-sdk/agent-harness-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-runtime.js"},"./plugin-sdk/agent-harness-tool-runtime":{"default":"./dist/plugin-sdk/agent-harness-tool-runtime.js"},"./plugin-sdk/hook-runtime":{"types":"./dist/plugin-sdk/hook-runtime.d.ts","default":"./dist/plugin-sdk/hook-runtime.js"},"./plugin-sdk/html-entity-runtime":{"default":"./dist/plugin-sdk/html-entity-runtime.js"},"./plugin-sdk/host-runtime":{"default":"./dist/plugin-sdk/host-runtime.js"},"./plugin-sdk/types":{"default":"./dist/plugin-sdk/types.js"},"./plugin-sdk/process-runtime":{"default":"./dist/plugin-sdk/process-runtime.js"},"./plugin-sdk/windows-spawn":{"default":"./dist/plugin-sdk/windows-spawn.js"},"./plugin-sdk/acp-runtime":{"default":"./dist/plugin-sdk/acp-runtime.js"},"./plugin-sdk/acp-runtime-backend":{"default":"./dist/plugin-sdk/acp-runtime-backend.js"},"./plugin-sdk/acp-binding-runtime":{"default":"./dist/plugin-sdk/acp-binding-runtime.js"},"./plugin-sdk/acp-binding-resolve-runtime":{"default":"./dist/plugin-sdk/acp-binding-resolve-runtime.js"},"./plugin-sdk/lazy-runtime":{"types":"./dist/plugin-sdk/lazy-runtime.d.ts","default":"./dist/plugin-sdk/lazy-runtime.js"},"./plugin-sdk/temp-path":{"types":"./dist/plugin-sdk/temp-path.d.ts","default":"./dist/plugin-sdk/temp-path.js"},"./plugin-sdk/time-runtime":{"default":"./dist/plugin-sdk/time-runtime.js"},"./plugin-sdk/logging-core":{"types":"./dist/plugin-sdk/logging-core.d.ts","default":"./dist/plugin-sdk/logging-core.js"},"./plugin-sdk/migration":{"default":"./dist/plugin-sdk/migration.js"},"./plugin-sdk/migration-runtime":{"default":"./dist/plugin-sdk/migration-runtime.js"},"./plugin-sdk/plugin-state-runtime":{"default":"./dist/plugin-sdk/plugin-state-runtime.js"},"./plugin-sdk/markdown-table-runtime":{"default":"./dist/plugin-sdk/markdown-table-runtime.js"},"./plugin-sdk/account-helpers":{"types":"./dist/plugin-sdk/account-helpers.d.ts","default":"./dist/plugin-sdk/account-helpers.js"},"./plugin-sdk/account-core":{"types":"./dist/plugin-sdk/account-core.d.ts","default":"./dist/plugin-sdk/account-core.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/account-resolution":{"types":"./dist/plugin-sdk/account-resolution.d.ts","default":"./dist/plugin-sdk/account-resolution.js"},"./plugin-sdk/account-resolution-runtime":{"default":"./dist/plugin-sdk/account-resolution-runtime.js"},"./plugin-sdk/access-groups":{"default":"./dist/plugin-sdk/access-groups.js"},"./plugin-sdk/allow-from":{"types":"./dist/plugin-sdk/allow-from.d.ts","default":"./dist/plugin-sdk/allow-from.js"},"./plugin-sdk/allowlist-config-edit":{"types":"./dist/plugin-sdk/allowlist-config-edit.d.ts","default":"./dist/plugin-sdk/allowlist-config-edit.js"},"./plugin-sdk/browser-cdp":{"default":"./dist/plugin-sdk/browser-cdp.js"},"./plugin-sdk/browser-config":{"default":"./dist/plugin-sdk/browser-config.js"},"./plugin-sdk/boolean-param":{"types":"./dist/plugin-sdk/boolean-param.d.ts","default":"./dist/plugin-sdk/boolean-param.js"},"./plugin-sdk/channel-dm-policy":{"types":"./dist/plugin-sdk/channel-dm-policy.d.ts","default":"./dist/plugin-sdk/channel-dm-policy.js"},"./plugin-sdk/dangerous-name-runtime":{"default":"./dist/plugin-sdk/dangerous-name-runtime.js"},"./plugin-sdk/command-auth":{"types":"./dist/plugin-sdk/command-auth.d.ts","default":"./dist/plugin-sdk/command-auth.js"},"./plugin-sdk/command-auth-native":{"types":"./dist/plugin-sdk/command-auth-native.d.ts","default":"./dist/plugin-sdk/command-auth-native.js"},"./plugin-sdk/command-primitives-runtime":{"types":"./dist/plugin-sdk/command-primitives-runtime.d.ts","default":"./dist/plugin-sdk/command-primitives-runtime.js"},"./plugin-sdk/command-status":{"types":"./dist/plugin-sdk/command-status.d.ts","default":"./dist/plugin-sdk/command-status.js"},"./plugin-sdk/command-status-runtime":{"default":"./dist/plugin-sdk/command-status-runtime.js"},"./plugin-sdk/command-detection":{"types":"./dist/plugin-sdk/command-detection.d.ts","default":"./dist/plugin-sdk/command-detection.js"},"./plugin-sdk/command-surface":{"default":"./dist/plugin-sdk/command-surface.js"},"./plugin-sdk/collection-runtime":{"types":"./dist/plugin-sdk/collection-runtime.d.ts","default":"./dist/plugin-sdk/collection-runtime.js"},"./plugin-sdk/direct-dm-guard-policy":{"default":"./dist/plugin-sdk/direct-dm-guard-policy.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/device-bootstrap":{"types":"./dist/plugin-sdk/device-bootstrap.d.ts","default":"./dist/plugin-sdk/device-bootstrap.js"},"./plugin-sdk/diagnostic-flags":{"types":"./dist/plugin-sdk/diagnostic-flags.d.ts","default":"./dist/plugin-sdk/diagnostic-flags.js"},"./plugin-sdk/diagnostic-runtime":{"types":"./dist/plugin-sdk/diagnostic-runtime.d.ts","default":"./dist/plugin-sdk/diagnostic-runtime.js"},"./plugin-sdk/error-runtime":{"types":"./dist/plugin-sdk/error-runtime.d.ts","default":"./dist/plugin-sdk/error-runtime.js"},"./plugin-sdk/extension-shared":{"types":"./dist/plugin-sdk/extension-shared.d.ts","default":"./dist/plugin-sdk/extension-shared.js"},"./plugin-sdk/channel-config-helpers":{"types":"./dist/plugin-sdk/channel-config-helpers.d.ts","default":"./dist/plugin-sdk/channel-config-helpers.js"},"./plugin-sdk/channel-config-ui-hints":{"default":"./dist/plugin-sdk/channel-config-ui-hints.js"},"./plugin-sdk/channel-config-writes":{"default":"./dist/plugin-sdk/channel-config-writes.js"},"./plugin-sdk/channel-config-primitives":{"types":"./dist/plugin-sdk/channel-config-primitives.d.ts","default":"./dist/plugin-sdk/channel-config-primitives.js"},"./plugin-sdk/channel-config-schema":{"types":"./dist/plugin-sdk/channel-config-schema.d.ts","default":"./dist/plugin-sdk/channel-config-schema.js"},"./plugin-sdk/bundled-channel-config-schema":{"default":"./dist/plugin-sdk/bundled-channel-config-schema.js"},"./plugin-sdk/chat-channel-ids":{"default":"./dist/plugin-sdk/chat-channel-ids.js"},"./plugin-sdk/channel-actions":{"types":"./dist/plugin-sdk/channel-actions.d.ts","default":"./dist/plugin-sdk/channel-actions.js"},"./plugin-sdk/channel-plugin-common":{"types":"./dist/plugin-sdk/channel-plugin-common.d.ts","default":"./dist/plugin-sdk/channel-plugin-common.js"},"./plugin-sdk/channel-core":{"types":"./dist/plugin-sdk/channel-core.d.ts","default":"./dist/plugin-sdk/channel-core.js"},"./plugin-sdk/channel-entry-contract":{"types":"./dist/plugin-sdk/channel-entry-contract.d.ts","default":"./dist/plugin-sdk/channel-entry-contract.js"},"./plugin-sdk/channel-contract":{"types":"./dist/plugin-sdk/channel-contract.d.ts","default":"./dist/plugin-sdk/channel-contract.js"},"./plugin-sdk/channel-feedback":{"types":"./dist/plugin-sdk/channel-feedback.d.ts","default":"./dist/plugin-sdk/channel-feedback.js"},"./plugin-sdk/channel-inbound":{"types":"./dist/plugin-sdk/channel-inbound.d.ts","default":"./dist/plugin-sdk/channel-inbound.js"},"./plugin-sdk/channel-inbound-debounce":{"types":"./dist/plugin-sdk/channel-inbound-debounce.d.ts","default":"./dist/plugin-sdk/channel-inbound-debounce.js"},"./plugin-sdk/channel-mention-gating":{"default":"./dist/plugin-sdk/channel-mention-gating.js"},"./plugin-sdk/channel-lifecycle":{"types":"./dist/plugin-sdk/channel-lifecycle.d.ts","default":"./dist/plugin-sdk/channel-lifecycle.js"},"./plugin-sdk/channel-ingress-runtime":{"types":"./dist/plugin-sdk/channel-ingress-runtime.d.ts","default":"./dist/plugin-sdk/channel-ingress-runtime.js"},"./plugin-sdk/channel-message":{"types":"./dist/plugin-sdk/channel-message.d.ts","default":"./dist/plugin-sdk/channel-message.js"},"./plugin-sdk/channel-outbound":{"types":"./dist/plugin-sdk/channel-outbound.d.ts","default":"./dist/plugin-sdk/channel-outbound.js"},"./plugin-sdk/channel-pairing":{"types":"./dist/plugin-sdk/channel-pairing.d.ts","default":"./dist/plugin-sdk/channel-pairing.js"},"./plugin-sdk/channel-policy":{"types":"./dist/plugin-sdk/channel-policy.d.ts","default":"./dist/plugin-sdk/channel-policy.js"},"./plugin-sdk/channel-send-result":{"types":"./dist/plugin-sdk/channel-send-result.d.ts","default":"./dist/plugin-sdk/channel-send-result.js"},"./plugin-sdk/channel-route":{"default":"./dist/plugin-sdk/channel-route.js"},"./plugin-sdk/channel-targets":{"default":"./dist/plugin-sdk/channel-targets.js"},"./plugin-sdk/context-visibility-runtime":{"default":"./dist/plugin-sdk/context-visibility-runtime.js"},"./plugin-sdk/file-lock":{"default":"./dist/plugin-sdk/file-lock.js"},"./plugin-sdk/fetch-runtime":{"default":"./dist/plugin-sdk/fetch-runtime.js"},"./plugin-sdk/runtime-fetch":{"default":"./dist/plugin-sdk/runtime-fetch.js"},"./plugin-sdk/inline-image-data-url-runtime":{"default":"./dist/plugin-sdk/inline-image-data-url-runtime.js"},"./plugin-sdk/node-host":{"default":"./dist/plugin-sdk/node-host.js"},"./plugin-sdk/computer-use":{"types":"./dist/plugin-sdk/computer-use.d.ts","default":"./dist/plugin-sdk/computer-use.js"},"./plugin-sdk/response-limit-runtime":{"default":"./dist/plugin-sdk/response-limit-runtime.js"},"./plugin-sdk/session-binding-runtime":{"default":"./dist/plugin-sdk/session-binding-runtime.js"},"./plugin-sdk/session-catalog":{"types":"./dist/plugin-sdk/session-catalog.d.ts","default":"./dist/plugin-sdk/session-catalog.js"},"./plugin-sdk/session-catalog-runtime":{"default":"./dist/plugin-sdk/session-catalog-runtime.js"},"./plugin-sdk/session-discussion":{"types":"./dist/plugin-sdk/session-discussion.d.ts","default":"./dist/plugin-sdk/session-discussion.js"},"./plugin-sdk/session-key-runtime":{"default":"./dist/plugin-sdk/session-key-runtime.js"},"./plugin-sdk/session-store-runtime":{"types":"./dist/plugin-sdk/session-store-runtime.d.ts","default":"./dist/plugin-sdk/session-store-runtime.js"},"./plugin-sdk/session-transcript-runtime":{"default":"./dist/plugin-sdk/session-transcript-runtime.js"},"./plugin-sdk/sqlite-runtime":{"default":"./dist/plugin-sdk/sqlite-runtime.js"},"./plugin-sdk/session-transcript-hit":{"default":"./dist/plugin-sdk/session-transcript-hit.js"},"./plugin-sdk/session-visibility":{"default":"./dist/plugin-sdk/session-visibility.js"},"./plugin-sdk/ssrf-dispatcher":{"default":"./dist/plugin-sdk/ssrf-dispatcher.js"},"./plugin-sdk/string-coerce-runtime":{"types":"./dist/plugin-sdk/string-coerce-runtime.d.ts","default":"./dist/plugin-sdk/string-coerce-runtime.js"},"./plugin-sdk/group-activation":{"default":"./dist/plugin-sdk/group-activation.js"},"./plugin-sdk/global-singleton":{"default":"./dist/plugin-sdk/global-singleton.js"},"./plugin-sdk/directory-config-runtime":{"default":"./dist/plugin-sdk/directory-config-runtime.js"},"./plugin-sdk/directory-runtime":{"types":"./dist/plugin-sdk/directory-runtime.d.ts","default":"./dist/plugin-sdk/directory-runtime.js"},"./plugin-sdk/image-generation":{"default":"./dist/plugin-sdk/image-generation.js"},"./plugin-sdk/image-generation-runtime":{"default":"./dist/plugin-sdk/image-generation-runtime.js"},"./plugin-sdk/image-generation-core":{"default":"./dist/plugin-sdk/image-generation-core.js"},"./plugin-sdk/music-generation":{"default":"./dist/plugin-sdk/music-generation.js"},"./plugin-sdk/video-generation":{"default":"./dist/plugin-sdk/video-generation.js"},"./plugin-sdk/video-generation-runtime":{"default":"./dist/plugin-sdk/video-generation-runtime.js"},"./plugin-sdk/reply-history":{"types":"./dist/plugin-sdk/reply-history.d.ts","default":"./dist/plugin-sdk/reply-history.js"},"./plugin-sdk/realtime-transcription":{"default":"./dist/plugin-sdk/realtime-transcription.js"},"./plugin-sdk/realtime-bootstrap-context":{"default":"./dist/plugin-sdk/realtime-bootstrap-context.js"},"./plugin-sdk/realtime-voice-audio-queue":{"default":"./dist/plugin-sdk/realtime-voice-audio-queue.js"},"./plugin-sdk/realtime-voice-activation":{"default":"./dist/plugin-sdk/realtime-voice-activation.js"},"./plugin-sdk/realtime-voice":{"default":"./dist/plugin-sdk/realtime-voice.js"},"./plugin-sdk/meeting-page-script-runtime":{"default":"./dist/plugin-sdk/meeting-page-script-runtime.js"},"./plugin-sdk/meeting-runtime":{"types":"./dist/plugin-sdk/meeting-runtime.d.ts","default":"./dist/plugin-sdk/meeting-runtime.js"},"./plugin-sdk/transcripts":{"default":"./dist/plugin-sdk/transcripts.js"},"./plugin-sdk/media-understanding":{"types":"./dist/plugin-sdk/media-understanding.d.ts","default":"./dist/plugin-sdk/media-understanding.js"},"./plugin-sdk/media-understanding-runtime":{"types":"./dist/plugin-sdk/media-understanding-runtime.d.ts","default":"./dist/plugin-sdk/media-understanding-runtime.js"},"./plugin-sdk/request-url":{"default":"./dist/plugin-sdk/request-url.js"},"./plugin-sdk/runtime-store":{"types":"./dist/plugin-sdk/runtime-store.d.ts","default":"./dist/plugin-sdk/runtime-store.js"},"./plugin-sdk/json-store":{"types":"./dist/plugin-sdk/json-store.d.ts","default":"./dist/plugin-sdk/json-store.js"},"./plugin-sdk/persistent-dedupe":{"types":"./dist/plugin-sdk/persistent-dedupe.d.ts","default":"./dist/plugin-sdk/persistent-dedupe.js"},"./plugin-sdk/ingress-effect-once":{"types":"./dist/plugin-sdk/ingress-effect-once.d.ts","default":"./dist/plugin-sdk/ingress-effect-once.js"},"./plugin-sdk/keyed-async-queue":{"default":"./dist/plugin-sdk/keyed-async-queue.js"},"./plugin-sdk/qa-runner-runtime":{"default":"./dist/plugin-sdk/qa-runner-runtime.js"},"./plugin-sdk/memory-core-host-embedding-registry":{"default":"./dist/plugin-sdk/memory-core-host-embedding-registry.js"},"./plugin-sdk/memory-core-host-engine-embeddings":{"default":"./dist/plugin-sdk/memory-core-host-engine-embeddings.js"},"./plugin-sdk/memory-core-host-engine-curated":{"default":"./dist/plugin-sdk/memory-core-host-engine-curated.js"},"./plugin-sdk/memory-core-host-engine-foundation":{"types":"./dist/plugin-sdk/memory-core-host-engine-foundation.d.ts","default":"./dist/plugin-sdk/memory-core-host-engine-foundation.js"},"./plugin-sdk/memory-core-host-engine-fs":{"default":"./dist/plugin-sdk/memory-core-host-engine-fs.js"},"./plugin-sdk/memory-core-host-engine-sessions":{"default":"./dist/plugin-sdk/memory-core-host-engine-sessions.js"},"./plugin-sdk/memory-core-host-engine-schema":{"default":"./dist/plugin-sdk/memory-core-host-engine-schema.js"},"./plugin-sdk/memory-core-host-engine-storage":{"default":"./dist/plugin-sdk/memory-core-host-engine-storage.js"},"./plugin-sdk/memory-core-host-secret":{"default":"./dist/plugin-sdk/memory-core-host-secret.js"},"./plugin-sdk/memory-core-host-status":{"default":"./dist/plugin-sdk/memory-core-host-status.js"},"./plugin-sdk/memory-core-host-runtime-cli":{"default":"./dist/plugin-sdk/memory-core-host-runtime-cli.js"},"./plugin-sdk/memory-core-host-runtime-core":{"default":"./dist/plugin-sdk/memory-core-host-runtime-core.js"},"./plugin-sdk/memory-core-host-runtime-files":{"default":"./dist/plugin-sdk/memory-core-host-runtime-files.js"},"./plugin-sdk/memory-host-core":{"types":"./dist/plugin-sdk/memory-host-core.d.ts","default":"./dist/plugin-sdk/memory-host-core.js"},"./plugin-sdk/memory-host-events":{"default":"./dist/plugin-sdk/memory-host-events.js"},"./plugin-sdk/memory-host-markdown":{"default":"./dist/plugin-sdk/memory-host-markdown.js"},"./plugin-sdk/memory-host-search":{"default":"./dist/plugin-sdk/memory-host-search.js"},"./plugin-sdk/message-tool-delivery-hints":{"default":"./dist/plugin-sdk/message-tool-delivery-hints.js"},"./plugin-sdk/models-provider-runtime":{"types":"./dist/plugin-sdk/models-provider-runtime.d.ts","default":"./dist/plugin-sdk/models-provider-runtime.js"},"./plugin-sdk/skill-commands-runtime":{"types":"./dist/plugin-sdk/skill-commands-runtime.d.ts","default":"./dist/plugin-sdk/skill-commands-runtime.js"},"./plugin-sdk/native-command-config-runtime":{"types":"./dist/plugin-sdk/native-command-config-runtime.d.ts","default":"./dist/plugin-sdk/native-command-config-runtime.js"},"./plugin-sdk/native-command-registry":{"types":"./dist/plugin-sdk/native-command-registry.d.ts","default":"./dist/plugin-sdk/native-command-registry.js"},"./plugin-sdk/provider-auth":{"types":"./dist/plugin-sdk/provider-auth.d.ts","default":"./dist/plugin-sdk/provider-auth.js"},"./plugin-sdk/provider-oauth-runtime":{"default":"./dist/plugin-sdk/provider-oauth-runtime.js"},"./plugin-sdk/provider-auth-runtime":{"default":"./dist/plugin-sdk/provider-auth-runtime.js"},"./plugin-sdk/provider-auth-login-flow-runtime":{"default":"./dist/plugin-sdk/provider-auth-login-flow-runtime.js"},"./plugin-sdk/provider-auth-api-key":{"default":"./dist/plugin-sdk/provider-auth-api-key.js"},"./plugin-sdk/provider-auth-result":{"default":"./dist/plugin-sdk/provider-auth-result.js"},"./plugin-sdk/provider-selection-runtime":{"default":"./dist/plugin-sdk/provider-selection-runtime.js"},"./plugin-sdk/plugin-entry":{"types":"./dist/plugin-sdk/plugin-entry.d.ts","default":"./dist/plugin-sdk/plugin-entry.js"},"./plugin-sdk/provider-catalog-live-runtime":{"default":"./dist/plugin-sdk/provider-catalog-live-runtime.js"},"./plugin-sdk/provider-catalog-runtime":{"types":"./dist/plugin-sdk/provider-catalog-runtime.d.ts","default":"./dist/plugin-sdk/provider-catalog-runtime.js"},"./plugin-sdk/provider-catalog-shared":{"default":"./dist/plugin-sdk/provider-catalog-shared.js"},"./plugin-sdk/provider-entry":{"default":"./dist/plugin-sdk/provider-entry.js"},"./plugin-sdk/provider-env-vars":{"default":"./dist/plugin-sdk/provider-env-vars.js"},"./plugin-sdk/provider-http":{"default":"./dist/plugin-sdk/provider-http.js"},"./plugin-sdk/provider-binary-stream":{"types":"./dist/plugin-sdk/provider-binary-stream.d.ts","default":"./dist/plugin-sdk/provider-binary-stream.js"},"./plugin-sdk/provider-model-types":{"default":"./dist/plugin-sdk/provider-model-types.js"},"./plugin-sdk/provider-model-shared":{"default":"./dist/plugin-sdk/provider-model-shared.js"},"./plugin-sdk/provider-onboard":{"default":"./dist/plugin-sdk/provider-onboard.js"},"./plugin-sdk/provider-stream-family":{"default":"./dist/plugin-sdk/provider-stream-family.js"},"./plugin-sdk/provider-stream-shared":{"default":"./dist/plugin-sdk/provider-stream-shared.js"},"./plugin-sdk/provider-transport-runtime":{"default":"./dist/plugin-sdk/provider-transport-runtime.js"},"./plugin-sdk/provider-stream":{"default":"./dist/plugin-sdk/provider-stream.js"},"./plugin-sdk/provider-tools":{"default":"./dist/plugin-sdk/provider-tools.js"},"./plugin-sdk/provider-usage":{"default":"./dist/plugin-sdk/provider-usage.js"},"./plugin-sdk/document-extractor":{"default":"./dist/plugin-sdk/document-extractor.js"},"./plugin-sdk/web-content-extractor":{"default":"./dist/plugin-sdk/web-content-extractor.js"},"./plugin-sdk/provider-web-fetch-contract":{"default":"./dist/plugin-sdk/provider-web-fetch-contract.js"},"./plugin-sdk/provider-web-fetch":{"default":"./dist/plugin-sdk/provider-web-fetch.js"},"./plugin-sdk/provider-web-search-config-contract":{"default":"./dist/plugin-sdk/provider-web-search-config-contract.js"},"./plugin-sdk/provider-web-search-contract":{"default":"./dist/plugin-sdk/provider-web-search-contract.js"},"./plugin-sdk/provider-web-search":{"default":"./dist/plugin-sdk/provider-web-search.js"},"./plugin-sdk/retry-runtime":{"default":"./dist/plugin-sdk/retry-runtime.js"},"./plugin-sdk/run-command":{"types":"./dist/plugin-sdk/run-command.d.ts","default":"./dist/plugin-sdk/run-command.js"},"./plugin-sdk/param-readers":{"types":"./dist/plugin-sdk/param-readers.d.ts","default":"./dist/plugin-sdk/param-readers.js"},"./plugin-sdk/secret-input":{"types":"./dist/plugin-sdk/secret-input.d.ts","default":"./dist/plugin-sdk/secret-input.js"},"./plugin-sdk/secret-input-runtime":{"types":"./dist/plugin-sdk/secret-input-runtime.d.ts","default":"./dist/plugin-sdk/secret-input-runtime.js"},"./plugin-sdk/secret-ref-readonly":{"types":"./dist/plugin-sdk/secret-ref-readonly.d.ts","default":"./dist/plugin-sdk/secret-ref-readonly.js"},"./plugin-sdk/channel-status":{"types":"./dist/plugin-sdk/channel-status.d.ts","default":"./dist/plugin-sdk/channel-status.js"},"./plugin-sdk/status-helpers":{"types":"./dist/plugin-sdk/status-helpers.d.ts","default":"./dist/plugin-sdk/status-helpers.js"},"./plugin-sdk/speech":{"default":"./dist/plugin-sdk/speech.js"},"./plugin-sdk/string-normalization-runtime":{"default":"./dist/plugin-sdk/string-normalization-runtime.js"},"./plugin-sdk/state-paths":{"types":"./dist/plugin-sdk/state-paths.d.ts","default":"./dist/plugin-sdk/state-paths.js"},"./plugin-sdk/target-resolver-runtime":{"default":"./dist/plugin-sdk/target-resolver-runtime.js"},"./plugin-sdk/telegram-account":{"types":"./dist/plugin-sdk/telegram-account.d.ts","default":"./dist/plugin-sdk/telegram-account.js"},"./plugin-sdk/text-autolink-runtime":{"default":"./dist/plugin-sdk/text-autolink-runtime.js"},"./plugin-sdk/text-utility-runtime":{"default":"./dist/plugin-sdk/text-utility-runtime.js"},"./plugin-sdk/widget-html":{"types":"./dist/plugin-sdk/widget-html.d.ts","default":"./dist/plugin-sdk/widget-html.js"},"./plugin-sdk/tool-plugin":{"types":"./dist/plugin-sdk/tool-plugin.d.ts","default":"./dist/plugin-sdk/tool-plugin.js"},"./plugin-sdk/tool-payload":{"default":"./dist/plugin-sdk/tool-payload.js"},"./plugin-sdk/tool-results":{"types":"./dist/plugin-sdk/tool-results.d.ts","default":"./dist/plugin-sdk/tool-results.js"},"./plugin-sdk/tool-send":{"types":"./dist/plugin-sdk/tool-send.d.ts","default":"./dist/plugin-sdk/tool-send.js"},"./plugin-sdk/webhook-ingress":{"types":"./dist/plugin-sdk/webhook-ingress.d.ts","default":"./dist/plugin-sdk/webhook-ingress.js"},"./plugin-sdk/webhook-targets":{"default":"./dist/plugin-sdk/webhook-targets.js"},"./plugin-sdk/webhook-request-guards":{"types":"./dist/plugin-sdk/webhook-request-guards.d.ts","default":"./dist/plugin-sdk/webhook-request-guards.js"},"./plugin-sdk/web-media":{"types":"./dist/plugin-sdk/web-media.d.ts","default":"./dist/plugin-sdk/web-media.js"},"./plugin-sdk/agent-core":{"default":"./dist/plugin-sdk/agent-core.js"},"./plugin-sdk/agent-sessions":{"default":"./dist/plugin-sdk/agent-sessions.js"},"./plugin-sdk/llm":{"default":"./dist/plugin-sdk/llm.js"},"./cli-entry":"./openclaw.mjs"},"scripts":{"android:assemble":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:assemblePlayDebug :wear:assembleDebug :wear-shared:assembleDebug","android:assemble:third-party":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:assembleThirdPartyDebug","android:bundle:release":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android play_store_archive'","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat :wear:ktlintFormat :wear-shared:ktlintFormat","android:install":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:installPlayDebug","android:install:third-party":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:installThirdPartyDebug","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck :wear:ktlintCheck :wear-shared:ktlintCheck","android:lint:android":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:lintPlayDebug :app:lintThirdPartyDebug :wear:lintDebug :wear-shared:lintDebug","android:run":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:runPlayDebug","android:run:third-party":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:runThirdPartyDebug","android:release":"bash scripts/android-release.sh","android:release:archive":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android play_store_archive'","android:release:auth:check":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android auth_check'","android:release:metadata":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android metadata'","android:release:preflight":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android release_preflight'","android:release:signing:check":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_check'","android:release:signing:plan":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_plan'","android:release:signing:sync:pull":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_sync_pull'","android:release:signing:sync:push":"bash -lc 'source ./scripts/lib/android-fastlane.sh && cd apps/android && run_android_fastlane android signing_sync_push'","android:release:upload":"bash scripts/android-release-upload.sh","android:screenshots":"bash scripts/android-screenshots.sh","android:test":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:testPlayDebugUnitTest :wear:testDebugUnitTest :wear-shared:testDebugUnitTest","android:test:integration":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_ANDROID_NODE=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.live.config.ts src/gateway/android-node.capabilities.live.test.ts","android:test:third-party":"node --import ./scripts/tsx.mjs scripts/run-android-gradle.mts :app:testThirdPartyDebugUnitTest","android:version":"node --import ./scripts/tsx.mjs scripts/android-version.ts --json","android:version:check":"node --import ./scripts/tsx.mjs scripts/android-sync-versioning.ts --check","android:version:pin":"node --import ./scripts/tsx.mjs scripts/android-pin-version.ts","android:version:sync":"node --import ./scripts/tsx.mjs scripts/android-sync-versioning.ts --write","audit:seams":"node --import ./scripts/tsx.mjs scripts/audit-seams.mts","build":"node --import ./scripts/tsx.mjs scripts/build-all.mts","build:ci-artifacts":"node --import ./scripts/tsx.mjs scripts/build-all.mts ciArtifacts","build:docker":"pnpm plugins:assets:build && node --import ./scripts/tsx.mjs scripts/tsdown-build.mts && node --import ./scripts/tsx.mjs scripts/check-cli-bootstrap-imports.mts && node scripts/runtime-postbuild.mjs && node --import ./scripts/tsx.mjs scripts/build-stamp.mts && node --import ./scripts/tsx.mjs scripts/runtime-postbuild-stamp.mts && pnpm plugins:assets:copy && node --import ./scripts/tsx.mjs scripts/write-build-info.ts && node --import ./scripts/tsx.mjs scripts/write-cli-startup-metadata.ts","build:package":"node --import ./scripts/tsx.mjs scripts/build-all.mts package","build:plugin-sdk:dts":"node --import ./scripts/tsx.mjs scripts/write-plugin-sdk-entry-dts.ts","build:plugin-sdk:strict-smoke":"node --import ./scripts/tsx.mjs scripts/tsdown-build.mts && node scripts/runtime-postbuild.mjs && node --import ./scripts/tsx.mjs scripts/check-plugin-sdk-exports.mts","build:strict-smoke":"pnpm plugins:assets:build && node --import ./scripts/tsx.mjs scripts/tsdown-build.mts && node --import ./scripts/tsx.mjs scripts/check-cli-bootstrap-imports.mts && node scripts/runtime-postbuild.mjs && node --import ./scripts/tsx.mjs scripts/build-stamp.mts && node --import ./scripts/tsx.mjs scripts/runtime-postbuild-stamp.mts && node --import ./scripts/tsx.mjs scripts/check-plugin-sdk-exports.mts","canvas:a2ui:bundle":"node --import ./scripts/tsx.mjs scripts/bundle-a2ui.mts","channels:catalog:check":"node scripts/write-official-channel-catalog.mjs --check","channels:catalog:gen":"node scripts/write-official-channel-catalog.mjs --write","changed:lanes":"node scripts/changed-lanes.mjs","check":"node --import ./scripts/tsx.mjs scripts/check.mts","check:architecture":"pnpm check:import-cycles && pnpm check:madge-import-cycles && pnpm check:deprecated-api-usage && pnpm check:wrapper-shadowing && pnpm check:deprecated-jsdoc && pnpm db:kysely:check && pnpm lint:kysely && pnpm check:database-first-legacy-stores","check:assertion-safety":"node --import ./scripts/tsx.mjs scripts/check-assertion-safety-ratchet.mts","check:base-config-schema":"node --import ./scripts/tsx.mjs scripts/generate-base-config-schema.ts --check","check:bundled-channel-config-metadata":"node --import ./scripts/tsx.mjs scripts/generate-bundled-channel-config-metadata.ts --check","check:changed":"node scripts/check-changed.mjs","check:changelog-attributions":"node --import ./scripts/tsx.mjs scripts/check-changelog-attributions.mts","check:coercion-helpers":"node --import ./scripts/tsx.mjs scripts/check-coercion-helper-declarations.mts","check:database-first-legacy-stores":"node --import ./scripts/tsx.mjs scripts/check-database-first-legacy-stores.mts","check:deprecated-api-usage":"node --import ./scripts/tsx.mjs scripts/check-deprecated-api-usage.mts","check:deprecated-jsdoc":"node --import ./scripts/tsx.mjs scripts/check-deprecated-jsdoc.mts","check:doctor-deprecation-registry":"node --import ./scripts/tsx.mjs scripts/check-doctor-deprecation-registry.ts","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm lint:templates && pnpm docs:check-mdx && pnpm docs:check-i18n-glossary && pnpm docs:check-links && pnpm docs:check-config-examples","check:env-var-count":"node --import ./scripts/tsx.mjs scripts/check-env-var-count.mts","check:host-env-policy:swift":"node --import ./scripts/tsx.mjs scripts/generate-host-env-security-policy-swift.mts --check","check:import-cycles":"node --import ./scripts/tsx.mjs scripts/check-import-cycles.ts","check:max-lines-ratchet":"node --import ./scripts/tsx.mjs scripts/check-max-lines-ratchet.mts","check:madge-import-cycles":"node --import ./scripts/tsx.mjs scripts/check-madge-import-cycles.ts","check:media-download-helpers":"node --import ./scripts/tsx.mjs scripts/check-media-download-helper-roundtrip.mts","check:no-conflict-markers":"node scripts/check-no-conflict-markers.mjs","check:no-runtime-action-load-config":"node --import ./scripts/tsx.mjs scripts/check-no-runtime-action-load-config.mts","check:opengrep-rule-metadata":"node security/opengrep/check-rule-metadata.mjs","check:protocol-coverage":"node scripts/check-protocol-event-coverage.mjs","check:runtime-sidecar-loaders":"node --import ./scripts/tsx.mjs scripts/check-runtime-sidecar-loaders.mts","check:script-erasability":"node --disable-warning=ExperimentalWarning scripts/check-script-erasability.mjs","check:static-import-sccs":"pnpm check:madge-import-cycles","check:temp-path-guardrails":"node --import ./scripts/tsx.mjs scripts/check-temp-path-guardrails.ts","check:wrapper-shadowing":"node --import ./scripts/tsx.mjs scripts/check-wrapper-shadowing.mts","check:test-types":"pnpm tsgo:test","check:timed":"node --import ./scripts/tsx.mjs scripts/check-timed.mts","check:timed:all-types":"node --import ./scripts/tsx.mjs scripts/check-timed.mts --include-test-types","check:timed:architecture":"node --import ./scripts/tsx.mjs scripts/check-timed.mts --include-architecture","check:workflows":"node --import ./scripts/tsx.mjs scripts/check-workflows.mts","ci:full-release":"node scripts/full-release-validation-at-sha.mjs","ci:git-owner:check":"node scripts/generate-ci-git-owner.mts --check","ci:git-owner:gen":"node scripts/generate-ci-git-owner.mts","frv":"node scripts/frv.mjs","ci:timings":"node scripts/ci-run-timings.mjs --latest-main","ci:timings:refit":"node --import ./scripts/tsx.mjs scripts/ci-refit-test-timings.mts","ci:timings:recent":"node scripts/ci-run-timings.mjs --recent 10","ci:timings:trend":"node scripts/ci-run-timings.mjs --trend-hours 72 --compare-hours 12","clean:dist":"node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"","codex-app-server:protocol:check":"node --import ./scripts/tsx.mjs scripts/check-codex-app-server-protocol.ts","codex-app-server:protocol:sync":"node --import ./scripts/tsx.mjs scripts/sync-codex-app-server-protocol.ts","codex-supervisor:mcp":"node --import ./scripts/tsx.mjs src/mcp/codex-supervision-tools-serve.ts","codex:mcp":"node --import ./scripts/tsx.mjs src/mcp/codex-supervision-tools-serve.ts","config:channels:check":"node --import ./scripts/tsx.mjs scripts/generate-bundled-channel-config-metadata.ts --check","config:channels:gen":"node --import ./scripts/tsx.mjs scripts/generate-bundled-channel-config-metadata.ts --write","config:docs:check":"node --import ./scripts/tsx.mjs scripts/generate-config-doc-baseline.ts --check","config:docs:gen":"node --import ./scripts/tsx.mjs scripts/generate-config-doc-baseline.ts --write","config:schema:check":"node --import ./scripts/tsx.mjs scripts/generate-base-config-schema.ts --check","config:schema:gen":"node --import ./scripts/tsx.mjs scripts/generate-base-config-schema.ts --write","crabbox:hydrate":"node dist/crabbox-wrapper.js actions hydrate","crabbox:run":"node dist/crabbox-wrapper.js run","crabbox:stop":"node dist/crabbox-wrapper.js stop","crabbox:warmup":"node dist/crabbox-wrapper.js warmup","deadcode:dependencies":"pnpm deadcode:full","deadcode:exports":"node --import ./scripts/tsx.mjs scripts/check-deadcode-exports.mts","deadcode:full":"pnpm dlx --package knip@6.32.2 knip --config config/knip.config.ts --production --no-progress --reporter compact --no-config-hints --exclude duplicates && pnpm dlx --package knip@6.32.2 knip --config config/knip.all-exports.config.ts --no-progress --reporter compact --no-config-hints --exports --exclude duplicates","deadcode:knip":"pnpm dlx --package knip@6.32.2 knip --config config/knip.config.ts --production --no-progress --reporter compact --files --dependencies","deadcode:report":"pnpm deadcode:full && pnpm deadcode:exports","deadcode:unused-files":"node --import ./scripts/tsx.mjs scripts/check-deadcode-unused-files.mts","deps:root-ownership":"node --import ./scripts/tsx.mjs scripts/root-dependency-ownership-audit.mts","deps:root-ownership:check":"node --import ./scripts/tsx.mjs scripts/root-dependency-ownership-audit.mts --check","deps:changes:report":"node --import ./scripts/tsx.mjs scripts/dependency-changes-report.mts","deps:patches:check":"node --import ./scripts/tsx.mjs scripts/check-package-patches.mts","deps:pins:check":"node --import ./scripts/tsx.mjs scripts/check-dependency-pins.mts","deps:npm-lock:check":"node scripts/generate-npm-package-lock.mjs --all","deps:npm-lock:check:changed":"node scripts/generate-npm-package-lock.mjs --changed","deps:ownership-surface:check":"node --import ./scripts/tsx.mjs scripts/dependency-ownership-surface-report.mts --check","deps:ownership-surface:report":"node --import ./scripts/tsx.mjs scripts/dependency-ownership-surface-report.mts","deps:transitive-risk:report":"node --import ./scripts/tsx.mjs scripts/transitive-manifest-risk-report.mts","deps:vuln:gate":"node --import ./scripts/tsx.mjs scripts/dependency-vulnerability-gate.mts","db:kysely:check":"node --import ./scripts/tsx.mjs scripts/generate-kysely-types.mts --verify","db:kysely:gen":"node --import ./scripts/tsx.mjs scripts/generate-kysely-types.mts","dev":"node scripts/run-node.mjs","dev:ui:mock":"node --import ./scripts/tsx.mjs scripts/control-ui-mock-dev.ts","docs:check-config-examples":"node scripts/check-docs-config-examples.mjs","docs:check-i18n-glossary":"node --import ./scripts/tsx.mjs scripts/check-docs-i18n-glossary.mts","docs:check-links":"node scripts/docs-link-audit.mjs","docs:check-links:anchors":"node scripts/docs-link-audit.mjs --anchors","docs:check-mdx":"node scripts/check-docs-mdx.mjs docs README.md","docs:dev":"cd docs && mint dev","docs:list":"node scripts/docs-list.js","docs:map:gen":"node scripts/docs-list.js --headings","docs:spellcheck":"bash scripts/docs-spellcheck.sh","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","maturity:check":"node --import ./scripts/tsx.mjs scripts/qa/render-maturity-docs.ts --check","maturity:render":"node --import ./scripts/tsx.mjs scripts/qa/render-maturity-docs.ts","dup:check":"node scripts/check-duplicates.mjs","dup:check:coverage":"node scripts/check-duplicates.mjs --coverage","dup:check:json":"node scripts/check-duplicates.mjs --json","format":"oxfmt --write --threads=1","format:all":"pnpm format && pnpm format:swift","format:check":"oxfmt --check","format:diff":"oxfmt --write --threads=1 && git --no-pager diff","format:docs":"node --import ./scripts/tsx.mjs scripts/format-docs.mts","format:docs:check":"node --import ./scripts/tsx.mjs scripts/format-docs.mts --check","format:fix":"oxfmt --write --threads=1","format:swift":"./scripts/format-swift.sh","gateway:dev":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway","gateway:dev:reset":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway --reset","gateway:watch":"node --import ./scripts/tsx.mjs scripts/gateway-watch-tmux.mts gateway --force","gateway:watch:raw":"node scripts/watch-node.mjs gateway --force","gen:host-env-policy:swift":"node --import ./scripts/tsx.mjs scripts/generate-host-env-security-policy-swift.mts --write","ghsa:patch":"node --import ./scripts/tsx.mjs scripts/ghsa-patch.mts","ios:app-review-notes:pdf":"xcrun swift scripts/ios-app-review-notes-pdf.swift apps/ios/APP-REVIEW-NOTES.md apps/ios/build/app-review/APP-REVIEW-NOTES.pdf","ios:build":"bash -c 'export PATH=\"$PATH:/opt/homebrew/bin:/usr/local/bin\"; ./scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-generic/platform=iOS Simulator}\" -configuration Debug build'","ios:filelist:gen":"node scripts/ios-write-swift-filelist.mjs","ios:gen":"bash -c 'export PATH=\"$PATH:/opt/homebrew/bin:/usr/local/bin\"; ./scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate'","ios:open":"bash -c 'export PATH=\"$PATH:/opt/homebrew/bin:/usr/local/bin\"; ./scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && node scripts/ios-write-swift-filelist.mjs && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","ios:release:archive":"bash scripts/ios-release-archive.sh","ios:release:cut":"bash scripts/ios-release-cut.sh","ios:release:plan":"bash scripts/ios-release-plan.sh","ios:release:prepare":"bash scripts/ios-release-prepare.sh","ios:release:signing:check":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_check'","ios:release:signing:plan":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_plan'","ios:release:signing:setup":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_setup'","ios:release:signing:sync:pull":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_sync_pull'","ios:release:signing:sync:push":"bash -lc 'source ./scripts/lib/ios-fastlane.sh && cd apps/ios && run_ios_fastlane ios signing_sync_push'","ios:release:upload":"bash scripts/ios-release-upload.sh","ios:run":"bash scripts/ios-run.sh","ios:screenshots":"bash scripts/ios-screenshots.sh","ios:version":"node --import ./scripts/tsx.mjs scripts/ios-version.ts --json","ios:version:check":"node --import ./scripts/tsx.mjs scripts/ios-sync-versioning.ts --check","ios:version:sync":"node --import ./scripts/tsx.mjs scripts/ios-sync-versioning.ts --write","leak:embedded-run":"node --import ./scripts/tsx.mjs --expose-gc scripts/embedded-run-abort-leak.ts","lint":"node --import ./scripts/tsx.mjs scripts/run-lint.mts","lint:agent:ingress-owner":"node --import ./scripts/tsx.mjs scripts/check-ingress-agent-owner-context.mts","lint:all":"node scripts/run-oxlint.mjs","lint:apps":"pnpm lint:swift","lint:auth:no-pairing-store-group":"node --import ./scripts/tsx.mjs scripts/check-no-pairing-store-group-auth.mts","lint:auth:pairing-account-scope":"node --import ./scripts/tsx.mjs scripts/check-pairing-account-scope.mts","lint:core":"node --import ./scripts/tsx.mjs scripts/run-oxlint-shards.mts --only=core","lint:docker-e2e":"node --import ./scripts/tsx.mjs scripts/check-docker-e2e-boundaries.mts","lint:kysely":"node --import ./scripts/tsx.mjs scripts/check-kysely-guardrails.mts","lint:docs":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc","lint:docs:fix":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc --fix","lint:templates":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-templates.jsonc","lint:templates:fix":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-templates.jsonc --fix","lint:extensions:no-deprecated-channel-access":"node --import ./scripts/tsx.mjs scripts/check-no-deprecated-channel-access.ts","lint:extensions:telegram-grammy-types":"node --import ./scripts/tsx.mjs scripts/check-telegram-grammy-types-imports.mts","lint:extensions":"node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.extensions.json extensions","lint:extensions:no-guarded-wildcard-reexports":"node --import ./scripts/tsx.mjs scripts/check-extension-wildcard-reexports.mts","lint:extensions:no-normalization-core-bypass":"node --import ./scripts/tsx.mjs scripts/check-extension-plugin-sdk-boundary.mts --mode=normalization-core-bypass","lint:extensions:no-plugin-sdk-wildcard-reexports":"node --import ./scripts/tsx.mjs scripts/check-plugin-sdk-wildcard-reexports.mts","lint:extensions:no-relative-outside-package":"node --import ./scripts/tsx.mjs scripts/check-extension-plugin-sdk-boundary.mts --mode=relative-outside-package","lint:extensions:no-src-outside-plugin-sdk":"node --import ./scripts/tsx.mjs scripts/check-extension-plugin-sdk-boundary.mts --mode=src-outside-plugin-sdk","lint:fix":"node scripts/run-oxlint.mjs --fix && pnpm format","lint:plugins:no-extension-imports":"node --import ./scripts/tsx.mjs scripts/check-plugin-extension-import-boundary.mts","lint:plugins:no-extension-src-imports":"node --import ./scripts/tsx.mjs scripts/check-no-extension-src-imports.ts","lint:plugins:no-extension-test-core-imports":"node --import ./scripts/tsx.mjs scripts/check-no-extension-test-core-imports.ts","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import ./scripts/tsx.mjs scripts/check-no-monolithic-plugin-sdk-entry-imports.ts","lint:plugins:no-register-http-handler":"node scripts/run-oxlint.mjs --openclaw-focused-config --config config/oxlint/boundary-guards.json src extensions","lint:plugins:plugin-sdk-subpaths-exported":"node --import ./scripts/tsx.mjs scripts/check-plugin-sdk-subpath-exports.mts","lint:no-chained-type-assertions":"node scripts/run-oxlint.mjs --openclaw-focused-config --config config/oxlint/boundary-guards.json src extensions packages ui/src","lint:no-widen-then-assert":"node scripts/run-oxlint.mjs --openclaw-focused-config --config config/oxlint/boundary-guards.json src extensions packages ui/src","lint:scripts":"pnpm lint:docker-e2e && pnpm lint:tmp:no-raw-http2-imports && node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.scripts.json scripts","lint:swift":"./scripts/lint-swift.sh","lint:tmp:channel-agnostic-boundaries":"node --import ./scripts/tsx.mjs scripts/check-channel-agnostic-boundaries.mts","lint:tmp:dynamic-import-warts":"node --import ./scripts/tsx.mjs scripts/check-dynamic-import-warts.mts","lint:tmp:export-name-collisions":"node --import ./scripts/tsx.mjs scripts/check-export-name-collisions.mts","lint:tmp:no-random-messaging":"node --import ./scripts/tsx.mjs scripts/check-no-random-messaging-tmp.mts","lint:tmp:no-raw-channel-fetch":"node --import ./scripts/tsx.mjs scripts/check-no-raw-channel-fetch.mts","lint:tmp:no-raw-http2-imports":"node --import ./scripts/tsx.mjs scripts/check-no-raw-http2-imports.mts","lint:tmp:session-accessor-boundary":"node --import ./scripts/tsx.mjs scripts/check-session-accessor-boundary.mts","lint:tmp:session-accessor-boundary:gen":"node --import ./scripts/tsx.mjs scripts/check-session-accessor-boundary.mts --update-debt-baseline","lint:tmp:session-transcript-reader-boundary":"node --import ./scripts/tsx.mjs scripts/check-session-transcript-reader-boundary.mts","lint:tmp:sqlite-transaction-boundary":"node --import ./scripts/tsx.mjs scripts/check-sqlite-transaction-boundary.mts","lint:tmp:tsgo-core-boundary":"node --import ./scripts/tsx.mjs scripts/check-tsgo-core-boundary.mts","lint:ui:i18n":"pnpm ui:i18n:verify","lint:ui:lit":"lit-analyzer \"ui/src/**/*.ts\" --quiet","lint:ui:no-raw-window-open":"node scripts/run-oxlint.mjs --openclaw-focused-config --config config/oxlint/boundary-guards.json ui/src","lint:ui:styles":"stylelint --config config/stylelint.config.mjs \"ui/src/**/*.css\" \"ui/src/**/*.ts\" \"ui/public/themes/*.css\"","lint:web-fetch-provider-boundaries":"node --import ./scripts/tsx.mjs scripts/check-web-fetch-provider-boundaries.mts","lint:webhook:no-low-level-body-read":"node --import ./scripts/tsx.mjs scripts/check-webhook-auth-body-order.mts","mac:open":"open dist/OpenClaw.app","mac:package":"bash scripts/package-mac-app.sh","mac:restart":"bash scripts/restart-mac.sh","mobile:release:preflight":"node --import ./scripts/tsx.mjs scripts/mobile-release-ref.ts preflight","mobile:release:record":"node --import ./scripts/tsx.mjs scripts/mobile-release-ref.ts record","mobile:release:resolve":"node --import ./scripts/tsx.mjs scripts/mobile-release-ref.ts resolve","openclaw":"node scripts/run-node.mjs","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","perf:web-fetch":"node --import ./scripts/tsx.mjs scripts/bench-web-fetch.ts","perf:kova:summary":"node --import ./scripts/tsx.mjs scripts/kova-ci-summary.mts","perf:source:summary":"node --import ./scripts/tsx.mjs scripts/openclaw-performance-source-summary.mts","plugin-sdk:api:diff":"node --max-old-space-size=8192 --import ./scripts/tsx.mjs scripts/plugin-sdk-api-diff.mts","plugin-sdk:check-exports":"node --import ./scripts/tsx.mjs scripts/sync-plugin-sdk-exports.mts --check","plugin-sdk:surface":"node --max-old-space-size=8192 --import ./scripts/tsx.mjs scripts/plugin-sdk-surface-report.mts","plugin-sdk:surface:check":"node --max-old-space-size=8192 --import ./scripts/tsx.mjs scripts/plugin-sdk-surface-report.mts --check","plugin-sdk:sync-exports":"node --import ./scripts/tsx.mjs scripts/sync-plugin-sdk-exports.mts","plugin-sdk:usage":"node --max-old-space-size=8192 --import ./scripts/tsx.mjs scripts/analyze-plugin-sdk-usage.ts","policy:config-coverage":"node --import ./scripts/tsx.mjs scripts/check-policy-config-coverage.ts","plugins:boundary-report":"node --import ./scripts/tsx.mjs scripts/plugin-boundary-report.ts","plugins:boundary-report:ci":"node --import ./scripts/tsx.mjs scripts/plugin-boundary-report.ts --summary --fail-on-eligible-compat","plugins:boundary-report:json":"node --import ./scripts/tsx.mjs scripts/plugin-boundary-report.ts --json","plugins:boundary-report:summary":"node --import ./scripts/tsx.mjs scripts/plugin-boundary-report.ts --summary","plugins:assets:build":"node --import ./scripts/tsx.mjs scripts/bundled-plugin-assets.mts --phase build","plugins:assets:check":"node --import ./scripts/tsx.mjs scripts/bundled-plugin-assets.mts --phase build --check","plugins:assets:copy":"node --import ./scripts/tsx.mjs scripts/bundled-plugin-assets.mts --phase copy","plugins:inventory:check":"node --import ./scripts/tsx.mjs scripts/generate-plugin-inventory-doc.mts --check","plugins:inventory:gen":"node --import ./scripts/tsx.mjs scripts/generate-plugin-inventory-doc.mts --write","plugins:sync":"node --import ./scripts/tsx.mjs scripts/sync-plugin-versions.ts","plugins:sync:check":"node --import ./scripts/tsx.mjs scripts/sync-plugin-versions.ts --check","postinstall":"node scripts/postinstall-bundled-plugins.mjs","preinstall":"node scripts/preinstall-package-manager-warning.mjs","prepush:ci":"bash scripts/prepush-ci.sh","probe:anthropic:prompt":"node --import ./scripts/tsx.mjs scripts/anthropic-prompt-probe.ts","prompt:snapshots:check":"node --import ./scripts/tsx.mjs scripts/generate-prompt-snapshots.ts --check","prompt:snapshots:gen":"node --import ./scripts/tsx.mjs scripts/generate-prompt-snapshots.ts --write","prompt:snapshots:sync-codex-model":"node --import ./scripts/tsx.mjs scripts/sync-codex-model-prompt-fixture.ts","protocol:check":"pnpm protocol-registry:check && pnpm protocol:gen && pnpm protocol:check:swift && pnpm protocol:gen:kotlin && node --import ./scripts/tsx.mjs scripts/check-protocol-since.mts && git diff --exit-code -- apps/shared/OpenClawKit/Sources/OpenClawProtocol/GatewayModels.swift apps/android/app/src/main/java/ai/openclaw/app/gateway/GatewayProtocol.kt apps/android/app/src/main/java/ai/openclaw/app/protocol/OpenClawProtocolConstants.kt","protocol:check:kotlin":"pnpm protocol:gen:kotlin && git diff --exit-code -- apps/android/app/src/main/java/ai/openclaw/app/gateway/GatewayProtocol.kt apps/android/app/src/main/java/ai/openclaw/app/protocol/OpenClawProtocolConstants.kt","protocol:check:swift":"node --import ./scripts/tsx.mjs scripts/protocol-gen-swift.ts --check","protocol:gen":"node --import ./scripts/tsx.mjs scripts/protocol-gen.ts","protocol:gen:kotlin":"node --import ./scripts/tsx.mjs scripts/protocol-gen-kotlin.ts","protocol:gen:swift":"node --import ./scripts/tsx.mjs scripts/protocol-gen-swift.ts","protocol-registry:check":"node --import ./scripts/tsx.mjs scripts/check-protocol-registry.mts","proxy:coverage":"node scripts/run-node.mjs proxy coverage","proxy:gateway":"node scripts/run-node.mjs proxy run -- node scripts/run-node.mjs gateway","proxy:install-ca":"node --import ./scripts/tsx.mjs scripts/proxy-install-ca.mts","proxy:run":"node scripts/run-node.mjs proxy run","proxy:start":"node scripts/run-node.mjs proxy start","qa:e2e":"node --import ./scripts/tsx.mjs scripts/qa-e2e.ts","qa:lab:build":"vite build --config extensions/qa-lab/web/vite.config.ts","qa:lab:ui":"pnpm openclaw qa ui","qa:lab:up":"node --import ./scripts/tsx.mjs scripts/qa-lab-up.ts","qa:lab:up:fast":"node --import ./scripts/tsx.mjs scripts/qa-lab-up.ts --use-prebuilt-image --bind-ui-dist --skip-ui-build","qa:lab:watch":"vite build --watch --config extensions/qa-lab/web/vite.config.ts","qa:observability:collector-smoke":"pnpm qa:otel:collector-smoke && pnpm qa:prometheus:smoke","qa:observability:smoke":"pnpm qa:otel:smoke && pnpm qa:prometheus:smoke","qa:otel:collector-smoke":"node --import ./scripts/tsx.mjs test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts --collector docker","qa:otel:smoke":"node --import ./scripts/tsx.mjs test/e2e/qa-lab/runtime/qa-otel-smoke-runtime.ts","qa:code-mode-models":"node --import ./scripts/tsx.mjs scripts/code-mode-model-matrix.ts","qa:prometheus:smoke":"node scripts/run-node.mjs qa suite --provider-mode mock-openai --scenario docker-prometheus-smoke --concurrency 1 --fast","release-metadata:check":"node --import ./scripts/tsx.mjs scripts/check-release-metadata-only.mts","release:beta":"node --import ./scripts/tsx.mjs scripts/release-candidate-checklist.mts","release:beta-smoke":"node --import ./scripts/tsx.mjs scripts/release-beta-smoke.ts","release:candidate":"node --import ./scripts/tsx.mjs scripts/release-candidate-checklist.mts","release:check":"pnpm build:package && pnpm release:generated:check && node --import ./scripts/tsx.mjs scripts/release-check.ts","release:fast-pretag-check":"bash scripts/release-fast-pretag-check.sh","release:generated:check":"node scripts/release-preflight.mjs --check","release:openclaw:npm:check":"node --import ./scripts/tsx.mjs scripts/openclaw-npm-release-check.ts","release:openclaw:npm:verify-published":"node --import ./scripts/tsx.mjs scripts/openclaw-npm-postpublish-verify.ts","release:prepare":"node --import ./scripts/tsx.mjs scripts/release-prepare.ts","release:plugins:clawhub:check":"node --import ./scripts/tsx.mjs scripts/plugin-clawhub-release-check.ts","release:plugins:clawhub:plan":"node --import ./scripts/tsx.mjs scripts/plugin-clawhub-release-plan.ts","release:plugins:npm:check":"node --import ./scripts/tsx.mjs scripts/plugin-npm-release-check.ts","release:plugins:npm:plan":"node --import ./scripts/tsx.mjs scripts/plugin-npm-release-plan.ts","release:verify-beta":"node --import ./scripts/tsx.mjs scripts/release-verify-beta.ts","release:prep":"node scripts/release-preflight.mjs --fix","release:prep:version":"node scripts/release-preflight.mjs --fix --scope version","release:version":"node --import ./scripts/tsx.mjs scripts/release-version.ts","runtime-sidecars:check":"node --import ./scripts/tsx.mjs scripts/generate-runtime-sidecar-paths-baseline.ts --check","runtime-sidecars:gen":"node --import ./scripts/tsx.mjs scripts/generate-runtime-sidecar-paths-baseline.ts --write","sqlite:sessions-schema:check":"node --import ./scripts/tsx.mjs scripts/generate-sqlite-session-schema-baseline.ts --check","sqlite:sessions-schema:gen":"node --import ./scripts/tsx.mjs scripts/generate-sqlite-session-schema-baseline.ts --write","start":"node openclaw.mjs","test":"node --import ./scripts/tsx.mjs scripts/test-projects.mts","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:auth:compat":"node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/server.auth.compat-baseline.test.ts src/gateway/client.test.ts src/gateway/reconnect-gating.test.ts && node scripts/run-vitest.mjs run packages/gateway-protocol/src/connect-error-details.test.ts","test:build:singleton":"node --import ./scripts/tsx.mjs scripts/test-built-plugin-singleton.mts","test:build:status-message-runtime":"node --import ./scripts/tsx.mjs scripts/test-built-status-message-runtime.mts","test:bundled":"node scripts/run-vitest.mjs run --config test/vitest/vitest.bundled.config.ts","test:changed":"node --import ./scripts/tsx.mjs scripts/test-projects.mts --changed origin/main","test:changed:max":"node --import ./scripts/tsx.mjs scripts/test-projects-max.mts --changed origin/main","test:channels":"node scripts/run-vitest.mjs run --config test/vitest/vitest.channels.config.ts","test:contracts":"pnpm test:contracts:channels && pnpm test:contracts:plugins","test:contracts:channels":"node --import ./scripts/tsx.mjs scripts/test-projects.mts --maxWorkers=1 test/vitest/vitest.contracts-channel-surface.config.ts test/vitest/vitest.contracts-channel-config.config.ts test/vitest/vitest.contracts-channel-registry.config.ts test/vitest/vitest.contracts-channel-session.config.ts","test:contracts:plugins":"node scripts/run-vitest.mjs run --config test/vitest/vitest.contracts-plugin.config.ts --maxWorkers=1","test:coverage":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage","test:coverage:changed":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage --changed origin/main","test:docker:agent-bundle-mcp-tools":"bash scripts/e2e/agent-bundle-mcp-tools-docker.sh","test:docker:agents-delete-shared-workspace":"bash scripts/e2e/agents-delete-shared-workspace-docker.sh","test:docker:all":"node scripts/test-docker-all.mjs","test:docker:browser-cdp-snapshot":"bash scripts/e2e/browser-cdp-snapshot-docker.sh","test:docker:sandbox-browser-sidecar":"bash scripts/e2e/sandbox-browser-sidecar-docker.sh","test:docker:bundled-plugin-install-uninstall":"bash scripts/e2e/bundled-plugin-install-uninstall-docker.sh","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:config-reload":"bash scripts/e2e/config-reload-source-docker.sh","test:docker:system-agent-first-run":"bash scripts/e2e/system-agent-first-run-docker.sh","test:docker:system-agent-rescue":"bash scripts/e2e/system-agent-rescue-docker.sh","test:docker:cron-cli":"bash scripts/e2e/cron-cli-docker.sh","test:docker:cron-mcp-cleanup":"bash scripts/e2e/cron-mcp-cleanup-docker.sh","test:docker:codex-media-path":"bash scripts/e2e/codex-media-path-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:docker:compose-setup":"bash scripts/e2e/compose-setup.sh","test:docker:e2e-build":"bash scripts/e2e/build-image.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","test:docker:kitchen-sink-plugin":"bash scripts/e2e/kitchen-sink-plugin-docker.sh","test:docker:kitchen-sink-rpc":"bash scripts/e2e/kitchen-sink-rpc-docker.sh","test:docker:live-acp-bind":"bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:claude":"OPENCLAW_LIVE_ACP_BIND_AGENT=claude bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:codex":"OPENCLAW_LIVE_ACP_BIND_AGENT=codex bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:droid":"OPENCLAW_LIVE_ACP_BIND_AGENT=droid OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:gemini":"OPENCLAW_LIVE_ACP_BIND_AGENT=gemini bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:opencode":"OPENCLAW_LIVE_ACP_BIND_AGENT=opencode OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh","test:docker:live-build":"bash scripts/test-live-build-docker.sh","test:docker:live-cli-backend":"bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:claude":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:claude:cache":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_AUTH=api-key OPENCLAW_LIVE_CLI_BACKEND_CACHE_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:claude-subscription":"OPENCLAW_LIVE_CLI_BACKEND_AUTH=subscription OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_DISABLE_MCP_CONFIG=1 OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=0 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:claude:mcp":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:claude:resume":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini:mcp":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini:resume":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-codex-bind":"OPENCLAW_LIVE_CODEX_BIND=1 OPENCLAW_LIVE_CODEX_TEST_FILES=src/gateway/gateway-codex-bind.live.test.ts bash scripts/test-live-codex-harness-docker.sh","test:docker:live-codex-harness":"bash scripts/test-live-codex-harness-docker.sh","test:docker:live-codex-media-path":"OPENCLAW_LIVE_CODEX_HARNESS_AUTH=api-key OPENCLAW_LIVE_CODEX_HARNESS_CHAT_IMAGE_PROBE=1 OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0 bash scripts/test-live-codex-harness-docker.sh","test:docker:live-codex-npm-plugin":"bash scripts/e2e/codex-npm-plugin-live-docker.sh","test:docker:live-plugin-tool":"bash scripts/e2e/live-plugin-tool-docker.sh","test:docker:live-subagent-announce":"bash scripts/test-live-subagent-announce-docker.sh","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:live-gateway:claude":"OPENCLAW_LIVE_GATEWAY_PROVIDERS=claude-cli OPENCLAW_LIVE_GATEWAY_MODELS=claude-cli/claude-sonnet-4-6 bash scripts/test-live-gateway-models-docker.sh","test:docker:live-gateway:gemini":"OPENCLAW_LIVE_GATEWAY_PROVIDERS=google-gemini-cli OPENCLAW_LIVE_GATEWAY_MODELS=google-gemini-cli/gemini-3.1-pro-preview bash scripts/test-live-gateway-models-docker.sh","test:docker:live-mcp-code-mode-gateway":"bash scripts/e2e/mcp-code-mode-gateway-live-docker.sh","test:docker:live-models":"bash scripts/test-live-models-docker.sh","test:docker:live-models:claude":"OPENCLAW_LIVE_PROVIDERS=claude-cli OPENCLAW_LIVE_MODELS=claude-cli/claude-sonnet-4-6 bash scripts/test-live-models-docker.sh","test:docker:live-models:gemini":"OPENCLAW_LIVE_PROVIDERS=google-gemini-cli OPENCLAW_LIVE_MODELS=google-gemini-cli/gemini-3.1-pro-preview bash scripts/test-live-models-docker.sh","test:docker:live:all":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_DOCKER_ALL_LIVE_MODE=only -- node scripts/test-docker-all.mjs","test:docker:local:all":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_DOCKER_ALL_LIVE_MODE=skip -- node scripts/test-docker-all.mjs","test:docker:cli-installer-distribution":"bash scripts/e2e/cli-installer-distribution-docker.sh","test:docker:mcp-channels":"bash scripts/e2e/mcp-channels-docker.sh","test:docker:mcp-code-mode-gateway":"bash scripts/e2e/mcp-code-mode-gateway-docker.sh","test:docker:multi-node-update":"bash scripts/e2e/multi-node-update-docker.sh","test:docker:codex-on-demand":"bash scripts/e2e/codex-on-demand-docker.sh","test:docker:npm-onboard-channel-agent":"bash scripts/e2e/npm-onboard-channel-agent-docker.sh","test:docker:npm-onboard-discord-channel-agent":"OPENCLAW_NPM_ONBOARD_CHANNEL=discord bash scripts/e2e/npm-onboard-channel-agent-docker.sh","test:docker:npm-onboard-slack-channel-agent":"OPENCLAW_NPM_ONBOARD_CHANNEL=slack bash scripts/e2e/npm-onboard-channel-agent-docker.sh","test:docker:npm-telegram-live":"bash scripts/e2e/npm-telegram-live-docker.sh","test:docker:onboard":"bash scripts/e2e/onboard-docker.sh","test:docker:release-user-journey":"bash scripts/e2e/release-user-journey-docker.sh","test:docker:release-typed-onboarding":"bash scripts/e2e/release-typed-onboarding-docker.sh","test:docker:release-media-memory":"bash scripts/e2e/release-media-memory-docker.sh","test:docker:release-upgrade-user-journey":"bash scripts/e2e/release-upgrade-user-journey-docker.sh","test:docker:release-plugin-marketplace":"bash scripts/e2e/release-plugin-marketplace-docker.sh","test:docker:openai-chat-tools":"bash scripts/e2e/openai-chat-tools-docker.sh","test:docker:openai-image-auth":"bash scripts/e2e/openai-image-auth-docker.sh","test:docker:openai-web-search-minimal":"bash scripts/e2e/openai-web-search-minimal-docker.sh","test:docker:openwebui":"bash scripts/e2e/openwebui-docker.sh","test:docker:package-install":"bash scripts/e2e/docker-package-install.sh","test:docker:plugin-binding-command-escape":"bash scripts/e2e/plugin-binding-command-escape-docker.sh","test:docker:plugin-lifecycle-matrix":"bash scripts/e2e/plugin-lifecycle-matrix-docker.sh","test:docker:plugin-update":"bash scripts/e2e/plugin-update-unchanged-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","test:docker:published-upgrade-survivor":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_DOCKER_ALL_LANES=published-upgrade-survivor -- node scripts/test-docker-all.mjs","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:docker:rerun":"node --import ./scripts/tsx.mjs scripts/docker-e2e-rerun.mts","test:docker:root-managed-vps-upgrade":"env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_ROOT_MANAGED_VPS=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@2026.5.7} OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh","test:docker:selected-plugins":"bash scripts/e2e/docker-selected-plugins.sh","test:docker:session-runtime-context":"bash scripts/e2e/session-runtime-context-docker.sh","test:docker:skill-install":"bash scripts/e2e/skill-install-docker.sh","test:docker:timings":"node --import ./scripts/tsx.mjs scripts/docker-e2e-timings.mts","test:docker:update-channel-switch":"bash scripts/e2e/update-channel-switch-docker.sh","test:docker:update-corrupt-plugin":"bash scripts/e2e/update-corrupt-plugin-docker.sh","test:docker:update-migration":"env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@2026.4.23} OPENCLAW_UPGRADE_SURVIVOR_SCENARIO=${OPENCLAW_UPGRADE_SURVIVOR_SCENARIO:-plugin-deps-cleanup} bash scripts/e2e/upgrade-survivor-docker.sh","test:docker:update-restart-auth":"env OPENCLAW_UPGRADE_SURVIVOR_UPDATE_RESTART_MODE=auto-auth OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh","test:docker:update-run-package-self-upgrade":"bash scripts/e2e/update-run-package-self-upgrade-docker.sh","test:docker:upgrade-survivor":"bash scripts/e2e/upgrade-survivor-docker.sh","test:env-mutations:report":"node --import ./scripts/tsx.mjs scripts/test-env-mutation-report.ts","test:skip-inventory:report":"node --import ./scripts/tsx.mjs scripts/test-skip-inventory.ts","test:type-suppression-inventory:report":"node --import ./scripts/tsx.mjs scripts/type-suppression-inventory.ts","test:e2e":"pnpm test:e2e:gateway && pnpm test:e2e:agent-plugin-gateway && pnpm test:ui:e2e","test:e2e:agent-plugin-gateway":"node --import ./scripts/tsx.mjs scripts/agent-plugin-gateway-e2e.ts","test:e2e:browser-extension":"pnpm build && node --import ./scripts/tsx.mjs scripts/run-with-env.mts PLAYWRIGHT_BROWSERS_PATH=.artifacts/playwright-browsers -- node --import ./scripts/tsx.mjs scripts/ensure-playwright-chromium.mts --require-playwright-chromium && node --import ./scripts/tsx.mjs scripts/run-with-env.mts PLAYWRIGHT_BROWSERS_PATH=.artifacts/playwright-browsers OPENCLAW_BROWSER_EXTENSION_E2E=1 OPENCLAW_E2E_WORKERS=1 -- node scripts/run-vitest.mjs extensions/browser/chrome-extension/bootstrap.chromium.test.ts","test:e2e:gateway":"node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts","test:e2e:openshell":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_E2E_OPENSHELL=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.ts extensions/openshell/src/backend.e2e.test.ts","test:e2e:status-corrupt-plugin-deps":"bash scripts/e2e/status-corrupt-plugin-deps.sh","test:extension":"node --import ./scripts/tsx.mjs scripts/test-extension.mts","test:extensions":"node --import ./scripts/tsx.mjs scripts/test-projects.mts extensions","test:extensions:batch":"node --import ./scripts/tsx.mjs scripts/test-extension-batch.mts","test:extensions:memory":"node --import ./scripts/tsx.mjs scripts/profile-extension-memory.mts","test:extensions:package-boundary":"node --import ./scripts/tsx.mjs scripts/check-extension-package-tsc-boundary.mts","test:extensions:package-boundary:canary":"node --import ./scripts/tsx.mjs scripts/check-extension-package-tsc-boundary.mts --mode=canary","test:extensions:package-boundary:compile":"node --import ./scripts/tsx.mjs scripts/check-extension-package-tsc-boundary.mts --mode=compile","test:fast":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts","test:force":"node --import ./scripts/tsx.mjs scripts/test-force.ts","test:gateway":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts","test:gateway:cpu-scenarios":"node --import ./scripts/tsx.mjs scripts/check-gateway-cpu-scenarios.mts","test:gateway:concurrency":"node scripts/bench-gateway-concurrency.ts","test:gateway:memory-fd-repro":"node --import ./scripts/tsx.mjs scripts/check-memory-fd-repro.mts","test:gateway:watch-regression":"node --import ./scripts/tsx.mjs scripts/check-gateway-watch-regression.mts","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:live":"node --import ./scripts/tsx.mjs scripts/test-live.mts","test:live:cache":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 -- node --import ./scripts/tsx.mjs scripts/check-live-cache.ts","test:live:codex-harness":"node --import ./scripts/tsx.mjs scripts/test-live.mts --codex-harness -- src/gateway/gateway-codex-harness.live.test.ts","test:live:system-agent-rescue-channel":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_LIVE_SYSTEM_AGENT_RESCUE_CHANNEL=1 -- node --import ./scripts/tsx.mjs scripts/test-live.mts -- src/system-agent/rescue-channel.live.test.ts","test:live:gateway-profiles":"node --import ./scripts/tsx.mjs scripts/test-live.mts -- src/gateway/gateway-models.profiles.live.test.ts","test:live:media":"node --import ./scripts/tsx.mjs test/e2e/qa-lab/media/hosted-media-provider-live.ts","test:live:media:image":"node --import ./scripts/tsx.mjs test/e2e/qa-lab/media/hosted-media-provider-live.ts image","test:live:media:music":"node --import ./scripts/tsx.mjs test/e2e/qa-lab/media/hosted-media-provider-live.ts music","test:live:media:video":"node --import ./scripts/tsx.mjs test/e2e/qa-lab/media/hosted-media-provider-live.ts video","test:live:models-profiles":"node --import ./scripts/tsx.mjs scripts/test-live.mts -- src/agents/models.profiles.live.test.ts","test:macos:ci":"node --import ./scripts/tsx.mjs scripts/test-projects.mts test/scripts/ci-platform-checkout.test.ts test/scripts/macos-native-test-launch.test.ts src/daemon/launchd.test.ts src/daemon/runtime-paths.test.ts src/daemon/runtime-binary.test.ts src/gateway/worker-environments/workspace-rsync-path.test.ts src/infra/brew.test.ts src/infra/stable-node-path.test.ts src/process/supervisor/adapters/child.service-lifecycle.test.ts test/scripts/vitest-process-group.test.ts test/scripts/package-mac-app.test.ts test/scripts/restart-mac.test.ts test/scripts/mac-node-worker.test.ts test/scripts/verify-mac-node-worker-fs.test.ts test/scripts/package-mac-dist.test.ts test/scripts/create-dmg.test.ts test/scripts/codesign-mac-app.test.ts test/scripts/notarize-mac-artifact.test.ts test/scripts/mac-elevation-host.test.ts","test:max":"node --import ./scripts/tsx.mjs scripts/test-projects-max.mts","test:parallels:linux":"bash scripts/e2e/parallels-linux-smoke.sh","test:parallels:macos":"bash scripts/e2e/parallels-macos-smoke.sh","test:parallels:npm-update":"bash scripts/e2e/parallels-npm-update-smoke.sh","test:parallels:windows:prepare":"bash scripts/e2e/parallels-windows-prepare.sh","test:parallels:windows":"bash scripts/e2e/parallels-windows-smoke.sh","test:agents:concurrency":"node --import ./scripts/tsx.mjs scripts/bench-agent-concurrency.ts","test:tasks:sqlite-churn":"node --import ./scripts/tsx.mjs scripts/bench-task-registry-sqlite.ts","test:perf:budget":"node --import ./scripts/tsx.mjs scripts/test-perf-budget.mts","test:perf:changed:bench":"node --import ./scripts/tsx.mjs scripts/bench-test-changed.mts","test:perf:groups":"node --import ./scripts/tsx.mjs scripts/test-group-report.mts","test:perf:groups:compare":"node --import ./scripts/tsx.mjs scripts/test-group-report.mts --compare","test:perf:hotspots":"node --import ./scripts/tsx.mjs scripts/test-hotspots.mts","test:perf:imports":"node --import ./scripts/tsx.mjs scripts/test-projects-imports.mts","test:perf:imports:changed":"node --import ./scripts/tsx.mjs scripts/test-projects-imports.mts --changed origin/main","test:perf:profile:main":"node --import ./scripts/tsx.mjs scripts/run-vitest-profile.mts main","test:perf:profile:runner":"node --import ./scripts/tsx.mjs scripts/run-vitest-profile.mts runner","test:sqlite:perf":"node --import ./scripts/tsx.mjs scripts/bench-sqlite-state.ts --profile default --output .artifacts/sqlite-perf/default.json","test:sqlite:perf:large":"node --import ./scripts/tsx.mjs scripts/bench-sqlite-state.ts --profile large --output .artifacts/sqlite-perf/large.json","test:sqlite:perf:smoke":"node --import ./scripts/tsx.mjs scripts/bench-sqlite-state.ts --profile smoke --output .artifacts/sqlite-perf/smoke.json","test:plugins:gateway-gauntlet":"node --import ./scripts/tsx.mjs scripts/check-plugin-gateway-gauntlet.mts","test:plugins:init-provider-scaffold":"node --import ./scripts/tsx.mjs scripts/validate-plugin-init-provider-scaffold.ts","test:plugins:kitchen-sink-live":"bash -lc 'if [ -x \"$HOME/.local/bin/openclaw-testbox-env\" ]; then exec \"$HOME/.local/bin/openclaw-testbox-env\" pnpm openclaw qa suite --provider-mode live-frontier --scenario kitchen-sink-live-openai; fi; exec pnpm openclaw qa suite --provider-mode live-frontier --scenario kitchen-sink-live-openai'","test:plugins:kitchen-sink-rpc":"node --import ./scripts/tsx.mjs scripts/e2e/kitchen-sink-rpc-walk.mts","test:sectriage":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts && node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --exclude src/process/exec.test.ts","test:serial":"node --import ./scripts/tsx.mjs scripts/test-projects-serial.mts","test:stability:gateway":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/gateway-stability.test.ts && node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.logging.config.ts src/logging/diagnostic-stability-bundle.test.ts && node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.infra.config.ts src/infra/fatal-error-hooks.test.ts","test:cli-response:contract":"node --import ./scripts/tsx.mjs scripts/build-all.mts cliStartup && node --import ./scripts/tsx.mjs scripts/test-cli-startup-bench-budget.mts --preset response --runs 1 --warmup 0 --timeout-ms 10000 --skip-baseline","test:startup:bench":"node --import ./scripts/tsx.mjs scripts/bench-cli-startup.ts","test:startup:bench:check":"node --import ./scripts/tsx.mjs scripts/test-cli-startup-bench-budget.mts","test:startup:bench:save":"node --import ./scripts/tsx.mjs scripts/bench-cli-startup.ts --preset all --runs 5 --warmup 1 --output .artifacts/cli-startup-bench-all.json","test:startup:bench:smoke":"node --import ./scripts/tsx.mjs scripts/ensure-cli-startup-build.mts && node --import ./scripts/tsx.mjs scripts/bench-cli-startup.ts --preset real --case gatewayStatusJson --runs 1 --warmup 0 --output .artifacts/cli-startup-bench-smoke.json","test:startup:bench:update":"node --import ./scripts/tsx.mjs scripts/test-update-cli-startup-bench.mts","test:startup:gateway":"node --import ./scripts/tsx.mjs scripts/bench-gateway-startup.ts","test:restart:gateway":"node --import ./scripts/tsx.mjs scripts/bench-gateway-restart.ts","test:sessions:hydration-memory":"node --import ./scripts/tsx.mjs scripts/bench-session-manager-hydration-memory.ts","test:startup:memory":"node --import ./scripts/tsx.mjs scripts/ensure-cli-startup-build.mts && node scripts/check-cli-startup-memory.mjs","test:ui":"pnpm lint:ui:no-raw-window-open && node --import ./scripts/tsx.mjs scripts/ensure-playwright-chromium.mts && pnpm --dir ui test","test:ui:e2e":"node --import ./scripts/tsx.mjs scripts/ensure-playwright-chromium.mts && node scripts/run-vitest.mjs run --config test/vitest/vitest.ui-e2e.config.ts --configLoader runner","test:unit":"pnpm test:unit:fast && node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts","test:unit:fast":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit-fast.config.ts","test:unit:fast:audit":"node --import ./scripts/tsx.mjs scripts/test-unit-fast-audit.mts","test:voicecall:closedloop":"node --import ./scripts/tsx.mjs scripts/test-voicecall-closedloop.mts","test:watch":"node --import ./scripts/tsx.mjs scripts/test-projects.mts --watch","test:windows:ci":"pnpm test:windows:ci:1 && pnpm test:windows:ci:2","test:windows:ci:1":"node --import ./scripts/tsx.mjs scripts/test-projects.mts test/scripts/ci-platform-checkout.test.ts src/state/openclaw-state-ownership.test.ts src/snapshot/local-repository.windows.test.ts src/state/openclaw-database-paths.windows.test.ts src/node-host/invoke-system-run-allowlist.test.ts src/node-host/node-worker-transfer-client.test.ts packages/terminal-core/src/display-string.test.ts src/config/sessions/session-accessor.sqlite-archive.worker.test.ts src/commands/doctor-gateway-auth-token.windows.test.ts src/infra/state-migrations.audit-logs.windows.test.ts src/commands/backup-verify.test.ts src/commands/agents.commands.list.test.ts src/shared/runtime-import.test.ts src/shared/worker-bundle-archive.test.ts src/node-host/node-worker-bundle-installer.test.ts test/scripts/direct-run-entrypoints.test.ts test/scripts/format-generated-module.test.ts test/scripts/install-ps1.test.ts test/scripts/openclaw-cross-os-installer.windows.test.ts test/scripts/openclaw-cross-os-release-workflow.test.ts test/scripts/pnpm-runner.test.ts test/scripts/run-with-env.test.ts test/scripts/ui.test.ts test/scripts/vitest-process-group.test.ts src/agents/tools/media-tool-file-url.windows.test.ts extensions/memory-core/src/memory-extra-file-path.windows.test.ts src/daemon/schtasks.startup-fallback.test.ts src/plugin-sdk/node-host.test.ts test/e2e/qa-lab/runtime/package-openclaw-for-docker.e2e.test.ts extensions/lobster/src/lobster-runner.test.ts src/gateway/worker-environments/workspace-quiescence.windows.test.ts","test:windows:ci:2":"node --import ./scripts/tsx.mjs scripts/test-projects.mts src/infra/sqlite-snapshot.test.ts src/infra/ports.test.ts src/infra/advertised-lan-host.windows.test.ts src/infra/update-managed-service-handoff-command.test.ts src/infra/update-managed-service-handoff-lifecycle.test.ts src/infra/executable-path.test.ts src/infra/fs-safe-remove.test.ts src/infra/state-migrations.legacy-session-store.test.ts src/infra/windows-install-roots.test.ts src/infra/ssh-client.windows.test.ts src/infra/exec-allowlist-pattern.test.ts src/infra/process-env.test.ts src/infra/openclaw-cli-shim.windows.test.ts src/agents/sessions/windows-git-bash-path.test.ts test/scripts/npm-runner.test.ts test/scripts/ts-topology.test.ts src/test-utils/openclaw-test-state.test.ts src/utils.test.ts src/media/local-media-path.windows.test.ts src/media/web-media.file-url.windows.test.ts src/process/exec.windows.test.ts src/process/exec.windows.integration.test.ts src/agents/sessions/exec.real.test.ts src/process/windows-command.test.ts src/process/terminal-pty.test.ts src/process/supervisor/supervisor.anchored-shell.real.test.ts src/tui/tui.resolve-codex-bin.test.ts src/media-understanding/attachments.file-url.windows.test.ts src/cli/daemon-cli/status.print.test.ts src/cli/mcp-cli.path-case.windows.test.ts src/auto-reply/usage-bar/template.windows.test.ts src/auto-reply/reply.triggers.trigger-handling.stages-inbound-media-into-sandbox-workspace.test.ts src/agents/provider-local-service.env-case.test.ts src/agents/bash-tools.exec.script-preflight.test.ts src/agents/agent-tools.read.windows.test.ts src/agents/agent-tools.read.host-operations.test.ts src/agents/sandbox/fs-paths.test.ts src/agents/sessions/tools/render-utils.test.ts src/agents/sessions/tools/path-utils.test.ts extensions/msteams/src/media-helpers.test.ts extensions/msteams/src/messenger.test.ts extensions/mxc/test/mxc-backend.test.ts extensions/mxc/test/sandbox-policy-loader.test.ts","test:windows:schtasks:integration":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts CI_WINDOWS_SCHTASKS_INTEGRATION=1 OPENCLAW_E2E_SKIP_BUILD=1 OPENCLAW_E2E_VERBOSE=1 OPENCLAW_VITEST_MAX_WORKERS=1 -- node scripts/run-vitest.mjs src/daemon/schtasks.integration.e2e.test.ts","tool-display:check":"node --import ./scripts/tsx.mjs scripts/tool-display.ts --check","tool-display:write":"node --import ./scripts/tsx.mjs scripts/tool-display.ts --write","ts-topology":"node --import ./scripts/tsx.mjs scripts/ts-topology.ts","tsgo":"pnpm tsgo:core","tsgo:all":"pnpm tsgo:core:all && pnpm tsgo:extensions:all && pnpm tsgo:scripts && pnpm tsgo:test:root","tsgo:core":"node scripts/run-tsgo.mjs -p tsconfig.core.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core.tsbuildinfo","tsgo:core:all":"pnpm tsgo:core && pnpm tsgo:ui && pnpm tsgo:core:test","tsgo:core:test":"node scripts/run-tsgo-core-test-shards.mjs","tsgo:extensions":"node scripts/run-tsgo.mjs -p tsconfig.extensions.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions.tsbuildinfo","tsgo:extensions:all":"node scripts/run-tsgo.mjs -b tsconfig.extensions.projects.json","tsgo:extensions:test":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test.tsbuildinfo","tsgo:prod":"pnpm tsgo:core && pnpm tsgo:ui && pnpm tsgo:extensions","tsgo:profile":"node --import ./scripts/tsx.mjs scripts/profile-tsgo.mts","tsgo:scripts":"node scripts/run-tsgo.mjs -p tsconfig.scripts.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/scripts.tsbuildinfo","tsgo:test":"pnpm tsgo:core:test && pnpm tsgo:extensions:test && pnpm tsgo:test:root","tsgo:test:extensions":"pnpm tsgo:extensions:test","tsgo:test:packages":"node scripts/run-tsgo-core-test-shards.mjs packages","tsgo:test:root":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.root.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-root.tsbuildinfo","tsgo:test:src":"node scripts/run-tsgo-core-test-shards.mjs src","tsgo:test:ui":"node scripts/run-tsgo-core-test-shards.mjs ui","tsgo:ui":"node scripts/run-tsgo.mjs -p tsconfig.ui.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/ui.tsbuildinfo","tui":"node scripts/run-node.mjs tui","tui:dev":"node --import ./scripts/tsx.mjs scripts/run-with-env.mts OPENCLAW_PROFILE=dev -- node scripts/run-node.mjs --dev tui","tui:pty:test:watch":"node --import ./scripts/tsx.mjs scripts/dev/tui-pty-test-watch.ts","tui:pty:test:watch:all":"node --import ./scripts/tsx.mjs scripts/dev/tui-pty-test-watch.ts --mode all","tui:pty:test:watch:fake":"node --import ./scripts/tsx.mjs scripts/dev/tui-pty-test-watch.ts --mode fake","tui:pty:test:watch:local":"node --import ./scripts/tsx.mjs scripts/dev/tui-pty-test-watch.ts --mode local","ui:boot-manifest:gen":"node --import ./scripts/tsx.mjs scripts/control-ui-boot-manifest.mts","ui:build":"node scripts/ui.js build","ui:dev":"node scripts/ui.js dev","ui:i18n:baseline":"node --import ./scripts/tsx.mjs scripts/control-ui-i18n-verify.ts baseline","ui:i18n:check":"node --import ./scripts/tsx.mjs scripts/control-ui-i18n.ts check","ui:i18n:report":"node --import ./scripts/tsx.mjs scripts/control-ui-i18n-report.ts","ui:i18n:sync":"node --import ./scripts/tsx.mjs scripts/control-ui-i18n.ts sync --write","ui:i18n:verify":"node --import ./scripts/tsx.mjs scripts/control-ui-i18n-verify.ts verify","ui:proof:composer-mic-hover":"node --import ./scripts/tsx.mjs scripts/capture-composer-mic-hover-proof.mts","ui:proof:injected-turn-notice":"node --import ./scripts/tsx.mjs scripts/capture-injected-turn-notice-proof.mts","ui:proof:model-picker":"node --import ./scripts/tsx.mjs scripts/capture-model-picker-proof.mts","ui:proof:session-toolbar":"node --import ./scripts/tsx.mjs scripts/capture-session-toolbar-proof.mts","ui:proof:where-chip":"node --import ./scripts/tsx.mjs scripts/capture-where-chip-auto-proof.mts","ui:proof:workboard":"node --import ./scripts/tsx.mjs scripts/capture-workboard-ui-proof.mts","native:i18n:baseline":"node --import ./scripts/tsx.mjs scripts/native-app-i18n.ts baseline --write","native:i18n:check":"node --import ./scripts/tsx.mjs scripts/native-app-i18n.ts check","native:i18n:sync":"node --import ./scripts/tsx.mjs scripts/native-app-i18n.ts sync --write","native:i18n:verify":"node --import ./scripts/tsx.mjs scripts/native-app-i18n.ts verify","android:i18n:check":"node --import ./scripts/tsx.mjs scripts/android-app-i18n.ts check","apple:i18n:check":"node --import ./scripts/tsx.mjs scripts/apple-app-i18n.ts check","ui:install":"node scripts/ui.js install","verify":"node --import ./scripts/tsx.mjs scripts/verify.mts"},"dependencies":{"@agentclientprotocol/sdk":"1.4.0","@anthropic-ai/claude-agent-sdk":"0.3.239","@anthropic-ai/sdk":"0.120.0","@clack/core":"1.4.3","@clack/prompts":"1.7.0","@earendil-works/pi-tui":"0.84.2","@google/genai":"2.18.0","@grammyjs/runner":"2.0.3","@grammyjs/transformer-throttler":"1.2.1","@homebridge/ciao":"1.3.12","@lydell/node-pty":"1.2.0-beta.15","@mistralai/mistralai":"2.6.4","@modelcontextprotocol/sdk":"1.30.0","@mozilla/readability":"0.6.0","@openclaw/ai":"2026.8.1","@openclaw/fs-safe":"0.5.6","@openclaw/proxyline":"0.3.7","@silvia-odwyer/photon-node":"0.3.4","@trycua/cua-driver":"0.21.0","acorn":"8.18.0","chalk":"6.0.0","chokidar":"5.0.0","clawpdf":"0.3.1","commander":"15.0.0","croner":"10.0.1","diff":"9.0.0","dotenv":"17.4.2","entities":"8.0.0","execa":"10.0.1","express":"5.2.1","file-type":"22.0.2","grammy":"1.45.1","highlight.js":"11.12.0","hosted-git-info":"10.1.1","iconv-lite":"0.7.3","ignore":"7.0.6","jiti":"2.7.0","json5":"2.2.3","jszip":"3.10.1","koffi":"3.1.6","kysely":"0.29.5","linkedom":"0.18.13","minimatch":"10.2.6","ms":"2.1.3","node-edge-tts":"1.2.10","openai":"7.5.0","p-limit":"7.3.1","p-map":"7.0.6","partial-json":"0.1.7","playwright-core":"1.62.1","pretty-ms":"9.3.0","qrcode":"1.5.4","quickjs-wasi":"3.5.0","rastermill":"0.3.2","semver":"7.8.5","tar":"7.5.22","tree-sitter-bash":"0.25.1","tslog":"4.11.0","typebox":"1.3.16","typescript":"6.0.3","undici":"8.10.0","web-push":"3.6.7","web-tree-sitter":"0.26.12","ws":"8.21.3","yaml":"2.9.0","zod":"4.4.3"},"devDependencies":{"@a2ui/lit":"0.10.3","@a2ui/web_core":"0.10.6","@copilotkit/aimock":"1.39.0","@lit-labs/signals":"0.3.0","@lit/context":"1.1.6","@lit/task":"1.0.3","@mdx-js/mdx":"3.1.1","@opentelemetry/sdk-node":"0.221.0","@shikijs/core":"4.4.3","@shikijs/engine-javascript":"4.4.3","@shikijs/engine-oniguruma":"4.4.3","@types/express":"5.0.6","@types/hosted-git-info":"3.0.5","@types/jsdom":"30.0.0","@types/markdown-it":"14.2.0","@types/mdast":"4.0.4","@types/ms":"2.1.0","@types/node":"26.2.0","@types/semver":"7.8.0","@types/web-push":"3.6.4","@types/ws":"8.18.1","@typescript/native-preview":"7.0.0-dev.20260707.2","@vitest/coverage-v8":"4.1.11","esbuild":"0.28.2","ipaddr.js":"2.5.0","jscpd":"5.0.16","jsdom":"29.1.1","lit":"3.3.3","lit-analyzer":"2.0.3","markdown-it":"15.0.0","marked":"18.0.10","oxfmt":"0.60.0","oxlint":"1.79.0","oxlint-tsgolint":"7.0.2001","playwright":"1.62.1","postcss":"8.5.26","postcss-lit":"1.4.1","shiki":"4.4.3","signal-utils":"0.21.1","sigstore":"5.0.0","string-width":"8.2.2","stylelint":"17.14.1","stylelint-config-recommended":"18.0.0","tsdown":"0.22.14","tsx":"4.23.12","unrun":"0.3.1","vite":"8.2.2","vitest":"4.1.11"},"optionalDependencies":{"sqlite-vec":"0.1.9"},"engines":{"node":">=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0"},"packageManager":"pnpm@12.1.0+sha512.d9b8276d97f6ec86e49815877f91ee9f63cee61f2063b304e43b6dab8fa07ce8a9afd46d2facd39f921e6a9d06b3c75a81349c7b888c2d22886bae0229901037","types":"./dist/index.d.ts","_id":"soulclaw@2026.8.1","_integrity":"sha512-euq5rmanznS5M5v65b8/MECn3OIoJmFKUvkslmyRIAptuL3M6tBIhgSEkkh52Gcl5c3+CARFTwXBcGgBGnXFLA==","_resolved":"/Volumes/external/projects/soulclaw/soulclaw-2026.8.1.fixed.tgz","_from":"file:soulclaw-2026.8.1.fixed.tgz","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-euq5rmanznS5M5v65b8/MECn3OIoJmFKUvkslmyRIAptuL3M6tBIhgSEkkh52Gcl5c3+CARFTwXBcGgBGnXFLA==","shasum":"e0295e9bd818ef1634646d58d1648b4a3358acf4","tarball":"https://registry.npmjs.org/soulclaw/-/soulclaw-2026.8.1.tgz","fileCount":11402,"unpackedSize":204931951,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAvC/jANvk2Wbc8lon/nFpmr1/ln4qbtjyHFGfbbMj7VAiEA72YFwkvn99miNIT2Y8p2UCBLzacJzDMEynAEx5Xd+Ek="}]},"_npmUser":{"name":"tomleelive","email":"tom.jaejoon@gmail.com"},"maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/soulclaw_2026.8.1_1788351818798_0.20148064414464706"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-07T04:51:35.171Z","modified":"2026-09-02T12:23:40.246Z","0.0.1":"2026-03-07T04:51:35.338Z","2026.3.3":"2026-03-07T05:03:23.181Z","2026.3.4":"2026-03-07T05:46:05.487Z","2026.3.5":"2026-03-07T05:55:59.079Z","2026.3.6":"2026-03-07T06:58:15.153Z","2026.3.7":"2026-03-10T06:20:35.271Z","2026.3.8":"2026-03-10T06:24:00.223Z","2026.3.9":"2026-03-10T06:40:25.872Z","2026.3.10":"2026-03-10T07:38:31.370Z","2026.3.11":"2026-03-10T07:40:49.956Z","2026.3.12":"2026-03-10T09:03:50.013Z","2026.3.13":"2026-03-10T09:22:06.525Z","2026.3.14":"2026-03-10T09:31:26.097Z","2026.3.15":"2026-03-10T09:33:02.838Z","2026.3.16":"2026-03-10T09:57:42.554Z","2026.3.17":"2026-03-10T12:43:10.269Z","2026.3.18":"2026-03-17T15:20:03.241Z","2026.3.19":"2026-03-17T16:14:03.106Z","2026.3.20":"2026-03-17T23:41:12.041Z","2026.3.21":"2026-03-18T11:17:29.680Z","2026.3.22":"2026-03-18T13:21:34.982Z","2026.3.23":"2026-03-20T04:08:08.671Z","2026.3.24":"2026-03-20T10:01:32.453Z","2026.3.25":"2026-03-20T14:19:33.178Z","2026.3.26":"2026-03-20T14:28:36.680Z","2026.3.27":"2026-03-20T14:34:24.337Z","2026.3.28":"2026-03-20T15:35:12.018Z","2026.3.29":"2026-03-20T22:45:24.432Z","2026.3.30":"2026-03-22T08:19:50.263Z","2026.3.31":"2026-03-22T08:27:49.546Z","2026.3.32":"2026-03-22T08:41:48.468Z","2026.3.33":"2026-03-23T11:58:52.829Z","2026.3.35":"2026-03-25T12:50:47.306Z","2026.3.36":"2026-03-27T12:01:28.472Z","2026.3.37":"2026-03-27T12:02:18.812Z","2026.7.1":"2026-07-23T14:53:51.754Z","2026.7.2":"2026-07-24T00:17:48.966Z","2026.7.3":"2026-08-12T13:59:14.262Z","2026.7.4":"2026-08-12T14:10:47.630Z","2026.8.1":"2026-09-02T12:23:40.039Z"},"bugs":{"url":"https://github.com/clawsouls/soulclaw/issues"},"license":"MIT","homepage":"https://github.com/clawsouls/soulclaw#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/clawsouls/soulclaw.git"},"description":"Soul-aware OpenClaw fork — enhanced memory search and contained runtime","maintainers":[{"name":"tomleelive","email":"tom.jaejoon@gmail.com"}],"readme":"# SoulClaw\n\n> Soul-aware OpenClaw fork — enhanced memory, persona, and security for AI agents.\n>\n> Forked from [OpenClaw](https://github.com/openclaw/openclaw) (MIT License). Current base: upstream `v2026.8.1` (tag `upstream-v2026.8.1`); the fork started at `v2026.3.1`.\n\nSoulClaw is a fork of [OpenClaw](https://github.com/openclaw/openclaw) optimized for the [ClawSouls](https://clawsouls.ai) ecosystem. It adds a **3-Tier long-term memory system**, semantic memory search, persona drift detection, inline security scanning, and native swarm memory synchronization — all running locally.\n\n## What's new in 2026.8.1\n\n- **Rebuilt on OpenClaw 2.0 (`v2026.8.1`)** — the SoulClaw layer was re-applied on top of the upstream release instead of being merged forward from 2026.7.x, which had fallen ~21k commits behind. You get every 2.0 change: simplified install, SQLite-backed sessions, browser/computer control, shared sessions, the new security model.\n- **Upstream memory, used as-is** — OpenClaw 2.0 ships its own built-in memory (plain files + one SQLite index, trust tiers, Active Memory recall, the `memory-wiki` plugin). SoulClaw no longer bundles the 2026.7.x memory engine; it will return as a plugin on top of upstream memory in a follow-up release. The tiered bootstrap loading rules below are unchanged.\n- **Carried forward**: persona loading (Soul Spec), inline SoulScan, Soul Rollback, native Swarm Memory sync, `/topic` snapshots, the bundled session hooks and `soulclaw host`.\n- **Fixed**: the `session-start-index` hook had been failing silently since 2026.7.x (it imported a path that did not exist in the built bundle); it is wired to the 2.0 memory runtime again.\n- **Sessions moved to SQLite** (upstream change) — back up `~/.openclaw` before upgrading from 2026.7.x; sessions created after the migration are not visible to older releases.\n- **Node requirement** — Node.js `>=22.22.3 <23`, `>=24.15.0 <25`, or `>=25.9.0` (see [Requirements](#requirements)).\n\n## 🧠 Soul Memory — transition note for 2026.8.1\n\nOpenClaw 2.0 introduced a built-in memory system that covers most of what SoulClaw's\n2026.7.x 4-tier engine did: plain files plus one SQLite index, trust-tiered writes,\nper-turn recall with an escalating deep-recall lane (Active Memory), and a compiled\nknowledge vault (`memory-wiki`). Rather than run two memory engines side by side,\nthis release uses upstream memory unchanged and retires the bundled 7.x engine.\n\nWhat stays SoulClaw-specific — and is unchanged in this release:\n\n- **Tiered bootstrap loading** (next section): which files load always, on first\n  response, on demand, and in the background.\n- **Swarm Memory**: git-native sync of memory between separate SoulClaw instances.\n- **Persona ↔ memory boundary**: memory is not part of the Soul Spec; the persona\n  files stay portable on their own.\n\nThe SoulClaw memory layer returns as a plugin on top of upstream memory in a\nfollow-up release. Until then, `memory_search` and the upstream CLI (`openclaw memory`)\nare the tools to use.\n\n## ⚡ Tiered Bootstrap Loading\n\n**Save 40-60% tokens on every conversation.**\n\nOpenClaw loads ALL workspace files into every system prompt. SoulClaw introduces **progressive disclosure**:\n\n| Tier                    | Files                           | When                                          |\n| ----------------------- | ------------------------------- | --------------------------------------------- |\n| **Tier 1** (Always)     | SOUL.md, IDENTITY.md, AGENTS.md | Every turn — core identity                    |\n| **Tier 2** (First turn) | TOOLS.md, USER.md, BOOTSTRAP.md | New session only — session context            |\n| **Tier 3** (On demand)  | MEMORY.md, memory/\\*.md         | **Never injected** — use `memory_search` tool |\n\n```\n# Typical savings (236 memory files):\n# OpenClaw:  ~12,000 tokens/turn (all files loaded)\n# SoulClaw:  ~4,500 tokens/turn (Tier 1 only on continuation)\n# Savings:   ~62% fewer tokens per turn\n```\n\nDisable with `SOULCLAW_TIERED_BOOTSTRAP=0` if you want upstream behavior.\n\n## Features\n\n### 🔍 Semantic Memory Search\n\nVector-based memory retrieval using local Ollama embeddings.\n\n- Ollama `bge-m3` embeddings (1024d, 100+ languages)\n- SQLite + sqlite-vec vector index\n- Incremental updates (only re-embed changed chunks)\n- Auto-fallback to text matching if Ollama unavailable\n- Cross-lingual search (Korean/English/Japanese/etc.)\n\n### 🎭 Persona Engine\n\nSoul Spec-native persona management with drift detection and automatic recovery.\n\n- Soul Spec v0.3 parsing\n- Real-time persona drift scoring\n- Automatic prompt reinforcement on drift\n\n### 🛡️ Inline SoulScan\n\nBuilt-in security scanning — no external CLI dependency.\n\n- 4-stage scanning pipeline (Schema → File → Security → Quality)\n- Auto-scan on soul apply\n- Risk scoring (0-100)\n- Dangerous soul blocking\n\n### 🔄 Native Swarm Memory\n\nAutomatic agent memory synchronization via heartbeat.\n\n- Auto pull/push on heartbeat cycle\n- LLM-based conflict resolution\n- Workspace auto-sync after merge\n\n### 📦 Contained Runtime\n\nFull runtime isolation for embedded environments (VSCode extensions, etc).\n\n- `OPENCLAW_STATE_DIR` respected for all paths including workspace\n- No pollution of user's `~/.openclaw/` directory\n- Drop-in replacement for OpenClaw\n\n## Installation\n\n### npm\n\n```bash\nnpm install -g soulclaw\n```\n\nThis installs SoulClaw `2026.8.1` (rebased onto OpenClaw v2026.8.1). Requires Node.js `>=22.22.3 <23`, `>=24.15.0 <25`, or `>=25.9.0`.\n\n### From source\n\n```bash\ngit clone https://github.com/clawsouls/soulclaw.git\ncd soulclaw\npnpm install\nnode scripts/build-all.mjs\nnode openclaw.mjs --version\n```\n\n## Quick Start\n\n```bash\n# Start gateway\nsoulclaw gateway start\n\n# With contained runtime (for extensions/embedding)\nOPENCLAW_STATE_DIR=/path/to/state soulclaw gateway start\n```\n\n## Security defaults (DM access)\n\nOpenClaw connects to real messaging surfaces. Treat inbound DMs as **untrusted input**.\n\nFull security guide: [Security](https://docs.openclaw.ai/gateway/security).\nBefore remote exposure, use the [Gateway exposure runbook](https://docs.openclaw.ai/gateway/security/exposure-runbook).\n\nDefault behavior on Telegram/WhatsApp/Signal/iMessage/Microsoft Teams/Discord/Google Chat/Slack:\n\n- **DM pairing** (`dmPolicy=\"pairing\"` / `channels.discord.dmPolicy=\"pairing\"` / `channels.slack.dmPolicy=\"pairing\"`; legacy: `channels.discord.dm.policy`, `channels.slack.dm.policy`): unknown senders receive a short pairing code and the bot does not process their message.\n- Approve with: `openclaw pairing approve <channel> <code>` (then the sender is added to a local allowlist store).\n- Public inbound DMs require an explicit opt-in: set `dmPolicy=\"open\"` and include `\"*\"` in the channel allowlist (`allowFrom` / `channels.discord.allowFrom` / `channels.slack.allowFrom`; legacy: `channels.discord.dm.allowFrom`, `channels.slack.dm.allowFrom`).\n\nRun `openclaw doctor` to surface risky/misconfigured DM policies.\n\n## Highlights\n\n- **[Local-first Gateway](https://docs.openclaw.ai/gateway)** — single control plane for sessions, channels, tools, and events.\n- **[Multi-channel inbox](https://docs.openclaw.ai/channels)** — WhatsApp, Telegram, Slack, Discord, Google Chat, Signal, iMessage, IRC, Microsoft Teams, Matrix, Feishu, LINE, Mattermost, Nextcloud Talk, Nostr, Synology Chat, Tlon, Twitch, Zalo, Zalo Personal, WeChat, QQ, WebChat, macOS, iOS/Android.\n- **[Multi-agent routing](https://docs.openclaw.ai/gateway/configuration)** — route inbound channels/accounts/peers to isolated agents (workspaces + per-agent sessions).\n- **[Voice Wake](https://docs.openclaw.ai/nodes/voicewake) + [Talk Mode](https://docs.openclaw.ai/nodes/talk)** — wake words on macOS/iOS and continuous voice on Android (ElevenLabs + system TTS fallback).\n- **[Live Canvas](https://docs.openclaw.ai/platforms/mac/canvas)** — agent-driven visual workspace with [A2UI](https://docs.openclaw.ai/platforms/mac/canvas#canvas-a2ui).\n- **[First-class tools](https://docs.openclaw.ai/tools)** — browser, canvas, nodes, cron, sessions, and Discord/Slack actions.\n- **[Companion apps](https://docs.openclaw.ai/platforms)** — Windows Hub, macOS menu bar app, and iOS/Android [nodes](https://docs.openclaw.ai/nodes).\n- **[Onboarding](https://docs.openclaw.ai/start/wizard) + [skills](https://docs.openclaw.ai/tools/skills)** — onboarding-driven setup with bundled/managed/workspace skills.\n\n## Security model (important)\n\n- Default: tools run on the host for the `main` session, so the agent has full access when it is just you.\n- Group/channel safety: set `agents.defaults.sandbox.mode: \"non-main\"` to run non-`main` sessions inside sandboxes. Docker is the default sandbox backend; SSH and OpenShell backends are also available.\n- Typical sandbox default: allow `bash`, `process`, `read`, `write`, `edit`, `sessions_list`, `sessions_history`, `sessions_send`, `sessions_spawn`; deny `browser`, `canvas`, `nodes`, `cron`, `discord`, `gateway`.\n- Before exposing anything remotely, read [Security](https://docs.openclaw.ai/gateway/security), [Gateway exposure runbook](https://docs.openclaw.ai/gateway/security/exposure-runbook), [Sandboxing](https://docs.openclaw.ai/gateway/sandboxing), and [Configuration](https://docs.openclaw.ai/gateway/configuration).\n\n## Operator quick refs\n\n- Chat commands: `/status`, `/new`, `/reset`, `/compact`, `/think <level>`, `/verbose on|off`, `/trace on|off`, `/usage off|tokens|full`, `/restart`, `/activation mention|always`\n- Session tools: `sessions_list`, `sessions_history`, `sessions_send`\n- Skills registry: [ClawHub](https://clawhub.ai)\n- Architecture overview: [Architecture](https://docs.openclaw.ai/concepts/architecture)\n\n## Docs by goal\n\n- New here: [Getting started](https://docs.openclaw.ai/start/getting-started), [Onboarding](https://docs.openclaw.ai/start/wizard), [Updating](https://docs.openclaw.ai/install/updating)\n- Channel setup: [Channels index](https://docs.openclaw.ai/channels), [WhatsApp](https://docs.openclaw.ai/channels/whatsapp), [Telegram](https://docs.openclaw.ai/channels/telegram), [Discord](https://docs.openclaw.ai/channels/discord), [Slack](https://docs.openclaw.ai/channels/slack)\n- Apps + nodes: [Windows Hub](https://docs.openclaw.ai/platforms/windows), [macOS](https://docs.openclaw.ai/platforms/macos), [iOS](https://docs.openclaw.ai/platforms/ios), [Android](https://docs.openclaw.ai/platforms/android), [Nodes](https://docs.openclaw.ai/nodes)\n- Config + security: [Configuration](https://docs.openclaw.ai/gateway/configuration), [Security](https://docs.openclaw.ai/gateway/security), [Exposure runbook](https://docs.openclaw.ai/gateway/security/exposure-runbook), [Sandboxing](https://docs.openclaw.ai/gateway/sandboxing)\n- Remote + web: [Gateway](https://docs.openclaw.ai/gateway), [Remote access](https://docs.openclaw.ai/gateway/remote), [Tailscale](https://docs.openclaw.ai/gateway/tailscale), [Web surfaces](https://docs.openclaw.ai/web)\n- Tools + automation: [Tools](https://docs.openclaw.ai/tools), [Skills](https://docs.openclaw.ai/tools/skills), [Cron jobs](https://docs.openclaw.ai/automation/cron-jobs), [Webhooks](https://docs.openclaw.ai/automation/webhook), [Gmail Pub/Sub](https://docs.openclaw.ai/automation/gmail-pubsub)\n- Internals: [Architecture](https://docs.openclaw.ai/concepts/architecture), [Agent](https://docs.openclaw.ai/concepts/agent), [Session model](https://docs.openclaw.ai/concepts/session), [Gateway protocol](https://docs.openclaw.ai/reference/rpc)\n- Troubleshooting: [Channel troubleshooting](https://docs.openclaw.ai/channels/troubleshooting), [Logging](https://docs.openclaw.ai/logging), [Docs home](https://docs.openclaw.ai)\n\n## Apps (optional)\n\nThe Gateway alone delivers a great experience. All apps are optional and add extra features.\n\nIf you plan to build/run companion apps, follow the platform runbooks below.\n\n### macOS (OpenClaw.app) (optional)\n\n- Menu bar control for the Gateway and health.\n- Voice Wake + push-to-talk overlay.\n- WebChat + debug tools.\n- Remote gateway control over SSH.\n\nNote: signed builds required for macOS permissions to stick across rebuilds (see [macOS Permissions](https://docs.openclaw.ai/platforms/mac/permissions)).\n\n### iOS node (optional)\n\n- Pairs as a node over the Gateway WebSocket (device pairing).\n- Voice trigger forwarding + Canvas surface.\n- Controlled via `openclaw nodes …`.\n\n### Android node (optional)\n\n- Pairs as a WS node via device pairing (`openclaw devices ...`).\n- Exposes Connect/Chat/Voice tabs plus Canvas, Camera, Screen capture, and Android device command families.\n- Runbook: [Android connect](https://docs.openclaw.ai/platforms/android).\n\n## Setting Up Ollama for Memory Search\n\nSoulClaw uses [Ollama](https://ollama.com) for local embedding generation. No API keys needed.\n\n### 1. Install Ollama\n\n```bash\n# macOS / Linux\ncurl -fsSL https://ollama.com/install.sh | sh\n```\n\n### 2. Pull the embedding model\n\n```bash\nollama pull bge-m3\n```\n\n**Why bge-m3?** Multilingual embedding model (100+ languages) that handles mixed-language content accurately.\n\n| Model              | Dimensions | Multilingual      | RAM    | Recommended             |\n| ------------------ | ---------- | ----------------- | ------ | ----------------------- |\n| `bge-m3`           | 1024       | ✅ 100+ languages | ~1.3GB | ✅ Default              |\n| `nomic-embed-text` | 768        | ❌ English only   | ~0.3GB | English-only workspaces |\n\n### 3. Verify\n\n```bash\nollama list  # Should show bge-m3\n```\n\nSoulClaw auto-detects Ollama on startup and begins indexing memory files.\n\n### Hardware Compatibility\n\n| Environment           | Speed (per query) |\n| --------------------- | ----------------- |\n| Apple Silicon (M1-M4) | ~50ms (Metal GPU) |\n| NVIDIA GPU (CUDA)     | ~30ms             |\n| CPU only              | ~500ms            |\n\n### Using a different embedding model\n\n```jsonc\n// openclaw.json\n{\n  \"agents\": {\n    \"defaults\": {\n      \"memorySearch\": {\n        \"provider\": \"local\",\n        \"embedding\": {\n          \"model\": \"nomic-embed-text\",\n          \"ollamaUrl\": \"http://localhost:11434\",\n        },\n      },\n    },\n  },\n}\n```\n\n### Without Ollama\n\nSoulClaw works without Ollama — it falls back to keyword-based text matching. Ollama makes search significantly more accurate.\n\n## Roadmap\n\n| Tag                              | Status        | Description                                                                                       |\n| -------------------------------- | ------------- | ------------------------------------------------------------------------------------------------- |\n| `soulclaw/v2026.8.1`             | 🚧 Publishing | Rebuilt on OpenClaw 2.0 (v2026.8.1); upstream memory used as-is, 7.x engine retired               |\n| `soulclaw/v2026.3.3`             | ✅ Released   | Contained runtime (`OPENCLAW_STATE_DIR` workspace fix)                                            |\n| `soulclaw/v2026.3.4`             | ✅ Released   | Semantic memory search (bge-m3 vector embeddings)                                                 |\n| `soulclaw/v2026.3.5`             | ✅ Released   | Persona engine + Inline SoulScan + Native Swarm Memory                                            |\n| `soulclaw/v2026.3.6`             | ✅ Released   | Tiered bootstrap loading (40-60% token savings)                                                   |\n| `soulclaw/v2026.3.12`            | ✅ Released   | Stability improvements + upstream sync                                                            |\n| `soulclaw/v2026.3.17`            | ✅ Released   | Passive memory auto-extraction                                                                    |\n| `soulclaw/v2026.3.18`            | ✅ Released   | DAG lossless memory store (SQLite + FTS5)                                                         |\n| `soulclaw/v2026.3.19`            | ✅ Released   | DAG FTS5 → memory_search pipeline integration                                                     |\n| `soulclaw/v2026.3.20`            | ✅ Released   | Network stability fix (IPv6 auto-fallback)                                                        |\n| `soulclaw/v2026.3.21–v2026.3.37` | ✅ Released   | Topic snapshots, compaction notify, session hooks, `soulclaw host`, stability                     |\n| `soulclaw/v2026.8.1`             | 🔄 Tagging    | Rebase onto OpenClaw v2026.8.1 — extensions architecture, dreaming, video/music, memory-core port |\n\n## Upstream Compatibility\n\n|                      | Version                            |\n| -------------------- | ---------------------------------- |\n| **Fork base**        | OpenClaw `v2026.3.1` (main branch) |\n| **Current SoulClaw** | `2026.8.1`                         |\n| **License**          | MIT (same as OpenClaw)             |\n\nAll OpenClaw features, plugins, and configurations work as-is. SoulClaw adds functionality — it doesn't remove or break anything.\n\nThe `openclaw/main` branch tracks upstream for migration purposes.\n\n## Requirements\n\n- Node.js `>=22.22.3 <23`, `>=24.15.0 <25`, or `>=25.9.0` (upstream requirement)\n- [Ollama](https://ollama.com) (optional but recommended)\n  - `bge-m3` — memory search embeddings (default)\n\n## Ecosystem\n\nSoulClaw is part of the ClawSouls ecosystem:\n\n- [ClawSouls](https://clawsouls.ai) — AI agent persona platform\n- [Soul Spec](https://docs.clawsouls.ai) — Open specification for agent identity\n- [SoulClaw CLI Guide](https://docs.clawsouls.ai/docs/platform/soulclaw-cli) — Detailed usage guide (SoulScan, Persona Engine, Swarm Memory)\n- [ClawSouls CLI](https://www.npmjs.com/package/clawsouls) — Soul management, SoulScan, checkpoints\n\n## License\n\nMIT — same as OpenClaw.\n\n## Credits\n\nBuilt on [OpenClaw](https://github.com/openclaw/openclaw) by the OpenClaw team.\nEnhanced by [ClawSouls](https://clawsouls.ai) for the soul-aware agent ecosystem.\n","readmeFilename":"README.md","author":{"name":"OpenClaw Foundation","url":"https://openclaw.org"}}