{"_id":"ironclaw","_rev":"29-ecd5adec89e6382909a52dc69acc3a13","name":"ironclaw","dist-tags":{"latest":"2026.2.22-1.3.1"},"versions":{"2026.2.6-3":{"name":"ironclaw","version":"2026.2.6-3","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.6-3","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"4b1e7bfc21f021323fb5bdc42f525b0cdc285ac6","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.6-3.tgz","fileCount":2817,"integrity":"sha512-QoKc7jwFjXomN+AGhFeLWXVsiiMfAJzKr0XQKGDFxzCFAXeo1/WG0h8OSUDjuxtc3AefJuKcsI7KT+27crNLJg==","signatures":[{"sig":"MEYCIQCL7Z4ahG2XCP4DAp2FnBfQAoDXOvpJjwEBJAfcQJDH9gIhAKwKNhopGUrdOLN/XOGSGgEVdGaxzhtxB7lZ+UWIusZH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43980023},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","hono":"4.11.8","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48","@hono/node-server>hono":"4.11.8"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":"./dist/plugin-sdk/index.js"},"gitHead":"dfaf7180b486ce0d4dfcc5ec5b2699d0ac8c3d5e","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm tsgo && pnpm lint && pnpm format","start":"node scripts/run-node.mjs","format":"oxfmt --check","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format:fix","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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs && pnpm lint:docs && pnpm docs:build","docs:build":"cd docs && pnpm dlx --reporter append-only mint broken-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","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","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","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","web:install":"pnpm --dir apps/web install","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","format:docs:fix":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.39.3","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.0","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.13.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.985.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.28.0","ollama":"^0.6.3","oxlint":"^1.43.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.2","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.23.0","oxlint-tsgolint":"^0.11.5","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260208.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.6-3_1770882189478_0.3336103613877093","host":"s3://npm-registry-packages-npm-production"}},"2026.2.6-3.5":{"name":"ironclaw","version":"2026.2.6-3.5","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.6-3.5","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"e4d0c0b7ea68db23f7f421055550fc0696016de1","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.6-3.5.tgz","fileCount":3018,"integrity":"sha512-rzg6hL1jEtoxQZROgo/HRzGxnq5HBSNpt5TI5WLdJyVsuMhAo2R2MRl+pmMFWEEOtVXtpGJ6GQbiVs8qnf/1sA==","signatures":[{"sig":"MEUCIQDFdmgHajL8CbJ3hft/io+Jg7etvAneyq/HNDqy/qLlvAIgU201lDr1sdAFpUQri4QeSwWqO31Oa7RpyLidQONFfuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50245285},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","hono":"4.11.8","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48","@hono/node-server>hono":"4.11.8"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":"./dist/plugin-sdk/index.js"},"gitHead":"a1a54403a522b19f622816fdc41d36cbb396246f","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm tsgo && pnpm lint && pnpm format","start":"node scripts/run-node.mjs","format":"oxfmt --check","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format:fix","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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs && pnpm lint:docs && pnpm docs:build","docs:build":"cd docs && pnpm dlx --reporter append-only mint broken-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","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","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","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","web:install":"pnpm --dir apps/web install","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","format:docs:fix":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.39.3","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.0","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.13.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.985.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.28.0","ollama":"^0.6.3","oxlint":"^1.43.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.2","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.23.0","oxlint-tsgolint":"^0.11.5","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260208.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.6-3.5_1770885539610_0.25977864771078485","host":"s3://npm-registry-packages-npm-production"}},"2026.2.6-3.6":{"name":"ironclaw","version":"2026.2.6-3.6","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.6-3.6","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"72cfd430f7c024240d90afc9eb0891698ed2d303","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.6-3.6.tgz","fileCount":3180,"integrity":"sha512-ZldFyG8NCpGiC3nLZx5KfWVxdSA6Pqzuk7ojtTKv5WTsHuK3prNASyEie52C3pYw8TijK5xSciLEYBKy2I+Ymg==","signatures":[{"sig":"MEUCIGHT1nmYKGtAHgAIGjsVwVL3YMb6F+QJcbkY/Gnj4wjHAiEAgy3uXhAEB5yUtSvnAVFm4QB8OxA2AG2JBnzAFImkFpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344128067},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","hono":"4.11.8","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48","@hono/node-server>hono":"4.11.8"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":"./dist/plugin-sdk/index.js"},"gitHead":"e1976af8f8edc91522ac39e0afc93013a1646e98","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm tsgo && pnpm lint && pnpm format","start":"node scripts/run-node.mjs","format":"oxfmt --check","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format:fix","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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs && pnpm lint:docs && pnpm docs:build","docs:build":"cd docs && pnpm dlx --reporter append-only mint broken-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","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","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","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","web:install":"pnpm --dir apps/web install","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","format:docs:fix":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.39.3","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.0","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.13.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.985.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.28.0","ollama":"^0.6.3","oxlint":"^1.43.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.2","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.23.0","oxlint-tsgolint":"^0.11.5","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260208.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.6-3.6_1770887501700_0.8259325216475728","host":"s3://npm-registry-packages-npm-production"}},"2026.2.6-3.7":{"name":"ironclaw","version":"2026.2.6-3.7","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.6-3.7","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"7451ca1de41a9a126ddbc67ce467ed74a1391997","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.6-3.7.tgz","fileCount":3182,"integrity":"sha512-wjEHlt+PD45PgRBFEbP8qWM1jtV185lvx+cbXN6DEDCmY8qrH24kFjWsgIACF+AfyfqN/RThw+4MVKvPij8hfw==","signatures":[{"sig":"MEQCIEgFlbOo9rex/ap2cUYRa8CBv18Hh8sXvQJ0JaaTivWyAiAVA5TPzWqZZLjwIhA2Gndjiy9jIE+/gTt9TmyX0dP/tw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344134852},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","hono":"4.11.8","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48","@hono/node-server>hono":"4.11.8"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","node-llama-cpp","protobufjs","sharp"]},"type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./dist/index.js","./cli-entry":"./openclaw.mjs","./plugin-sdk":"./dist/plugin-sdk/index.js"},"gitHead":"a03f1d5ea462bdf58861312f322af955ad50d835","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm tsgo && pnpm lint && pnpm format","start":"node scripts/run-node.mjs","format":"oxfmt --check","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"cd apps/ios && xcodegen generate && open OpenClaw.xcodeproj","lint:all":"pnpm lint && pnpm lint:swift","lint:fix":"oxlint --type-aware --fix && pnpm format:fix","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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs && pnpm lint:docs && pnpm docs:build","docs:build":"cd docs && pnpm dlx --reporter append-only mint broken-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","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","format:docs":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check","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","web:install":"pnpm --dir apps/web install","android:test":"cd apps/android && ./gradlew :app:testDebugUnitTest","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","format:docs:fix":"git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.39.3","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.0","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.13.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.985.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.28.0","ollama":"^0.6.3","oxlint":"^1.43.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.3","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.2","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.23.0","oxlint-tsgolint":"^0.11.5","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260208.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.6-3.7_1770888676928_0.9591679019246355","host":"s3://npm-registry-packages-npm-production"}},"2026.2.10":{"name":"ironclaw","version":"2026.2.10","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.10","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"293e712f97ada1739fdb2bd55f6f7c5bac472473","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.10.tgz","fileCount":3240,"integrity":"sha512-dovprBsRtKa7oxWvbMfzd8vopVZqWcZRRvq/3nuRo3V0bwUlxiWZCUVgva3HcSBc5D5APncwuxYf7aCzeyO3fA==","signatures":[{"sig":"MEUCIFGPrBUZzib/9wN8H9CoLrsNOpbYgFJqcDpU2LQPKnz0AiEAt5fH8C9CyrpXX2mnKrjbDueUQDZOg3G81WJqYvgtrVc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":343687280},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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"}},"gitHead":"e62035968cff87d2cfbecccd0a906e059fce3e7c","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.40.0","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.14.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.988.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.31.0","ollama":"^0.6.3","oxlint":"^1.46.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.12.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260211.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.10_1770890730537_0.284592553937421","host":"s3://npm-registry-packages-npm-production"}},"2026.2.10-1":{"name":"ironclaw","version":"2026.2.10-1","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.10-1","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"19e4297fd2ce22b500c01bad76721e6dc5ed378f","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.10-1.tgz","fileCount":3684,"integrity":"sha512-/kxLNFdel6eVWiEObBFiJ/Meu7hfsvm7iWg1WH5AdQFgZMukV26PtOgPIFGu2TKhRh3X06GkiJ1RVYczrUftRA==","signatures":[{"sig":"MEUCIHQA8CqJbehMvdTL5l7eq13vyxm2f2CybfYPogcBdkD6AiEAk1/Tl7lA9uNgVvMX6KjtkuNfBdfVQf2G8KpCZioVhPo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485567825},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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"}},"gitHead":"18fab85ae77bce8aa0cb034650ec52a448a0313c","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.40.0","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.14.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.988.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.31.0","ollama":"^0.6.3","oxlint":"^1.46.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.12.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260211.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.10-1_1770923775463_0.8763407223765514","host":"s3://npm-registry-packages-npm-production"}},"2026.2.10-1.1":{"name":"ironclaw","version":"2026.2.10-1.1","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.10-1.1","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"8a388b3bbf4a35f566dac69fe87b9de3622b6f8c","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.10-1.1.tgz","fileCount":3694,"integrity":"sha512-QTsDragT1lc+bymt6fvKUVx/FO90/xbFTzjOl/gHqTz01ol0HLEyRacEjIQuFxy5c0cO9EXN0CD3TTn5Od9sTw==","signatures":[{"sig":"MEYCIQC18GyYaPdzb796ZZ6IYr24yMpS+G9diXQzopmTq99cBAIhAOZQEilgrDxLABs+5B/zv+5ApMRx2Wak3s5gQhqMr5C9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":489807701},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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"}},"gitHead":"c52805676129248a2e4f9810e59d06ad03830f8d","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.40.0","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.14.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.988.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.31.0","ollama":"^0.6.3","oxlint":"^1.46.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.12.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260211.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.10-1.1_1770924396935_0.7174985662694024","host":"s3://npm-registry-packages-npm-production"}},"2026.2.10-1.2":{"name":"ironclaw","version":"2026.2.10-1.2","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.10-1.2","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"dd5dd8705ffe0a124e5eb353bc64b310aead3fab","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.10-1.2.tgz","fileCount":3694,"integrity":"sha512-GN1H0h8N3sXw5gr4wUoGv4NiWh3u4HGLTqgKbPs9QjL/NO/xbDb+IHZzje5V4WWkV0DiwlqcQLWN+bR4V00cYA==","signatures":[{"sig":"MEUCIQCwlYGRgUIu65ZQZ9gR+AR0lCh2LhtuCtEKH+35zJi2ZAIgXbDpmiyFF8CLLv0TfkcHZ0AlDM64uFmplKzuB7EeOwQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":489198501},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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"}},"gitHead":"c52805676129248a2e4f9810e59d06ad03830f8d","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.40.0","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.14.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.988.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.31.0","ollama":"^0.6.3","oxlint":"^1.46.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.12.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260211.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.10-1.2_1770927538333_0.49994061316076954","host":"s3://npm-registry-packages-npm-production"}},"2026.2.10-1.5":{"name":"ironclaw","version":"2026.2.10-1.5","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.10-1.5","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"8b2b6d1516e5a67945760edf42527b6f838d6293","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.10-1.5.tgz","fileCount":5185,"integrity":"sha512-JHVUm4XZurK8q0ErxKCh35v7YDwaDmRW9N2yU/3r9o4ZRrsawcvt1/m61+3HzP9oWVBF9gM6tnBHCzNhMBnxxw==","signatures":[{"sig":"MEYCIQCs++ofx0UihLVonItOGUlFVcwqshh5EeV3O1uCVMfcPQIhAIg+K/yjs1KTW9Qasl5vMrfHdwBEqeLzFpdoEIgGz5Ok","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100558010},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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"}},"gitHead":"d68b9350c6f5d5a11ab1de7be32dbd84ff789642","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","prepare":"command -v git >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.40.0","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.14.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.988.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.31.0","ollama":"^0.6.3","oxlint":"^1.46.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.12.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260211.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.10-1.5_1770951709476_0.11519844783036559","host":"s3://npm-registry-packages-npm-production"}},"2026.2.10-1.6":{"name":"ironclaw","version":"2026.2.10-1.6","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.10-1.6","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"8c7c966a673bd3f77f72a4b24157f7268b6b8e46","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.10-1.6.tgz","fileCount":5185,"integrity":"sha512-Km9vHdN358Xedrjlqx5vFXSgstmL6yOBFPX+dQSMh4nii8apDVRE5CFGQH7F0IVHvBTGiLVV+mptTe9t5md0jA==","signatures":[{"sig":"MEUCIBxAcDk2b2/jHXAlTisn3i7Sjs42td2osxL1rK61StmZAiEA7zXqr5S28ik1H/fDHl9N5CoOcoKUylcrl4lbhZA0+UI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100558254},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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"}},"gitHead":"dbddde947744bdc6a209f5c8c8cecb17ada83dd0","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","prepare":"command -v git >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.40.0","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.14.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.988.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.31.0","ollama":"^0.6.3","oxlint":"^1.46.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.12.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260211.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.10-1.6_1770954030387_0.056267088399649445","host":"s3://npm-registry-packages-npm-production"}},"2026.2.10-1.7":{"name":"ironclaw","version":"2026.2.10-1.7","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.10-1.7","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"d8bcf61aa0b463f49278e3381a3151615fea47ed","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.10-1.7.tgz","fileCount":5185,"integrity":"sha512-eDkD8qzemEJ8qtjsinxNairfu8nGuTGvOjftz9TdxjhWZZ4Yx0oON8X9aNrjj8oTYmWC5MGTzAm+eLQjFBTlUg==","signatures":[{"sig":"MEQCIDJiyUv3o2lbLBg0mbMGD3ESnOyuVNjogmHwqnaeb7n/AiAVHcMKqOmKWo0dDJCgWUpmGyMl24HJKbpR2W5Ne4JyOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100558341},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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"}},"gitHead":"dbddde947744bdc6a209f5c8c8cecb17ada83dd0","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","prepare":"command -v git >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.40.0","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.14.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.988.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.31.0","ollama":"^0.6.3","oxlint":"^1.46.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.12.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260211.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.10-1.7_1770954815198_0.8540290767459875","host":"s3://npm-registry-packages-npm-production"}},"2026.2.10-1.8":{"name":"ironclaw","version":"2026.2.10-1.8","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.10-1.8","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"0b059ebb4c0f52e6356069fa2aec8b8202337b66","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.10-1.8.tgz","fileCount":5185,"integrity":"sha512-G3ykkL299DRzyYorT+cC57v3YiBeJ7t9PsT/4e+b0WfahbDcDztAMiOU6kVmwdSg/EygBCee+t3fSuqemgqb8A==","signatures":[{"sig":"MEQCIClLVqzwZI8ePvz8HESrecHY7eJxry3G89Mg7rD/ljwbAiAlAD0rrnAg69PXGFJtupTCA+cdH3sMrHbf6f4ritqFuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100560346},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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"}},"gitHead":"dbddde947744bdc6a209f5c8c8cecb17ada83dd0","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","prepare":"command -v git >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.40.0","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.14.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.988.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.31.0","ollama":"^0.6.3","oxlint":"^1.46.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.12.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260211.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.10-1.8_1770955320451_0.08520991043715354","host":"s3://npm-registry-packages-npm-production"}},"2026.2.10-1.9":{"name":"ironclaw","version":"2026.2.10-1.9","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.10-1.9","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"0fd1b3522cb71d999e0abec580220718a74ea7cd","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.10-1.9.tgz","fileCount":5184,"integrity":"sha512-Kj4y7nFvufYAl7irLlcexn1OKnYWNo0sH7oRMGSf13C6hCW6S5dyCPwk+2ExlC//cJuA8tMVRwwnINaUS7lN0g==","signatures":[{"sig":"MEYCIQCH7s7HQYIbQZ+UGZdiYxSRlO8cMyCHge3z0iupDca57QIhAIXu1fnM7MIkyBkD3mYzd+IF0FcpqtF+j0/ECexq/Wk5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100557574},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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"}},"gitHead":"15b0b0bcc8c7db2f5c70580aa06e129b98a2cb38","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","prepare":"command -v git >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.40.0","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.14.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.988.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.31.0","ollama":"^0.6.3","oxlint":"^1.46.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.12.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260211.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.10-1.9_1770956785111_0.7912088124056302","host":"s3://npm-registry-packages-npm-production"}},"2026.2.10-1.10":{"name":"ironclaw","version":"2026.2.10-1.10","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.10-1.10","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"2650af6ae9bbd3351e77106bf5156685eb0ae787","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.10-1.10.tgz","fileCount":5184,"integrity":"sha512-0rpfRalw3AHKrQByX3DyrFORUtS9mUCrMle10icvIxBKQ+Ta97E/d0Ir44KpHhNIqCCkUTh49a14zEhSeqKzkw==","signatures":[{"sig":"MEUCIQDc12cMgmK8QQZABn9JVV1++nE5uJn0abABh1DLGTwb+AIgEmrjK5psSohMQGPx0k3K3EqHjfbjkQFoRMegq4g7Shw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100560842},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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"}},"gitHead":"23172896afbb6fd827e9c6da34dc2b85ca63c58d","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","prepare":"command -v git >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.40.0","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.14.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.988.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.31.0","ollama":"^0.6.3","oxlint":"^1.46.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.12.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260211.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.10-1.10_1770965652894_0.49825603065744506","host":"s3://npm-registry-packages-npm-production"}},"2026.2.10-1.11":{"name":"ironclaw","version":"2026.2.10-1.11","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.10-1.11","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"e8c1c086cdaa783f8d990c1903675aa94869485f","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.10-1.11.tgz","fileCount":5184,"integrity":"sha512-FRP3kSoXuyW4PjVCoJ0IAu2ZTjTJXql9NdhvConT6lIUYVvEX2Pq1hFlovlGwIm9v+/JCBwsRIuySCS+4XCEPA==","signatures":[{"sig":"MEQCIGQzLUWLcuKSYb4Gmy7fhF+UnkOLSnbdlQj3C4tGhpayAiBKMAaUVfVnGZNnxoVAXYrDe2sIJr2+UdN0/xVT2L432A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100560981},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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"}},"gitHead":"a6a521ec224be1b8c21060a9607cd1f8bcca67a3","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","prepare":"command -v git >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.40.0","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.14.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.988.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.31.0","ollama":"^0.6.3","oxlint":"^1.46.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.12.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260211.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.10-1.11_1770966018859_0.04973507712031888","host":"s3://npm-registry-packages-npm-production"}},"2026.2.10-1.13":{"name":"ironclaw","version":"2026.2.10-1.13","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.10-1.13","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"790996a1315a933b61adc8b37ab085818df3e3e8","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.10-1.13.tgz","fileCount":6228,"integrity":"sha512-GeqbFK/XGveIepndrJaStM/zKsKHZC0fOldbE9L82NziyJ78qgbVYlpqYV5z2az6oYQrA/Wd9qjBKOSelkpn9A==","signatures":[{"sig":"MEUCIQCfoGCLPY1Zvaeeo1d4u7E12fTGj/Bb6rh9tphycTh0IAIga6cRuczb6BUkDSFrVXRwAB5OnMz4aXce8WQId+KJWNQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131967754},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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"}},"gitHead":"c8fb0280ea10d2faed0b23e682d9c8f0e6b46494","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","prepare":"command -v git >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.40.0","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.14.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.988.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.31.0","ollama":"^0.6.3","oxlint":"^1.46.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.12.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260211.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.10-1.13_1771040342042_0.3421081787441409","host":"s3://npm-registry-packages-npm-production"}},"2026.2.10-1.14":{"name":"ironclaw","version":"2026.2.10-1.14","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.10-1.14","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"4ea5f722ddea7b156e077c6d8924cbdd5defeb36","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.10-1.14.tgz","fileCount":6228,"integrity":"sha512-UVoaGDjVRCRyMh4CAlVlUeFYXavpVMPtgB5cX4umGx+JLFUVeI4dYay6qrRhDLnf4OsDfjxMw1l1CRCzWLgCeA==","signatures":[{"sig":"MEYCIQCT1oy6difHLD7vFP/CIsSMnwxcL4XjWPl6dvjnAS4fHAIhAI0btRCo3P7xq6v6ukmZAdqnJQc+ekdC/iUPFUzcN/my","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131970875},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.1","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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"}},"gitHead":"fdfa5184eebe84c98d7c67715d1f7b70b9de2a57","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","prepare":"command -v git >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0","test:ui":"pnpm --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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:live":"OPENCLAW_LIVE_TEST=1 CLAWDBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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 --coverage","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.17.1","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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.2.4","grammy":"^1.40.0","undici":"^7.21.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.0","@slack/web-api":"^7.14.0","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.38","@mariozechner/pi-ai":"0.52.9","@mariozechner/pi-tui":"0.52.9","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.988.0","@larksuiteoapi/node-sdk":"^1.58.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.9","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.9","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.31.0","ollama":"^0.6.3","oxlint":"^1.46.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.12.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260211.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.10-1.14_1771055703190_0.2552355866217666","host":"s3://npm-registry-packages-npm-production"}},"2026.2.15-1.1":{"name":"ironclaw","version":"2026.2.15-1.1","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.15-1.1","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"86610acdf8690d6953a47463a7dca6e1fe3efaf1","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.15-1.1.tgz","fileCount":6691,"integrity":"sha512-FZ/ioj7ONbtNVqkYef5bxPd6EovPdJ7eLG3R3cQR+IEM6booT/2RZUODFYkCZz6ufApo4n3D7OWNtoq4XfSaWg==","signatures":[{"sig":"MEYCIQCwbZQtTJk1rmiTz6GnvenDq7ojuHKwj9t+KXKXaBG8OgIhAL7xoJOOPvmfX6/hdZjpOfXOXSxUhAuJ3rZdqX84b0qQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134985879},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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":"2b68f9a28b8e5e5b4634b9bdfac64de2f0ce96c9","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","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 --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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","grammy":"^1.40.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.39","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.52.12","@mariozechner/pi-tui":"0.52.12","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.990.0","@larksuiteoapi/node-sdk":"^1.59.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.12","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.12","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.32.0","ollama":"^0.6.3","oxlint":"^1.47.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.12.2","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260214.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.15-1.1_1771204976967_0.9966653179923946","host":"s3://npm-registry-packages-npm-production"}},"2026.2.15-1.2":{"name":"ironclaw","version":"2026.2.15-1.2","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.15-1.2","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"daa6cc8e1721b744ec3ead32fca89b50df5e874f","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.15-1.2.tgz","fileCount":6820,"integrity":"sha512-lzJWHYv6TMbLzKkTlK1CxuZfL9Br9TB1gdnMIKQMnyzip+6mjN//g2mL3+M8EjCT6NTsJTbKIJJwX9fr11aE2g==","signatures":[{"sig":"MEUCIQCoTW6GZ0UYToLXWSTag2BO9lV5PqRcR2HVskv4yCHaigIgJb3uG+sDgh/VMwYyUoOld6C/ZlHviODgZ8FUYTDtyV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140645778},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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":"37f5d255c0107f6b876308539e9b0d19f98b0ac7","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","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 --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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","grammy":"^1.40.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.39","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.52.12","@mariozechner/pi-tui":"0.52.12","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.990.0","@larksuiteoapi/node-sdk":"^1.59.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.12","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.12","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.32.0","ollama":"^0.6.3","oxlint":"^1.47.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.13.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260215.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.15-1.2_1771222234786_0.806058829112378","host":"s3://npm-registry-packages-npm-production"}},"2026.2.15-1.4":{"name":"ironclaw","version":"2026.2.15-1.4","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.15-1.4","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"13633db7727cf9d8fadfbbbbd6299d7cea0d34ac","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.15-1.4.tgz","fileCount":6891,"integrity":"sha512-GjWFsp5M865CUyRhkYFrI8WYNLfeU/GuWq25zwheETQxHiIdOACnSXlF1BLoNkFd/rxk6DLXFwfm04u1mbUWSg==","signatures":[{"sig":"MEYCIQCKe+vX0J08zRoxMsRb2oelCwV4tlsDRK8YV+TtCt58aQIhAOYAe3ErF5GATb2pv4lO9Mm8DIaVtQwK+eY0pAGx23S4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150163608},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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":"312fb33859eb0e225855866abea413cf36992cae","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","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 --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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","grammy":"^1.40.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.39","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.52.12","@mariozechner/pi-tui":"0.52.12","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.990.0","@larksuiteoapi/node-sdk":"^1.59.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.12","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.12","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.32.0","ollama":"^0.6.3","oxlint":"^1.47.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.13.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260215.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.15-1.4_1771230592934_0.37521167497028163","host":"s3://npm-registry-packages-npm-production"}},"2026.2.15-1.6":{"name":"ironclaw","version":"2026.2.15-1.6","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.15-1.6","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"eb43774db3437ba93e7307a3f63605cb314e0438","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.15-1.6.tgz","fileCount":6826,"integrity":"sha512-YoDPGKXF+FPLct1E5CA3BRBlyrB/JUogn3tvkgyr+2ZANSS1VCBxtTPixnPIC68DfzfnpSDUZDLKmxnXZUXOjA==","signatures":[{"sig":"MEUCIQCafVnvgsSvLgg1kYE0cwww0gT9G8v18oU2hPz8RA4OpgIgD/IgQnVFUfewGd0wpc3KFG5LVKsJeU5KKgDNOfgVcdQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140628451},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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":"371035978c26a96cf5299a55ee5af89beeefa324","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","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 --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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","grammy":"^1.40.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.39","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.52.12","@mariozechner/pi-tui":"0.52.12","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.990.0","@larksuiteoapi/node-sdk":"^1.59.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.12","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.12","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.32.0","ollama":"^0.6.3","oxlint":"^1.47.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.13.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260215.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.15-1.6_1771231881425_0.48701975923035246","host":"s3://npm-registry-packages-npm-production"}},"2026.2.15-1.7":{"name":"ironclaw","version":"2026.2.15-1.7","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.15-1.7","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"08a1c49e882dbacbfc41f758e9a0ba8a720a0148","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.15-1.7.tgz","fileCount":6798,"integrity":"sha512-LStzOGbH/UTAbk8sg3RQlOKYz5DFcgt9Y3myBwf5VBxZIQ3IageoX6dbQzHHdWY9/+gSwBzzMEBQuJdJFRHpTA==","signatures":[{"sig":"MEUCID1srGqpaiJm7IKtG0OKXSGOm1YLGuOccdvwxS6N/z6dAiEAxNtVz+kLPApqLb7B04YT8a4KTn8gVKDcL5RTkyjH5Hk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143774935},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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":"673c1226021dbe2513cf0dfd95e33b7c20682eeb","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","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 --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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","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","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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","grammy":"^1.40.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.39","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.52.12","@mariozechner/pi-tui":"0.52.12","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.990.0","@larksuiteoapi/node-sdk":"^1.59.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.12","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.12","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.32.0","ollama":"^0.6.3","oxlint":"^1.47.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.13.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260215.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.15-1.7_1771317592441_0.6019603784896497","host":"s3://npm-registry-packages-npm-production"}},"2026.2.15-1.9":{"name":"ironclaw","version":"2026.2.15-1.9","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.15-1.9","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"cc1930a4031d124c76fea17b0cf805d5a1ddccea","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.15-1.9.tgz","fileCount":6838,"integrity":"sha512-8rP576msifEWn88ClAJo53XJuuAYpUX5J7sdoUQmJKtlXF8fyeLDUarOn06sJ+7LgxwXkXlGnfTRtzrknl7acQ==","signatures":[{"sig":"MEUCIQD72FNlK2R+MoWvLMxcSAzefu6gYAVhHh6p2qKBYhIqEwIgPSUKnjvcIITRTJY5ElecIH//Ou8Sordubw22kFVMyKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145499998},"main":"dist/index.js","pnpm":{"overrides":{"qs":"6.14.2","tar":"7.5.7","form-data":"2.5.4","tough-cookie":"4.1.3","fast-xml-parser":"5.3.4","@sinclair/typebox":"0.34.48"},"minimumReleaseAge":2880,"onlyBuiltDependencies":["@lydell/node-pty","@matrix-org/matrix-sdk-crypto-nodejs","@napi-rs/canvas","@whiskeysockets/baileys","authenticate-pam","esbuild","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":"238989cdf7b28573abd0aa46e515ea26f5ebecc1","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","start":"node scripts/run-node.mjs","format":"oxfmt --write","ui:dev":"node scripts/ui.js dev","ios:gen":"cd apps/ios && xcodegen generate","ios:run":"bash -lc '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 && pnpm web:build && pnpm web:prepack","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 --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","docs:bin":"node scripts/build-docs-list.mjs","docs:dev":"cd docs && mint dev","ios:open":"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 '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","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","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","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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","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:workspace":"vitest run --config vitest.unit.config.ts -- workspace-profiles workspace-chat-isolation workspace-context-awareness subagent-runs && pnpm --dir apps/web vitest run -- workspace-profiles workspace-chat-isolation subagent-runs route.test","android:install":"cd apps/android && ./gradlew :app:installDebug","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","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","protocol:gen:swift":"node --import tsx scripts/protocol-gen-swift.ts","test:install:smoke":"bash scripts/test-install-sh-docker.sh","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:workspace:live":"LIVE=1 vitest run --config vitest.live.config.ts -- workspace-context-awareness && LIVE=1 pnpm --dir apps/web vitest run -- subagent-streaming.live","build:plugin-sdk:dts":"tsc -p tsconfig.plugin-sdk.dts.json","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","test:docker:doctor-switch":"bash scripts/e2e/doctor-install-switch-docker.sh","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","test:docker:gateway-network":"bash scripts/e2e/gateway-network-docker.sh"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.7","zod":"^4.3.6","hono":"4.11.9","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","grammy":"^1.40.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","signal-utils":"^0.21.1","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.39","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.52.12","@mariozechner/pi-tui":"0.52.12","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.990.0","@larksuiteoapi/node-sdk":"^1.59.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.52.12","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.52.12","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.32.0","ollama":"^0.6.3","oxlint":"^1.47.0","tsdown":"^0.20.3","vitest":"^4.0.18","rolldown":"1.0.0-rc.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.2.3","@lit/context":"^1.1.6","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.13.0","@lit-labs/signals":"^0.2.0","@types/markdown-it":"^14.1.2","@vitest/coverage-v8":"^4.0.18","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@typescript/native-preview":"7.0.0-dev.20260215.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.15-1.9_1771719705549_0.7833120503416777","host":"s3://npm-registry-packages-npm-production"}},"2026.2.22":{"name":"ironclaw","version":"2026.2.22","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.22","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"2c5a23507db310031734265dc87079962d8f2f67","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.22.tgz","fileCount":7148,"integrity":"sha512-IVLCeQB2HHKtptHWy0qiZMCSAsnVvtYSEXDkQjlhtCC50i67kDiY5MRsfZOyhYViu4u/Uu0D08WkUHiC4tZPaQ==","signatures":[{"sig":"MEUCIGegHI8klty9hKWLuL7G3iH71Q72cYdg8H8/1chCPZZ4AiEA/Yup3Vg4oDoyi3jIoYlYKLEJ4cOhAJsk1EMWOu/PlGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151470883},"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.1","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"},"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":"e4c01e7ca24fad23d7db616f0e0084fd7a0531ec","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","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 && pnpm web:build && pnpm web:prepack","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 --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","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","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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:workspace":"vitest run --config vitest.unit.config.ts -- workspace-profiles workspace-chat-isolation workspace-context-awareness subagent-runs && pnpm --dir apps/web vitest run -- workspace-profiles workspace-chat-isolation subagent-runs route.test","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","test:workspace:live":"LIVE=1 vitest run --config vitest.live.config.ts -- workspace-context-awareness && LIVE=1 pnpm --dir apps/web vitest run -- subagent-streaming.live","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","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","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","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"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{"doc":"docs","test":"test"},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.9","zod":"^4.3.6","hono":"4.11.9","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","grammy":"^1.40.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","opusscript":"^0.0.8","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","@discordjs/opus":"^0.10.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.54.0","@mariozechner/pi-tui":"0.54.0","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.990.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.54.0","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.54.0","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.34.0","oxlint":"^1.49.0","tsdown":"^0.20.3","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.0","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.14.2","@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.20260221.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.22_1771749839940_0.9657546135985919","host":"s3://npm-registry-packages-npm-production"}},"2026.2.22-1":{"name":"ironclaw","version":"2026.2.22-1","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.22-1","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"a1549f0f207a1ef66a6b690b0578510f9296ff6c","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.22-1.tgz","fileCount":7148,"integrity":"sha512-Sq9XbYjbkCoVQ5Z8qaGReZUDB3ydiQ8FFSmSOg1vid5g6w0yh/Nhnpd2nqfHfwA5IBwo9oer4Xgz/q7QfN6LJQ==","signatures":[{"sig":"MEYCIQDMTCS+LXdiyDaR//S5TJ7jMciZI1U44cd9VB2DliimagIhAK4Un4bs/6831HcxyEpuq1TYeWgel2S23sWaOtwtN9YO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151472697},"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.1","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"},"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":"6d220fb4f4b2b7c418d2b5631ee563f5ea7cd5a5","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","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 && pnpm web:build && pnpm web:prepack","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 --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","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","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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:workspace":"vitest run --config vitest.unit.config.ts -- workspace-profiles workspace-chat-isolation workspace-context-awareness subagent-runs && pnpm --dir apps/web vitest run -- workspace-profiles workspace-chat-isolation subagent-runs route.test","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","test:workspace:live":"LIVE=1 vitest run --config vitest.live.config.ts -- workspace-context-awareness && LIVE=1 pnpm --dir apps/web vitest run -- subagent-streaming.live","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","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","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","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"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{"doc":"docs","test":"test"},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.9","zod":"^4.3.6","hono":"4.11.9","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","grammy":"^1.40.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","opusscript":"^0.0.8","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","@discordjs/opus":"^0.10.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.54.0","@mariozechner/pi-tui":"0.54.0","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.990.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.54.0","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.54.0","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.34.0","oxlint":"^1.49.0","tsdown":"^0.20.3","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.0","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.14.2","@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.20260221.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.22-1_1771751864690_0.3594843254478297","host":"s3://npm-registry-packages-npm-production"}},"2026.2.22-1.1":{"name":"ironclaw","version":"2026.2.22-1.1","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.22-1.1","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"73d1a772c886a9afdcbae054b20942f9773023c3","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.22-1.1.tgz","fileCount":7148,"integrity":"sha512-PpUh9D9WkaBvUkWcM67IDZ+LnDe1w4sEmv13ZH+TlsB/xSmTSUSwHQetLXUVQjtngv6rN6aY+uV0M1OWARVHBQ==","signatures":[{"sig":"MEQCIGYGJErlqXSTd9OVmp/oERzhp1V3D3rm/F+4WNYnjmXkAiAJOb+WlbHQai3pP8IFTyRaQ/OJFjLwF7pl5yalKbKmng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151472703},"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.1","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"},"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":"0cf12a3f031bd519ad7b6bad1a34e227978bdde1","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","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 && pnpm web:build && pnpm web:prepack","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 --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","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","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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:workspace":"vitest run --config vitest.unit.config.ts -- workspace-profiles workspace-chat-isolation workspace-context-awareness subagent-runs && pnpm --dir apps/web vitest run -- workspace-profiles workspace-chat-isolation subagent-runs route.test","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","test:workspace:live":"LIVE=1 vitest run --config vitest.live.config.ts -- workspace-context-awareness && LIVE=1 pnpm --dir apps/web vitest run -- subagent-streaming.live","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","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","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","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"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{"doc":"docs","test":"test"},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.9","zod":"^4.3.6","hono":"4.11.9","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","grammy":"^1.40.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","opusscript":"^0.0.8","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","@discordjs/opus":"^0.10.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.54.0","@mariozechner/pi-tui":"0.54.0","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.990.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.54.0","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.54.0","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.34.0","oxlint":"^1.49.0","tsdown":"^0.20.3","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.0","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.14.2","@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.20260221.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.22-1.1_1771753225881_0.07479120159840802","host":"s3://npm-registry-packages-npm-production"}},"2026.2.22-1.3":{"name":"ironclaw","version":"2026.2.22-1.3","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.22-1.3","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"8c7e2c5557dc9169edcd9bf2bd8411238eb4f397","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.22-1.3.tgz","fileCount":7114,"integrity":"sha512-kKRogxMVTRmX+gQrtveAwyiyS56nhpi6DpxAbONksrMbTUVdDFF/O2zjTn8mFb3pi/5Qcxkjk0URBqZfoHpl1w==","signatures":[{"sig":"MEYCIQDWTPud0AxVwQOPdXlAofDD6Wf959KvMRSWLxvgcFUJIQIhAP42CEH7ys8j2etFNuZ5nRiigRYmOzKyhJPIEmd9FqUe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151442082},"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.1","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"},"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":"9ca426314793e657aed36a4e83b33f36eccebfc9","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","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 && pnpm web:build && pnpm web:prepack","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 --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","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","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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:workspace":"vitest run --config vitest.unit.config.ts -- workspace-profiles workspace-chat-isolation workspace-context-awareness subagent-runs && pnpm --dir apps/web vitest run -- workspace-profiles workspace-chat-isolation subagent-runs route.test","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","test:workspace:live":"LIVE=1 vitest run --config vitest.live.config.ts -- workspace-context-awareness && LIVE=1 pnpm --dir apps/web vitest run -- subagent-streaming.live","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","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","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","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"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{"doc":"docs","test":"test"},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.9","zod":"^4.3.6","hono":"4.11.9","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","grammy":"^1.40.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","opusscript":"^0.0.8","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","@discordjs/opus":"^0.10.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.54.0","@mariozechner/pi-tui":"0.54.0","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.990.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.54.0","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.54.0","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.34.0","oxlint":"^1.49.0","tsdown":"^0.20.3","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.0","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.14.2","@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.20260221.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.22-1.3_1772684241963_0.31323931457074417","host":"s3://npm-registry-packages-npm-production"}},"2026.2.22-1.3.1":{"name":"ironclaw","version":"2026.2.22-1.3.1","keywords":[],"author":"","license":"MIT","_id":"ironclaw@2026.2.22-1.3.1","maintainers":[{"name":"kumareth","email":"0xkumareth@gmail.com"}],"homepage":"https://github.com/DenchHQ/DenchClaw#readme","bugs":{"url":"https://github.com/DenchHQ/DenchClaw/issues"},"bin":{"ironclaw":"openclaw.mjs"},"dist":{"shasum":"e6d9ca77020db94fbe1f4c6d779305579fc261ca","tarball":"https://registry.npmjs.org/ironclaw/-/ironclaw-2026.2.22-1.3.1.tgz","fileCount":7114,"integrity":"sha512-iMsdrKbL9qMkIREgtAYNrYno+hN2pP+zxgGxC0XEATM5xUGeIbTBgh05eZooQfPfpJQsuHAwbB59mnGMwxIvNg==","signatures":[{"sig":"MEUCIALuJMiCnwXK2Y82AIfwcIO6i8qO0QWAmbRo0tZgA+5sAiEA20ezkI0kpZebThYLynVu2yrD0QWiqwvAZclGpZrmN+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151442398},"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.1","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"},"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":"ef79d2c32a68743db5e707ac83146c11c6b9b1ae","scripts":{"dev":"node scripts/run-node.mjs","tui":"node scripts/run-node.mjs tui","lint":"oxlint --type-aware","tail":"tail -f ~/.openclaw/agents/*/sessions/*.jsonl","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-compat.ts","check":"pnpm format:check && pnpm tsgo && pnpm lint","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 && pnpm web:build && pnpm web:prepack","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 --dir ui test","tui:dev":"OPENCLAW_PROFILE=dev CLAWDBOT_PROFILE=dev node scripts/run-node.mjs --dev tui","web:dev":"pnpm --dir apps/web dev","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","tsgo:test":"tsgo -p tsconfig.test.json","web:build":"pnpm --dir apps/web build","check:docs":"pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links","format:all":"pnpm format && pnpm format:swift","format:fix":"oxfmt --write","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","web:install":"pnpm --dir apps/web install","web:prepack":"cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static && bash scripts/standalone-hoist-pnpm.sh","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","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:workspace":"vitest run --config vitest.unit.config.ts -- workspace-profiles workspace-chat-isolation workspace-context-awareness subagent-runs && pnpm --dir apps/web vitest run -- workspace-profiles workspace-chat-isolation subagent-runs route.test","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","test:workspace:live":"LIVE=1 vitest run --config vitest.live.config.ts -- workspace-context-awareness && LIVE=1 pnpm --dir apps/web vitest run -- subagent-streaming.live","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","test:docker:live-gateway":"bash scripts/test-live-gateway-models-docker.sh","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","test:install:e2e:anthropic":"OPENCLAW_E2E_MODELS=anthropic CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh","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"},"_npmUser":{"name":"kumareth","email":"0xkumareth@gmail.com"},"repository":{"url":"git+https://github.com/DenchHQ/DenchClaw.git","type":"git"},"_npmVersion":"10.9.4","description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","directories":{"doc":"docs","test":"test"},"_nodeVersion":"22.21.0","dependencies":{"ai":"^6.0.66","ws":"^8.19.0","ajv":"^8.18.0","tar":"7.5.9","zod":"^4.3.6","hono":"4.11.9","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","grammy":"^1.40.0","undici":"^7.22.0","express":"^5.2.1","chokidar":"^5.0.0","linkedom":"^0.18.12","commander":"^14.0.3","file-type":"^21.3.0","opusscript":"^0.0.8","pdfjs-dist":"^5.4.624","sqlite-vec":"0.1.7-alpha.2","@ai-sdk/xai":"^2.0.0","@slack/bolt":"^4.6.0","markdown-it":"^14.1.1","@ai-sdk/groq":"^2.0.0","osc-progress":"^0.3.0","@ai-sdk/azure":"^2.0.0","@buape/carbon":"0.14.0","@line/bot-sdk":"^10.6.0","cli-highlight":"^2.1.11","node-edge-tts":"^1.2.10","@ai-sdk/google":"^2.0.0","@ai-sdk/openai":"^2.0.0","@clack/prompts":"^1.0.1","@slack/web-api":"^7.14.1","@ai-sdk/gateway":"^2.0.0","@ai-sdk/mistral":"^2.0.0","@discordjs/opus":"^0.10.0","gradient-string":"^3.0.0","playwright-core":"1.58.2","qrcode-terminal":"^0.12.0","@ai-sdk/provider":"^2.0.0","@discordjs/voice":"^0.19.0","@grammyjs/runner":"^2.0.3","@homebridge/ciao":"^1.3.5","@lydell/node-pty":"1.2.0-beta.3","@ai-sdk/anthropic":"^2.0.0","@sinclair/typebox":"0.34.48","discord-api-types":"^0.38.40","https-proxy-agent":"^7.0.6","@mariozechner/pi-ai":"0.54.0","@mariozechner/pi-tui":"0.54.0","@mozilla/readability":"^0.6.0","@ai-sdk/amazon-bedrock":"^3.0.0","@ai-sdk/provider-utils":"^3.0.0","@aws-sdk/client-bedrock":"^3.990.0","@whiskeysockets/baileys":"7.0.0-rc.9","@agentclientprotocol/sdk":"0.14.1","@ai-sdk/openai-compatible":"^1.0.0","@mariozechner/pi-agent-core":"0.54.0","@openrouter/ai-sdk-provider":"^2.1.1","@mariozechner/pi-coding-agent":"0.54.0","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"lit":"^3.3.2","tsx":"^4.21.0","oxfmt":"0.34.0","oxlint":"^1.49.0","tsdown":"^0.20.3","vitest":"^4.0.18","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/node":"^25.3.0","@lit/context":"^1.1.6","signal-utils":"0.21.1","@types/express":"^5.0.6","@grammyjs/types":"^3.24.0","oxlint-tsgolint":"^0.14.2","@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.20260221.1"},"peerDependencies":{"node-llama-cpp":"3.15.1","@napi-rs/canvas":"^0.1.89"},"_npmOperationalInternal":{"tmp":"tmp/ironclaw_2026.2.22-1.3.1_1772684504437_0.657232863947599","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-02-12T07:43:09.366Z","modified":"2026-05-08T18:41:50.462Z","2026.2.6-3":"2026-02-12T07:43:10.190Z","2026.2.6-3.5":"2026-02-12T08:39:00.451Z","2026.2.6-3.6":"2026-02-12T09:11:43.128Z","2026.2.6-3.7":"2026-02-12T09:31:18.452Z","2026.2.10":"2026-02-12T10:05:31.971Z","2026.2.10-1":"2026-02-12T19:16:19.707Z","2026.2.10-1.1":"2026-02-12T19:26:41.641Z","2026.2.10-1.2":"2026-02-12T20:19:02.559Z","2026.2.10-1.5":"2026-02-13T03:01:50.699Z","2026.2.10-1.6":"2026-02-13T03:40:31.509Z","2026.2.10-1.7":"2026-02-13T03:53:36.262Z","2026.2.10-1.8":"2026-02-13T04:02:01.518Z","2026.2.10-1.9":"2026-02-13T04:26:26.154Z","2026.2.10-1.10":"2026-02-13T06:54:13.970Z","2026.2.10-1.11":"2026-02-13T07:00:19.911Z","2026.2.10-1.13":"2026-02-14T03:39:03.266Z","2026.2.10-1.14":"2026-02-14T07:55:04.471Z","2026.2.15-1.1":"2026-02-16T01:22:58.160Z","2026.2.15-1.2":"2026-02-16T06:10:36.018Z","2026.2.15-1.4":"2026-02-16T08:29:54.329Z","2026.2.15-1.6":"2026-02-16T08:51:22.544Z","2026.2.15-1.7":"2026-02-17T08:39:53.574Z","2026.2.15-1.9":"2026-02-22T00:21:46.758Z","2026.2.22":"2026-02-22T08:44:01.616Z","2026.2.22-1":"2026-02-22T09:17:45.887Z","2026.2.22-1.1":"2026-02-22T09:40:27.098Z","2026.2.22-1.3":"2026-03-05T04:17:23.407Z","2026.2.22-1.3.1":"2026-03-05T04:21:45.761Z"},"bugs":{"url":"https://github.com/DenchHQ/DenchClaw/issues"},"license":"MIT","homepage":"https://github.com/DenchHQ/DenchClaw#readme","keywords":[],"repository":{"url":"git+https://github.com/DenchHQ/DenchClaw.git","type":"git"},"description":"AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management","maintainers":[{"email":"0xkumareth@gmail.com","name":"kumareth"},{"email":"mark@dench.com","name":"denchhq"}],"readme":"<p align=\"center\">\n  <pre align=\"center\">\n╔════════════════════════════════════════════════════════════════════╗\n║                                                                    ║\n║              ⚠️   DEPRECATION NOTICE   ⚠️                           ║\n║                                                                    ║\n║          This project (ironclaw) is DEPRECATED.                    ║\n║           It has been superseded by denchclaw.                     ║\n║                                                                    ║\n║           To use the supported version, run:                       ║\n║                                                                    ║\n║                      npx denchclaw                                 ║\n║                                                                    ║\n║         ironclaw will no longer receive updates.                   ║\n║                                                                    ║\n╚════════════════════════════════════════════════════════════════════╝\n  </pre>\n</p>\n\n<p align=\"center\">\n  <strong>AI CRM, hosted locally on your Mac.</strong>\n</p>\n\n<p align=\"center\">\n  Chat with your database. Automate outreach. Enrich leads. All from a single prompt.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/ironclaw\"><img src=\"https://img.shields.io/npm/v/ironclaw?style=for-the-badge&color=000\" alt=\"npm version\"></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<p align=\"center\">\n  <a href=\"https://ironclaw.sh\">Website</a> · <a href=\"https://docs.openclaw.ai\">Docs</a> · <a href=\"https://github.com/openclaw/openclaw\">OpenClaw Framework</a> · <a href=\"https://discord.gg/clawd\">Discord</a> · <a href=\"https://clawhub.com\">Skills Store</a>\n</p>\n\n---\n\n## Install\n\n**Runtime: Node 22+**\n\n```bash\nnpm i -g ironclaw\nironclaw onboard --install-daemon\n```\n\nOpens at `localhost:3100`. That's it.\n\nThree steps total:\n\n```\n1. npm i -g ironclaw\n2. ironclaw onboard\n3. ironclaw gateway start\n```\n\n---\n\n## What is Ironclaw?\n\nIronclaw is a personal AI agent and CRM that runs locally on your machine. It connects to every messaging channel you use, manages structured data through DuckDB, browses the web with your Chrome profile, and gives you a full web UI for pipeline management, analytics, and document management.\n\nBuilt on [OpenClaw](https://github.com/openclaw/openclaw) with **Vercel AI SDK v6** as the LLM orchestration layer.\n\n**One prompt does everything:**\n\n- \"Find YC W26 founders building AI companies\" → scrapes YC directory + LinkedIn, returns 127 matches\n- \"Enrich all contacts with LinkedIn and email\" → fills in profiles with 98% coverage\n- \"Send personalized messages to qualified leads\" → crafts and sends custom outreach\n- \"Show me pipeline stats for this quarter\" → generates interactive charts from live data\n- \"Set up weekly follow-up sequences for all leads\" → creates automation rules that run in the background\n\n---\n\n## Use Cases\n\n### Find Leads\n\nType a prompt, Ironclaw scrapes the web using your actual Chrome profile (all your auth sessions, cookies, history). It logs into LinkedIn, browses YC batches, pulls company data. No separate login, no API keys for browsing.\n\n### Enrich Data\n\nPoint it at your contacts table. It fills in LinkedIn URLs, email addresses, education, company info. Enrichment runs in bulk with real-time progress.\n\n### Send Outreach\n\nPersonalized LinkedIn messages, cold emails, follow-up sequences. Each message is customized per lead. You see status (Sent, Sending, Queued) in real time.\n\n### Analyze Pipeline\n\nAsk for analytics in plain English. Ironclaw queries your DuckDB workspace and generates interactive Recharts dashboards inline. Pipeline funnels, outreach activity charts, conversion rates, donut breakdowns.\n\n### Automate Everything\n\nCron jobs that run on schedule. Follow-up if no reply after 3 days. Move leads to Qualified when they reply. Weekly pipeline reports every Monday. Alert on high-intent replies.\n\n---\n\n## Core Capabilities\n\n### Uses Your Chrome Profile\n\nUnlike other AI tools, Ironclaw copies your existing Chrome profile with all your auth sessions, cookies, and history. It logs into LinkedIn, scrapes YC batches, and sends messages as you. No separate browser login needed.\n\n### Chat with Your Database\n\nAsk questions in plain English. Ironclaw translates to SQL, queries your local DuckDB, and returns structured results. Like having a data analyst on speed dial.\n\n```\nYou: \"How many founders have we contacted from YC W26?\"\n\n→ SELECT \"Status\", COUNT(*) as count FROM v_founders GROUP BY \"Status\";\n\nYou've contacted 67 of 200 founders. 31 are qualified, 13 converted.\nReply rate is 34%.\n```\n\n### Coding Agent with Diffs\n\nIronclaw writes code. Review changes in a rich diff viewer before applying. Config changes, automation scripts, data transformations. All with diffs you approve.\n\n### Your Second Brain\n\nFull access to your Mac: files, apps, documents. It remembers context across sessions via persistent memory files. Learns your preferences. Proactively handles tasks during heartbeat checks.\n\n---\n\n## Web UI (Dench)\n\nThe web app runs at `localhost:3100` and includes:\n\n- **Chat panel** with streaming responses, chain-of-thought reasoning display, and markdown rendering\n- **Workspace sidebar** with file manager tree, knowledge base, and database viewer\n- **Object tables** powered by TanStack, with sorting, filtering, row selection, and bulk operations\n- **Entry detail modals** with field editing and media previews\n- **Kanban boards** with drag-and-drop that auto-update as leads reply\n- **Interactive report cards** with chart panels (bar, line, area, pie, donut, funnel, scatter, radar) and filter bars\n- **Document editor** with embedded live charts\n- **Media viewer** supporting images, video, audio, and PDFs\n\n---\n\n## Multi-Channel Inbox\n\nOne agent, every channel. Connect any messaging platform. Your AI agent responds everywhere, managed from a single terminal.\n\n| Channel             | Setup                                                         |\n| ------------------- | ------------------------------------------------------------- |\n| **WhatsApp**        | `ironclaw channels login` + set `channels.whatsapp.allowFrom` |\n| **Telegram**        | Set `TELEGRAM_BOT_TOKEN` or `channels.telegram.botToken`      |\n| **Slack**           | Set `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN`                     |\n| **Discord**         | Set `DISCORD_BOT_TOKEN` or `channels.discord.token`           |\n| **Signal**          | Requires `signal-cli` + `channels.signal` config              |\n| **iMessage**        | Via BlueBubbles (recommended) or legacy macOS integration     |\n| **Microsoft Teams** | Configure Teams app + Bot Framework                           |\n| **Google Chat**     | Chat API integration                                          |\n| **Matrix**          | Extension channel                                             |\n| **WebChat**         | Built-in, uses Gateway WebSocket directly                     |\n\n```\n  WhatsApp · Telegram · Slack · Discord\n  Signal · iMessage · Teams · WebChat\n               │\n               ▼\n  ┌────────────────────────────┐\n  │     Ironclaw Gateway       │\n  │   ws://127.0.0.1:18789    │\n  └─────────────┬──────────────┘\n                │\n    ┌───────────┼───────────┐\n    │           │           │\n    ▼           ▼           ▼\n  AI SDK     Web UI       CLI\n  Engine     (Dench)    (ironclaw)\n```\n\n---\n\n## Integrations\n\nImport your data from anywhere: Google Drive, Notion, Salesforce, HubSpot, Gmail, Calendar, Obsidian, Slack, LinkedIn, Asana, Monday, ClickUp, PostHog, Sheets, Apple Notes, GitHub, and 50+ more via the Skills Store.\n\n---\n\n## Skills Platform\n\nExtend your agent with a single command. Browse skills from [skills.sh](https://skills.sh) and [ClawHub](https://clawhub.com).\n\n```bash\nnpx skills add vercel-labs/agent-browser\n```\n\nPopular skills:\n\n| Skill                   | Description                                                | Installs |\n| ----------------------- | ---------------------------------------------------------- | -------- |\n| `crm-automation`        | CRM workflow automation, lead scoring, pipeline management | 18.2K    |\n| `linkedin-outreach`     | Automated LinkedIn prospecting and follow-up sequences     | 14.8K    |\n| `lead-enrichment`       | Enrich contacts with LinkedIn, email, and company data     | 12.1K    |\n| `email-sequences`       | Multi-step cold email campaigns with personalization       | 9.7K     |\n| `agent-browser`         | Browser automation and web scraping for agents             | 35.8K    |\n| `web-design-guidelines` | Best practices for modern web design                       | 99.4K    |\n| `frontend-design`       | Expert frontend engineering patterns                       | 68.9K    |\n| `typescript-expert`     | Advanced TypeScript patterns and best practices            | 15.1K    |\n\nOr write your own. Skills are just a `SKILL.md` file with instructions + optional scripts.\n\n---\n\n## Analytics & Reports\n\nAsk \"show me pipeline analytics\" and get interactive charts generated from your live DuckDB data.\n\n- **Outreach Activity** — area charts tracking LinkedIn and email volume over time\n- **Pipeline Breakdown** — donut charts showing lead distribution by status\n- **Conversion Funnel** — stage-by-stage conversion rates with overall percentage\n- **Deal Pipeline** — bar charts, funnel views, revenue by stage\n- **Custom Reports** — save as `.report.json` files that render as live dashboards\n\nReports use the `report-json` format and render inline in chat as interactive Recharts components.\n\n---\n\n## Kanban Pipeline\n\nDrag-and-drop kanban boards that auto-update as leads reply. Ironclaw moves cards through your pipeline automatically.\n\nColumns like New Lead → Contacted → Qualified → Demo Scheduled → Closed map to your sales process. Each card shows the lead name, company, and last action taken.\n\n---\n\n## Documents, Reports & Cron Jobs\n\n### Documents\n\nRich markdown documents with embedded live charts. SOPs, playbooks, onboarding guides. Documents nest under objects or stand alone in the file tree.\n\n### Cron Jobs\n\nScheduled automations that run in the background:\n\n| Job                    | Schedule       | Description                          |\n| ---------------------- | -------------- | ------------------------------------ |\n| Weekly pipeline report | `0 9 * * MON`  | Auto-generates pipeline summary      |\n| Lead enrichment sync   | Every 6h       | Enriches new contacts                |\n| Email follow-up check  | Every 30m      | Checks for replies needing follow-up |\n| Inbox digest           | `0 8,18 * * *` | Morning and evening inbox summary    |\n| Competitor monitoring  | `0 6 * * *`    | Tracks competitor activity           |\n| CRM backup to S3       | `0 2 * * *`    | Nightly workspace backup             |\n\n```bash\nironclaw cron list\n```\n\n---\n\n## Gateway\n\nThe Gateway is the local-first WebSocket control plane that routes everything:\n\n- **Sessions** — main sessions for DMs, isolated sessions for group chats, sub-agent sessions for background tasks\n- **Channels** — route inbound messages from any platform to the right session\n- **Tools** — browser control, canvas, nodes, cron, messaging, file operations\n- **Events** — webhooks, Gmail Pub/Sub, cron triggers, heartbeats\n- **Multi-agent routing** — route channels/accounts/peers to isolated agents with separate workspaces\n\n### Session Model\n\n- `main` — direct 1:1 chats with persistent context\n- `group` — isolated per-group sessions with mention gating\n- `isolated` — sub-agent sessions for background tasks (cron jobs, spawned work)\n\n### Security\n\n- **DM pairing** enabled by default. Unknown senders get a pairing code.\n- Approve with `ironclaw pairing approve <channel> <code>`\n- Non-main sessions can be sandboxed in Docker\n- Run `ironclaw doctor` to audit DM policies\n\n---\n\n## Companion Apps\n\n- **macOS** — menu bar app with Voice Wake, Push-to-Talk, Talk Mode overlay, WebChat, and debug tools\n- **iOS** — Canvas, Voice Wake, Talk Mode, camera, screen recording, Bonjour pairing\n- **Android** — Canvas, Talk Mode, camera, screen recording, optional SMS\n\n---\n\n## Configuration\n\nConfig lives at `~/.openclaw/openclaw.json`:\n\nSupports all latest and greatest mainstream LLM models. BYOK.\n\n---\n\n## Chat Commands\n\nSend these in any connected channel:\n\n| Command                       | Description                     |\n| ----------------------------- | ------------------------------- |\n| `/status`                     | Session status (model + tokens) |\n| `/new` or `/reset`            | Reset the session               |\n| `/compact`                    | Compact session context         |\n| `/think <level>`              | Set thinking level              |\n| `/verbose on\\|off`            | Toggle verbose output           |\n| `/usage off\\|tokens\\|full`    | Per-response usage footer       |\n| `/restart`                    | Restart the gateway             |\n| `/activation mention\\|always` | Group activation toggle         |\n\n---\n\n## DuckDB Workspace\n\nAll structured data lives in a local DuckDB database. Objects, fields, entries, relations. EAV pattern with auto-generated PIVOT views so you query like normal tables:\n\n```sql\nSELECT * FROM v_leads WHERE \"Status\" = 'New' ORDER BY created_at DESC LIMIT 50;\nSELECT \"Status\", COUNT(*) FROM v_leads GROUP BY \"Status\";\n```\n\nFeatures:\n\n- Custom objects with typed fields (text, email, phone, number, boolean, date, enum, relation, user)\n- Full-text search\n- Bulk import/export (CSV, Parquet)\n- Automatic view generation\n- Kanban support with drag-and-drop\n\n---\n\n## Quick Start\n\n```bash\n# Install\nnpm i -g ironclaw\n\n# Run onboarding wizard\nironclaw onboard --install-daemon\n\n# Start the gateway\nironclaw gateway start\n\n# Open the web UI\nopen http://localhost:3100\n\n# Talk to your agent from CLI\nironclaw agent --message \"Summarize my inbox\" --thinking high\n\n# Send a message\nironclaw message send --to +1234567890 --message \"Hello from Ironclaw\"\n```\n\n---\n\n## From Source\n\n```bash\ngit clone https://github.com/kumarabhirup/ironclaw.git\ncd ironclaw\n\npnpm install\npnpm build\n\npnpm dev onboard --install-daemon\n```\n\nWeb UI development:\n\n```bash\ncd apps/web\npnpm install\npnpm dev\n```\n\n---\n\n## Project Structure\n\n```\nsrc/              Core CLI, commands, gateway, agent, media pipeline\napps/web/         Next.js web UI (Dench)\napps/ios/         iOS companion node\napps/android/     Android companion node\napps/macos/       macOS menu bar app\nextensions/       Channel plugins (MS Teams, Matrix, Zalo, voice-call)\ndocs/             Documentation\nscripts/          Build, deploy, and utility scripts\nskills/           Workspace skills\n```\n\n---\n\n## Development\n\n```bash\npnpm install          # Install deps\npnpm build            # Type-check + build\npnpm check            # Lint + format check\npnpm test             # Run tests (vitest)\npnpm test:coverage    # Tests with coverage\npnpm dev              # Dev mode (auto-reload)\n```\n\n---\n\n## Upstream\n\nIronclaw is built on [OpenClaw](https://github.com/openclaw/openclaw). To sync with upstream:\n\n```bash\ngit remote add upstream https://github.com/openclaw/openclaw.git\ngit fetch upstream\ngit merge upstream/main\n```\n\n---\n\n## Open Source\n\nMIT Licensed. Fork it, extend it, make it yours.\n\n<p align=\"center\">\n  <a href=\"https://github.com/DenchHQ/ironclaw\"><img src=\"https://img.shields.io/github/stars/DenchHQ/ironclaw?style=for-the-badge\" alt=\"GitHub stars\"></a>\n</p>\n","readmeFilename":"README.md"}