{"_id":"@bitplanet/genie-openclaw","_rev":"7-05411e394fd0ef18478904c6e8b172e2","name":"@bitplanet/genie-openclaw","dist-tags":{"latest":"2026.5.28","beta":"2026.5.28-beta.1"},"versions":{"2026.3.13":{"name":"@bitplanet/genie-openclaw","version":"2026.3.13","keywords":[],"author":"","license":"MIT","_id":"@bitplanet/genie-openclaw@2026.3.13","maintainers":[{"name":"js_inflorencers","email":"jinay@inflorencers.com"},{"name":"moses10p","email":"moses@10planet.com"},{"name":"longngp","email":"long@inflorencers.com"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"bin":{"openclaw":"openclaw.mjs"},"dist":{"shasum":"521c9566c0753d0f3a92a586524e2833fdaca482","tarball":"https://registry.npmjs.org/@bitplanet/genie-openclaw/-/genie-openclaw-2026.3.13.tgz","fileCount":4111,"integrity":"sha512-ck2sLDH0z4pFrXx5z79LnBEeVGEUYj9HrLCHKAtruOxcrv2802fS3fdMzFws+PT2+zk0Od99erWtqkXphZtYXg==","signatures":[{"sig":"MEYCIQDM+gnPEAQQu+OYUwX5IJS6yFLr3EuOqYQjYDZNZrrxAAIhAOHkIVKYBNCsD7fIVJVbyG1GRcx0Z6arUG68rvkJVjWo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72275465},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.9","hono":"4.11.10","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.6","request-promise":"npm:@cypress/request-promise@5.0.0","@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/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"}},"gitHead":"4f950ead1142ea3e54e584763e38b3f1eb03ec22","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 && 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: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 && pnpm deadcode:report:ci:ts-prune && pnpm deadcode:report:ci:ts-unused","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:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --no-progress","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: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","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","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","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","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","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:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs"},"_npmUser":{"name":"js_inflorencers","email":"jinay@inflorencers.com"},"repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git"},"_npmVersion":"11.9.0","description":"Multi-channel AI gateway with extensible messaging integrations","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.9","zod":"^4.3.6","jiti":"^2.6.1","long":"^5.3.2","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","gaxios":"7.1.2","grammy":"^1.40.1","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.4.624","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","@snazzah/davey":"^0.1.9","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","node-domexception":"npm:@nolyfill/domexception@^1.0.28","@mariozechner/pi-ai":"0.55.1","google-auth-library":"10.5.0","@mariozechner/pi-tui":"0.55.1","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.998.0","@larksuiteoapi/node-sdk":"^1.59.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.1","@mariozechner/pi-coding-agent":"0.55.1","@grammyjs/transformer-throttler":"^1.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_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.20.3","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.1","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.24.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.20260225.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"optionalDependencies":{"@discordjs/opus":"^0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/genie-openclaw_2026.3.13_1774679952864_0.005698863600711368","host":"s3://npm-registry-packages-npm-production"}},"2026.3.14":{"name":"@bitplanet/genie-openclaw","version":"2026.3.14","keywords":[],"author":"","license":"MIT","_id":"@bitplanet/genie-openclaw@2026.3.14","maintainers":[{"name":"js_inflorencers","email":"jinay@inflorencers.com"},{"name":"moses10p","email":"moses@10planet.com"},{"name":"longngp","email":"long@inflorencers.com"}],"homepage":"https://github.com/Bitplanet-L1/genie-openclaw#readme","bugs":{"url":"https://github.com/Bitplanet-L1/genie-openclaw/issues"},"bin":{"openclaw":"openclaw.mjs"},"dist":{"shasum":"07de55252f71568ee0541a25e6947b4e9b122369","tarball":"https://registry.npmjs.org/@bitplanet/genie-openclaw/-/genie-openclaw-2026.3.14.tgz","fileCount":4110,"integrity":"sha512-LnuGmfkw8dYrgQIhb5m+u3+QaHnkP5f94WmLA7oF9wAF4PV/0pXUk4Nr1QW3B3XY0JG4rcDTqfHv+6NP8NKI8Q==","signatures":[{"sig":"MEQCIHcwiuROEgRxzT6cpD0Zuqo0nfl6iXpdoH2HUHeXre/gAiBgNjFA2qE/WfpjL2o7c+pO68NueSTYhd2r2fKiRwseLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bitplanet%2fgenie-openclaw@2026.3.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72222989},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.9","hono":"4.11.10","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.6","request-promise":"npm:@cypress/request-promise@5.0.0","@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/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"}},"gitHead":"065e79d4bfa8d94c43208074b379d08536e97c44","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 && 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: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 && pnpm deadcode:report:ci:ts-prune && pnpm deadcode:report:ci:ts-unused","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:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --no-progress","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: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","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","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","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","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","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:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs"},"_npmUser":{"name":"js_inflorencers","email":"jinay@inflorencers.com"},"repository":{"url":"git+https://github.com/Bitplanet-L1/genie-openclaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-channel AI gateway with extensible messaging integrations","directories":{"doc":"docs","test":"test"},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.9","zod":"^4.3.6","jiti":"^2.6.1","long":"^5.3.2","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","gaxios":"7.1.2","grammy":"^1.40.1","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.4.624","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","@snazzah/davey":"^0.1.9","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","node-domexception":"npm:@nolyfill/domexception@^1.0.28","@mariozechner/pi-ai":"0.55.1","google-auth-library":"10.5.0","@mariozechner/pi-tui":"0.55.1","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.998.0","@larksuiteoapi/node-sdk":"^1.59.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.1","@mariozechner/pi-coding-agent":"0.55.1","@grammyjs/transformer-throttler":"^1.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_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.20.3","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.1","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.24.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.20260225.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"optionalDependencies":{"@discordjs/opus":"^0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/genie-openclaw_2026.3.14_1774691764728_0.5059795410267536","host":"s3://npm-registry-packages-npm-production"}},"2026.4.17":{"name":"@bitplanet/genie-openclaw","version":"2026.4.17","keywords":[],"author":"","license":"MIT","_id":"@bitplanet/genie-openclaw@2026.4.17","maintainers":[{"name":"js_inflorencers","email":"jinay@inflorencers.com"},{"name":"moses10p","email":"moses@10planet.com"},{"name":"longngp","email":"long@inflorencers.com"}],"homepage":"https://github.com/Bitplanet-L1/genie-openclaw#readme","bugs":{"url":"https://github.com/Bitplanet-L1/genie-openclaw/issues"},"bin":{"openclaw":"openclaw.mjs"},"dist":{"shasum":"58c701fef5d8f92fc6b1dfb376fdc7666620f8f9","tarball":"https://registry.npmjs.org/@bitplanet/genie-openclaw/-/genie-openclaw-2026.4.17.tgz","fileCount":4110,"integrity":"sha512-3qciPSthrVraDSj54hkYrpTEb3QWpu9USiGjbxAsdkl06sYqD9EnIG5j46NAU+3rlGCmv16jIPZstioFytCi/Q==","signatures":[{"sig":"MEQCIBp8XUSHttLOEXZJJ4iOyJJ7G8MHBD61LLwqDq7Xn32aAiBSw2uTjfbMOJcIcxr61/1QMwKlgIromKwXbAtX/7eTng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bitplanet%2fgenie-openclaw@2026.4.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72221979},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.9","hono":"4.11.10","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.6","request-promise":"npm:@cypress/request-promise@5.0.0","@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/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"}},"gitHead":"3222207f824f14a3af55e8716fc76d89a1531dc6","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 && 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: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 && pnpm deadcode:report:ci:ts-prune && pnpm deadcode:report:ci:ts-unused","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:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --no-progress","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: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","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","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","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","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","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:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b0918699-afc5-4ab9-b575-134ec126b081"}},"repository":{"url":"git+https://github.com/Bitplanet-L1/genie-openclaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Multi-channel AI gateway with extensible messaging integrations","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.9","zod":"^4.3.6","jiti":"^2.6.1","long":"^5.3.2","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","gaxios":"7.1.2","grammy":"^1.40.1","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.4.624","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","@snazzah/davey":"^0.1.9","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","node-domexception":"npm:@nolyfill/domexception@^1.0.28","@mariozechner/pi-ai":"0.55.1","google-auth-library":"10.5.0","@mariozechner/pi-tui":"0.55.1","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.998.0","@larksuiteoapi/node-sdk":"^1.59.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.1","@mariozechner/pi-coding-agent":"0.55.1","@grammyjs/transformer-throttler":"^1.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_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.20.3","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.1","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.24.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.20260225.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"optionalDependencies":{"@discordjs/opus":"^0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/genie-openclaw_2026.4.17_1776415518650_0.9406254201085986","host":"s3://npm-registry-packages-npm-production"}},"2026.5.14-beta.1":{"name":"@bitplanet/genie-openclaw","version":"2026.5.14-beta.1","keywords":[],"author":"","license":"MIT","_id":"@bitplanet/genie-openclaw@2026.5.14-beta.1","maintainers":[{"name":"moses10p","email":"moses@10planet.com"},{"name":"longngp","email":"long@inflorencers.com"}],"homepage":"https://github.com/Deva-me-AI/genie-openclaw#readme","bugs":{"url":"https://github.com/Deva-me-AI/genie-openclaw/issues"},"bin":{"openclaw":"openclaw.mjs"},"dist":{"shasum":"9017d74a662bda336063c24687f222157311d7a2","tarball":"https://registry.npmjs.org/@bitplanet/genie-openclaw/-/genie-openclaw-2026.5.14-beta.1.tgz","fileCount":4111,"integrity":"sha512-7m7Tym3qsAN7749e+fB2kHSYsghOrfNPMeofrdO05+LgoG13IODHQyb6s7v1ZzlaxLJiADTpPcvb9FZ4nSp+yA==","signatures":[{"sig":"MEYCIQCQPYj/E+Hs7clPIVOqIPE/0bYPt9RswdIW13YFgiOYxAIhAK5doNUPSLL7iw5zed/xf8vJ/IjOk2+k+iKJvfeHidH6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bitplanet%2fgenie-openclaw@2026.5.14-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72229068},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.9","hono":"4.11.10","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.6","request-promise":"npm:@cypress/request-promise@5.0.0","@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/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"}},"gitHead":"5396d4a2bdd5aeeb11a193cbd92aa3e464b844bf","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 && 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: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 && pnpm deadcode:report:ci:ts-prune && pnpm deadcode:report:ci:ts-unused","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:macmini":"OPENCLAW_TEST_VM_FORKS=0 OPENCLAW_TEST_PROFILE=serial node scripts/test-parallel.mjs","deadcode:knip":"pnpm dlx knip --no-progress","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: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","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","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","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","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","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:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f11ed997-3ea9-4377-b47c-5d259356399d"}},"repository":{"url":"git+https://github.com/Deva-me-AI/genie-openclaw.git","type":"git"},"_npmVersion":"11.13.0","description":"Multi-channel AI gateway with extensible messaging integrations","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.9","zod":"^4.3.6","jiti":"^2.6.1","long":"^5.3.2","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","gaxios":"7.1.2","grammy":"^1.40.1","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.4.624","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","@snazzah/davey":"^0.1.9","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","node-domexception":"npm:@nolyfill/domexception@^1.0.28","@mariozechner/pi-ai":"0.55.1","google-auth-library":"10.5.0","@mariozechner/pi-tui":"0.55.1","@mozilla/readability":"^0.6.0","@aws-sdk/client-bedrock":"^3.998.0","@larksuiteoapi/node-sdk":"^1.59.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@mariozechner/pi-agent-core":"0.55.1","@mariozechner/pi-coding-agent":"0.55.1","@grammyjs/transformer-throttler":"^1.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","readmeFilename":"README.md","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.35.0","oxlint":"^1.50.0","tsdown":"^0.20.3","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.1","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.24.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.20260225.1"},"peerDependencies":{"node-llama-cpp":"3.16.2","@napi-rs/canvas":"^0.1.89"},"optionalDependencies":{"@discordjs/opus":"^0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/genie-openclaw_2026.5.14-beta.1_1780396318332_0.1144772749020333","host":"s3://npm-registry-packages-npm-production"}},"2026.5.28-beta.1":{"name":"@bitplanet/genie-openclaw","version":"2026.5.28-beta.1","keywords":[],"author":"","license":"MIT","_id":"@bitplanet/genie-openclaw@2026.5.28-beta.1","maintainers":[{"name":"moses10p","email":"moses@10planet.com"},{"name":"longngp","email":"long@inflorencers.com"}],"homepage":"https://github.com/Deva-me-AI/genie-openclaw#readme","bugs":{"url":"https://github.com/Deva-me-AI/genie-openclaw/issues"},"bin":{"openclaw":"openclaw.mjs"},"dist":{"shasum":"8ddc506036200cd38da2353c0409bb7154511535","tarball":"https://registry.npmjs.org/@bitplanet/genie-openclaw/-/genie-openclaw-2026.5.28-beta.1.tgz","fileCount":9085,"integrity":"sha512-fDXusiX3GzkDI0DVFKYQCI4z54RxzB2ANrLws7uRv2RFRIK1woDHHvw6vS5oyA/4haIllFu1ipe4+p74rfJ4SA==","signatures":[{"sig":"MEYCIQCgXH8DfXTeKMV3qUsJefkADmlQdc53kMQfLoAGLUECkAIhANJH++iEJ8IXVLP0VeKbk8wgJ3tOp+6W4SctdzTJjAvv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bitplanet%2fgenie-openclaw@2026.5.28-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81055105},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.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/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/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/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-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/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/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/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/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/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/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/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/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":"ec9addbc117b740159c41be1b1480f5ce2d3124f","scripts":{"dev":"node scripts/run-node.mjs","rtt":"node --import tsx scripts/rtt.ts","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 && cd apps/ios && xcodegen generate'","ios:run":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build && xcrun simctl boot \"${IOS_SIM:-iPhone 17}\" || true && xcrun simctl launch booted ai.openclaw.ios'","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 && 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:beta":"bash scripts/ios-beta-release.sh","ios:open":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && 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 && 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","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":"cd apps/android && ./gradlew :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","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","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":"cd apps/android && ./gradlew :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 --experimental-strip-types scripts/copy-hook-metadata.ts && node --experimental-strip-types scripts/copy-export-html-templates.ts && node --experimental-strip-types scripts/write-build-info.ts && node --experimental-strip-types scripts/write-cli-startup-metadata.ts && node --experimental-strip-types scripts/write-cli-compat.ts","crabbox:stop":"node scripts/crabbox-wrapper.mjs stop","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","deadcode:knip":"pnpm dlx 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 scripts/qa-otel-smoke.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","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","dup:check:json":"node scripts/check-duplicates.mjs --json","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/daemon/launchd.integration.test.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":"cd apps/android && ./gradlew :app:installPlayDebug","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","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:version:pin":"node --import tsx scripts/ios-pin-version.ts","lint:docker-e2e":"node scripts/check-docker-e2e-boundaries.mjs","lint:extensions":"node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.extensions.json extensions","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 scripts/test-live-media.ts","test:windows:ci":"node scripts/test-projects.mjs src/shared/runtime-import.test.ts src/plugins/import-specifier.test.ts src/process/exec.windows.test.ts src/process/windows-command.test.ts src/infra/windows-install-roots.test.ts extensions/lobster/src/lobster-runner.test.ts test/scripts/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":"cd apps/android && ./gradlew :app:assemblePlayDebug","check:test-types":"pnpm tsgo:test","docs:check-links":"node scripts/docs-link-audit.mjs","ios:beta:archive":"bash scripts/ios-beta-archive.sh","ios:beta:prepare":"bash scripts/ios-beta-prepare.sh","ios:version:sync":"node --import tsx scripts/ios-sync-versioning.ts --write","perf:issue-78851":"node --import tsx scripts/perf/issue-78851-model-resolution.ts","plugin-sdk:usage":"node --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","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","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","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 && pnpm build:plugin-sdk:dts && node --experimental-strip-types 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","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","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","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","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":"cd apps/android && ./gradlew :app:lintDebug","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","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: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","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 knip@6.8.0 --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","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 scripts/test-live-media.ts image","test:live:media:music":"node --import tsx scripts/test-live-media.ts music","test:live:media:video":"node --import tsx scripts/test-live-media.ts video","android:bundle:release":"bun apps/android/scripts/build-release-aab.ts","check:deprecated-jsdoc":"node scripts/check-deprecated-jsdoc.mjs","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: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:run:third-party":"cd apps/android && ./gradlew :app:installThirdPartyDebug && adb shell am start -n ai.openclaw.app/.MainActivity","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 scripts/qa-otel-smoke.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: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":"cd apps/android && ./gradlew :app:testThirdPartyDebugUnitTest","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","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","lint:extensions:channels":"node scripts/run-extension-channel-oxlint.mjs","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","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","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: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: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","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","android:install:third-party":"cd apps/android && ./gradlew :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","android:assemble:third-party":"cd apps/android && ./gradlew :app:assembleThirdPartyDebug","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","build:plugin-sdk:strict-smoke":"pnpm build:plugin-sdk:dts && node --experimental-strip-types scripts/write-plugin-sdk-entry-dts.ts","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","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","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:update-channel-switch":"bash scripts/e2e/update-channel-switch-docker.sh","test:docker:update-corrupt-plugin":"bash scripts/e2e/update-corrupt-plugin-docker.sh","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","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","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","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":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f11ed997-3ea9-4377-b47c-5d259356399d"}},"overrides":{"uuid":"14.0.0","axios":"1.16.0","fast-uri":"3.1.2","ip-address":"10.2.0","follow-redirects":"1.16.0","node-domexception":"npm:@nolyfill/domexception@1.0.28"},"repository":{"url":"git+https://github.com/Deva-me-AI/genie-openclaw.git","type":"git"},"_npmVersion":"11.13.0","description":"Multi-channel AI gateway with extensible messaging integrations","directories":{"doc":"docs","test":"test"},"_nodeVersion":"24.16.0","dependencies":{"ws":"8.21.0","tar":"7.5.15","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.43.0","ignore":"7.0.5","kysely":"0.29.2","openai":"6.39.0","qrcode":"1.5.4","undici":"8.3.0","clawpdf":"0.2.0","express":"5.2.1","typebox":"1.1.38","chokidar":"5.0.0","linkedom":"0.18.12","web-push":"3.6.7","commander":"14.0.3","file-type":"22.0.1","ipaddr.js":"2.4.0","minimatch":"10.2.5","rastermill":"0.3.0","typescript":"6.0.3","@clack/core":"1.3.1","cross-spawn":"7.0.6","markdown-it":"14.2.0","highlight.js":"11.11.1","partial-json":"0.1.7","quickjs-wasi":"3.0.0","@google/genai":"2.6.0","node-edge-tts":"1.2.10","@clack/prompts":"1.4.0","hosted-git-info":"9.0.3","playwright-core":"1.60.0","proper-lockfile":"4.1.2","web-tree-sitter":"0.26.9","@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.98.0","@openclaw/fs-safe":"0.3.0","@openclaw/proxyline":"0.3.3","@mistralai/mistralai":"2.2.5","@mozilla/readability":"0.6.0","@earendil-works/pi-tui":"0.76.0","@agentclientprotocol/sdk":"0.22.1","@modelcontextprotocol/sdk":"1.29.0","@silvia-odwyer/photon-node":"0.3.4","@grammyjs/transformer-throttler":"1.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":true,"packageManager":"pnpm@11.2.2+sha512.36e6621fad506178936455e70247b8808ef4ec25797a9f437a93281a020484e2607f6a469a22e982987c3dbb8866e3071514ab10a4a1749e06edcd1ec118436f","readmeFilename":"README.md","devDependencies":{"lit":"3.3.3","tsx":"4.22.3","jscpd":"4.2.4","jsdom":"29.1.1","oxfmt":"0.52.0","shiki":"4.1.0","unrun":"0.3.0","oxlint":"1.67.0","tsdown":"0.22.0","vitest":"4.1.7","esbuild":"0.28.0","@a2ui/lit":"0.10.0","@types/ws":"8.18.1","@mdx-js/mdx":"3.1.1","@types/node":"25.9.1","@lit/context":"1.1.6","signal-utils":"0.21.1","@shikijs/core":"4.1.0","@types/express":"5.0.6","@grammyjs/types":"3.27.3","oxlint-tsgolint":"0.23.0","@lit-labs/signals":"0.3.0","@copilotkit/aimock":"1.27.1","@types/cross-spawn":"6.0.6","@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.7","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4","@shikijs/engine-oniguruma":"4.1.0","@shikijs/engine-javascript":"4.1.0","@typescript/native-preview":"7.0.0-dev.20260527.2"},"optionalDependencies":{"sqlite-vec":"0.1.9"},"_npmOperationalInternal":{"tmp":"tmp/genie-openclaw_2026.5.28-beta.1_1780470074882_0.6796236410360337","host":"s3://npm-registry-packages-npm-production"}},"2026.5.28":{"name":"@bitplanet/genie-openclaw","version":"2026.5.28","description":"Multi-channel AI gateway with extensible messaging integrations","keywords":[],"homepage":"https://github.com/Deva-me-AI/genie-openclaw#readme","bugs":{"url":"https://github.com/Deva-me-AI/genie-openclaw/issues"},"license":"MIT","author":"","repository":{"type":"git","url":"git+https://github.com/Deva-me-AI/genie-openclaw.git"},"bin":{"openclaw":"openclaw.mjs"},"directories":{"doc":"docs","test":"test"},"type":"module","main":"dist/index.js","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"exports":{".":"./dist/index.js","./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","default":"./dist/plugin-sdk/index.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","default":"./dist/plugin-sdk/core.js"},"./plugin-sdk/lmstudio":{"types":"./dist/plugin-sdk/lmstudio.d.ts","default":"./dist/plugin-sdk/lmstudio.js"},"./plugin-sdk/lmstudio-runtime":{"types":"./dist/plugin-sdk/lmstudio-runtime.d.ts","default":"./dist/plugin-sdk/lmstudio-runtime.js"},"./plugin-sdk/provider-setup":{"types":"./dist/plugin-sdk/provider-setup.d.ts","default":"./dist/plugin-sdk/provider-setup.js"},"./plugin-sdk/sandbox":{"types":"./dist/plugin-sdk/sandbox.d.ts","default":"./dist/plugin-sdk/sandbox.js"},"./plugin-sdk/self-hosted-provider-setup":{"types":"./dist/plugin-sdk/self-hosted-provider-setup.d.ts","default":"./dist/plugin-sdk/self-hosted-provider-setup.js"},"./plugin-sdk/routing":{"types":"./dist/plugin-sdk/routing.d.ts","default":"./dist/plugin-sdk/routing.js"},"./plugin-sdk/runtime":{"types":"./dist/plugin-sdk/runtime.d.ts","default":"./dist/plugin-sdk/runtime.js"},"./plugin-sdk/health":{"types":"./dist/plugin-sdk/health.d.ts","default":"./dist/plugin-sdk/health.js"},"./plugin-sdk/runtime-doctor":{"types":"./dist/plugin-sdk/runtime-doctor.d.ts","default":"./dist/plugin-sdk/runtime-doctor.js"},"./plugin-sdk/runtime-env":{"types":"./dist/plugin-sdk/runtime-env.d.ts","default":"./dist/plugin-sdk/runtime-env.js"},"./plugin-sdk/runtime-logger":{"types":"./dist/plugin-sdk/runtime-logger.d.ts","default":"./dist/plugin-sdk/runtime-logger.js"},"./plugin-sdk/proxy-capture":{"types":"./dist/plugin-sdk/proxy-capture.d.ts","default":"./dist/plugin-sdk/proxy-capture.js"},"./plugin-sdk/runtime-secret-resolution":{"types":"./dist/plugin-sdk/runtime-secret-resolution.d.ts","default":"./dist/plugin-sdk/runtime-secret-resolution.js"},"./plugin-sdk/setup":{"types":"./dist/plugin-sdk/setup.d.ts","default":"./dist/plugin-sdk/setup.js"},"./plugin-sdk/setup-adapter-runtime":{"types":"./dist/plugin-sdk/setup-adapter-runtime.d.ts","default":"./dist/plugin-sdk/setup-adapter-runtime.js"},"./plugin-sdk/setup-runtime":{"types":"./dist/plugin-sdk/setup-runtime.d.ts","default":"./dist/plugin-sdk/setup-runtime.js"},"./plugin-sdk/channel-setup":{"types":"./dist/plugin-sdk/channel-setup.d.ts","default":"./dist/plugin-sdk/channel-setup.js"},"./plugin-sdk/channel-streaming":{"types":"./dist/plugin-sdk/channel-streaming.d.ts","default":"./dist/plugin-sdk/channel-streaming.js"},"./plugin-sdk/setup-tools":{"types":"./dist/plugin-sdk/setup-tools.d.ts","default":"./dist/plugin-sdk/setup-tools.js"},"./plugin-sdk/approval-auth-runtime":{"types":"./dist/plugin-sdk/approval-auth-runtime.d.ts","default":"./dist/plugin-sdk/approval-auth-runtime.js"},"./plugin-sdk/approval-client-runtime":{"types":"./dist/plugin-sdk/approval-client-runtime.d.ts","default":"./dist/plugin-sdk/approval-client-runtime.js"},"./plugin-sdk/approval-delivery-runtime":{"types":"./dist/plugin-sdk/approval-delivery-runtime.d.ts","default":"./dist/plugin-sdk/approval-delivery-runtime.js"},"./plugin-sdk/approval-gateway-runtime":{"types":"./dist/plugin-sdk/approval-gateway-runtime.d.ts","default":"./dist/plugin-sdk/approval-gateway-runtime.js"},"./plugin-sdk/approval-handler-adapter-runtime":{"types":"./dist/plugin-sdk/approval-handler-adapter-runtime.d.ts","default":"./dist/plugin-sdk/approval-handler-adapter-runtime.js"},"./plugin-sdk/approval-handler-runtime":{"types":"./dist/plugin-sdk/approval-handler-runtime.d.ts","default":"./dist/plugin-sdk/approval-handler-runtime.js"},"./plugin-sdk/channel-runtime-context":{"types":"./dist/plugin-sdk/channel-runtime-context.d.ts","default":"./dist/plugin-sdk/channel-runtime-context.js"},"./plugin-sdk/approval-native-runtime":{"types":"./dist/plugin-sdk/approval-native-runtime.d.ts","default":"./dist/plugin-sdk/approval-native-runtime.js"},"./plugin-sdk/approval-reaction-runtime":{"types":"./dist/plugin-sdk/approval-reaction-runtime.d.ts","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/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/config-types":{"types":"./dist/plugin-sdk/config-types.d.ts","default":"./dist/plugin-sdk/config-types.js"},"./plugin-sdk/plugin-config-runtime":{"types":"./dist/plugin-sdk/plugin-config-runtime.d.ts","default":"./dist/plugin-sdk/plugin-config-runtime.js"},"./plugin-sdk/config-mutation":{"types":"./dist/plugin-sdk/config-mutation.d.ts","default":"./dist/plugin-sdk/config-mutation.js"},"./plugin-sdk/cron-store-runtime":{"types":"./dist/plugin-sdk/cron-store-runtime.d.ts","default":"./dist/plugin-sdk/cron-store-runtime.js"},"./plugin-sdk/config-schema":{"types":"./dist/plugin-sdk/config-schema.d.ts","default":"./dist/plugin-sdk/config-schema.js"},"./plugin-sdk/json-schema-runtime":{"types":"./dist/plugin-sdk/json-schema-runtime.d.ts","default":"./dist/plugin-sdk/json-schema-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/reply-runtime":{"types":"./dist/plugin-sdk/reply-runtime.d.ts","default":"./dist/plugin-sdk/reply-runtime.js"},"./plugin-sdk/reply-dedupe":{"types":"./dist/plugin-sdk/reply-dedupe.d.ts","default":"./dist/plugin-sdk/reply-dedupe.js"},"./plugin-sdk/reply-dispatch-runtime":{"types":"./dist/plugin-sdk/reply-dispatch-runtime.d.ts","default":"./dist/plugin-sdk/reply-dispatch-runtime.js"},"./plugin-sdk/reply-reference":{"types":"./dist/plugin-sdk/reply-reference.d.ts","default":"./dist/plugin-sdk/reply-reference.js"},"./plugin-sdk/reply-chunking":{"types":"./dist/plugin-sdk/reply-chunking.d.ts","default":"./dist/plugin-sdk/reply-chunking.js"},"./plugin-sdk/reply-payload":{"types":"./dist/plugin-sdk/reply-payload.d.ts","default":"./dist/plugin-sdk/reply-payload.js"},"./plugin-sdk/agent-media-payload":{"types":"./dist/plugin-sdk/agent-media-payload.d.ts","default":"./dist/plugin-sdk/agent-media-payload.js"},"./plugin-sdk/inbound-reply-dispatch":{"types":"./dist/plugin-sdk/inbound-reply-dispatch.d.ts","default":"./dist/plugin-sdk/inbound-reply-dispatch.js"},"./plugin-sdk/inbound-envelope":{"types":"./dist/plugin-sdk/inbound-envelope.d.ts","default":"./dist/plugin-sdk/inbound-envelope.js"},"./plugin-sdk/channel-reply-pipeline":{"types":"./dist/plugin-sdk/channel-reply-pipeline.d.ts","default":"./dist/plugin-sdk/channel-reply-pipeline.js"},"./plugin-sdk/channel-reply-options-runtime":{"types":"./dist/plugin-sdk/channel-reply-options-runtime.d.ts","default":"./dist/plugin-sdk/channel-reply-options-runtime.js"},"./plugin-sdk/channel-runtime":{"types":"./dist/plugin-sdk/channel-runtime.d.ts","default":"./dist/plugin-sdk/channel-runtime.js"},"./plugin-sdk/interactive-runtime":{"types":"./dist/plugin-sdk/interactive-runtime.d.ts","default":"./dist/plugin-sdk/interactive-runtime.js"},"./plugin-sdk/outbound-media":{"types":"./dist/plugin-sdk/outbound-media.d.ts","default":"./dist/plugin-sdk/outbound-media.js"},"./plugin-sdk/outbound-send-deps":{"types":"./dist/plugin-sdk/outbound-send-deps.d.ts","default":"./dist/plugin-sdk/outbound-send-deps.js"},"./plugin-sdk/outbound-runtime":{"types":"./dist/plugin-sdk/outbound-runtime.d.ts","default":"./dist/plugin-sdk/outbound-runtime.js"},"./plugin-sdk/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/poll-runtime":{"types":"./dist/plugin-sdk/poll-runtime.d.ts","default":"./dist/plugin-sdk/poll-runtime.js"},"./plugin-sdk/async-lock-runtime":{"types":"./dist/plugin-sdk/async-lock-runtime.d.ts","default":"./dist/plugin-sdk/async-lock-runtime.js"},"./plugin-sdk/channel-activity-runtime":{"types":"./dist/plugin-sdk/channel-activity-runtime.d.ts","default":"./dist/plugin-sdk/channel-activity-runtime.js"},"./plugin-sdk/concurrency-runtime":{"types":"./dist/plugin-sdk/concurrency-runtime.d.ts","default":"./dist/plugin-sdk/concurrency-runtime.js"},"./plugin-sdk/dedupe-runtime":{"types":"./dist/plugin-sdk/dedupe-runtime.d.ts","default":"./dist/plugin-sdk/dedupe-runtime.js"},"./plugin-sdk/delivery-queue-runtime":{"types":"./dist/plugin-sdk/delivery-queue-runtime.d.ts","default":"./dist/plugin-sdk/delivery-queue-runtime.js"},"./plugin-sdk/file-access-runtime":{"types":"./dist/plugin-sdk/file-access-runtime.d.ts","default":"./dist/plugin-sdk/file-access-runtime.js"},"./plugin-sdk/heartbeat-runtime":{"types":"./dist/plugin-sdk/heartbeat-runtime.d.ts","default":"./dist/plugin-sdk/heartbeat-runtime.js"},"./plugin-sdk/number-runtime":{"types":"./dist/plugin-sdk/number-runtime.d.ts","default":"./dist/plugin-sdk/number-runtime.js"},"./plugin-sdk/secure-random-runtime":{"types":"./dist/plugin-sdk/secure-random-runtime.d.ts","default":"./dist/plugin-sdk/secure-random-runtime.js"},"./plugin-sdk/system-event-runtime":{"types":"./dist/plugin-sdk/system-event-runtime.d.ts","default":"./dist/plugin-sdk/system-event-runtime.js"},"./plugin-sdk/transport-ready-runtime":{"types":"./dist/plugin-sdk/transport-ready-runtime.d.ts","default":"./dist/plugin-sdk/transport-ready-runtime.js"},"./plugin-sdk/exec-approvals-runtime":{"types":"./dist/plugin-sdk/exec-approvals-runtime.d.ts","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":{"types":"./dist/plugin-sdk/talk-config-runtime.d.ts","default":"./dist/plugin-sdk/talk-config-runtime.js"},"./plugin-sdk/ssrf-policy":{"types":"./dist/plugin-sdk/ssrf-policy.d.ts","default":"./dist/plugin-sdk/ssrf-policy.js"},"./plugin-sdk/ssrf-runtime":{"types":"./dist/plugin-sdk/ssrf-runtime.d.ts","default":"./dist/plugin-sdk/ssrf-runtime.js"},"./plugin-sdk/media-runtime":{"types":"./dist/plugin-sdk/media-runtime.d.ts","default":"./dist/plugin-sdk/media-runtime.js"},"./plugin-sdk/media-store":{"types":"./dist/plugin-sdk/media-store.d.ts","default":"./dist/plugin-sdk/media-store.js"},"./plugin-sdk/media-mime":{"types":"./dist/plugin-sdk/media-mime.d.ts","default":"./dist/plugin-sdk/media-mime.js"},"./plugin-sdk/embedding-providers":{"types":"./dist/plugin-sdk/embedding-providers.d.ts","default":"./dist/plugin-sdk/embedding-providers.js"},"./plugin-sdk/media-generation-runtime":{"types":"./dist/plugin-sdk/media-generation-runtime.d.ts","default":"./dist/plugin-sdk/media-generation-runtime.js"},"./plugin-sdk/conversation-binding-runtime":{"types":"./dist/plugin-sdk/conversation-binding-runtime.d.ts","default":"./dist/plugin-sdk/conversation-binding-runtime.js"},"./plugin-sdk/conversation-runtime":{"types":"./dist/plugin-sdk/conversation-runtime.d.ts","default":"./dist/plugin-sdk/conversation-runtime.js"},"./plugin-sdk/thread-bindings-runtime":{"types":"./dist/plugin-sdk/thread-bindings-runtime.d.ts","default":"./dist/plugin-sdk/thread-bindings-runtime.js"},"./plugin-sdk/thread-bindings-session-runtime":{"types":"./dist/plugin-sdk/thread-bindings-session-runtime.d.ts","default":"./dist/plugin-sdk/thread-bindings-session-runtime.js"},"./plugin-sdk/text-runtime":{"types":"./dist/plugin-sdk/text-runtime.d.ts","default":"./dist/plugin-sdk/text-runtime.js"},"./plugin-sdk/text-chunking":{"types":"./dist/plugin-sdk/text-chunking.d.ts","default":"./dist/plugin-sdk/text-chunking.js"},"./plugin-sdk/agent-runtime":{"types":"./dist/plugin-sdk/agent-runtime.d.ts","default":"./dist/plugin-sdk/agent-runtime.js"},"./plugin-sdk/simple-completion-runtime":{"types":"./dist/plugin-sdk/simple-completion-runtime.d.ts","default":"./dist/plugin-sdk/simple-completion-runtime.js"},"./plugin-sdk/speech-core":{"types":"./dist/plugin-sdk/speech-core.d.ts","default":"./dist/plugin-sdk/speech-core.js"},"./plugin-sdk/tts-runtime":{"types":"./dist/plugin-sdk/tts-runtime.d.ts","default":"./dist/plugin-sdk/tts-runtime.js"},"./plugin-sdk/plugin-runtime":{"types":"./dist/plugin-sdk/plugin-runtime.d.ts","default":"./dist/plugin-sdk/plugin-runtime.js"},"./plugin-sdk/skills-runtime":{"types":"./dist/plugin-sdk/skills-runtime.d.ts","default":"./dist/plugin-sdk/skills-runtime.js"},"./plugin-sdk/channel-secret-basic-runtime":{"types":"./dist/plugin-sdk/channel-secret-basic-runtime.d.ts","default":"./dist/plugin-sdk/channel-secret-basic-runtime.js"},"./plugin-sdk/channel-secret-runtime":{"types":"./dist/plugin-sdk/channel-secret-runtime.d.ts","default":"./dist/plugin-sdk/channel-secret-runtime.js"},"./plugin-sdk/channel-secret-tts-runtime":{"types":"./dist/plugin-sdk/channel-secret-tts-runtime.d.ts","default":"./dist/plugin-sdk/channel-secret-tts-runtime.js"},"./plugin-sdk/secret-ref-runtime":{"types":"./dist/plugin-sdk/secret-ref-runtime.d.ts","default":"./dist/plugin-sdk/secret-ref-runtime.js"},"./plugin-sdk/secret-file-runtime":{"types":"./dist/plugin-sdk/secret-file-runtime.d.ts","default":"./dist/plugin-sdk/secret-file-runtime.js"},"./plugin-sdk/security-runtime":{"types":"./dist/plugin-sdk/security-runtime.d.ts","default":"./dist/plugin-sdk/security-runtime.js"},"./plugin-sdk/gateway-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-runtime":{"types":"./dist/plugin-sdk/cli-runtime.d.ts","default":"./dist/plugin-sdk/cli-runtime.js"},"./plugin-sdk/cli-backend":{"types":"./dist/plugin-sdk/cli-backend.d.ts","default":"./dist/plugin-sdk/cli-backend.js"},"./plugin-sdk/codex-mcp-projection":{"types":"./dist/plugin-sdk/codex-mcp-projection.d.ts","default":"./dist/plugin-sdk/codex-mcp-projection.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":{"types":"./dist/plugin-sdk/agent-harness.d.ts","default":"./dist/plugin-sdk/agent-harness.js"},"./plugin-sdk/agent-harness-runtime":{"types":"./dist/plugin-sdk/agent-harness-runtime.d.ts","default":"./dist/plugin-sdk/agent-harness-runtime.js"},"./plugin-sdk/hook-runtime":{"types":"./dist/plugin-sdk/hook-runtime.d.ts","default":"./dist/plugin-sdk/hook-runtime.js"},"./plugin-sdk/host-runtime":{"types":"./dist/plugin-sdk/host-runtime.d.ts","default":"./dist/plugin-sdk/host-runtime.js"},"./plugin-sdk/types":{"types":"./dist/plugin-sdk/types.d.ts","default":"./dist/plugin-sdk/types.js"},"./plugin-sdk/process-runtime":{"types":"./dist/plugin-sdk/process-runtime.d.ts","default":"./dist/plugin-sdk/process-runtime.js"},"./plugin-sdk/windows-spawn":{"types":"./dist/plugin-sdk/windows-spawn.d.ts","default":"./dist/plugin-sdk/windows-spawn.js"},"./plugin-sdk/acp-runtime":{"types":"./dist/plugin-sdk/acp-runtime.d.ts","default":"./dist/plugin-sdk/acp-runtime.js"},"./plugin-sdk/acp-runtime-backend":{"types":"./dist/plugin-sdk/acp-runtime-backend.d.ts","default":"./dist/plugin-sdk/acp-runtime-backend.js"},"./plugin-sdk/acp-binding-runtime":{"types":"./dist/plugin-sdk/acp-binding-runtime.d.ts","default":"./dist/plugin-sdk/acp-binding-runtime.js"},"./plugin-sdk/acp-binding-resolve-runtime":{"types":"./dist/plugin-sdk/acp-binding-resolve-runtime.d.ts","default":"./dist/plugin-sdk/acp-binding-resolve-runtime.js"},"./plugin-sdk/lazy-runtime":{"types":"./dist/plugin-sdk/lazy-runtime.d.ts","default":"./dist/plugin-sdk/lazy-runtime.js"},"./plugin-sdk/temp-path":{"types":"./dist/plugin-sdk/temp-path.d.ts","default":"./dist/plugin-sdk/temp-path.js"},"./plugin-sdk/time-runtime":{"types":"./dist/plugin-sdk/time-runtime.d.ts","default":"./dist/plugin-sdk/time-runtime.js"},"./plugin-sdk/logging-core":{"types":"./dist/plugin-sdk/logging-core.d.ts","default":"./dist/plugin-sdk/logging-core.js"},"./plugin-sdk/migration":{"types":"./dist/plugin-sdk/migration.d.ts","default":"./dist/plugin-sdk/migration.js"},"./plugin-sdk/migration-runtime":{"types":"./dist/plugin-sdk/migration-runtime.d.ts","default":"./dist/plugin-sdk/migration-runtime.js"},"./plugin-sdk/plugin-state-runtime":{"types":"./dist/plugin-sdk/plugin-state-runtime.d.ts","default":"./dist/plugin-sdk/plugin-state-runtime.js"},"./plugin-sdk/markdown-table-runtime":{"types":"./dist/plugin-sdk/markdown-table-runtime.d.ts","default":"./dist/plugin-sdk/markdown-table-runtime.js"},"./plugin-sdk/account-helpers":{"types":"./dist/plugin-sdk/account-helpers.d.ts","default":"./dist/plugin-sdk/account-helpers.js"},"./plugin-sdk/account-core":{"types":"./dist/plugin-sdk/account-core.d.ts","default":"./dist/plugin-sdk/account-core.js"},"./plugin-sdk/account-id":{"types":"./dist/plugin-sdk/account-id.d.ts","default":"./dist/plugin-sdk/account-id.js"},"./plugin-sdk/account-resolution":{"types":"./dist/plugin-sdk/account-resolution.d.ts","default":"./dist/plugin-sdk/account-resolution.js"},"./plugin-sdk/account-resolution-runtime":{"types":"./dist/plugin-sdk/account-resolution-runtime.d.ts","default":"./dist/plugin-sdk/account-resolution-runtime.js"},"./plugin-sdk/agent-config-primitives":{"types":"./dist/plugin-sdk/agent-config-primitives.d.ts","default":"./dist/plugin-sdk/agent-config-primitives.js"},"./plugin-sdk/access-groups":{"types":"./dist/plugin-sdk/access-groups.d.ts","default":"./dist/plugin-sdk/access-groups.js"},"./plugin-sdk/allow-from":{"types":"./dist/plugin-sdk/allow-from.d.ts","default":"./dist/plugin-sdk/allow-from.js"},"./plugin-sdk/allowlist-config-edit":{"types":"./dist/plugin-sdk/allowlist-config-edit.d.ts","default":"./dist/plugin-sdk/allowlist-config-edit.js"},"./plugin-sdk/browser-config":{"types":"./dist/plugin-sdk/browser-config.d.ts","default":"./dist/plugin-sdk/browser-config.js"},"./plugin-sdk/boolean-param":{"types":"./dist/plugin-sdk/boolean-param.d.ts","default":"./dist/plugin-sdk/boolean-param.js"},"./plugin-sdk/dangerous-name-runtime":{"types":"./dist/plugin-sdk/dangerous-name-runtime.d.ts","default":"./dist/plugin-sdk/dangerous-name-runtime.js"},"./plugin-sdk/command-auth":{"types":"./dist/plugin-sdk/command-auth.d.ts","default":"./dist/plugin-sdk/command-auth.js"},"./plugin-sdk/command-auth-native":{"types":"./dist/plugin-sdk/command-auth-native.d.ts","default":"./dist/plugin-sdk/command-auth-native.js"},"./plugin-sdk/command-gating":{"types":"./dist/plugin-sdk/command-gating.d.ts","default":"./dist/plugin-sdk/command-gating.js"},"./plugin-sdk/command-primitives-runtime":{"types":"./dist/plugin-sdk/command-primitives-runtime.d.ts","default":"./dist/plugin-sdk/command-primitives-runtime.js"},"./plugin-sdk/command-status":{"types":"./dist/plugin-sdk/command-status.d.ts","default":"./dist/plugin-sdk/command-status.js"},"./plugin-sdk/command-status-runtime":{"types":"./dist/plugin-sdk/command-status-runtime.d.ts","default":"./dist/plugin-sdk/command-status-runtime.js"},"./plugin-sdk/command-detection":{"types":"./dist/plugin-sdk/command-detection.d.ts","default":"./dist/plugin-sdk/command-detection.js"},"./plugin-sdk/command-surface":{"types":"./dist/plugin-sdk/command-surface.d.ts","default":"./dist/plugin-sdk/command-surface.js"},"./plugin-sdk/collection-runtime":{"types":"./dist/plugin-sdk/collection-runtime.d.ts","default":"./dist/plugin-sdk/collection-runtime.js"},"./plugin-sdk/compat":{"types":"./dist/plugin-sdk/compat.d.ts","default":"./dist/plugin-sdk/compat.js"},"./plugin-sdk/direct-dm":{"types":"./dist/plugin-sdk/direct-dm.d.ts","default":"./dist/plugin-sdk/direct-dm.js"},"./plugin-sdk/direct-dm-access":{"types":"./dist/plugin-sdk/direct-dm-access.d.ts","default":"./dist/plugin-sdk/direct-dm-access.js"},"./plugin-sdk/direct-dm-guard-policy":{"types":"./dist/plugin-sdk/direct-dm-guard-policy.d.ts","default":"./dist/plugin-sdk/direct-dm-guard-policy.js"},"./plugin-sdk/discord":{"types":"./dist/plugin-sdk/discord.d.ts","default":"./dist/plugin-sdk/discord.js"},"./plugin-sdk/mattermost":{"types":"./dist/plugin-sdk/mattermost.d.ts","default":"./dist/plugin-sdk/mattermost.js"},"./plugin-sdk/matrix":{"types":"./dist/plugin-sdk/matrix.d.ts","default":"./dist/plugin-sdk/matrix.js"},"./plugin-sdk/device-bootstrap":{"types":"./dist/plugin-sdk/device-bootstrap.d.ts","default":"./dist/plugin-sdk/device-bootstrap.js"},"./plugin-sdk/diagnostic-runtime":{"types":"./dist/plugin-sdk/diagnostic-runtime.d.ts","default":"./dist/plugin-sdk/diagnostic-runtime.js"},"./plugin-sdk/error-runtime":{"types":"./dist/plugin-sdk/error-runtime.d.ts","default":"./dist/plugin-sdk/error-runtime.js"},"./plugin-sdk/extension-shared":{"types":"./dist/plugin-sdk/extension-shared.d.ts","default":"./dist/plugin-sdk/extension-shared.js"},"./plugin-sdk/channel-config-helpers":{"types":"./dist/plugin-sdk/channel-config-helpers.d.ts","default":"./dist/plugin-sdk/channel-config-helpers.js"},"./plugin-sdk/channel-config-writes":{"types":"./dist/plugin-sdk/channel-config-writes.d.ts","default":"./dist/plugin-sdk/channel-config-writes.js"},"./plugin-sdk/channel-config-primitives":{"types":"./dist/plugin-sdk/channel-config-primitives.d.ts","default":"./dist/plugin-sdk/channel-config-primitives.js"},"./plugin-sdk/channel-config-schema":{"types":"./dist/plugin-sdk/channel-config-schema.d.ts","default":"./dist/plugin-sdk/channel-config-schema.js"},"./plugin-sdk/bundled-channel-config-schema":{"types":"./dist/plugin-sdk/bundled-channel-config-schema.d.ts","default":"./dist/plugin-sdk/bundled-channel-config-schema.js"},"./plugin-sdk/channel-config-schema-legacy":{"types":"./dist/plugin-sdk/channel-config-schema-legacy.d.ts","default":"./dist/plugin-sdk/channel-config-schema-legacy.js"},"./plugin-sdk/channel-actions":{"types":"./dist/plugin-sdk/channel-actions.d.ts","default":"./dist/plugin-sdk/channel-actions.js"},"./plugin-sdk/channel-plugin-common":{"types":"./dist/plugin-sdk/channel-plugin-common.d.ts","default":"./dist/plugin-sdk/channel-plugin-common.js"},"./plugin-sdk/channel-core":{"types":"./dist/plugin-sdk/channel-core.d.ts","default":"./dist/plugin-sdk/channel-core.js"},"./plugin-sdk/channel-entry-contract":{"types":"./dist/plugin-sdk/channel-entry-contract.d.ts","default":"./dist/plugin-sdk/channel-entry-contract.js"},"./plugin-sdk/channel-contract":{"types":"./dist/plugin-sdk/channel-contract.d.ts","default":"./dist/plugin-sdk/channel-contract.js"},"./plugin-sdk/channel-envelope":{"types":"./dist/plugin-sdk/channel-envelope.d.ts","default":"./dist/plugin-sdk/channel-envelope.js"},"./plugin-sdk/channel-feedback":{"types":"./dist/plugin-sdk/channel-feedback.d.ts","default":"./dist/plugin-sdk/channel-feedback.js"},"./plugin-sdk/channel-inbound":{"types":"./dist/plugin-sdk/channel-inbound.d.ts","default":"./dist/plugin-sdk/channel-inbound.js"},"./plugin-sdk/channel-inbound-debounce":{"types":"./dist/plugin-sdk/channel-inbound-debounce.d.ts","default":"./dist/plugin-sdk/channel-inbound-debounce.js"},"./plugin-sdk/channel-inbound-roots":{"types":"./dist/plugin-sdk/channel-inbound-roots.d.ts","default":"./dist/plugin-sdk/channel-inbound-roots.js"},"./plugin-sdk/channel-logging":{"types":"./dist/plugin-sdk/channel-logging.d.ts","default":"./dist/plugin-sdk/channel-logging.js"},"./plugin-sdk/channel-location":{"types":"./dist/plugin-sdk/channel-location.d.ts","default":"./dist/plugin-sdk/channel-location.js"},"./plugin-sdk/channel-mention-gating":{"types":"./dist/plugin-sdk/channel-mention-gating.d.ts","default":"./dist/plugin-sdk/channel-mention-gating.js"},"./plugin-sdk/channel-lifecycle":{"types":"./dist/plugin-sdk/channel-lifecycle.d.ts","default":"./dist/plugin-sdk/channel-lifecycle.js"},"./plugin-sdk/channel-ingress":{"types":"./dist/plugin-sdk/channel-ingress.d.ts","default":"./dist/plugin-sdk/channel-ingress.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-message-runtime":{"types":"./dist/plugin-sdk/channel-message-runtime.d.ts","default":"./dist/plugin-sdk/channel-message-runtime.js"},"./plugin-sdk/channel-outbound":{"types":"./dist/plugin-sdk/channel-outbound.d.ts","default":"./dist/plugin-sdk/channel-outbound.js"},"./plugin-sdk/channel-pairing":{"types":"./dist/plugin-sdk/channel-pairing.d.ts","default":"./dist/plugin-sdk/channel-pairing.js"},"./plugin-sdk/channel-pairing-paths":{"types":"./dist/plugin-sdk/channel-pairing-paths.d.ts","default":"./dist/plugin-sdk/channel-pairing-paths.js"},"./plugin-sdk/channel-policy":{"types":"./dist/plugin-sdk/channel-policy.d.ts","default":"./dist/plugin-sdk/channel-policy.js"},"./plugin-sdk/channel-send-result":{"types":"./dist/plugin-sdk/channel-send-result.d.ts","default":"./dist/plugin-sdk/channel-send-result.js"},"./plugin-sdk/channel-route":{"types":"./dist/plugin-sdk/channel-route.d.ts","default":"./dist/plugin-sdk/channel-route.js"},"./plugin-sdk/channel-targets":{"types":"./dist/plugin-sdk/channel-targets.d.ts","default":"./dist/plugin-sdk/channel-targets.js"},"./plugin-sdk/context-visibility-runtime":{"types":"./dist/plugin-sdk/context-visibility-runtime.d.ts","default":"./dist/plugin-sdk/context-visibility-runtime.js"},"./plugin-sdk/file-lock":{"types":"./dist/plugin-sdk/file-lock.d.ts","default":"./dist/plugin-sdk/file-lock.js"},"./plugin-sdk/fetch-runtime":{"types":"./dist/plugin-sdk/fetch-runtime.d.ts","default":"./dist/plugin-sdk/fetch-runtime.js"},"./plugin-sdk/runtime-fetch":{"types":"./dist/plugin-sdk/runtime-fetch.d.ts","default":"./dist/plugin-sdk/runtime-fetch.js"},"./plugin-sdk/response-limit-runtime":{"types":"./dist/plugin-sdk/response-limit-runtime.d.ts","default":"./dist/plugin-sdk/response-limit-runtime.js"},"./plugin-sdk/session-binding-runtime":{"types":"./dist/plugin-sdk/session-binding-runtime.d.ts","default":"./dist/plugin-sdk/session-binding-runtime.js"},"./plugin-sdk/session-key-runtime":{"types":"./dist/plugin-sdk/session-key-runtime.d.ts","default":"./dist/plugin-sdk/session-key-runtime.js"},"./plugin-sdk/session-store-runtime":{"types":"./dist/plugin-sdk/session-store-runtime.d.ts","default":"./dist/plugin-sdk/session-store-runtime.js"},"./plugin-sdk/session-transcript-hit":{"types":"./dist/plugin-sdk/session-transcript-hit.d.ts","default":"./dist/plugin-sdk/session-transcript-hit.js"},"./plugin-sdk/session-visibility":{"types":"./dist/plugin-sdk/session-visibility.d.ts","default":"./dist/plugin-sdk/session-visibility.js"},"./plugin-sdk/ssrf-dispatcher":{"types":"./dist/plugin-sdk/ssrf-dispatcher.d.ts","default":"./dist/plugin-sdk/ssrf-dispatcher.js"},"./plugin-sdk/string-coerce-runtime":{"types":"./dist/plugin-sdk/string-coerce-runtime.d.ts","default":"./dist/plugin-sdk/string-coerce-runtime.js"},"./plugin-sdk/group-activation":{"types":"./dist/plugin-sdk/group-activation.d.ts","default":"./dist/plugin-sdk/group-activation.js"},"./plugin-sdk/group-access":{"types":"./dist/plugin-sdk/group-access.d.ts","default":"./dist/plugin-sdk/group-access.js"},"./plugin-sdk/global-singleton":{"types":"./dist/plugin-sdk/global-singleton.d.ts","default":"./dist/plugin-sdk/global-singleton.js"},"./plugin-sdk/directory-config-runtime":{"types":"./dist/plugin-sdk/directory-config-runtime.d.ts","default":"./dist/plugin-sdk/directory-config-runtime.js"},"./plugin-sdk/directory-runtime":{"types":"./dist/plugin-sdk/directory-runtime.d.ts","default":"./dist/plugin-sdk/directory-runtime.js"},"./plugin-sdk/media-generation-runtime-shared":{"types":"./dist/plugin-sdk/media-generation-runtime-shared.d.ts","default":"./dist/plugin-sdk/media-generation-runtime-shared.js"},"./plugin-sdk/image-generation":{"types":"./dist/plugin-sdk/image-generation.d.ts","default":"./dist/plugin-sdk/image-generation.js"},"./plugin-sdk/image-generation-runtime":{"types":"./dist/plugin-sdk/image-generation-runtime.d.ts","default":"./dist/plugin-sdk/image-generation-runtime.js"},"./plugin-sdk/image-generation-core":{"types":"./dist/plugin-sdk/image-generation-core.d.ts","default":"./dist/plugin-sdk/image-generation-core.js"},"./plugin-sdk/music-generation":{"types":"./dist/plugin-sdk/music-generation.d.ts","default":"./dist/plugin-sdk/music-generation.js"},"./plugin-sdk/music-generation-core":{"types":"./dist/plugin-sdk/music-generation-core.d.ts","default":"./dist/plugin-sdk/music-generation-core.js"},"./plugin-sdk/video-generation":{"types":"./dist/plugin-sdk/video-generation.d.ts","default":"./dist/plugin-sdk/video-generation.js"},"./plugin-sdk/video-generation-runtime":{"types":"./dist/plugin-sdk/video-generation-runtime.d.ts","default":"./dist/plugin-sdk/video-generation-runtime.js"},"./plugin-sdk/video-generation-core":{"types":"./dist/plugin-sdk/video-generation-core.d.ts","default":"./dist/plugin-sdk/video-generation-core.js"},"./plugin-sdk/reply-history":{"types":"./dist/plugin-sdk/reply-history.d.ts","default":"./dist/plugin-sdk/reply-history.js"},"./plugin-sdk/realtime-transcription":{"types":"./dist/plugin-sdk/realtime-transcription.d.ts","default":"./dist/plugin-sdk/realtime-transcription.js"},"./plugin-sdk/realtime-bootstrap-context":{"types":"./dist/plugin-sdk/realtime-bootstrap-context.d.ts","default":"./dist/plugin-sdk/realtime-bootstrap-context.js"},"./plugin-sdk/realtime-voice":{"types":"./dist/plugin-sdk/realtime-voice.d.ts","default":"./dist/plugin-sdk/realtime-voice.js"},"./plugin-sdk/transcripts":{"types":"./dist/plugin-sdk/transcripts.d.ts","default":"./dist/plugin-sdk/transcripts.js"},"./plugin-sdk/media-understanding":{"types":"./dist/plugin-sdk/media-understanding.d.ts","default":"./dist/plugin-sdk/media-understanding.js"},"./plugin-sdk/media-understanding-runtime":{"types":"./dist/plugin-sdk/media-understanding-runtime.d.ts","default":"./dist/plugin-sdk/media-understanding-runtime.js"},"./plugin-sdk/messaging-targets":{"types":"./dist/plugin-sdk/messaging-targets.d.ts","default":"./dist/plugin-sdk/messaging-targets.js"},"./plugin-sdk/request-url":{"types":"./dist/plugin-sdk/request-url.d.ts","default":"./dist/plugin-sdk/request-url.js"},"./plugin-sdk/runtime-store":{"types":"./dist/plugin-sdk/runtime-store.d.ts","default":"./dist/plugin-sdk/runtime-store.js"},"./plugin-sdk/json-store":{"types":"./dist/plugin-sdk/json-store.d.ts","default":"./dist/plugin-sdk/json-store.js"},"./plugin-sdk/persistent-dedupe":{"types":"./dist/plugin-sdk/persistent-dedupe.d.ts","default":"./dist/plugin-sdk/persistent-dedupe.js"},"./plugin-sdk/keyed-async-queue":{"types":"./dist/plugin-sdk/keyed-async-queue.d.ts","default":"./dist/plugin-sdk/keyed-async-queue.js"},"./plugin-sdk/qa-runner-runtime":{"types":"./dist/plugin-sdk/qa-runner-runtime.d.ts","default":"./dist/plugin-sdk/qa-runner-runtime.js"},"./plugin-sdk/memory-core":{"types":"./dist/plugin-sdk/memory-core.d.ts","default":"./dist/plugin-sdk/memory-core.js"},"./plugin-sdk/memory-core-engine-runtime":{"types":"./dist/plugin-sdk/memory-core-engine-runtime.d.ts","default":"./dist/plugin-sdk/memory-core-engine-runtime.js"},"./plugin-sdk/memory-core-host-engine-embeddings":{"types":"./dist/plugin-sdk/memory-core-host-engine-embeddings.d.ts","default":"./dist/plugin-sdk/memory-core-host-engine-embeddings.js"},"./plugin-sdk/memory-core-host-engine-foundation":{"types":"./dist/plugin-sdk/memory-core-host-engine-foundation.d.ts","default":"./dist/plugin-sdk/memory-core-host-engine-foundation.js"},"./plugin-sdk/memory-core-host-engine-qmd":{"types":"./dist/plugin-sdk/memory-core-host-engine-qmd.d.ts","default":"./dist/plugin-sdk/memory-core-host-engine-qmd.js"},"./plugin-sdk/memory-core-host-engine-storage":{"types":"./dist/plugin-sdk/memory-core-host-engine-storage.d.ts","default":"./dist/plugin-sdk/memory-core-host-engine-storage.js"},"./plugin-sdk/memory-core-host-multimodal":{"types":"./dist/plugin-sdk/memory-core-host-multimodal.d.ts","default":"./dist/plugin-sdk/memory-core-host-multimodal.js"},"./plugin-sdk/memory-core-host-query":{"types":"./dist/plugin-sdk/memory-core-host-query.d.ts","default":"./dist/plugin-sdk/memory-core-host-query.js"},"./plugin-sdk/memory-core-host-secret":{"types":"./dist/plugin-sdk/memory-core-host-secret.d.ts","default":"./dist/plugin-sdk/memory-core-host-secret.js"},"./plugin-sdk/memory-core-host-events":{"types":"./dist/plugin-sdk/memory-core-host-events.d.ts","default":"./dist/plugin-sdk/memory-core-host-events.js"},"./plugin-sdk/memory-core-host-status":{"types":"./dist/plugin-sdk/memory-core-host-status.d.ts","default":"./dist/plugin-sdk/memory-core-host-status.js"},"./plugin-sdk/memory-core-host-runtime-cli":{"types":"./dist/plugin-sdk/memory-core-host-runtime-cli.d.ts","default":"./dist/plugin-sdk/memory-core-host-runtime-cli.js"},"./plugin-sdk/memory-core-host-runtime-core":{"types":"./dist/plugin-sdk/memory-core-host-runtime-core.d.ts","default":"./dist/plugin-sdk/memory-core-host-runtime-core.js"},"./plugin-sdk/memory-core-host-runtime-files":{"types":"./dist/plugin-sdk/memory-core-host-runtime-files.d.ts","default":"./dist/plugin-sdk/memory-core-host-runtime-files.js"},"./plugin-sdk/memory-host-core":{"types":"./dist/plugin-sdk/memory-host-core.d.ts","default":"./dist/plugin-sdk/memory-host-core.js"},"./plugin-sdk/memory-host-events":{"types":"./dist/plugin-sdk/memory-host-events.d.ts","default":"./dist/plugin-sdk/memory-host-events.js"},"./plugin-sdk/memory-host-files":{"types":"./dist/plugin-sdk/memory-host-files.d.ts","default":"./dist/plugin-sdk/memory-host-files.js"},"./plugin-sdk/memory-host-markdown":{"types":"./dist/plugin-sdk/memory-host-markdown.d.ts","default":"./dist/plugin-sdk/memory-host-markdown.js"},"./plugin-sdk/memory-host-search":{"types":"./dist/plugin-sdk/memory-host-search.d.ts","default":"./dist/plugin-sdk/memory-host-search.js"},"./plugin-sdk/memory-host-status":{"types":"./dist/plugin-sdk/memory-host-status.d.ts","default":"./dist/plugin-sdk/memory-host-status.js"},"./plugin-sdk/models-provider-runtime":{"types":"./dist/plugin-sdk/models-provider-runtime.d.ts","default":"./dist/plugin-sdk/models-provider-runtime.js"},"./plugin-sdk/skill-commands-runtime":{"types":"./dist/plugin-sdk/skill-commands-runtime.d.ts","default":"./dist/plugin-sdk/skill-commands-runtime.js"},"./plugin-sdk/native-command-config-runtime":{"types":"./dist/plugin-sdk/native-command-config-runtime.d.ts","default":"./dist/plugin-sdk/native-command-config-runtime.js"},"./plugin-sdk/native-command-registry":{"types":"./dist/plugin-sdk/native-command-registry.d.ts","default":"./dist/plugin-sdk/native-command-registry.js"},"./plugin-sdk/provider-auth":{"types":"./dist/plugin-sdk/provider-auth.d.ts","default":"./dist/plugin-sdk/provider-auth.js"},"./plugin-sdk/provider-auth-runtime":{"types":"./dist/plugin-sdk/provider-auth-runtime.d.ts","default":"./dist/plugin-sdk/provider-auth-runtime.js"},"./plugin-sdk/provider-auth-api-key":{"types":"./dist/plugin-sdk/provider-auth-api-key.d.ts","default":"./dist/plugin-sdk/provider-auth-api-key.js"},"./plugin-sdk/provider-auth-result":{"types":"./dist/plugin-sdk/provider-auth-result.d.ts","default":"./dist/plugin-sdk/provider-auth-result.js"},"./plugin-sdk/provider-auth-login":{"types":"./dist/plugin-sdk/provider-auth-login.d.ts","default":"./dist/plugin-sdk/provider-auth-login.js"},"./plugin-sdk/provider-selection-runtime":{"types":"./dist/plugin-sdk/provider-selection-runtime.d.ts","default":"./dist/plugin-sdk/provider-selection-runtime.js"},"./plugin-sdk/plugin-entry":{"types":"./dist/plugin-sdk/plugin-entry.d.ts","default":"./dist/plugin-sdk/plugin-entry.js"},"./plugin-sdk/provider-catalog-runtime":{"types":"./dist/plugin-sdk/provider-catalog-runtime.d.ts","default":"./dist/plugin-sdk/provider-catalog-runtime.js"},"./plugin-sdk/provider-catalog-shared":{"types":"./dist/plugin-sdk/provider-catalog-shared.d.ts","default":"./dist/plugin-sdk/provider-catalog-shared.js"},"./plugin-sdk/provider-entry":{"types":"./dist/plugin-sdk/provider-entry.d.ts","default":"./dist/plugin-sdk/provider-entry.js"},"./plugin-sdk/provider-env-vars":{"types":"./dist/plugin-sdk/provider-env-vars.d.ts","default":"./dist/plugin-sdk/provider-env-vars.js"},"./plugin-sdk/provider-http":{"types":"./dist/plugin-sdk/provider-http.d.ts","default":"./dist/plugin-sdk/provider-http.js"},"./plugin-sdk/provider-model-types":{"types":"./dist/plugin-sdk/provider-model-types.d.ts","default":"./dist/plugin-sdk/provider-model-types.js"},"./plugin-sdk/provider-model-shared":{"types":"./dist/plugin-sdk/provider-model-shared.d.ts","default":"./dist/plugin-sdk/provider-model-shared.js"},"./plugin-sdk/provider-onboard":{"types":"./dist/plugin-sdk/provider-onboard.d.ts","default":"./dist/plugin-sdk/provider-onboard.js"},"./plugin-sdk/provider-stream-family":{"types":"./dist/plugin-sdk/provider-stream-family.d.ts","default":"./dist/plugin-sdk/provider-stream-family.js"},"./plugin-sdk/provider-stream-shared":{"types":"./dist/plugin-sdk/provider-stream-shared.d.ts","default":"./dist/plugin-sdk/provider-stream-shared.js"},"./plugin-sdk/provider-transport-runtime":{"types":"./dist/plugin-sdk/provider-transport-runtime.d.ts","default":"./dist/plugin-sdk/provider-transport-runtime.js"},"./plugin-sdk/provider-stream":{"types":"./dist/plugin-sdk/provider-stream.d.ts","default":"./dist/plugin-sdk/provider-stream.js"},"./plugin-sdk/provider-tools":{"types":"./dist/plugin-sdk/provider-tools.d.ts","default":"./dist/plugin-sdk/provider-tools.js"},"./plugin-sdk/provider-usage":{"types":"./dist/plugin-sdk/provider-usage.d.ts","default":"./dist/plugin-sdk/provider-usage.js"},"./plugin-sdk/document-extractor":{"types":"./dist/plugin-sdk/document-extractor.d.ts","default":"./dist/plugin-sdk/document-extractor.js"},"./plugin-sdk/web-content-extractor":{"types":"./dist/plugin-sdk/web-content-extractor.d.ts","default":"./dist/plugin-sdk/web-content-extractor.js"},"./plugin-sdk/provider-web-fetch-contract":{"types":"./dist/plugin-sdk/provider-web-fetch-contract.d.ts","default":"./dist/plugin-sdk/provider-web-fetch-contract.js"},"./plugin-sdk/provider-web-fetch":{"types":"./dist/plugin-sdk/provider-web-fetch.d.ts","default":"./dist/plugin-sdk/provider-web-fetch.js"},"./plugin-sdk/provider-web-search-config-contract":{"types":"./dist/plugin-sdk/provider-web-search-config-contract.d.ts","default":"./dist/plugin-sdk/provider-web-search-config-contract.js"},"./plugin-sdk/provider-web-search-contract":{"types":"./dist/plugin-sdk/provider-web-search-contract.d.ts","default":"./dist/plugin-sdk/provider-web-search-contract.js"},"./plugin-sdk/provider-web-search":{"types":"./dist/plugin-sdk/provider-web-search.d.ts","default":"./dist/plugin-sdk/provider-web-search.js"},"./plugin-sdk/retry-runtime":{"types":"./dist/plugin-sdk/retry-runtime.d.ts","default":"./dist/plugin-sdk/retry-runtime.js"},"./plugin-sdk/run-command":{"types":"./dist/plugin-sdk/run-command.d.ts","default":"./dist/plugin-sdk/run-command.js"},"./plugin-sdk/param-readers":{"types":"./dist/plugin-sdk/param-readers.d.ts","default":"./dist/plugin-sdk/param-readers.js"},"./plugin-sdk/provider-zai-endpoint":{"types":"./dist/plugin-sdk/provider-zai-endpoint.d.ts","default":"./dist/plugin-sdk/provider-zai-endpoint.js"},"./plugin-sdk/secret-input":{"types":"./dist/plugin-sdk/secret-input.d.ts","default":"./dist/plugin-sdk/secret-input.js"},"./plugin-sdk/secret-input-runtime":{"types":"./dist/plugin-sdk/secret-input-runtime.d.ts","default":"./dist/plugin-sdk/secret-input-runtime.js"},"./plugin-sdk/channel-status":{"types":"./dist/plugin-sdk/channel-status.d.ts","default":"./dist/plugin-sdk/channel-status.js"},"./plugin-sdk/status-helpers":{"types":"./dist/plugin-sdk/status-helpers.d.ts","default":"./dist/plugin-sdk/status-helpers.js"},"./plugin-sdk/speech":{"types":"./dist/plugin-sdk/speech.d.ts","default":"./dist/plugin-sdk/speech.js"},"./plugin-sdk/string-normalization-runtime":{"types":"./dist/plugin-sdk/string-normalization-runtime.d.ts","default":"./dist/plugin-sdk/string-normalization-runtime.js"},"./plugin-sdk/state-paths":{"types":"./dist/plugin-sdk/state-paths.d.ts","default":"./dist/plugin-sdk/state-paths.js"},"./plugin-sdk/target-resolver-runtime":{"types":"./dist/plugin-sdk/target-resolver-runtime.d.ts","default":"./dist/plugin-sdk/target-resolver-runtime.js"},"./plugin-sdk/telegram-account":{"types":"./dist/plugin-sdk/telegram-account.d.ts","default":"./dist/plugin-sdk/telegram-account.js"},"./plugin-sdk/telegram-command-config":{"types":"./dist/plugin-sdk/telegram-command-config.d.ts","default":"./dist/plugin-sdk/telegram-command-config.js"},"./plugin-sdk/text-autolink-runtime":{"types":"./dist/plugin-sdk/text-autolink-runtime.d.ts","default":"./dist/plugin-sdk/text-autolink-runtime.js"},"./plugin-sdk/text-utility-runtime":{"types":"./dist/plugin-sdk/text-utility-runtime.d.ts","default":"./dist/plugin-sdk/text-utility-runtime.js"},"./plugin-sdk/tool-plugin":{"types":"./dist/plugin-sdk/tool-plugin.d.ts","default":"./dist/plugin-sdk/tool-plugin.js"},"./plugin-sdk/tool-payload":{"types":"./dist/plugin-sdk/tool-payload.d.ts","default":"./dist/plugin-sdk/tool-payload.js"},"./plugin-sdk/tool-send":{"types":"./dist/plugin-sdk/tool-send.d.ts","default":"./dist/plugin-sdk/tool-send.js"},"./plugin-sdk/webhook-ingress":{"types":"./dist/plugin-sdk/webhook-ingress.d.ts","default":"./dist/plugin-sdk/webhook-ingress.js"},"./plugin-sdk/webhook-targets":{"types":"./dist/plugin-sdk/webhook-targets.d.ts","default":"./dist/plugin-sdk/webhook-targets.js"},"./plugin-sdk/webhook-request-guards":{"types":"./dist/plugin-sdk/webhook-request-guards.d.ts","default":"./dist/plugin-sdk/webhook-request-guards.js"},"./plugin-sdk/webhook-path":{"types":"./dist/plugin-sdk/webhook-path.d.ts","default":"./dist/plugin-sdk/webhook-path.js"},"./plugin-sdk/web-media":{"types":"./dist/plugin-sdk/web-media.d.ts","default":"./dist/plugin-sdk/web-media.js"},"./plugin-sdk/zalouser":{"types":"./dist/plugin-sdk/zalouser.d.ts","default":"./dist/plugin-sdk/zalouser.js"},"./plugin-sdk/zod":{"types":"./dist/plugin-sdk/zod.d.ts","default":"./dist/plugin-sdk/zod.js"},"./plugin-sdk/agent-core":{"types":"./dist/plugin-sdk/agent-core.d.ts","default":"./dist/plugin-sdk/agent-core.js"},"./plugin-sdk/agent-sessions":{"types":"./dist/plugin-sdk/agent-sessions.d.ts","default":"./dist/plugin-sdk/agent-sessions.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","default":"./dist/plugin-sdk/llm.js"},"./extension-api":"./dist/extensionAPI.js","./cli-entry":"./openclaw.mjs"},"scripts":{"android:assemble":"cd apps/android && ./gradlew :app:assemblePlayDebug","android:assemble:third-party":"cd apps/android && ./gradlew :app:assembleThirdPartyDebug","android:bundle:release":"bun apps/android/scripts/build-release-aab.ts","android:format":"cd apps/android && ./gradlew :app:ktlintFormat :benchmark:ktlintFormat","android:install":"cd apps/android && ./gradlew :app:installPlayDebug","android:install:third-party":"cd apps/android && ./gradlew :app:installThirdPartyDebug","android:lint":"cd apps/android && ./gradlew :app:ktlintCheck :benchmark:ktlintCheck","android:lint:android":"cd apps/android && ./gradlew :app:lintDebug","android:run":"cd apps/android && ./gradlew :app:installPlayDebug && adb shell am start -n ai.openclaw.app/.MainActivity","android:run:third-party":"cd apps/android && ./gradlew :app:installThirdPartyDebug && adb shell am start -n ai.openclaw.app/.MainActivity","android:test":"cd apps/android && ./gradlew :app:testPlayDebugUnitTest","android:test:integration":"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":"cd apps/android && ./gradlew :app:testThirdPartyDebugUnitTest","audit:seams":"node scripts/audit-seams.mjs","build":"node scripts/build-all.mjs","build:ci-artifacts":"node scripts/build-all.mjs ciArtifacts","build:docker":"node scripts/tsdown-build.mjs && node scripts/check-cli-bootstrap-imports.mjs && node scripts/runtime-postbuild.mjs && node scripts/build-stamp.mjs && node scripts/runtime-postbuild-stamp.mjs && pnpm plugins:assets:build && pnpm plugins:assets:copy && node --experimental-strip-types scripts/copy-hook-metadata.ts && node --experimental-strip-types scripts/copy-export-html-templates.ts && node --experimental-strip-types scripts/write-build-info.ts && node --experimental-strip-types scripts/write-cli-startup-metadata.ts && node --experimental-strip-types scripts/write-cli-compat.ts","build:plugin-sdk:dts":"node scripts/run-tsgo.mjs -p tsconfig.plugin-sdk.dts.json --declaration true","build:plugin-sdk:strict-smoke":"pnpm build:plugin-sdk:dts && node --experimental-strip-types scripts/write-plugin-sdk-entry-dts.ts","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 && pnpm build:plugin-sdk:dts && node --experimental-strip-types scripts/write-plugin-sdk-entry-dts.ts && node scripts/check-plugin-sdk-exports.mjs","canvas:a2ui:bundle":"node scripts/bundle-a2ui.mjs","changed:lanes":"node scripts/changed-lanes.mjs","check":"node scripts/check.mjs","check:architecture":"pnpm check:import-cycles && pnpm check:madge-import-cycles && pnpm check:deprecated-api-usage && pnpm check:deprecated-jsdoc","check:base-config-schema":"node --import tsx scripts/generate-base-config-schema.ts --check","check:bundled-channel-config-metadata":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check","check:changed":"node scripts/check-changed.mjs","check:changelog-attributions":"node scripts/check-changelog-attributions.mjs","check:deprecated-api-usage":"node scripts/check-deprecated-api-usage.mjs","check:deprecated-jsdoc":"node scripts/check-deprecated-jsdoc.mjs","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-mdx && pnpm docs:check-i18n-glossary && pnpm docs:check-links","check:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --check","check:import-cycles":"node --import tsx scripts/check-import-cycles.ts","check:loc":"node --import tsx scripts/check-ts-max-loc.ts --max 500","check:madge-import-cycles":"node --import tsx scripts/check-madge-import-cycles.ts","check:media-download-helpers":"node scripts/check-media-download-helper-roundtrip.mjs","check:no-conflict-markers":"node scripts/check-no-conflict-markers.mjs","check:no-runtime-action-load-config":"node scripts/check-no-runtime-action-load-config.mjs","check:opengrep-rule-metadata":"node security/opengrep/check-rule-metadata.mjs","check:runtime-sidecar-loaders":"node --import tsx scripts/check-runtime-sidecar-loaders.mjs","check:static-import-sccs":"pnpm check:madge-import-cycles","check:temp-path-guardrails":"node --import tsx scripts/check-temp-path-guardrails.ts","check:test-types":"pnpm tsgo:test","check:timed":"node scripts/check-timed.mjs","check:timed:all-types":"node scripts/check-timed.mjs --include-test-types","check:timed:architecture":"node scripts/check-timed.mjs --include-architecture","check:workflows":"node scripts/check-workflows.mjs","ci:full-release":"node scripts/full-release-validation-at-sha.mjs","ci:timings":"node scripts/ci-run-timings.mjs --latest-main","ci:timings:recent":"node scripts/ci-run-timings.mjs --recent 10","clean:dist":"node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"","codex-app-server:protocol:check":"node --import tsx scripts/check-codex-app-server-protocol.ts","codex-app-server:protocol:sync":"node --import tsx scripts/sync-codex-app-server-protocol.ts","codex-supervisor:mcp":"node --import tsx extensions/codex-supervisor/src/mcp-serve.ts","config:channels:check":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check","config:channels:gen":"node --import tsx scripts/generate-bundled-channel-config-metadata.ts --write","config:docs:check":"node --import tsx scripts/generate-config-doc-baseline.ts --check","config:docs:gen":"node --import tsx scripts/generate-config-doc-baseline.ts --write","config:schema:check":"node --import tsx scripts/generate-base-config-schema.ts --check","config:schema:gen":"node --import tsx scripts/generate-base-config-schema.ts --write","crabbox:hydrate":"node scripts/crabbox-wrapper.mjs actions hydrate","crabbox:run":"node scripts/crabbox-wrapper.mjs run","crabbox:stop":"node scripts/crabbox-wrapper.mjs stop","crabbox:warmup":"node scripts/crabbox-wrapper.mjs warmup","deadcode:ci":"pnpm deadcode:report:ci:knip && pnpm deadcode:report:ci:ts-unused","deadcode:dependencies":"pnpm --config.minimum-release-age=0 dlx knip@6.8.0 --config config/knip.config.ts --production --no-progress --reporter compact --dependencies --no-config-hints","deadcode:knip":"pnpm dlx knip --config config/knip.config.ts --production --no-progress --reporter compact --files --dependencies","deadcode:report":"pnpm deadcode:knip; pnpm deadcode:ts-prune; pnpm deadcode:ts-unused","deadcode:report:ci:knip":"mkdir -p .artifacts/deadcode && pnpm deadcode:knip > .artifacts/deadcode/knip.txt 2>&1 || true","deadcode:report:ci:ts-prune":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-prune > .artifacts/deadcode/ts-prune.txt 2>&1 || true","deadcode:report:ci:ts-unused":"mkdir -p .artifacts/deadcode && pnpm deadcode:ts-unused > .artifacts/deadcode/ts-unused-exports.txt 2>&1 || true","deadcode:ts-prune":"pnpm dlx ts-prune src extensions scripts","deadcode:ts-unused":"pnpm dlx ts-unused-exports tsconfig.json --ignoreTestFiles --exitWithCount","deadcode:unused-files":"node scripts/check-deadcode-unused-files.mjs","deps:root-ownership":"node scripts/root-dependency-ownership-audit.mjs","deps:root-ownership:check":"node scripts/root-dependency-ownership-audit.mjs --check","deps:changes:report":"node scripts/dependency-changes-report.mjs","deps:patches:check":"node scripts/check-package-patches.mjs","deps:pins:check":"node scripts/check-dependency-pins.mjs","deps:shrinkwrap:check":"node scripts/generate-npm-shrinkwrap.mjs --all --check","deps:shrinkwrap:changed:check":"node scripts/generate-npm-shrinkwrap.mjs --changed --check","deps:shrinkwrap:changed:generate":"node scripts/generate-npm-shrinkwrap.mjs --changed","deps:shrinkwrap:generate":"node scripts/generate-npm-shrinkwrap.mjs --all","deps:shrinkwrap:root:check":"node scripts/generate-npm-shrinkwrap.mjs --check","deps:shrinkwrap:root:generate":"node scripts/generate-npm-shrinkwrap.mjs","deps:ownership-surface:check":"node scripts/dependency-ownership-surface-report.mjs --check","deps:ownership-surface:report":"node scripts/dependency-ownership-surface-report.mjs","deps:transitive-risk:report":"node scripts/transitive-manifest-risk-report.mjs","deps:vuln:gate":"node scripts/dependency-vulnerability-gate.mjs","dev":"node scripts/run-node.mjs","dev:ui:mock":"node --import tsx scripts/control-ui-mock-dev.ts","docs:bin":"node scripts/build-docs-list.mjs","docs:check-i18n-glossary":"node scripts/check-docs-i18n-glossary.mjs","docs:check-links":"node scripts/docs-link-audit.mjs","docs:check-links:anchors":"node scripts/docs-link-audit.mjs --anchors","docs:check-mdx":"node scripts/check-docs-mdx.mjs docs README.md","docs:dev":"cd docs && mint dev","docs:list":"node scripts/docs-list.js","docs:spellcheck":"bash scripts/docs-spellcheck.sh","docs:spellcheck:fix":"bash scripts/docs-spellcheck.sh --write","dup:check":"node scripts/check-duplicates.mjs","dup:check:coverage":"node scripts/check-duplicates.mjs --coverage","dup:check:json":"node scripts/check-duplicates.mjs --json","format":"oxfmt --write --threads=1","format:all":"pnpm format && pnpm format:swift","format:check":"oxfmt --check --threads=1","format:diff":"oxfmt --write --threads=1 && git --no-pager diff","format:docs":"node scripts/format-docs.mjs","format:docs:check":"node scripts/format-docs.mjs --check","format:fix":"oxfmt --write --threads=1","format:swift":"swiftformat --lint --config config/swiftformat --exclude '**/apps/swabble,**/apps/android,**/apps/ios,**/apps/shared,**/OpenClawProtocol,**/HostEnvSecurityPolicy.generated.swift' apps/macos/Sources apps/ios/Sources apps/shared/OpenClawKit/Sources","gateway:dev":"node scripts/run-with-env.mjs OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway","gateway:dev:reset":"node scripts/run-with-env.mjs OPENCLAW_SKIP_CHANNELS=1 -- node scripts/run-node.mjs --dev gateway --reset","gateway:watch":"node scripts/gateway-watch-tmux.mjs gateway --force","gateway:watch:raw":"node scripts/watch-node.mjs gateway --force","gen:host-env-policy:swift":"node scripts/generate-host-env-security-policy-swift.mjs --write","ghsa:patch":"node scripts/ghsa-patch.mjs","ios:beta":"bash scripts/ios-beta-release.sh","ios:beta:archive":"bash scripts/ios-beta-archive.sh","ios:beta:prepare":"bash scripts/ios-beta-prepare.sh","ios:build":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build'","ios:gen":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate'","ios:open":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj'","ios:run":"bash -lc './scripts/ios-configure-signing.sh && ./scripts/ios-write-version-xcconfig.sh && cd apps/ios && xcodegen generate && xcodebuild -project OpenClaw.xcodeproj -scheme OpenClaw -destination \"${IOS_DEST:-platform=iOS Simulator,name=iPhone 17}\" -configuration Debug build && xcrun simctl boot \"${IOS_SIM:-iPhone 17}\" || true && xcrun simctl launch booted ai.openclaw.ios'","ios:version":"node --import tsx scripts/ios-version.ts --json","ios:version:check":"node --import tsx scripts/ios-sync-versioning.ts --check","ios:version:pin":"node --import tsx scripts/ios-pin-version.ts","ios:version:sync":"node --import tsx scripts/ios-sync-versioning.ts --write","leak:embedded-run":"node --import tsx --expose-gc scripts/embedded-run-abort-leak.ts","lint":"node scripts/run-oxlint-shards.mjs","lint:agent:ingress-owner":"node scripts/check-ingress-agent-owner-context.mjs","lint:all":"node scripts/run-oxlint.mjs","lint:apps":"pnpm lint:swift","lint:auth:no-pairing-store-group":"node scripts/check-no-pairing-store-group-auth.mjs","lint:auth:pairing-account-scope":"node scripts/check-pairing-account-scope.mjs","lint:core":"node scripts/run-oxlint-shards.mjs --only=core --split-core","lint:docker-e2e":"node scripts/check-docker-e2e-boundaries.mjs","lint:docs":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc","lint:docs:fix":"pnpm dlx --config.resolution-mode=highest markdownlint-cli2 --config config/markdownlint-cli2.jsonc --fix","lint:extensions:no-deprecated-channel-access":"node --import tsx scripts/check-no-deprecated-channel-access.ts","lint:extensions:telegram-grammy-types":"node scripts/check-telegram-grammy-types-imports.mjs","lint:extensions":"node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.extensions.json extensions","lint:extensions:bundled":"node scripts/run-bundled-extension-oxlint.mjs","lint:extensions:channels":"node scripts/run-extension-channel-oxlint.mjs","lint:extensions:no-guarded-wildcard-reexports":"node scripts/check-extension-wildcard-reexports.mjs","lint:extensions:no-plugin-sdk-internal":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=plugin-sdk-internal","lint:extensions:no-plugin-sdk-wildcard-reexports":"node scripts/check-plugin-sdk-wildcard-reexports.mjs","lint:extensions:no-relative-outside-package":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=relative-outside-package","lint:extensions:no-src-outside-plugin-sdk":"node scripts/check-extension-plugin-sdk-boundary.mjs --mode=src-outside-plugin-sdk","lint:fix":"node scripts/run-oxlint.mjs --fix && pnpm format","lint:plugins:no-extension-imports":"node scripts/check-plugin-extension-import-boundary.mjs","lint:plugins:no-extension-src-imports":"node --import tsx scripts/check-no-extension-src-imports.ts","lint:plugins:no-extension-test-core-imports":"node --import tsx scripts/check-no-extension-test-core-imports.ts","lint:plugins:no-monolithic-plugin-sdk-entry-imports":"node --import tsx scripts/check-no-monolithic-plugin-sdk-entry-imports.ts","lint:plugins:no-register-http-handler":"node scripts/check-no-register-http-handler.mjs","lint:plugins:plugin-sdk-subpaths-exported":"node scripts/check-plugin-sdk-subpath-exports.mjs","lint:scripts":"pnpm lint:docker-e2e && pnpm lint:tmp:no-raw-http2-imports && node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.scripts.json scripts","lint:swift":"swiftlint lint --config config/swiftlint.yml && (cd apps/ios && swiftlint lint --config .swiftlint.yml)","lint:tmp:channel-agnostic-boundaries":"node scripts/check-channel-agnostic-boundaries.mjs","lint:tmp:dynamic-import-warts":"node scripts/check-dynamic-import-warts.mjs","lint:tmp:no-random-messaging":"node scripts/check-no-random-messaging-tmp.mjs","lint:tmp:no-raw-channel-fetch":"node scripts/check-no-raw-channel-fetch.mjs","lint:tmp:no-raw-http2-imports":"node scripts/check-no-raw-http2-imports.mjs","lint:tmp:tsgo-core-boundary":"node scripts/check-tsgo-core-boundary.mjs","lint:ui:no-raw-window-open":"node scripts/check-no-raw-window-open.mjs","lint:web-fetch-provider-boundaries":"node scripts/check-web-fetch-provider-boundaries.mjs","lint:web-search-provider-boundaries":"node scripts/check-web-search-provider-boundaries.mjs","lint:webhook:no-low-level-body-read":"node scripts/check-webhook-auth-body-order.mjs","mac:open":"open dist/OpenClaw.app","mac:package":"bash scripts/package-mac-app.sh","mac:restart":"bash scripts/restart-mac.sh","moltbot:rpc":"node scripts/run-node.mjs agent --mode rpc --json","openclaw":"node scripts/run-node.mjs","openclaw:rpc":"node scripts/run-node.mjs agent --mode rpc --json","perf:issue-78851":"node --import tsx scripts/perf/issue-78851-model-resolution.ts","perf:kova:summary":"node scripts/kova-ci-summary.mjs","perf:source:summary":"node scripts/openclaw-performance-source-summary.mjs","plugin-sdk:api:check":"node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check","plugin-sdk:api:gen":"node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --write","plugin-sdk:check-exports":"node scripts/sync-plugin-sdk-exports.mjs --check","plugin-sdk:surface":"node --max-old-space-size=8192 scripts/plugin-sdk-surface-report.mjs","plugin-sdk:surface:check":"node --max-old-space-size=8192 scripts/plugin-sdk-surface-report.mjs --check","plugin-sdk:sync-exports":"node scripts/sync-plugin-sdk-exports.mjs","plugin-sdk:usage":"node --import tsx scripts/analyze-plugin-sdk-usage.ts","plugins:boundary-report":"node --import tsx scripts/plugin-boundary-report.ts","plugins:boundary-report:ci":"node --import tsx scripts/plugin-boundary-report.ts --summary --fail-on-cross-owner --fail-on-unclassified-unused-reserved --fail-on-eligible-compat","plugins:boundary-report:json":"node --import tsx scripts/plugin-boundary-report.ts --json","plugins:boundary-report:summary":"node --import tsx scripts/plugin-boundary-report.ts --summary","plugins:assets:build":"node scripts/bundled-plugin-assets.mjs --phase build","plugins:assets:copy":"node scripts/bundled-plugin-assets.mjs --phase copy","plugins:inventory:check":"node scripts/generate-plugin-inventory-doc.mjs --check","plugins:inventory:gen":"node scripts/generate-plugin-inventory-doc.mjs --write","plugins:sync":"node --import tsx scripts/sync-plugin-versions.ts","plugins:sync:check":"node --import tsx scripts/sync-plugin-versions.ts --check","postinstall":"node scripts/postinstall-bundled-plugins.mjs","preinstall":"node scripts/preinstall-package-manager-warning.mjs","prepack":"node --import tsx scripts/openclaw-prepack.ts","prepare":"node scripts/prepare-git-hooks.mjs","prepush:ci":"bash scripts/prepush-ci.sh","probe:anthropic:prompt":"node --import tsx scripts/anthropic-prompt-probe.ts","prompt:snapshots:check":"node --import tsx scripts/generate-prompt-snapshots.ts --check","prompt:snapshots:gen":"node --import tsx scripts/generate-prompt-snapshots.ts --write","prompt:snapshots:sync-codex-model":"node --import tsx scripts/sync-codex-model-prompt-fixture.ts","protocol:check":"pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift apps/shared/OpenClawKit/Sources/OpenClawProtocol/GatewayModels.swift","protocol:gen":"node --import tsx scripts/protocol-gen.ts","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","proxy:coverage":"node scripts/run-node.mjs proxy coverage","proxy:gateway":"node scripts/run-node.mjs proxy run -- node scripts/run-node.mjs gateway","proxy:install-ca":"node --import tsx scripts/proxy-install-ca.mjs","proxy:run":"node scripts/run-node.mjs proxy run","proxy:start":"node scripts/run-node.mjs proxy start","qa:e2e":"node --import tsx scripts/qa-e2e.ts","qa:lab:build":"vite build --config extensions/qa-lab/web/vite.config.ts","qa:lab:ui":"pnpm openclaw qa ui","qa:lab:up":"node --import tsx scripts/qa-lab-up.ts","qa:lab:up:fast":"node --import tsx scripts/qa-lab-up.ts --use-prebuilt-image --bind-ui-dist --skip-ui-build","qa:lab:watch":"vite build --watch --config extensions/qa-lab/web/vite.config.ts","qa:observability:collector-smoke":"pnpm qa:otel:collector-smoke && pnpm qa:prometheus:smoke","qa:observability:smoke":"pnpm qa:otel:smoke && pnpm qa:prometheus:smoke","qa:otel:collector-smoke":"node --import tsx scripts/qa-otel-smoke.ts --collector docker","qa:otel:smoke":"node --import tsx scripts/qa-otel-smoke.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 scripts/check-release-metadata-only.mjs","release:beta":"node scripts/release-candidate-checklist.mjs","release:beta-smoke":"node --import tsx scripts/release-beta-smoke.ts","release:candidate":"node scripts/release-candidate-checklist.mjs","release:check":"pnpm release:generated:check && node --import tsx scripts/release-check.ts","release:fast-pretag-check":"bash scripts/release-fast-pretag-check.sh","release:generated:check":"node scripts/release-preflight.mjs --check","release:openclaw:npm:check":"node --import tsx scripts/openclaw-npm-release-check.ts","release:openclaw:npm:verify-published":"node --import tsx scripts/openclaw-npm-postpublish-verify.ts","release:plugins:clawhub:check":"node --import tsx scripts/plugin-clawhub-release-check.ts","release:plugins:clawhub:plan":"node --import tsx scripts/plugin-clawhub-release-plan.ts","release:plugins:npm:check":"node --import tsx scripts/plugin-npm-release-check.ts","release:plugins:npm:plan":"node --import tsx scripts/plugin-npm-release-plan.ts","release:verify-beta":"node --import tsx scripts/release-verify-beta.ts","release:prep":"node scripts/release-preflight.mjs --fix","rtt":"node --import tsx scripts/rtt.ts","runtime-sidecars:check":"node --import tsx scripts/generate-runtime-sidecar-paths-baseline.ts --check","runtime-sidecars:gen":"node --import tsx scripts/generate-runtime-sidecar-paths-baseline.ts --write","start":"node openclaw.mjs","test":"node scripts/test-projects.mjs","test:all":"pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all","test:auth:compat":"node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/server.auth.compat-baseline.test.ts src/gateway/client.test.ts src/gateway/reconnect-gating.test.ts && node scripts/run-vitest.mjs run packages/gateway-protocol/src/connect-error-details.test.ts","test:build:singleton":"node scripts/test-built-plugin-singleton.mjs","test:build:status-message-runtime":"node scripts/test-built-status-message-runtime.mjs","test:bundled":"node scripts/run-vitest.mjs run --config test/vitest/vitest.bundled.config.ts","test:changed":"node scripts/test-projects.mjs --changed origin/main","test:changed:max":"node scripts/test-projects-max.mjs --changed origin/main","test:channels":"node scripts/run-vitest.mjs run --config test/vitest/vitest.channels.config.ts","test:contracts":"pnpm test:contracts:channels && pnpm test:contracts:plugins","test:contracts:channels":"node scripts/test-projects.mjs --maxWorkers=1 test/vitest/vitest.contracts-channel-surface.config.ts test/vitest/vitest.contracts-channel-config.config.ts test/vitest/vitest.contracts-channel-registry.config.ts test/vitest/vitest.contracts-channel-session.config.ts","test:contracts:plugins":"node scripts/run-vitest.mjs run --config test/vitest/vitest.contracts-plugin.config.ts --maxWorkers=1","test:coverage":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage","test:coverage:changed":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage --changed origin/main","test:docker: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:bundled-plugin-install-uninstall":"bash scripts/e2e/bundled-plugin-install-uninstall-docker.sh","test:docker:cleanup":"bash scripts/test-cleanup-docker.sh","test:docker:commitments-safety":"bash scripts/e2e/commitments-safety-docker.sh","test:docker:config-reload":"bash scripts/e2e/config-reload-source-docker.sh","test:docker:crestodian-first-run":"bash scripts/e2e/crestodian-first-run-docker.sh","test:docker:crestodian-planner":"bash scripts/e2e/crestodian-planner-docker.sh","test:docker:crestodian-rescue":"bash scripts/e2e/crestodian-rescue-docker.sh","test:docker:cron-mcp-cleanup":"bash scripts/e2e/cron-mcp-cleanup-docker.sh","test:docker: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:e2e-build":"bash scripts/e2e/build-image.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh","test:docker:kitchen-sink-plugin":"bash scripts/e2e/kitchen-sink-plugin-docker.sh","test:docker:kitchen-sink-rpc":"bash scripts/e2e/kitchen-sink-rpc-docker.sh","test:docker:live-acp-bind":"bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:claude":"OPENCLAW_LIVE_ACP_BIND_AGENT=claude bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:codex":"OPENCLAW_LIVE_ACP_BIND_AGENT=codex bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:droid":"OPENCLAW_LIVE_ACP_BIND_AGENT=droid OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:gemini":"OPENCLAW_LIVE_ACP_BIND_AGENT=gemini bash scripts/test-live-acp-bind-docker.sh","test:docker:live-acp-bind:opencode":"OPENCLAW_LIVE_ACP_BIND_AGENT=opencode OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1 bash scripts/test-live-acp-bind-docker.sh","test:docker:live-build":"bash scripts/test-live-build-docker.sh","test:docker:live-cli-backend":"bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:claude":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:claude-subscription":"OPENCLAW_LIVE_CLI_BACKEND_AUTH=subscription OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_DISABLE_MCP_CONFIG=1 OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=0 OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=0 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:claude:mcp":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:claude:resume":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6 OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini:mcp":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-cli-backend:gemini:resume":"OPENCLAW_LIVE_CLI_BACKEND_MODEL=google-gemini-cli/gemini-3-flash-preview OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1 bash scripts/test-live-cli-backend-docker.sh","test:docker:live-codex-bind":"OPENCLAW_LIVE_CODEX_BIND=1 OPENCLAW_LIVE_CODEX_TEST_FILES=src/gateway/gateway-codex-bind.live.test.ts bash scripts/test-live-codex-harness-docker.sh","test:docker:live-codex-harness":"bash scripts/test-live-codex-harness-docker.sh","test:docker:live-codex-media-path":"OPENCLAW_LIVE_CODEX_HARNESS_AUTH=api-key OPENCLAW_LIVE_CODEX_HARNESS_CHAT_IMAGE_PROBE=1 OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0 bash scripts/test-live-codex-harness-docker.sh","test:docker:live-codex-npm-plugin":"bash scripts/e2e/codex-npm-plugin-live-docker.sh","test:docker:live-plugin-tool":"bash scripts/e2e/live-plugin-tool-docker.sh","test:docker:live-subagent-announce":"bash scripts/test-live-subagent-announce-docker.sh","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:live-gateway:claude":"OPENCLAW_LIVE_GATEWAY_PROVIDERS=claude-cli OPENCLAW_LIVE_GATEWAY_MODELS=claude-cli/claude-sonnet-4-6 bash scripts/test-live-gateway-models-docker.sh","test:docker:live-gateway:gemini":"OPENCLAW_LIVE_GATEWAY_PROVIDERS=google-gemini-cli OPENCLAW_LIVE_GATEWAY_MODELS=google-gemini-cli/gemini-3.1-pro-preview bash scripts/test-live-gateway-models-docker.sh","test:docker:live-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 scripts/run-with-env.mjs OPENCLAW_DOCKER_ALL_LIVE_MODE=only -- node scripts/test-docker-all.mjs","test:docker:local:all":"node scripts/run-with-env.mjs OPENCLAW_DOCKER_ALL_LIVE_MODE=skip -- node scripts/test-docker-all.mjs","test:docker:mcp-channels":"bash scripts/e2e/mcp-channels-docker.sh","test:docker: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:plugin-binding-command-escape":"bash scripts/e2e/plugin-binding-command-escape-docker.sh","test:docker:plugin-lifecycle-matrix":"bash scripts/e2e/plugin-lifecycle-matrix-docker.sh","test:docker:plugin-update":"bash scripts/e2e/plugin-update-unchanged-docker.sh","test:docker:plugins":"bash scripts/e2e/plugins-docker.sh","test:docker:published-upgrade-survivor":"env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@latest} OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh","test:docker:qr":"bash scripts/e2e/qr-import-docker.sh","test:docker:rerun":"node scripts/docker-e2e-rerun.mjs","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: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 scripts/docker-e2e-timings.mjs","test:docker:update-channel-switch":"bash scripts/e2e/update-channel-switch-docker.sh","test:docker:update-corrupt-plugin":"bash scripts/e2e/update-corrupt-plugin-docker.sh","test:docker:update-migration":"env OPENCLAW_UPGRADE_SURVIVOR_PUBLISHED_BASELINE=1 OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=${OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC:-openclaw@2026.4.23} OPENCLAW_UPGRADE_SURVIVOR_SCENARIO=${OPENCLAW_UPGRADE_SURVIVOR_SCENARIO:-plugin-deps-cleanup} bash scripts/e2e/upgrade-survivor-docker.sh","test:docker:update-restart-auth":"env OPENCLAW_UPGRADE_SURVIVOR_UPDATE_RESTART_MODE=auto-auth OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT=${OPENCLAW_UPGRADE_SURVIVOR_DOCKER_RUN_TIMEOUT:-1500s} bash scripts/e2e/upgrade-survivor-docker.sh","test:docker:upgrade-survivor":"bash scripts/e2e/upgrade-survivor-docker.sh","test:e2e":"pnpm test:e2e:gateway && pnpm test:ui:e2e","test:e2e:gateway":"node scripts/run-vitest.mjs run --config test/vitest/vitest.e2e.config.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:e2e:status-corrupt-plugin-deps":"bash scripts/e2e/status-corrupt-plugin-deps.sh","test:extension":"node scripts/test-extension.mjs","test:extensions":"node scripts/test-projects.mjs extensions","test:extensions:batch":"node scripts/test-extension-batch.mjs","test:extensions:memory":"node scripts/profile-extension-memory.mjs","test:extensions:package-boundary":"node scripts/check-extension-package-tsc-boundary.mjs","test:extensions:package-boundary:canary":"node scripts/check-extension-package-tsc-boundary.mjs --mode=canary","test:extensions:package-boundary:compile":"node scripts/check-extension-package-tsc-boundary.mjs --mode=compile","test:fast":"node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts","test:force":"node --import tsx scripts/test-force.ts","test:gateway":"node scripts/run-with-env.mjs OPENCLAW_GATEWAY_PROJECT_SHARDS=1 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts","test:gateway:cpu-scenarios":"node scripts/check-gateway-cpu-scenarios.mjs","test:gateway:memory-fd-repro":"node scripts/check-memory-fd-repro.mjs","test:gateway:watch-regression":"node scripts/check-gateway-watch-regression.mjs","test:install:e2e":"bash scripts/test-install-sh-e2e-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:install:e2e:openai":"OPENCLAW_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh","test:install:smoke":"bash scripts/test-install-sh-docker.sh","test:live":"node scripts/test-live.mjs","test:live:cache":"node scripts/run-with-env.mjs OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 -- node --import tsx scripts/check-live-cache.ts","test:live:codex-harness":"node scripts/test-live.mjs --codex-harness -- src/gateway/gateway-codex-harness.live.test.ts","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:live:gateway-profiles":"node scripts/test-live.mjs -- src/gateway/gateway-models.profiles.live.test.ts","test:live:media":"node --import tsx scripts/test-live-media.ts","test:live:media:image":"node --import tsx scripts/test-live-media.ts image","test:live:media:music":"node --import tsx scripts/test-live-media.ts music","test:live:media:video":"node --import tsx scripts/test-live-media.ts video","test:live:models-profiles":"node scripts/test-live.mjs -- src/agents/models.profiles.live.test.ts","test:macos:ci":"node scripts/test-projects.mjs src/daemon/launchd.test.ts src/daemon/runtime-paths.test.ts src/daemon/runtime-binary.test.ts src/infra/brew.test.ts src/infra/stable-node-path.test.ts test/scripts/vitest-process-group.test.ts test/scripts/package-mac-app.test.ts test/scripts/package-mac-dist.test.ts test/scripts/create-dmg.test.ts","test:max":"node scripts/test-projects-max.mjs","test:parallels:linux":"bash scripts/e2e/parallels-linux-smoke.sh","test:parallels:macos":"bash scripts/e2e/parallels-macos-smoke.sh","test:parallels:npm-update":"bash scripts/e2e/parallels-npm-update-smoke.sh","test:parallels:windows":"bash scripts/e2e/parallels-windows-smoke.sh","test:perf:budget":"node scripts/test-perf-budget.mjs","test:perf:changed:bench":"node scripts/bench-test-changed.mjs","test:perf:groups":"node scripts/test-group-report.mjs","test:perf:groups:compare":"node scripts/test-group-report.mjs --compare","test:perf:hotspots":"node scripts/test-hotspots.mjs","test:perf:imports":"node scripts/test-projects-imports.mjs","test:perf:imports:changed":"node scripts/test-projects-imports.mjs --changed origin/main","test:perf:profile:main":"node scripts/run-vitest-profile.mjs main","test:perf:profile:runner":"node scripts/run-vitest-profile.mjs runner","test:plugins:gateway-gauntlet":"node scripts/check-plugin-gateway-gauntlet.mjs","test:plugins:kitchen-sink-live":"bash -lc 'if [ -x \"$HOME/.local/bin/openclaw-testbox-env\" ]; then exec \"$HOME/.local/bin/openclaw-testbox-env\" pnpm openclaw qa suite --provider-mode live-frontier --scenario kitchen-sink-live-openai; fi; exec pnpm openclaw qa suite --provider-mode live-frontier --scenario kitchen-sink-live-openai'","test:plugins:kitchen-sink-rpc":"node --import tsx scripts/e2e/kitchen-sink-rpc-walk.mjs","test:sectriage":"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/daemon/launchd.integration.test.ts --exclude src/process/exec.test.ts","test:serial":"node scripts/test-projects-serial.mjs","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","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:startup:bench":"node --import tsx scripts/bench-cli-startup.ts","test:startup:bench:check":"node scripts/test-cli-startup-bench-budget.mjs","test:startup:bench:save":"node --import tsx scripts/bench-cli-startup.ts --preset all --runs 5 --warmup 1 --output .artifacts/cli-startup-bench-all.json","test:startup:bench:smoke":"node 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","test:startup:bench:update":"node scripts/test-update-cli-startup-bench.mjs","test:startup:gateway":"node --import tsx scripts/bench-gateway-startup.ts","test:restart:gateway":"node --import tsx scripts/bench-gateway-restart.ts","test:startup:memory":"node scripts/ensure-cli-startup-build.mjs && node scripts/check-cli-startup-memory.mjs","test:ui":"pnpm ui:i18n:check && pnpm lint:ui:no-raw-window-open && pnpm --dir ui test","test:ui:e2e":"node scripts/ensure-playwright-chromium.mjs && 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 scripts/test-unit-fast-audit.mjs","test:voicecall:closedloop":"node scripts/test-voicecall-closedloop.mjs","test:watch":"node scripts/test-projects.mjs --watch","test:windows:ci":"node scripts/test-projects.mjs src/shared/runtime-import.test.ts src/plugins/import-specifier.test.ts src/process/exec.windows.test.ts src/process/windows-command.test.ts src/infra/windows-install-roots.test.ts extensions/lobster/src/lobster-runner.test.ts test/scripts/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","tool-display:check":"node --import tsx scripts/tool-display.ts --check","tool-display:write":"node --import tsx scripts/tool-display.ts --write","ts-topology":"node --import tsx scripts/ts-topology.ts","tsgo":"pnpm tsgo:core","tsgo:all":"node scripts/run-tsgo.mjs -b tsconfig.projects.json","tsgo:core":"node scripts/run-tsgo.mjs -p tsconfig.core.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core.tsbuildinfo","tsgo:core:all":"node scripts/run-tsgo.mjs -b tsconfig.core.projects.json","tsgo:core:test":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.core.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core-test.tsbuildinfo","tsgo:extensions":"node scripts/run-tsgo.mjs -p tsconfig.extensions.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions.tsbuildinfo","tsgo:extensions:all":"node scripts/run-tsgo.mjs -b tsconfig.extensions.projects.json","tsgo:extensions:test":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test.tsbuildinfo","tsgo:prod":"pnpm tsgo:core && pnpm tsgo:extensions","tsgo:profile":"node scripts/profile-tsgo.mjs","tsgo:test":"pnpm tsgo:core:test && pnpm tsgo:extensions:test","tsgo:test:extensions":"pnpm tsgo:extensions:test","tsgo:test:packages":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.packages.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-packages.tsbuildinfo","tsgo:test:src":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.src.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-src.tsbuildinfo","tsgo:test:ui":"node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.test.ui.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-ui.tsbuildinfo","tui":"node scripts/run-node.mjs tui","tui:dev":"node scripts/run-with-env.mjs OPENCLAW_PROFILE=dev -- node scripts/run-node.mjs --dev tui","tui:pty:test:watch":"node --import tsx scripts/dev/tui-pty-test-watch.ts","tui:pty:test:watch:all":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode all","tui:pty:test:watch:fake":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode fake","tui:pty:test:watch:local":"node --import tsx scripts/dev/tui-pty-test-watch.ts --mode local","ui:build":"node scripts/ui.js build","ui:dev":"node scripts/ui.js dev","ui:i18n:check":"node --import tsx scripts/control-ui-i18n.ts check","ui:i18n:report":"node --import tsx scripts/control-ui-i18n-report.ts","ui:i18n:sync":"node --import tsx scripts/control-ui-i18n.ts sync --write","ui:install":"node scripts/ui.js install","verify":"node scripts/verify.mjs"},"dependencies":{"@agentclientprotocol/sdk":"0.22.1","@anthropic-ai/sdk":"0.98.0","@clack/core":"1.3.1","@clack/prompts":"1.4.0","@earendil-works/pi-tui":"0.76.0","@google/genai":"2.6.0","@grammyjs/runner":"2.0.3","@grammyjs/transformer-throttler":"1.2.1","@homebridge/ciao":"1.3.9","@lydell/node-pty":"1.2.0-beta.12","@mistralai/mistralai":"2.2.5","@modelcontextprotocol/sdk":"1.29.0","@mozilla/readability":"0.6.0","@openclaw/fs-safe":"0.3.0","@openclaw/proxyline":"0.3.3","@silvia-odwyer/photon-node":"0.3.4","chalk":"5.6.2","chokidar":"5.0.0","clawpdf":"0.2.0","commander":"14.0.3","croner":"10.0.1","cross-spawn":"7.0.6","diff":"9.0.0","dotenv":"17.4.2","express":"5.2.1","file-type":"22.0.1","glob":"13.0.6","grammy":"1.43.0","highlight.js":"11.11.1","hosted-git-info":"9.0.3","ignore":"7.0.5","ipaddr.js":"2.4.0","jiti":"2.7.0","json5":"2.2.3","jszip":"3.10.1","kysely":"0.29.2","linkedom":"0.18.12","markdown-it":"14.2.0","minimatch":"10.2.5","node-edge-tts":"1.2.10","openai":"6.39.0","partial-json":"0.1.7","playwright-core":"1.60.0","proper-lockfile":"4.1.2","qrcode":"1.5.4","quickjs-wasi":"3.0.0","rastermill":"0.3.0","tar":"7.5.15","tree-sitter-bash":"0.25.1","tslog":"4.10.2","typebox":"1.1.38","typescript":"6.0.3","undici":"8.3.0","web-push":"3.6.7","web-tree-sitter":"0.26.9","ws":"8.21.0","yaml":"2.9.0","zod":"4.4.3"},"devDependencies":{"@a2ui/lit":"0.10.0","@copilotkit/aimock":"1.27.1","@grammyjs/types":"3.27.3","@lit-labs/signals":"0.3.0","@lit/context":"1.1.6","@mdx-js/mdx":"3.1.1","@shikijs/core":"4.1.0","@shikijs/engine-javascript":"4.1.0","@shikijs/engine-oniguruma":"4.1.0","@types/cross-spawn":"6.0.6","@types/express":"5.0.6","@types/hosted-git-info":"3.0.5","@types/markdown-it":"14.1.2","@types/node":"25.9.1","@types/proper-lockfile":"4.1.4","@types/ws":"8.18.1","@typescript/native-preview":"7.0.0-dev.20260527.2","@vitest/coverage-v8":"4.1.7","esbuild":"0.28.0","jscpd":"4.2.4","jsdom":"29.1.1","lit":"3.3.3","oxfmt":"0.52.0","oxlint":"1.67.0","oxlint-tsgolint":"0.23.0","shiki":"4.1.0","signal-utils":"0.21.1","tsdown":"0.22.0","tsx":"4.22.3","unrun":"0.3.0","vitest":"4.1.7"},"optionalDependencies":{"sqlite-vec":"0.1.9"},"overrides":{"axios":"1.16.0","fast-uri":"3.1.2","follow-redirects":"1.16.0","ip-address":"10.2.0","node-domexception":"npm:@nolyfill/domexception@1.0.28","uuid":"14.0.0"},"engines":{"node":">=22.19.0"},"packageManager":"pnpm@11.2.2+sha512.36e6621fad506178936455e70247b8808ef4ec25797a9f437a93281a020484e2607f6a469a22e982987c3dbb8866e3071514ab10a4a1749e06edcd1ec118436f","gitHead":"b18ff91d669ea33c7a3f5fabda30079f1ed790ab","types":"./dist/index.d.ts","_id":"@bitplanet/genie-openclaw@2026.5.28","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-+U/nRtQM2Lk/2ajmrTvF+jKEtnamw01N/lG32xLdep1E6JTkx2mR8/Dq6kT4PBK4WIkz16KXKquZ1LQ5cgdewQ==","shasum":"4ac6acb718d4212b697cb71b0b43869919ba883b","tarball":"https://registry.npmjs.org/@bitplanet/genie-openclaw/-/genie-openclaw-2026.5.28.tgz","fileCount":9084,"unpackedSize":81054866,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bitplanet%2fgenie-openclaw@2026.5.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDK7skSu+u1nhuxbTH2AorlmKzvAmVnQ7xbM9lnIhn/qQIgUtGQuYftEQDFoFpBFoZFqWijXRM12cBc1X7TgpIbPEQ="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f11ed997-3ea9-4377-b47c-5d259356399d"}},"maintainers":[{"name":"moses10p","email":"moses@10planet.com"},{"name":"longngp","email":"long@inflorencers.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/genie-openclaw_2026.5.28_1780552176774_0.6109949235263201"},"_hasShrinkwrap":true}},"time":{"created":"2026-03-28T06:39:12.769Z","modified":"2026-06-04T05:49:37.647Z","2026.3.13":"2026-03-28T06:39:13.727Z","2026.3.14":"2026-03-28T09:56:05.628Z","2026.4.17":"2026-04-17T08:45:19.745Z","2026.5.14-beta.1":"2026-06-02T10:31:58.803Z","2026.5.28-beta.1":"2026-06-03T07:01:15.254Z","2026.5.28":"2026-06-04T05:49:37.309Z"},"bugs":{"url":"https://github.com/Deva-me-AI/genie-openclaw/issues"},"license":"MIT","homepage":"https://github.com/Deva-me-AI/genie-openclaw#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/Deva-me-AI/genie-openclaw.git"},"description":"Multi-channel AI gateway with extensible messaging integrations","maintainers":[{"name":"moses10p","email":"moses@10planet.com"},{"name":"longngp","email":"long@inflorencers.com"}],"readme":"# 🦞 OpenClaw — Personal AI Assistant\n\n<p align=\"center\">\n    <picture>\n        <source media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/openclaw/openclaw/main/docs/assets/openclaw-logo-text-dark.svg\">\n        <img src=\"https://raw.githubusercontent.com/openclaw/openclaw/main/docs/assets/openclaw-logo-text.svg\" alt=\"OpenClaw\" width=\"500\">\n    </picture>\n</p>\n\n<p align=\"center\">\n  <strong>EXFOLIATE! EXFOLIATE!</strong>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/openclaw/openclaw/actions/workflows/ci.yml?branch=main\"><img src=\"https://img.shields.io/github/actions/workflow/status/openclaw/openclaw/ci.yml?branch=main&style=for-the-badge\" alt=\"CI status\"></a>\n  <a href=\"https://github.com/openclaw/openclaw/releases\"><img src=\"https://img.shields.io/github/v/release/openclaw/openclaw?include_prereleases&style=for-the-badge\" alt=\"GitHub release\"></a>\n  <a href=\"https://discord.gg/clawd\"><img src=\"https://img.shields.io/discord/1456350064065904867?label=Discord&logo=discord&logoColor=white&color=5865F2&style=for-the-badge\" alt=\"Discord\"></a>\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/License-MIT-blue.svg?style=for-the-badge\" alt=\"MIT License\"></a>\n</p>\n\n**OpenClaw** is a _personal AI assistant_ you run on your own devices.\nIt answers you on the channels you already use. It can speak and listen on macOS/iOS/Android, and can render a live Canvas you control. The Gateway is just the control plane — the product is the assistant.\n\nIf you want a personal, single-user assistant that feels local, fast, and always-on, this is it.\n\nSupported channels include: 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.\n\n[Website](https://openclaw.ai) · [Docs](https://docs.openclaw.ai) · [Vision](VISION.md) · [Third-party notices](THIRD_PARTY_NOTICES.md) · [DeepWiki](https://deepwiki.com/openclaw/openclaw) · [Getting Started](https://docs.openclaw.ai/start/getting-started) · [Updating](https://docs.openclaw.ai/install/updating) · [Showcase](https://docs.openclaw.ai/start/showcase) · [FAQ](https://docs.openclaw.ai/help/faq) · [Onboarding](https://docs.openclaw.ai/start/wizard) · [Nix](https://github.com/openclaw/nix-openclaw) · [Docker](https://docs.openclaw.ai/install/docker) · [Discord](https://discord.gg/clawd)\n\nNew install? Start here: [Getting started](https://docs.openclaw.ai/start/getting-started)\n\nPreferred setup: run `openclaw onboard` in your terminal.\nOpenClaw Onboard guides you step by step through setting up the gateway, workspace, channels, and skills. It is the recommended CLI setup path and works on **macOS, Linux, and Windows (via WSL2; strongly recommended)**.\nWorks with npm, pnpm, or bun.\n\n## Sponsors\n\n<table>\n  <tr>\n    <td align=\"center\" width=\"16.66%\">\n      <a href=\"https://openai.com/\">\n        <picture>\n          <source media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/openclaw/openclaw/main/docs/assets/sponsors/openai-light.svg\">\n          <img src=\"https://raw.githubusercontent.com/openclaw/openclaw/main/docs/assets/sponsors/openai.svg\" alt=\"OpenAI\" height=\"28\">\n        </picture>\n      </a>\n    </td>\n    <td align=\"center\" width=\"16.66%\">\n      <a href=\"https://github.com/\">\n        <picture>\n          <source media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/openclaw/openclaw/main/docs/assets/sponsors/github-light.svg\">\n          <img src=\"https://raw.githubusercontent.com/openclaw/openclaw/main/docs/assets/sponsors/github.svg\" alt=\"GitHub\" height=\"28\">\n        </picture>\n      </a>\n    </td>\n    <td align=\"center\" width=\"16.66%\">\n      <a href=\"https://www.nvidia.com/\">\n        <picture>\n          <source media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/openclaw/openclaw/main/docs/assets/sponsors/nvidia.svg\">\n          <img src=\"https://raw.githubusercontent.com/openclaw/openclaw/main/docs/assets/sponsors/nvidia-dark.svg\" alt=\"NVIDIA\" height=\"28\">\n        </picture>\n      </a>\n    </td>\n    <td align=\"center\" width=\"16.66%\">\n      <a href=\"https://vercel.com/\">\n        <picture>\n          <source media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/openclaw/openclaw/main/docs/assets/sponsors/vercel-light.svg\">\n          <img src=\"https://raw.githubusercontent.com/openclaw/openclaw/main/docs/assets/sponsors/vercel.svg\" alt=\"Vercel\" height=\"24\">\n        </picture>\n      </a>\n    </td>\n    <td align=\"center\" width=\"16.66%\">\n      <a href=\"https://blacksmith.sh/\">\n        <picture>\n          <source media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/openclaw/openclaw/main/docs/assets/sponsors/blacksmith-light.svg\">\n          <img src=\"https://raw.githubusercontent.com/openclaw/openclaw/main/docs/assets/sponsors/blacksmith.svg\" alt=\"Blacksmith\" height=\"28\">\n        </picture>\n      </a>\n    </td>\n    <td align=\"center\" width=\"16.66%\">\n      <a href=\"https://www.convex.dev/\">\n        <picture>\n          <source media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/openclaw/openclaw/main/docs/assets/sponsors/convex-light.svg\">\n          <img src=\"https://raw.githubusercontent.com/openclaw/openclaw/main/docs/assets/sponsors/convex.svg\" alt=\"Convex\" height=\"24\">\n        </picture>\n      </a>\n    </td>\n  </tr>\n</table>\n\n**Subscriptions (OAuth):**\n\n- **[OpenAI](https://openai.com/)** (ChatGPT/Codex)\n\nModel note: while many providers and models are supported, prefer a current flagship model from the provider you trust and already use. See [Onboarding](https://docs.openclaw.ai/start/wizard).\n\n## Install (recommended)\n\nRuntime: **Node 24 (recommended) or Node 22.19+**.\n\n```bash\nnpm install -g openclaw@latest\n# or: pnpm add -g openclaw@latest\n\nopenclaw onboard --install-daemon\n```\n\nOpenClaw Onboard installs the Gateway daemon (launchd/systemd user service) so it stays running.\n\n## Quick start (TL;DR)\n\nRuntime: **Node 24 (recommended) or Node 22.19+**.\n\nFull beginner guide (auth, pairing, channels): [Getting started](https://docs.openclaw.ai/start/getting-started)\n\nRecommended daemon mode:\n\n```bash\nopenclaw onboard --install-daemon\nopenclaw gateway status\n```\n\nForeground/debug mode:\n\n```bash\nopenclaw gateway stop\nopenclaw gateway --port 18789 --verbose\n```\n\nSend a test message or ask the assistant after either startup mode is running:\n\n```bash\n# Send a message\nopenclaw message send --target +1234567890 --message \"Hello from OpenClaw\"\n\n# Talk to the assistant (optionally deliver back to any connected channel: 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)\nopenclaw agent --message \"Ship checklist\" --thinking high\n```\n\nUpgrading? [Updating guide](https://docs.openclaw.ai/install/updating) (and run `openclaw doctor`).\n\nModels config + CLI: [Models](https://docs.openclaw.ai/concepts/models). Auth profile rotation + fallbacks: [Model failover](https://docs.openclaw.ai/concepts/model-failover).\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/macos)** — macOS menu bar app + 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: [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\nRunbook: [iOS connect](https://docs.openclaw.ai/platforms/ios).\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## From source (development)\n\nUse `pnpm` for source checkouts. The repository is a pnpm workspace, and bundled\nplugins load from `extensions/*` during development so their package-local\ndependencies and your edits are used directly. Plain `npm install` at the repo\nroot is not a supported source setup.\n\nFor the dev loop:\n\n```bash\ngit clone https://github.com/openclaw/openclaw.git\ncd openclaw\n\npnpm install\n\n# First run only (or after resetting local OpenClaw config/workspace)\npnpm openclaw setup\n\n# Optional: prebuild Control UI before first startup\npnpm ui:build\n\n# Dev loop (auto-reload on source/config changes)\npnpm gateway:watch\n```\n\nIf you need a built `dist/` from the checkout (for Node, packaging, or release validation), run:\n\n```bash\npnpm build\npnpm ui:build\n```\n\n`pnpm openclaw setup` writes the local config/workspace needed for `pnpm gateway:watch`. It is safe to re-run, but you normally only need it on first setup or after resetting local state. `pnpm gateway:watch` does not rebuild `dist/control-ui`, so rerun `pnpm ui:build` after `ui/` changes or use `pnpm ui:dev` when iterating on the Control UI. If you want this checkout to run onboarding directly, use `pnpm openclaw onboard --install-daemon`.\n\nNote: `pnpm openclaw ...` runs TypeScript directly (via `tsx`). `pnpm build` produces `dist/` for running via Node / the packaged `openclaw` binary, while `pnpm gateway:watch` rebuilds the runtime on demand during the dev loop.\n\n## Development channels\n\n- **stable**: tagged releases (`vYYYY.M.D` or `vYYYY.M.D-<patch>`), npm dist-tag `latest`.\n- **beta**: prerelease tags (`vYYYY.M.D-beta.N`), npm dist-tag `beta` (macOS app may be missing).\n- **dev**: moving head of `main`, npm dist-tag `dev` (when published).\n\nSwitch channels (git + npm): `openclaw update --channel stable|beta|dev`.\nDetails: [Development channels](https://docs.openclaw.ai/install/development-channels).\n\n## Agent workspace + skills\n\n- Workspace root: `~/.openclaw/workspace` (configurable via `agents.defaults.workspace`).\n- Injected prompt files: `AGENTS.md`, `SOUL.md`, `TOOLS.md`.\n- Skills: `~/.openclaw/workspace/skills/<skill>/SKILL.md`.\n\n## Configuration\n\nMinimal `~/.openclaw/openclaw.json` (model + defaults):\n\n```json5\n{\n  agent: {\n    model: \"<provider>/<model-id>\",\n  },\n}\n```\n\n[Full configuration reference (all keys + examples).](https://docs.openclaw.ai/gateway/configuration)\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=openclaw/openclaw&type=date&legend=top-left)](https://www.star-history.com/#openclaw/openclaw&type=date&legend=top-left)\n\n## Molty\n\nOpenClaw was built for **Molty**, a space lobster AI assistant. 🦞\nby Peter Steinberger and the community.\n\n- [openclaw.ai](https://openclaw.ai)\n- [soul.md](https://soul.md)\n- [steipete.me](https://steipete.me)\n- [@openclaw](https://x.com/openclaw)\n\n## Community\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines, maintainers, and how to submit PRs.\nAI/vibe-coded PRs welcome! 🤖\n\nSpecial thanks to [Mario Zechner](https://mariozechner.at/) for his support and for\n[pi-mono](https://github.com/earendil-works/pi-mono).\nSpecial thanks to Adam Doppelt for the lobster.bot domain.\n\nThanks to all clawtributors:\n\n<!-- clawtributors:start -->\n\n[![steipete](https://avatars.githubusercontent.com/u/58493?v=4&s=48)](https://github.com/steipete) [![vincentkoc](https://avatars.githubusercontent.com/u/25068?v=4&s=48)](https://github.com/vincentkoc) [![Takhoffman](https://avatars.githubusercontent.com/u/781889?v=4&s=48)](https://github.com/Takhoffman) [![obviyus](https://avatars.githubusercontent.com/u/22031114?v=4&s=48)](https://github.com/obviyus) [![gumadeiras](https://avatars.githubusercontent.com/u/5599352?v=4&s=48)](https://github.com/gumadeiras) [![Mariano Belinky](https://avatars.githubusercontent.com/u/132747814?v=4&s=48)](https://github.com/mbelinky) [![vignesh07](https://avatars.githubusercontent.com/u/1436853?v=4&s=48)](https://github.com/vignesh07) [![joshavant](https://avatars.githubusercontent.com/u/830519?v=4&s=48)](https://github.com/joshavant) [![scoootscooob](https://avatars.githubusercontent.com/u/167050519?v=4&s=48)](https://github.com/scoootscooob) [![jacobtomlinson](https://avatars.githubusercontent.com/u/1610850?v=4&s=48)](https://github.com/jacobtomlinson)\n[![shakkernerd](https://avatars.githubusercontent.com/u/165377636?v=4&s=48)](https://github.com/shakkernerd) [![sebslight](https://avatars.githubusercontent.com/u/19554889?v=4&s=48)](https://github.com/sebslight) [![tyler6204](https://avatars.githubusercontent.com/u/64381258?v=4&s=48)](https://github.com/tyler6204) [![ngutman](https://avatars.githubusercontent.com/u/1540134?v=4&s=48)](https://github.com/ngutman) [![thewilloftheshadow](https://avatars.githubusercontent.com/u/35580099?v=4&s=48)](https://github.com/thewilloftheshadow) [![Sid-Qin](https://avatars.githubusercontent.com/u/201593046?v=4&s=48)](https://github.com/Sid-Qin) [![mcaxtr](https://avatars.githubusercontent.com/u/7562095?v=4&s=48)](https://github.com/mcaxtr) [![eleqtrizit](https://avatars.githubusercontent.com/u/31522568?v=4&s=48)](https://github.com/eleqtrizit) [![BunsDev](https://avatars.githubusercontent.com/u/68980965?v=4&s=48)](https://github.com/BunsDev) [![cpojer](https://avatars.githubusercontent.com/u/13352?v=4&s=48)](https://github.com/cpojer)\n[![Glucksberg](https://avatars.githubusercontent.com/u/80581902?v=4&s=48)](https://github.com/Glucksberg) [![osolmaz](https://avatars.githubusercontent.com/u/2453968?v=4&s=48)](https://github.com/osolmaz) [![bmendonca3](https://avatars.githubusercontent.com/u/208517100?v=4&s=48)](https://github.com/bmendonca3) [![jalehman](https://avatars.githubusercontent.com/u/550978?v=4&s=48)](https://github.com/jalehman) [![huntharo](https://avatars.githubusercontent.com/u/5617868?v=4&s=48)](https://github.com/huntharo) [![neeravmakwana](https://avatars.githubusercontent.com/u/261249544?v=4&s=48)](https://github.com/neeravmakwana) [![openperf](https://avatars.githubusercontent.com/u/80630709?v=4&s=48)](https://github.com/openperf) [![joshp123](https://avatars.githubusercontent.com/u/1497361?v=4&s=48)](https://github.com/joshp123) [![pgondhi987](https://avatars.githubusercontent.com/u/270720687?v=4&s=48)](https://github.com/pgondhi987) [![altaywtf](https://avatars.githubusercontent.com/u/9790196?v=4&s=48)](https://github.com/altaywtf)\n[![quotentiroler](https://avatars.githubusercontent.com/u/40643627?v=4&s=48)](https://github.com/quotentiroler) [![liuxiaopai-ai](https://avatars.githubusercontent.com/u/73659136?v=4&s=48)](https://github.com/liuxiaopai-ai) [![rodrigouroz](https://avatars.githubusercontent.com/u/384037?v=4&s=48)](https://github.com/rodrigouroz) [![frankekn](https://avatars.githubusercontent.com/u/4488090?v=4&s=48)](https://github.com/frankekn) [![drobison00](https://avatars.githubusercontent.com/u/5256797?v=4&s=48)](https://github.com/drobison00) [![zerone0x](https://avatars.githubusercontent.com/u/39543393?v=4&s=48)](https://github.com/zerone0x) [![onutc](https://avatars.githubusercontent.com/u/152018508?v=4&s=48)](https://github.com/onutc) [![ademczuk](https://avatars.githubusercontent.com/u/5212682?v=4&s=48)](https://github.com/ademczuk) [![ImLukeF](https://avatars.githubusercontent.com/u/92253590?v=4&s=48)](https://github.com/ImLukeF) [![hydro13](https://avatars.githubusercontent.com/u/6640526?v=4&s=48)](https://github.com/hydro13)\n[![hxy91819](https://avatars.githubusercontent.com/u/8814856?v=4&s=48)](https://github.com/hxy91819) [![coygeek](https://avatars.githubusercontent.com/u/65363919?v=4&s=48)](https://github.com/coygeek) [![dutifulbob](https://avatars.githubusercontent.com/u/261991368?v=4&s=48)](https://github.com/dutifulbob) [![sliverp](https://avatars.githubusercontent.com/u/38134380?v=4&s=48)](https://github.com/sliverp) [![Elonito](https://avatars.githubusercontent.com/u/190923101?v=4&s=48)](https://github.com/0xRaini) [![robbyczgw-cla](https://avatars.githubusercontent.com/u/239660374?v=4&s=48)](https://github.com/robbyczgw-cla) [![joelnishanth](https://avatars.githubusercontent.com/u/140015627?v=4&s=48)](https://github.com/joelnishanth) [![echoVic](https://avatars.githubusercontent.com/u/16428813?v=4&s=48)](https://github.com/echoVic) [![sallyom](https://avatars.githubusercontent.com/u/11166065?v=4&s=48)](https://github.com/sallyom) [![yinghaosang](https://avatars.githubusercontent.com/u/261132136?v=4&s=48)](https://github.com/yinghaosang)\n[![BradGroux](https://avatars.githubusercontent.com/u/3053586?v=4&s=48)](https://github.com/BradGroux) [![christianklotz](https://avatars.githubusercontent.com/u/69443?v=4&s=48)](https://github.com/christianklotz) [![odysseus0](https://avatars.githubusercontent.com/u/8635094?v=4&s=48)](https://github.com/odysseus0) [![hclsys](https://avatars.githubusercontent.com/u/7755017?v=4&s=48)](https://github.com/hclsys) [![byungsker](https://avatars.githubusercontent.com/u/72309817?v=4&s=48)](https://github.com/byungsker) [![pashpashpash](https://avatars.githubusercontent.com/u/20898225?v=4&s=48)](https://github.com/pashpashpash) [![stakeswky](https://avatars.githubusercontent.com/u/64798754?v=4&s=48)](https://github.com/stakeswky) [![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4&s=48)](https://github.com/apps/github-actions) [![xinhuagu](https://avatars.githubusercontent.com/u/562450?v=4&s=48)](https://github.com/xinhuagu) [![MonkeyLeeT](https://avatars.githubusercontent.com/u/6754057?v=4&s=48)](https://github.com/MonkeyLeeT)\n[![100yenadmin](https://avatars.githubusercontent.com/u/239388517?v=4&s=48)](https://github.com/100yenadmin) [![mcinteerj](https://avatars.githubusercontent.com/u/3613653?v=4&s=48)](https://github.com/mcinteerj) [![samzong](https://avatars.githubusercontent.com/u/13782141?v=4&s=48)](https://github.com/samzong) [![chilu18](https://avatars.githubusercontent.com/u/7957943?v=4&s=48)](https://github.com/chilu18) [![darkamenosa](https://avatars.githubusercontent.com/u/6668014?v=4&s=48)](https://github.com/darkamenosa) [![widingmarcus-cyber](https://avatars.githubusercontent.com/u/245375637?v=4&s=48)](https://github.com/widingmarcus-cyber) [![cgdusek](https://avatars.githubusercontent.com/u/38732970?v=4&s=48)](https://github.com/cgdusek) [![Lukavyi](https://avatars.githubusercontent.com/u/1013690?v=4&s=48)](https://github.com/Lukavyi) [![davidrudduck](https://avatars.githubusercontent.com/u/47308254?v=4&s=48)](https://github.com/davidrudduck) [![VACInc](https://avatars.githubusercontent.com/u/3279061?v=4&s=48)](https://github.com/VACInc)\n[![MoerAI](https://avatars.githubusercontent.com/u/26067127?v=4&s=48)](https://github.com/MoerAI) [![velvet-shark](https://avatars.githubusercontent.com/u/126378?v=4&s=48)](https://github.com/velvet-shark) [![HenryLoenwind](https://avatars.githubusercontent.com/u/1485873?v=4&s=48)](https://github.com/HenryLoenwind) [![omarshahine](https://avatars.githubusercontent.com/u/10343873?v=4&s=48)](https://github.com/omarshahine) [![bohdanpodvirnyi](https://avatars.githubusercontent.com/u/31819391?v=4&s=48)](https://github.com/bohdanpodvirnyi) [![Verite Igiraneza](https://avatars.githubusercontent.com/u/69280208?v=4&s=48)](https://github.com/VeriteIgiraneza) [![akramcodez](https://avatars.githubusercontent.com/u/179671552?v=4&s=48)](https://github.com/akramcodez) [![Kaneki-x](https://avatars.githubusercontent.com/u/6857108?v=4&s=48)](https://github.com/Kaneki-x) [![aether-ai-agent](https://avatars.githubusercontent.com/u/261339948?v=4&s=48)](https://github.com/aether-ai-agent) [![joaohlisboa](https://avatars.githubusercontent.com/u/8200873?v=4&s=48)](https://github.com/joaohlisboa)\n[![MaudeBot](https://avatars.githubusercontent.com/u/255777700?v=4&s=48)](https://github.com/MaudeBot) [![davidguttman](https://avatars.githubusercontent.com/u/431696?v=4&s=48)](https://github.com/davidguttman) [![justinhuangcode](https://avatars.githubusercontent.com/u/252443740?v=4&s=48)](https://github.com/justinhuangcode) [![lml2468](https://avatars.githubusercontent.com/u/39320777?v=4&s=48)](https://github.com/lml2468) [![wirjo](https://avatars.githubusercontent.com/u/165846?v=4&s=48)](https://github.com/wirjo) [![iHildy](https://avatars.githubusercontent.com/u/25069719?v=4&s=48)](https://github.com/iHildy) [![mudrii](https://avatars.githubusercontent.com/u/220262?v=4&s=48)](https://github.com/mudrii) [![advaitpaliwal](https://avatars.githubusercontent.com/u/66044327?v=4&s=48)](https://github.com/advaitpaliwal) [![czekaj](https://avatars.githubusercontent.com/u/1464539?v=4&s=48)](https://github.com/czekaj) [![dlauer](https://avatars.githubusercontent.com/u/757041?v=4&s=48)](https://github.com/dlauer)\n[![Solvely-Colin](https://avatars.githubusercontent.com/u/211764741?v=4&s=48)](https://github.com/Solvely-Colin) [![feiskyer](https://avatars.githubusercontent.com/u/676637?v=4&s=48)](https://github.com/feiskyer) [![brandonwise](https://avatars.githubusercontent.com/u/21148772?v=4&s=48)](https://github.com/brandonwise) [![conroywhitney](https://avatars.githubusercontent.com/u/249891?v=4&s=48)](https://github.com/conroywhitney) [![mneves75](https://avatars.githubusercontent.com/u/2423436?v=4&s=48)](https://github.com/mneves75) [![jaydenfyi](https://avatars.githubusercontent.com/u/213395523?v=4&s=48)](https://github.com/jaydenfyi) [![davemorin](https://avatars.githubusercontent.com/u/78139?v=4&s=48)](https://github.com/davemorin) [![joeykrug](https://avatars.githubusercontent.com/u/5925937?v=4&s=48)](https://github.com/joeykrug) [![kevinWangSheng](https://avatars.githubusercontent.com/u/118158941?v=4&s=48)](https://github.com/kevinWangSheng) [![pejmanjohn](https://avatars.githubusercontent.com/u/481729?v=4&s=48)](https://github.com/pejmanjohn)\n[![Lanfei](https://avatars.githubusercontent.com/u/2156642?v=4&s=48)](https://github.com/Lanfei) [![liuy](https://avatars.githubusercontent.com/u/1192888?v=4&s=48)](https://github.com/liuy) [![lc0rp](https://avatars.githubusercontent.com/u/2609441?v=4&s=48)](https://github.com/lc0rp) [![teconomix](https://avatars.githubusercontent.com/u/6959299?v=4&s=48)](https://github.com/teconomix) [![omair445](https://avatars.githubusercontent.com/u/32237905?v=4&s=48)](https://github.com/omair445) [![dorukardahan](https://avatars.githubusercontent.com/u/35905596?v=4&s=48)](https://github.com/dorukardahan) [![mmaps](https://avatars.githubusercontent.com/u/3399869?v=4&s=48)](https://github.com/mmaps) [![Tobias Bischoff](https://avatars.githubusercontent.com/u/711564?v=4&s=48)](https://github.com/tobiasbischoff) [![adhitShet](https://avatars.githubusercontent.com/u/131381638?v=4&s=48)](https://github.com/adhitShet) [![pandego](https://avatars.githubusercontent.com/u/7780875?v=4&s=48)](https://github.com/pandego)\n[![bradleypriest](https://avatars.githubusercontent.com/u/167215?v=4&s=48)](https://github.com/bradleypriest) [![bjesuiter](https://avatars.githubusercontent.com/u/2365676?v=4&s=48)](https://github.com/bjesuiter) [![grp06](https://avatars.githubusercontent.com/u/1573959?v=4&s=48)](https://github.com/grp06) [![shadril238](https://avatars.githubusercontent.com/u/63901551?v=4&s=48)](https://github.com/shadril238) [![kesku](https://avatars.githubusercontent.com/u/62210496?v=4&s=48)](https://github.com/kesku) [![YuriNachos](https://avatars.githubusercontent.com/u/19365375?v=4&s=48)](https://github.com/YuriNachos) [![vrknetha](https://avatars.githubusercontent.com/u/20596261?v=4&s=48)](https://github.com/vrknetha) [![smartprogrammer93](https://avatars.githubusercontent.com/u/33181301?v=4&s=48)](https://github.com/smartprogrammer93) [![nachx639](https://avatars.githubusercontent.com/u/71144023?v=4&s=48)](https://github.com/Nachx639) [![jnMetaCode](https://avatars.githubusercontent.com/u/12096460?v=4&s=48)](https://github.com/jnMetaCode)\n[![Phineas1500](https://avatars.githubusercontent.com/u/41450967?v=4&s=48)](https://github.com/Phineas1500) [![dingn42](https://avatars.githubusercontent.com/u/17723822?v=4&s=48)](https://github.com/dingn42) [![geekhuashan](https://avatars.githubusercontent.com/u/47098938?v=4&s=48)](https://github.com/geekhuashan) [![Nanako0129](https://avatars.githubusercontent.com/u/44753291?v=4&s=48)](https://github.com/Nanako0129) [![AytuncYildizli](https://avatars.githubusercontent.com/u/47717026?v=4&s=48)](https://github.com/AytuncYildizli) [![BruceMacD](https://avatars.githubusercontent.com/u/5853428?v=4&s=48)](https://github.com/BruceMacD) [![jjjojoj](https://avatars.githubusercontent.com/u/88077783?v=4&s=48)](https://github.com/jjjojoj) [![mvanhorn](https://avatars.githubusercontent.com/u/455140?v=4&s=48)](https://github.com/mvanhorn) [![bugkill3r](https://avatars.githubusercontent.com/u/2924124?v=4&s=48)](https://github.com/bugkill3r) [![rahthakor](https://avatars.githubusercontent.com/u/8470553?v=4&s=48)](https://github.com/rahthakor)\n[![GodsBoy](https://avatars.githubusercontent.com/u/5792287?v=4&s=48)](https://github.com/GodsBoy) [![SARAMALI15792](https://avatars.githubusercontent.com/u/140950904?v=4&s=48)](https://github.com/SARAMALI15792) [![Radek Paclt](https://avatars.githubusercontent.com/u/50451445?v=4&s=48)](https://github.com/radek-paclt) [![Elarwei001](https://avatars.githubusercontent.com/u/168552401?v=4&s=48)](https://github.com/Elarwei001) [![ingyukoh](https://avatars.githubusercontent.com/u/6015960?v=4&s=48)](https://github.com/ingyukoh) [![SnowSky1](https://avatars.githubusercontent.com/u/126348592?v=4&s=48)](https://github.com/SnowSky1) [![lewiswigmore](https://avatars.githubusercontent.com/u/58551848?v=4&s=48)](https://github.com/lewiswigmore) [![Hiroshi Tanaka](https://avatars.githubusercontent.com/u/145330217?v=4&s=48)](https://github.com/solavrc) [![aldoeliacim](https://avatars.githubusercontent.com/u/17973757?v=4&s=48)](https://github.com/aldoeliacim) [![Jakub Rusz](https://avatars.githubusercontent.com/u/55534579?v=4&s=48)](https://github.com/jrusz)\n[![Tony Dehnke](https://avatars.githubusercontent.com/u/36720180?v=4&s=48)](https://github.com/tonydehnke) [![roshanasingh4](https://avatars.githubusercontent.com/u/88576930?v=4&s=48)](https://github.com/roshanasingh4) [![zssggle-rgb](https://avatars.githubusercontent.com/u/226775494?v=4&s=48)](https://github.com/zssggle-rgb) [![adam91holt](https://avatars.githubusercontent.com/u/9592417?v=4&s=48)](https://github.com/adam91holt) [![graysurf](https://avatars.githubusercontent.com/u/10785178?v=4&s=48)](https://github.com/graysurf) [![xadenryan](https://avatars.githubusercontent.com/u/165437834?v=4&s=48)](https://github.com/xadenryan) [![sfo2001](https://avatars.githubusercontent.com/u/103369858?v=4&s=48)](https://github.com/sfo2001) [![Jamieson O'Reilly](https://avatars.githubusercontent.com/u/6668807?v=4&s=48)](https://github.com/orlyjamie) [![hsrvc](https://avatars.githubusercontent.com/u/129702169?v=4&s=48)](https://github.com/hsrvc) [![tomsun28](https://avatars.githubusercontent.com/u/24788200?v=4&s=48)](https://github.com/tomsun28)\n[![BillChirico](https://avatars.githubusercontent.com/u/13951316?v=4&s=48)](https://github.com/BillChirico) [![carrotRakko](https://avatars.githubusercontent.com/u/24588751?v=4&s=48)](https://github.com/carrotRakko) [![ranausmanai](https://avatars.githubusercontent.com/u/257128159?v=4&s=48)](https://github.com/ranausmanai) [![arkyu2077](https://avatars.githubusercontent.com/u/42494191?v=4&s=48)](https://github.com/arkyu2077) [![hoyyeva](https://avatars.githubusercontent.com/u/63033505?v=4&s=48)](https://github.com/hoyyeva) [![luoyanglang](https://avatars.githubusercontent.com/u/238804951?v=4&s=48)](https://github.com/luoyanglang) [![sibbl](https://avatars.githubusercontent.com/u/866535?v=4&s=48)](https://github.com/sibbl) [![gregmousseau](https://avatars.githubusercontent.com/u/5036458?v=4&s=48)](https://github.com/gregmousseau) [![sahilsatralkar](https://avatars.githubusercontent.com/u/62758655?v=4&s=48)](https://github.com/sahilsatralkar) [![akoscz](https://avatars.githubusercontent.com/u/1360047?v=4&s=48)](https://github.com/akoscz)\n[![rrenamed](https://avatars.githubusercontent.com/u/87486610?v=4&s=48)](https://github.com/rrenamed) [![YuzuruS](https://avatars.githubusercontent.com/u/1485195?v=4&s=48)](https://github.com/YuzuruS) [![Hongwei Ma](https://avatars.githubusercontent.com/u/11957602?v=4&s=48)](https://github.com/Marvae) [![mitchmcalister](https://avatars.githubusercontent.com/u/209334?v=4&s=48)](https://github.com/mitchmcalister) [![juanpablodlc](https://avatars.githubusercontent.com/u/92012363?v=4&s=48)](https://github.com/juanpablodlc) [![shtse8](https://avatars.githubusercontent.com/u/8020099?v=4&s=48)](https://github.com/shtse8) [![thebenignhacker](https://avatars.githubusercontent.com/u/32418586?v=4&s=48)](https://github.com/thebenignhacker) [![nimbleenigma](https://avatars.githubusercontent.com/u/129692390?v=4&s=48)](https://github.com/nimbleenigma) [![Linux2010](https://avatars.githubusercontent.com/u/35169750?v=4&s=48)](https://github.com/Linux2010) [![shichangs](https://avatars.githubusercontent.com/u/46870204?v=4&s=48)](https://github.com/shichangs)\n[![efe-arv](https://avatars.githubusercontent.com/u/259833796?v=4&s=48)](https://github.com/efe-arv) [![Hsiao A](https://avatars.githubusercontent.com/u/70124331?v=4&s=48)](https://github.com/hsiaoa) [![nabbilkhan](https://avatars.githubusercontent.com/u/203121263?v=4&s=48)](https://github.com/nabbilkhan) [![ayanesakura](https://avatars.githubusercontent.com/u/40628300?v=4&s=48)](https://github.com/ayanesakura) [![lupuletic](https://avatars.githubusercontent.com/u/105351510?v=4&s=48)](https://github.com/lupuletic) [![polooooo](https://avatars.githubusercontent.com/u/50262693?v=4&s=48)](https://github.com/polooooo) [![xaeon2026](https://avatars.githubusercontent.com/u/264572156?v=4&s=48)](https://github.com/xaeon2026) [![shrey150](https://avatars.githubusercontent.com/u/3813908?v=4&s=48)](https://github.com/shrey150) [![taw0002](https://avatars.githubusercontent.com/u/42811278?v=4&s=48)](https://github.com/taw0002) [![dinakars777](https://avatars.githubusercontent.com/u/250428393?v=4&s=48)](https://github.com/dinakars777)\n[![giulio-leone](https://avatars.githubusercontent.com/u/6887247?v=4&s=48)](https://github.com/giulio-leone) [![nyanjou](https://avatars.githubusercontent.com/u/258645604?v=4&s=48)](https://github.com/nyanjou) [![meaningfool](https://avatars.githubusercontent.com/u/2862331?v=4&s=48)](https://github.com/meaningfool) [![kunalk16](https://avatars.githubusercontent.com/u/5303824?v=4&s=48)](https://github.com/kunalk16) [![ide-rea](https://avatars.githubusercontent.com/u/30512600?v=4&s=48)](https://github.com/ide-rea) [![Jonathan Jing](https://avatars.githubusercontent.com/u/17068507?v=4&s=48)](https://github.com/JonathanJing) [![yelog](https://avatars.githubusercontent.com/u/14227866?v=4&s=48)](https://github.com/yelog) [![markmusson](https://avatars.githubusercontent.com/u/4801649?v=4&s=48)](https://github.com/markmusson) [![kiranvk-2011](https://avatars.githubusercontent.com/u/91108465?v=4&s=48)](https://github.com/kiranvk-2011) [![Sathvik Veerapaneni](https://avatars.githubusercontent.com/u/98241593?v=4&s=48)](https://github.com/Sathvik-Chowdary-Veerapaneni)\n[![rogerdigital](https://avatars.githubusercontent.com/u/13251150?v=4&s=48)](https://github.com/rogerdigital) [![artwalker](https://avatars.githubusercontent.com/u/44759507?v=4&s=48)](https://github.com/artwalker) [![azade-c](https://avatars.githubusercontent.com/u/252790079?v=4&s=48)](https://github.com/azade-c) [![chinar-amrutkar](https://avatars.githubusercontent.com/u/22189135?v=4&s=48)](https://github.com/chinar-amrutkar) [![maxsumrall](https://avatars.githubusercontent.com/u/628843?v=4&s=48)](https://github.com/maxsumrall) [![Minidoracat](https://avatars.githubusercontent.com/u/11269639?v=4&s=48)](https://github.com/Minidoracat) [![unisone](https://avatars.githubusercontent.com/u/32521398?v=4&s=48)](https://github.com/unisone) [![ly85206559](https://avatars.githubusercontent.com/u/12526624?v=4&s=48)](https://github.com/ly85206559) [![Sam Padilla](https://avatars.githubusercontent.com/u/35386211?v=4&s=48)](https://github.com/theSamPadilla) [![AnonO6](https://avatars.githubusercontent.com/u/124311066?v=4&s=48)](https://github.com/AnonO6)\n[![afurm](https://avatars.githubusercontent.com/u/6375192?v=4&s=48)](https://github.com/afurm) [![황재원](https://avatars.githubusercontent.com/u/91544407?v=4&s=48)](https://github.com/jwchmodx) [![Leszek Szpunar](https://avatars.githubusercontent.com/u/13106764?v=4&s=48)](https://github.com/leszekszpunar) [![Mrseenz](https://avatars.githubusercontent.com/u/101962919?v=4&s=48)](https://github.com/Mrseenz) [![Yida-Dev](https://avatars.githubusercontent.com/u/92713555?v=4&s=48)](https://github.com/Yida-Dev) [![kesor](https://avatars.githubusercontent.com/u/7056?v=4&s=48)](https://github.com/kesor) [![mazhe-nerd](https://avatars.githubusercontent.com/u/106217973?v=4&s=48)](https://github.com/mazhe-nerd) [![Harald Buerbaumer](https://avatars.githubusercontent.com/u/44548809?v=4&s=48)](https://github.com/buerbaumer) [![magimetal](https://avatars.githubusercontent.com/u/36491250?v=4&s=48)](https://github.com/magimetal) [![Hiren Patel](https://avatars.githubusercontent.com/u/172098?v=4&s=48)](https://github.com/patelhiren)\n[![BinHPdev](https://avatars.githubusercontent.com/u/219093083?v=4&s=48)](https://github.com/BinHPdev) [![RyanLee-Dev](https://avatars.githubusercontent.com/u/33855278?v=4&s=48)](https://github.com/RyanLee-Dev) [![cathrynlavery](https://avatars.githubusercontent.com/u/50469282?v=4&s=48)](https://github.com/cathrynlavery) [![al3mart](https://avatars.githubusercontent.com/u/11448715?v=4&s=48)](https://github.com/al3mart) [![JustYannicc](https://avatars.githubusercontent.com/u/52761674?v=4&s=48)](https://github.com/JustYannicc) [![abhisekbasu1](https://avatars.githubusercontent.com/u/40645221?v=4&s=48)](https://github.com/AbhisekBasu1) [![dbhurley](https://avatars.githubusercontent.com/u/5251425?v=4&s=48)](https://github.com/dbhurley) [![Kris Wu](https://avatars.githubusercontent.com/u/32388289?v=4&s=48)](https://github.com/mpz4life) [![tmimmanuel](https://avatars.githubusercontent.com/u/14046872?v=4&s=48)](https://github.com/tmimmanuel) [![JustasM](https://avatars.githubusercontent.com/u/59362982?v=4&s=48)](https://github.com/JustasMonkev)\n[![Simantak Dabhade](https://avatars.githubusercontent.com/u/67303107?v=4&s=48)](https://github.com/simantak-dabhade) [![NicholasSpisak](https://avatars.githubusercontent.com/u/129075147?v=4&s=48)](https://github.com/NicholasSpisak) [![natefikru](https://avatars.githubusercontent.com/u/10344644?v=4&s=48)](https://github.com/natefikru) [![dunamismax](https://avatars.githubusercontent.com/u/65822992?v=4&s=48)](https://github.com/dunamismax) [![Simone Macario](https://avatars.githubusercontent.com/u/2116609?v=4&s=48)](https://github.com/simonemacario) [![ENCHIGO](https://avatars.githubusercontent.com/u/38551565?v=4&s=48)](https://github.com/ENCHIGO) [![xingsy97](https://avatars.githubusercontent.com/u/87063252?v=4&s=48)](https://github.com/xingsy97) [![emonty](https://avatars.githubusercontent.com/u/95156?v=4&s=48)](https://github.com/emonty) [![jadilson12](https://avatars.githubusercontent.com/u/36805474?v=4&s=48)](https://github.com/jadilson12) [![Yi-Cheng Wang](https://avatars.githubusercontent.com/u/80525895?v=4&s=48)](https://github.com/kirisame-wang)\n[![Mathias Nagler](https://avatars.githubusercontent.com/u/9951231?v=4&s=48)](https://github.com/mathiasnagler) [![Sean McLellan](https://avatars.githubusercontent.com/u/760674?v=4&s=48)](https://github.com/Oceanswave) [![gumclaw](https://avatars.githubusercontent.com/u/265388744?v=4&s=48)](https://github.com/gumclaw) [![RichardCao](https://avatars.githubusercontent.com/u/4612401?v=4&s=48)](https://github.com/RichardCao) [![MKV21](https://avatars.githubusercontent.com/u/4974411?v=4&s=48)](https://github.com/MKV21) [![petter-b](https://avatars.githubusercontent.com/u/62076402?v=4&s=48)](https://github.com/petter-b) [![CodeForgeNet](https://avatars.githubusercontent.com/u/166907114?v=4&s=48)](https://github.com/CodeForgeNet) [![Johnson Shi](https://avatars.githubusercontent.com/u/13926417?v=4&s=48)](https://github.com/johnsonshi) [![durenzidu](https://avatars.githubusercontent.com/u/38130340?v=4&s=48)](https://github.com/durenzidu) [![dougvk](https://avatars.githubusercontent.com/u/401660?v=4&s=48)](https://github.com/dougvk)\n[![Whoaa512](https://avatars.githubusercontent.com/u/1581943?v=4&s=48)](https://github.com/Whoaa512) [![zimeg](https://avatars.githubusercontent.com/u/18134219?v=4&s=48)](https://github.com/zimeg) [![Tseka Luk](https://avatars.githubusercontent.com/u/79151285?v=4&s=48)](https://github.com/TsekaLuk) [![Ryan Haines](https://avatars.githubusercontent.com/u/1855752?v=4&s=48)](https://github.com/Ryan-Haines) [![ufhy](https://avatars.githubusercontent.com/u/41638541?v=4&s=48)](https://github.com/uf-hy) [![Daan van der Plas](https://avatars.githubusercontent.com/u/93204684?v=4&s=48)](https://github.com/Daanvdplas) [![bittoby](https://avatars.githubusercontent.com/u/218712309?v=4&s=48)](https://github.com/bittoby) [![XuHao](https://avatars.githubusercontent.com/u/5087930?v=4&s=48)](https://github.com/xuhao1) [![Lucenx9](https://avatars.githubusercontent.com/u/185146821?v=4&s=48)](https://github.com/Lucenx9) [![HeMuling](https://avatars.githubusercontent.com/u/74801533?v=4&s=48)](https://github.com/HeMuling)\n[![AaronLuo00](https://avatars.githubusercontent.com/u/112882500?v=4&s=48)](https://github.com/AaronLuo00) [![YUJIE2002](https://avatars.githubusercontent.com/u/123847463?v=4&s=48)](https://github.com/YUJIE2002) [![DhruvBhatia0](https://avatars.githubusercontent.com/u/69252327?v=4&s=48)](https://github.com/DhruvBhatia0) [![Divanoli Mydeen Pitchai](https://avatars.githubusercontent.com/u/12023205?v=4&s=48)](https://github.com/divanoli) [![Bronko](https://avatars.githubusercontent.com/u/2217509?v=4&s=48)](https://github.com/derbronko) [![rubyrunsstuff](https://avatars.githubusercontent.com/u/246602379?v=4&s=48)](https://github.com/rubyrunsstuff) [![rabsef-bicrym](https://avatars.githubusercontent.com/u/52549148?v=4&s=48)](https://github.com/rabsef-bicrym) [![IVY-AI-gif](https://avatars.githubusercontent.com/u/62232838?v=4&s=48)](https://github.com/IVY-AI-gif) [![pvtclawn](https://avatars.githubusercontent.com/u/258811507?v=4&s=48)](https://github.com/pvtclawn) [![stephenschoettler](https://avatars.githubusercontent.com/u/7587303?v=4&s=48)](https://github.com/stephenschoettler)\n[![Dale Babiy](https://avatars.githubusercontent.com/u/42547246?v=4&s=48)](https://github.com/minupla) [![LeftX](https://avatars.githubusercontent.com/u/53989315?v=4&s=48)](https://github.com/xzq-xu) [![David Gelberg](https://avatars.githubusercontent.com/u/57605064?v=4&s=48)](https://github.com/mousberg) [![Engr. Arif Ahmed Joy](https://avatars.githubusercontent.com/u/4543396?v=4&s=48)](https://github.com/arifahmedjoy) [![Masataka Shinohara](https://avatars.githubusercontent.com/u/11906529?v=4&s=48)](https://github.com/harhogefoo) [![2233admin](https://avatars.githubusercontent.com/u/57929895?v=4&s=48)](https://github.com/2233admin) [![ameno-](https://avatars.githubusercontent.com/u/2416135?v=4&s=48)](https://github.com/ameno-) [![battman21](https://avatars.githubusercontent.com/u/2656916?v=4&s=48)](https://github.com/battman21) [![bcherny](https://avatars.githubusercontent.com/u/1761758?v=4&s=48)](https://github.com/bcherny) [![bobashopcashier](https://avatars.githubusercontent.com/u/77253505?v=4&s=48)](https://github.com/bobashopcashier)\n[![dguido](https://avatars.githubusercontent.com/u/294844?v=4&s=48)](https://github.com/dguido) [![druide67](https://avatars.githubusercontent.com/u/212749853?v=4&s=48)](https://github.com/druide67) [![guirguispierre](https://avatars.githubusercontent.com/u/22091706?v=4&s=48)](https://github.com/guirguispierre) [![jzakirov](https://avatars.githubusercontent.com/u/15848838?v=4&s=48)](https://github.com/jzakirov) [![loganprit](https://avatars.githubusercontent.com/u/72722788?v=4&s=48)](https://github.com/loganprit) [![martinfrancois](https://avatars.githubusercontent.com/u/14319020?v=4&s=48)](https://github.com/martinfrancois) [![neo1027144-creator](https://avatars.githubusercontent.com/u/267440006?v=4&s=48)](https://github.com/neo1027144-creator) [![RealKai42](https://avatars.githubusercontent.com/u/44634134?v=4&s=48)](https://github.com/RealKai42) [![schumilin](https://avatars.githubusercontent.com/u/2003498?v=4&s=48)](https://github.com/schumilin) [![shuofengzhang](https://avatars.githubusercontent.com/u/24763026?v=4&s=48)](https://github.com/shuofengzhang)\n[![solstead](https://avatars.githubusercontent.com/u/168413654?v=4&s=48)](https://github.com/solstead) [![hengm3467](https://avatars.githubusercontent.com/u/100685635?v=4&s=48)](https://github.com/hengm3467) [![chziyue](https://avatars.githubusercontent.com/u/62380760?v=4&s=48)](https://github.com/chziyue) [![James L. Cowan Jr.](https://avatars.githubusercontent.com/u/112015792?v=4&s=48)](https://github.com/jameslcowan) [![scifantastic](https://avatars.githubusercontent.com/u/150712374?v=4&s=48)](https://github.com/scifantastic) [![ryan-crabbe](https://avatars.githubusercontent.com/u/128659760?v=4&s=48)](https://github.com/ryan-crabbe) [![alexfilatov](https://avatars.githubusercontent.com/u/138589?v=4&s=48)](https://github.com/alexfilatov) [![Luckymingxuan](https://avatars.githubusercontent.com/u/159552597?v=4&s=48)](https://github.com/Luckymingxuan) [![HollyChou](https://avatars.githubusercontent.com/u/128659251?v=4&s=48)](https://github.com/Hollychou924) [![badlogic](https://avatars.githubusercontent.com/u/514052?v=4&s=48)](https://github.com/badlogic)\n[![Daniel Hnyk](https://avatars.githubusercontent.com/u/2741256?v=4&s=48)](https://github.com/hnykda) [![dan bachelder](https://avatars.githubusercontent.com/u/325706?v=4&s=48)](https://github.com/dbachelder) [![heavenlost](https://avatars.githubusercontent.com/u/70937055?v=4&s=48)](https://github.com/heavenlost) [![shad0wca7](https://avatars.githubusercontent.com/u/9969843?v=4&s=48)](https://github.com/shad0wca7) [![Jared](https://avatars.githubusercontent.com/u/37019497?v=4&s=48)](https://github.com/jared596) [![kiranjd](https://avatars.githubusercontent.com/u/25822851?v=4&s=48)](https://github.com/kiranjd) [![Mars](https://avatars.githubusercontent.com/u/40958792?v=4&s=48)](https://github.com/Mellowambience) [![Kim](https://avatars.githubusercontent.com/u/150593189?v=4&s=48)](https://github.com/KimGLee) [![seheepeak](https://avatars.githubusercontent.com/u/134766597?v=4&s=48)](https://github.com/seheepeak) [![tsavo](https://avatars.githubusercontent.com/u/877990?v=4&s=48)](https://github.com/TSavo)\n[![McRolly NWANGWU](https://avatars.githubusercontent.com/u/60803337?v=4&s=48)](https://github.com/mcrolly) [![dashed](https://avatars.githubusercontent.com/u/139499?v=4&s=48)](https://github.com/dashed) [![Shuai-DaiDai](https://avatars.githubusercontent.com/u/134567396?v=4&s=48)](https://github.com/Shuai-DaiDai) [![Subash Natarajan](https://avatars.githubusercontent.com/u/11032439?v=4&s=48)](https://github.com/suboss87) [![emanuelst](https://avatars.githubusercontent.com/u/9994339?v=4&s=48)](https://github.com/emanuelst) [![magendary](https://avatars.githubusercontent.com/u/30611068?v=4&s=48)](https://github.com/magendary) [![LI SHANXIN](https://avatars.githubusercontent.com/u/128674037?v=4&s=48)](https://github.com/PeterShanxin) [![j2h4u](https://avatars.githubusercontent.com/u/39818683?v=4&s=48)](https://github.com/j2h4u) [![bsormagec](https://avatars.githubusercontent.com/u/965219?v=4&s=48)](https://github.com/bsormagec) [![mjamiv](https://avatars.githubusercontent.com/u/142179942?v=4&s=48)](https://github.com/mjamiv)\n[![Lalit Singh](https://avatars.githubusercontent.com/u/17166039?v=4&s=48)](https://github.com/aerolalit) [![Jessy LANGE](https://avatars.githubusercontent.com/u/89694096?v=4&s=48)](https://github.com/jessy2027) [![buddyh](https://avatars.githubusercontent.com/u/31752869?v=4&s=48)](https://github.com/buddyh) [![Aaron Zhu](https://avatars.githubusercontent.com/u/139607425?v=4&s=48)](https://github.com/aaron-he-zhu) [![F_ool](https://avatars.githubusercontent.com/u/112874572?v=4&s=48)](https://github.com/hhhhao28) [![Ben Stein](https://avatars.githubusercontent.com/u/31802821?v=4&s=48)](https://github.com/benostein) [![Lyle](https://avatars.githubusercontent.com/u/31182860?v=4&s=48)](https://github.com/LyleLiu666) [![Ping](https://avatars.githubusercontent.com/u/5123601?v=4&s=48)](https://github.com/pingren) [![popomore](https://avatars.githubusercontent.com/u/360661?v=4&s=48)](https://github.com/popomore) [![Dithilli](https://avatars.githubusercontent.com/u/41286037?v=4&s=48)](https://github.com/Dithilli)\n[![fal3](https://avatars.githubusercontent.com/u/6484295?v=4&s=48)](https://github.com/fal3) [![mkbehr](https://avatars.githubusercontent.com/u/1285?v=4&s=48)](https://github.com/mkbehr) [![mteam88](https://avatars.githubusercontent.com/u/84196639?v=4&s=48)](https://github.com/mteam88) [![gupsammy](https://avatars.githubusercontent.com/u/20296019?v=4&s=48)](https://github.com/gupsammy) [![Shailesh](https://avatars.githubusercontent.com/u/75851986?v=4&s=48)](https://github.com/gut-puncture) [![Garnet Liu](https://avatars.githubusercontent.com/u/12513503?v=4&s=48)](https://github.com/garnetlyx) [![Thorfinn](https://avatars.githubusercontent.com/u/136994453?v=4&s=48)](https://github.com/miloudbelarebia) [![Protocol-zero-0](https://avatars.githubusercontent.com/u/257158451?v=4&s=48)](https://github.com/Protocol-zero-0) [![Paul van Oorschot](https://avatars.githubusercontent.com/u/20116814?v=4&s=48)](https://github.com/pvoo) [![Patrick Yingxi Pan](https://avatars.githubusercontent.com/u/5210631?v=4&s=48)](https://github.com/patrick-yingxi-pan)\n[![Ptah.ai](https://avatars.githubusercontent.com/u/11701?v=4&s=48)](https://github.com/ptahdunbar) [![정우용](https://avatars.githubusercontent.com/u/71975659?v=4&s=48)](https://github.com/keepitmello) [![artuskg](https://avatars.githubusercontent.com/u/11966157?v=4&s=48)](https://github.com/artuskg) [![Anandesh-Sharma](https://avatars.githubusercontent.com/u/30695364?v=4&s=48)](https://github.com/Anandesh-Sharma) [![zidongdesign](https://avatars.githubusercontent.com/u/81469543?v=4&s=48)](https://github.com/zidongdesign) [![innocent-children](https://avatars.githubusercontent.com/u/55626758?v=4&s=48)](https://github.com/Innocent-children) [![El-Fitz](https://avatars.githubusercontent.com/u/8971906?v=4&s=48)](https://github.com/El-Fitz) [![arthurbr11](https://avatars.githubusercontent.com/u/99079981?v=4&s=48)](https://github.com/arthurbr11) [![jackheuberger](https://avatars.githubusercontent.com/u/7830838?v=4&s=48)](https://github.com/jackheuberger) [![Sergiusz](https://avatars.githubusercontent.com/u/6172067?v=4&s=48)](https://github.com/serkonyc)\n[![Xu Gu](https://avatars.githubusercontent.com/u/53551744?v=4&s=48)](https://github.com/guxu11) [![hyojin](https://avatars.githubusercontent.com/u/3413183?v=4&s=48)](https://github.com/hyojin) [![jeann2013](https://avatars.githubusercontent.com/u/3299025?v=4&s=48)](https://github.com/jeann2013) [![jogelin](https://avatars.githubusercontent.com/u/954509?v=4&s=48)](https://github.com/jogelin) [![rmorse](https://avatars.githubusercontent.com/u/853547?v=4&s=48)](https://github.com/rmorse) [![scz2011](https://avatars.githubusercontent.com/u/9337506?v=4&s=48)](https://github.com/scz2011) [![Andyliu](https://avatars.githubusercontent.com/u/2377291?v=4&s=48)](https://github.com/andyliu) [![benithors](https://avatars.githubusercontent.com/u/20652882?v=4&s=48)](https://github.com/benithors) [![xiwuqi](https://avatars.githubusercontent.com/u/64734786?v=4&s=48)](https://github.com/xiwuqi) [![Alvin](https://avatars.githubusercontent.com/u/48358093?v=4&s=48)](https://github.com/TigerInYourDream)\n[![AARON AGENT](https://avatars.githubusercontent.com/u/78432083?v=4&s=48)](https://github.com/aaronagent) [![Derek YU](https://avatars.githubusercontent.com/u/154693526?v=4&s=48)](https://github.com/TonyDerek-dot) [![Marvin](https://avatars.githubusercontent.com/u/43185740?v=4&s=48)](https://github.com/Zitzak) [![Andrew Jeon](https://avatars.githubusercontent.com/u/46941315?v=4&s=48)](https://github.com/ruypang) [![stain lu](https://avatars.githubusercontent.com/u/109842185?v=4&s=48)](https://github.com/stainlu) [![OpenCils](https://avatars.githubusercontent.com/u/114985039?v=4&s=48)](https://github.com/OpenCils) [![Stefan Galescu](https://avatars.githubusercontent.com/u/52995748?v=4&s=48)](https://github.com/stefangalescu) [![SP](https://avatars.githubusercontent.com/u/8068616?v=4&s=48)](https://github.com/sp-hk2ldn) [![Michael Flanagan](https://avatars.githubusercontent.com/u/39276573?v=4&s=48)](https://github.com/MikeORed) [![Gracie Gould](https://avatars.githubusercontent.com/u/66045258?v=4&s=48)](https://github.com/graciegould)\n[![cash-echo-bot](https://avatars.githubusercontent.com/u/252747386?v=4&s=48)](https://github.com/cash-echo-bot) [![visionik](https://avatars.githubusercontent.com/u/52174?v=4&s=48)](https://github.com/visionik) [![WalterSumbon](https://avatars.githubusercontent.com/u/45062253?v=4&s=48)](https://github.com/WalterSumbon) [![huangcj](https://avatars.githubusercontent.com/u/43933609?v=4&s=48)](https://github.com/SubtleSpark) [![krizpoon](https://avatars.githubusercontent.com/u/1977532?v=4&s=48)](https://github.com/krizpoon) [![rodbland2021](https://avatars.githubusercontent.com/u/86267410?v=4&s=48)](https://github.com/rodbland2021) [![Thomas M](https://avatars.githubusercontent.com/u/44269971?v=4&s=48)](https://github.com/thomasxm) [![sar618](https://avatars.githubusercontent.com/u/214745104?v=4&s=48)](https://github.com/sar618) [![fagemx](https://avatars.githubusercontent.com/u/117356295?v=4&s=48)](https://github.com/fagemx) [![daymade](https://avatars.githubusercontent.com/u/4291901?v=4&s=48)](https://github.com/daymade)\n[![Tyson Cung](https://avatars.githubusercontent.com/u/45380903?v=4&s=48)](https://github.com/tysoncung) [![Igor Markelov](https://avatars.githubusercontent.com/u/1489583?v=4&s=48)](https://github.com/pycckuu) [![Eng. Juan Combetto](https://avatars.githubusercontent.com/u/322761?v=4&s=48)](https://github.com/omniwired) [![connorshea](https://avatars.githubusercontent.com/u/2977353?v=4&s=48)](https://github.com/connorshea) [![bonald](https://avatars.githubusercontent.com/u/12394874?v=4&s=48)](https://github.com/bonald) [![Keenan](https://avatars.githubusercontent.com/u/85285887?v=4&s=48)](https://github.com/BeeSting50) [![nachoiacovino](https://avatars.githubusercontent.com/u/50103937?v=4&s=48)](https://github.com/nachoiacovino) [![zhumengzhu](https://avatars.githubusercontent.com/u/4508623?v=4&s=48)](https://github.com/zhumengzhu) [![Amine Harch el korane](https://avatars.githubusercontent.com/u/95189778?v=4&s=48)](https://github.com/Vitalcheffe) [![zhoulc777](https://avatars.githubusercontent.com/u/65058500?v=4&s=48)](https://github.com/zhoulongchao77)\n[![Alex Navarro](https://avatars.githubusercontent.com/u/78754189?v=4&s=48)](https://github.com/navarrotech) [![Tanwa Arpornthip](https://avatars.githubusercontent.com/u/72845369?v=4&s=48)](https://github.com/CommanderCrowCode) [![TIHU](https://avatars.githubusercontent.com/u/44923937?v=4&s=48)](https://github.com/paceyw) [![Aftabbs](https://avatars.githubusercontent.com/u/112916888?v=4&s=48)](https://github.com/Aftabbs) [![Alex-Alaniz](https://avatars.githubusercontent.com/u/88956822?v=4&s=48)](https://github.com/Alex-Alaniz) [![jarvis-medmatic](https://avatars.githubusercontent.com/u/252428873?v=4&s=48)](https://github.com/jarvis-medmatic) [![Tom Ron](https://avatars.githubusercontent.com/u/126325152?v=4&s=48)](https://github.com/tomron87) [![day253](https://avatars.githubusercontent.com/u/9634619?v=4&s=48)](https://github.com/day253) [![Jaaneek](https://avatars.githubusercontent.com/u/25470423?v=4&s=48)](https://github.com/Jaaneek) [![Justin Song](https://avatars.githubusercontent.com/u/32268203?v=4&s=48)](https://github.com/AnCoSONG)\n[![ziomancer](https://avatars.githubusercontent.com/u/262232137?v=4&s=48)](https://github.com/ziomancer) [![shayan919293](https://avatars.githubusercontent.com/u/60409704?v=4&s=48)](https://github.com/shayan919293) [![Edward](https://avatars.githubusercontent.com/u/53964601?v=4&s=48)](https://github.com/edwluo) [![Roger Chien](https://avatars.githubusercontent.com/u/20276663?v=4&s=48)](https://github.com/rjchien728) [![Michael Lee](https://avatars.githubusercontent.com/u/5957298?v=4&s=48)](https://github.com/TinyTb) [![Tomáš Dinh](https://avatars.githubusercontent.com/u/82420070?v=4&s=48)](https://github.com/No898) [![Ian Derrington](https://avatars.githubusercontent.com/u/76016868?v=4&s=48)](https://github.com/ianderrington) [![Lucky](https://avatars.githubusercontent.com/u/14868134?v=4&s=48)](https://github.com/L-U-C-K-Y) [![peschee](https://avatars.githubusercontent.com/u/63866?v=4&s=48)](https://github.com/peschee) [![Harry Cui Kepler](https://avatars.githubusercontent.com/u/166882517?v=4&s=48)](https://github.com/Kepler2024)\n[![julianengel](https://avatars.githubusercontent.com/u/10634231?v=4&s=48)](https://github.com/julianengel) [![markfietje](https://avatars.githubusercontent.com/u/4325889?v=4&s=48)](https://github.com/markfietje) [![Dakshay Mehta](https://avatars.githubusercontent.com/u/50276213?v=4&s=48)](https://github.com/dakshaymehta) [![TheRipper](https://avatars.githubusercontent.com/u/144421782?v=4&s=48)](https://github.com/DavidNitZ) [![Dominic](https://avatars.githubusercontent.com/u/43616264?v=4&s=48)](https://github.com/dominicnunez) [![danielwanwx](https://avatars.githubusercontent.com/u/144515713?v=4&s=48)](https://github.com/danielwanwx) [![Seungwoo hong](https://avatars.githubusercontent.com/u/1100974?v=4&s=48)](https://github.com/hongsw) [![Youyou972](https://avatars.githubusercontent.com/u/50808411?v=4&s=48)](https://github.com/Youyou972) [![boris721](https://avatars.githubusercontent.com/u/257853888?v=4&s=48)](https://github.com/boris721) [![damoahdominic](https://avatars.githubusercontent.com/u/4623434?v=4&s=48)](https://github.com/damoahdominic)\n[![dan-dr](https://avatars.githubusercontent.com/u/6669808?v=4&s=48)](https://github.com/dan-dr) [![doodlewind](https://avatars.githubusercontent.com/u/7312949?v=4&s=48)](https://github.com/doodlewind) [![kkarimi](https://avatars.githubusercontent.com/u/875218?v=4&s=48)](https://github.com/kkarimi) [![brokemac79](https://avatars.githubusercontent.com/u/255583030?v=4&s=48)](https://github.com/brokemac79) [![ozbillwang](https://avatars.githubusercontent.com/u/8954908?v=4&s=48)](https://github.com/ozbillwang) [![Ravish Gupta](https://avatars.githubusercontent.com/u/1249023?v=4&s=48)](https://github.com/ravyg) [![Jason Hargrove](https://avatars.githubusercontent.com/u/285708?v=4&s=48)](https://github.com/jasonhargrove) [![BrianWang1990](https://avatars.githubusercontent.com/u/20699847?v=4&s=48)](https://github.com/BrianWang1990) [![Joshua McKiddy](https://avatars.githubusercontent.com/u/43189238?v=4&s=48)](https://github.com/hackersifu) [![Fologan](https://avatars.githubusercontent.com/u/164580328?v=4&s=48)](https://github.com/Fologan)\n[![Anonymous Amit](https://avatars.githubusercontent.com/u/134582556?v=4&s=48)](https://github.com/AnonAmit) [![v1p0r](https://avatars.githubusercontent.com/u/25909990?v=4&s=48)](https://github.com/v1p0r) [![Ajay Elika](https://avatars.githubusercontent.com/u/73169130?v=4&s=48)](https://github.com/ajay99511) [![Iranb](https://avatars.githubusercontent.com/u/49674669?v=4&s=48)](https://github.com/Iranb) [![Yonatan](https://avatars.githubusercontent.com/u/10474956?v=4&s=48)](https://github.com/yhyatt) [![codexGW](https://avatars.githubusercontent.com/u/9350182?v=4&s=48)](https://github.com/codexGW) [![Shaun Tsai](https://avatars.githubusercontent.com/u/13811075?v=4&s=48)](https://github.com/ShaunTsai) [![TideFinder](https://avatars.githubusercontent.com/u/68721273?v=4&s=48)](https://github.com/papago2355) [![Chase Dorsey](https://avatars.githubusercontent.com/u/12650570?v=4&s=48)](https://github.com/cdorsey) [![tda](https://avatars.githubusercontent.com/u/95275462?v=4&s=48)](https://github.com/tda1017)\n[![0xJonHoldsCrypto](https://avatars.githubusercontent.com/u/81202085?v=4&s=48)](https://github.com/0xJonHoldsCrypto) [![akyourowngames](https://avatars.githubusercontent.com/u/123736861?v=4&s=48)](https://github.com/akyourowngames) [![clawdinator[bot]](https://avatars.githubusercontent.com/in/2607181?v=4&s=48)](https://github.com/apps/clawdinator) [![koala73](https://avatars.githubusercontent.com/u/996596?v=4&s=48)](https://github.com/koala73) [![sircrumpet](https://avatars.githubusercontent.com/u/4436535?v=4&s=48)](https://github.com/sircrumpet) [![thesomewhatyou](https://avatars.githubusercontent.com/u/162917831?v=4&s=48)](https://github.com/thesomewhatyou) [![zats](https://avatars.githubusercontent.com/u/2688806?v=4&s=48)](https://github.com/zats) [![Accunza](https://avatars.githubusercontent.com/u/12242811?v=4&s=48)](https://github.com/duqaXxX) [![Joly0](https://avatars.githubusercontent.com/u/13993216?v=4&s=48)](https://github.com/Joly0) [![Hanna](https://avatars.githubusercontent.com/u/4538260?v=4&s=48)](https://github.com/hannasdev)\n[![Jeremiah Lowin](https://avatars.githubusercontent.com/u/153965?v=4&s=48)](https://github.com/jlowin) [![peetzweg/](https://avatars.githubusercontent.com/u/839848?v=4&s=48)](https://github.com/peetzweg) [![Skyler Miao](https://avatars.githubusercontent.com/u/153898832?v=4&s=48)](https://github.com/adao-max) [![tumf](https://avatars.githubusercontent.com/u/69994?v=4&s=48)](https://github.com/tumf) [![Hiago Silva](https://avatars.githubusercontent.com/u/97215740?v=4&s=48)](https://github.com/Huntterxx) [![Nate](https://avatars.githubusercontent.com/u/12980165?v=4&s=48)](https://github.com/nk1tz) [![lidamao633](https://avatars.githubusercontent.com/u/94925404?v=4&s=48)](https://github.com/lidamao633) [![Cklee](https://avatars.githubusercontent.com/u/99405438?v=4&s=48)](https://github.com/liebertar) [![CornBrother0x](https://avatars.githubusercontent.com/u/101160087?v=4&s=48)](https://github.com/CornBrother0x) [![DukeDeSouth](https://avatars.githubusercontent.com/u/51200688?v=4&s=48)](https://github.com/DukeDeSouth)\n[![Sahan](https://avatars.githubusercontent.com/u/57447079?v=4&s=48)](https://github.com/sahancava) [![CashWilliams](https://avatars.githubusercontent.com/u/613573?v=4&s=48)](https://github.com/CashWilliams) [![Felix Lu](https://avatars.githubusercontent.com/u/58391009?v=4&s=48)](https://github.com/lumpinif) [![AdeboyeDN](https://avatars.githubusercontent.com/u/65312338?v=4&s=48)](https://github.com/AdeboyeDN) [![Rohan Santhosh Kumar](https://avatars.githubusercontent.com/u/181558744?v=4&s=48)](https://github.com/Rohan5commit) [![Srinivas Pavan](https://avatars.githubusercontent.com/u/34889400?v=4&s=48)](https://github.com/srinivaspavan9) [![h0tp](https://avatars.githubusercontent.com/u/141889580?v=4&s=48)](https://github.com/h0tp-ftw) [![Neo](https://avatars.githubusercontent.com/u/54811660?v=4&s=48)](https://github.com/neooriginal) [![Tianworld](https://avatars.githubusercontent.com/u/40754565?v=4&s=48)](https://github.com/Tianworld) [![neverland](https://avatars.githubusercontent.com/u/10937319?v=4&s=48)](https://github.com/Bermudarat)\n[![asklee-klawd](https://avatars.githubuserconte","readmeFilename":"README.md"}