{"bin":{"agent-device":"bin/agent-device.mjs"},"bugs":{"url":"https://github.com/callstack/agent-device/issues"},"dist":{"shasum":"5ec1d7a62925f65c59d482a200e3d937541e1871","tarball":"https://registry.npmjs.org/agent-device/-/agent-device-0.21.27.tgz","fileCount":578,"integrity":"sha512-c+2NVu+Qq9qPaLZYwHrp4oYu8fGToT1ctmtlBPBi0d2+wny9VyTx2wzsmUUnGnrqf2BZ30aIvlErUL4LY8T+GA==","signatures":[{"sig":"MEQCIC8yMMcQ43PYDAA43ggUb7QoEvvvk+hbmQ/GEJzUgn8rAiAl6HhRkvbnrwLqtrw7b9/T01Jq+ScqIERZDPLAndJBvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH1Z+g2RiXzrPj7HgOHCrjPGDoLYd8VW5it9ZRFh9XTCAiAQpy4uQRSvk6y41Nfc/NFOKrtGXEPbY20Hf1q5CXobOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agent-device@0.21.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5176242},"main":"dist/src/index.js","name":"agent-device","type":"module","_from":"file:/home/runner/work/_temp/npm-packages/agent-device-0.21.27.tgz","types":"dist/src/index.d.ts","author":{"name":"Callstack"},"engines":{"node":">=22.12"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./io":{"types":"./dist/src/io.d.ts","import":"./dist/src/io.js"},"./batch":{"types":"./dist/src/batch.d.ts","import":"./dist/src/batch.js"},"./metro":{"types":"./dist/src/metro.d.ts","import":"./dist/src/metro.js"},"./ai-sdk":{"types":"./dist/src/ai-sdk.d.ts","import":"./dist/src/ai-sdk.js"},"./limrun":{"types":"./dist/src/limrun.d.ts","import":"./dist/src/limrun.js"},"./finders":{"types":"./dist/src/finders.d.ts","import":"./dist/src/finders.js"},"./plugins":{"types":"./dist/src/plugins.d.ts","import":"./dist/src/plugins.js"},"./artifacts":{"types":"./dist/src/artifacts.d.ts","import":"./dist/src/artifacts.js"},"./contracts":{"types":"./dist/src/contracts.d.ts","import":"./dist/src/contracts.js"},"./selectors":{"types":"./dist/src/selectors.d.ts","import":"./dist/src/selectors.js"},"./android-adb":{"types":"./dist/src/android-adb.d.ts","import":"./dist/src/android-adb.js"},"./remote-config":{"types":"./dist/src/remote-config.d.ts","import":"./dist/src/remote-config.js"},"./install-source":{"types":"./dist/src/install-source.d.ts","import":"./dist/src/install-source.js"},"./plugins/webdriver":{"types":"./dist/src/plugins/webdriver.d.ts","import":"./dist/src/plugins/webdriver.js"}},"license":"MIT","mcpName":"io.github.callstack/agent-device","scripts":{"ad":"node bin/agent-device.mjs","gate":"node --experimental-strip-types scripts/gate/run.ts","lint":"oxlint . --deny-warnings","perf":"node --experimental-strip-types scripts/perf/run.ts","size":"node scripts/size-report.mjs","test":"pnpm test:unit","build":"tsdown","check":"pnpm check:tooling && pnpm check:fallow && pnpm check:unit","format":"node ./node_modules/oxfmt/bin/oxfmt --write","prepack":"npm_config_dry_run=false pnpm release:prepare","depgraph":"node --experimental-strip-types scripts/depgraph/build.ts","test:unit":"vitest run --project unit-core --project fuzz-worker","typecheck":"tsc -b tsconfig.json examples/sdk/tsconfig.json","check:unit":"pnpm test:unit && pnpm check:tmpdir-leaks && pnpm test:smoke","fallow:all":"fallow --summary","test:smoke":"node --experimental-strip-types scripts/node-test-tmpdir.ts --test test/integration/smoke-*.test.ts","check:quick":"pnpm lint && pnpm typecheck","package:npm":"pnpm build:package && pnpm check:package","rebuild:cli":"pnpm build && pnpm clean:daemon","check:fallow":"fallow audit","clean:daemon":"node --experimental-strip-types scripts/clean-daemon.ts","format:check":"node ./node_modules/oxfmt/bin/oxfmt --check","fuzz:parsers":"node --experimental-strip-types scripts/fuzz/run.ts","mutation:run":"node --experimental-strip-types scripts/mutation/run.ts","test-app:ios":"pnpm --dir examples/test-app ios","build:android":"pnpm package:android-snapshot-helper:npm && pnpm package:android-ime-helper:npm","build:package":"pnpm build && pnpm package:xcuitest && pnpm build:macos-helper:clean && pnpm prepare:publish-assets","check:package":"node --experimental-strip-types scripts/check-package.ts","check:tooling":"pnpm format:check && pnpm lint && pnpm typecheck && pnpm check:layering && pnpm depgraph:test && pnpm check:gate-manifest:test && pnpm check:gate-manifest && pnpm check:production-exports && pnpm check:tmpdir-leaks:test && pnpm check:xctest-selection && pnpm check:packaged-runner-swift && pnpm check:mcp-metadata && pnpm check:doc-prose && pnpm check:doc-links && pnpm build && pnpm check:bundle-owner-files && pnpm check:package","depgraph:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/depgraph/model.test.ts scripts/depgraph/import-graph.test.ts scripts/depgraph/affected.test.ts scripts/depgraph/structure-summary.test.ts","mutation:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/mutation/*.test.ts","test:coverage":"vitest run --coverage --project=!fuzz-worker && pnpm test:fuzz-worker","build:xcuitest":"pnpm build:xcuitest:ios && pnpm build:xcuitest:macos","check:affected":"node --experimental-strip-types scripts/check-affected/run.ts","check:di-seams":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/di-seams/*.test.ts && node --experimental-strip-types scripts/di-seams/check.ts","check:layering":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/layering/*.test.ts && node --experimental-strip-types scripts/layering/check.ts","clean:xcuitest":"node scripts/clean-xcuitest-derived.mjs","mutation:check":"node --experimental-strip-types scripts/mutation/run.ts --no-run","prepublishOnly":"echo 'agent-device publishes from .github/workflows/release.yml; see CONTRIBUTING.md.' >&2 && exit 1","test-app:start":"pnpm --dir examples/test-app start","test:smoke:web":"pnpm build && node --experimental-strip-types scripts/node-test-tmpdir.ts --test test/integration/smoke-web-platform.test.ts","check:doc-links":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/__tests__/check-doc-links.test.ts && pnpm --dir website build && node --experimental-strip-types scripts/check-doc-links.ts","check:doc-prose":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/__tests__/check-doc-prose.test.ts && node --experimental-strip-types scripts/check-doc-prose.ts","check:freerange":"cd scripts/freerange && fr","explain:command":"node --experimental-strip-types scripts/explain-command.ts","fallow:baseline":"fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary && fallow health --report-only --save-baseline fallow-baselines/health.json --summary","release:prepare":"rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release && node scripts/release-workspace.mjs pack","test:replay:ios":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator","daemon:state-dir":"node --experimental-strip-types scripts/print-daemon-state-dir.ts","package:xcuitest":"node scripts/build-package-xcuitest.mjs","test-app:android":"pnpm --dir examples/test-app android","test-app:install":"pnpm install --dir examples/test-app","test-app:maestro":"node scripts/run-test-app-maestro-suite.mjs","test:coverage:ci":"vitest run --coverage --project=!fuzz-worker && pnpm test:fuzz-worker","test:fuzz-worker":"vitest run --project fuzz-worker","test:integration":"pnpm test:integration:node && pnpm test:integration:provider","mutation:affected":"node --experimental-strip-types scripts/mutation/run.ts --affected","sync:mcp-metadata":"node scripts/sync-mcp-metadata.mjs","test-app:security":"pnpm --dir examples/test-app security:test","test:macos-helper":"node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift test --package-path apple/macos-helper","test:replay:linux":"node --experimental-strip-types src/bin.ts test test/integration/replays/linux","test:replay:macos":"node --experimental-strip-types src/bin.ts test test/integration/replays/macos","bench:ios-snapshot":"node --experimental-strip-types scripts/ios-snapshot-benchmark/run.ts","build:macos-helper":"node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift build -c release --package-path apple/macos-helper","build:xcuitest:ios":"AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh","check:command-docs":"vitest run --project unit-core src/__tests__/command-doc-coverage.test.ts","check:macos-helper":"pnpm build:macos-helper && pnpm test:macos-helper","check:mcp-metadata":"node scripts/sync-mcp-metadata.mjs --check","check:tmpdir-leaks":"node --experimental-strip-types scripts/check-tmpdir-leaks.ts","clean:xcuitest:ios":"node scripts/clean-xcuitest-derived.mjs ios","test-app:typecheck":"pnpm --dir examples/test-app typecheck","test:fixture-cache":"node --experimental-strip-types scripts/node-test-tmpdir.ts --test test/ci/trusted-fixture-artifact.test.mjs","build:xcuitest:tvos":"AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh","check:affected:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/check-affected/model.test.ts scripts/check-affected/platform-packages.test.ts scripts/check-affected/device-lanes.test.ts scripts/check-affected/lockfile-install-sync.test.ts scripts/check-affected/run.test.ts","check:coverage-crap":"node --experimental-strip-types scripts/coverage-crap/run.ts","check:gate-manifest":"node --experimental-strip-types scripts/gate/check.ts","check:replay-compat":"node --experimental-strip-types scripts/check-replay-compat-provenance.ts","clean:xcuitest:tvos":"node scripts/clean-xcuitest-derived.mjs tvos","maestro:conformance":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/maestro-conformance/format-generated-json.test.mjs packages/maestro/test/conformance/verify.test.ts packages/maestro/test/conformance/differential/engine-process.test.ts packages/maestro/test/conformance/differential/report-output.test.ts packages/maestro/test/conformance/differential/run.test.ts packages/maestro/test/conformance/differential/invariants.test.ts","test-app:replay:ios":"pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios","test:maestro-compat":"vitest run --project unit-core packages/maestro src/compat/__tests__/replay-input.test.ts","test:output-economy":"vitest run --project output-economy","test:replay:android":"node --experimental-strip-types src/bin.ts test test/integration/replays/android/emulator","build:xcuitest:macos":"AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh","check:agent-guidance":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/__tests__/agent-guidance-contract.test.ts","clean:xcuitest:macos":"node scripts/clean-xcuitest-derived.mjs macos","test-app:maestro:ios":"pnpm test-app:maestro --platform ios","test:fixture-fallback":"sh ./test/scripts/setup-fixture-app-fallback-smoke.sh","test:integration:node":"node --experimental-strip-types scripts/node-test-tmpdir.ts --test --experimental-test-isolation=none test/integration/*.test.ts","bench:help-conformance":"node scripts/help-conformance-bench.mjs","check:coverage-changed":"node --experimental-strip-types scripts/coverage-changed/run.ts","check:xctest-selection":"node --experimental-strip-types scripts/check-xctest-selection.ts","prepare:publish-assets":"node scripts/prepare-publish-assets.mjs","test:replay:ios-device":"node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device","build:xcuitest:visionos":"AGENT_DEVICE_XCUITEST_PLATFORM=visionos sh ./scripts/build-xcuitest-apple.sh","check:tmpdir-leaks:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test --test-concurrency=1 scripts/check-tmpdir-leaks-model.test.ts scripts/vitest-tmpdir-global-setup.test.ts scripts/node-test-tmpdir.test.ts scripts/swift-toolchain-tmpdir.test.ts","clean:xcuitest:visionos":"node scripts/clean-xcuitest-derived.mjs visionos","test-app:replay:android":"pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android","build:android-ime-helper":"AGENT_DEVICE_ANDROID_HELPER=ime sh ./scripts/build-android-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-ime-helper","build:macos-helper:clean":"node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift package --package-path apple/macos-helper clean && pnpm build:macos-helper","build:xcuitest:ios:clean":"pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios","check:bundle-owner-files":"node --experimental-strip-types scripts/check-bundle-owner-files.ts","check:coverage-crap:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/coverage-crap/model.test.ts scripts/coverage-crap/patches.test.ts scripts/coverage-crap/run.test.ts","check:daemon-wire-compat":"node --experimental-strip-types scripts/wire-compat/run.ts","check:gate-manifest:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/gate/*.test.ts","check:production-exports":"fallow dead-code --config fallow-production-exports.json --production --unused-exports --fail-on-issues","package:apple-runner:npm":"node scripts/package-apple-runner-source.mjs","test-app:maestro:android":"pnpm test-app:maestro --platform android","test:concurrency-torture":"node --experimental-strip-types scripts/node-test-tmpdir.ts --test test/integration/nightly/concurrency-torture.test.ts","build:xcuitest:tvos:clean":"pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos","test:integration:progress":"node --experimental-strip-types scripts/integration-progress.ts","test:integration:provider":"vitest run --project provider-integration","build:xcuitest:macos:clean":"pnpm clean:xcuitest:macos && pnpm build:xcuitest:macos","package:android-ime-helper":"AGENT_DEVICE_ANDROID_HELPER=ime sh ./scripts/package-android-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-ime-helper","bench:ios-snapshot:evidence":"node --experimental-strip-types scripts/ios-snapshot-benchmark/evidence.ts","check:coverage-changed:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/coverage-changed/model.test.ts scripts/coverage-changed/run.test.ts","check:packaged-runner-swift":"node --experimental-strip-types scripts/check-packaged-runner-swift.ts","test:linux:command-evidence":"node --experimental-strip-types test/integration/linux-e2e/live-runner.ts","build:android-snapshot-helper":"AGENT_DEVICE_ANDROID_HELPER=snapshot sh ./scripts/build-android-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","build:xcuitest:visionos:clean":"pnpm clean:xcuitest:visionos && pnpm build:xcuitest:visionos","check:daemon-wire-compat:test":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/wire-compat/model.test.ts","bench:ios-snapshot:deep-button":"node --experimental-strip-types scripts/ios-snapshot-benchmark/deep-button.ts","maestro:conformance:regenerate":"node --experimental-strip-types scripts/maestro-conformance/regenerate.mjs","package:android-ime-helper:npm":"rm -rf android/ime-helper/dist && AGENT_DEVICE_ANDROID_HELPER=ime sh ./scripts/package-android-helper.sh $(node -p \"require('./package.json').version\") android/ime-helper/dist","test:ios-snapshot-differential":"node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift test --package-path apple/snapshot-presentation && node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/ios-snapshot-differential.test.ts","package:android-snapshot-helper":"AGENT_DEVICE_ANDROID_HELPER=snapshot sh ./scripts/package-android-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper","test:integration:macos-coverage":"node --experimental-strip-types scripts/node-test-tmpdir.ts --test test/integration/smoke-macos-coverage.test.ts","test:integration:progress:check":"node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/integration-progress-model.test.ts && node --experimental-strip-types scripts/integration-progress.ts --check","maestro:conformance:differential":"node --experimental-strip-types packages/maestro/test/conformance/differential/run.ts","package:android-snapshot-helper:npm":"rm -rf android/snapshot-helper/dist && AGENT_DEVICE_ANDROID_HELPER=snapshot sh ./scripts/package-android-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android/snapshot-helper/dist"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"f343844d-0d7c-49a1-a6ac-5ee3c542313e"}},"homepage":"https://agent-device.dev/","keywords":["agent","device","cli","automation","adb","simctl","devicectl","ios","android","tvos","macos","web","browser","react-native","observability","diagnostics","network","profiling","performance","mcp","model-context-protocol","mcp-server","ai-agent","mobile-automation","ios-simulator","android-emulator","xcuitest","e2e-testing","cursor","claude-code","expo","mobile-testing","qa-automation","ai-testing","ios-automation","android-automation","simulator","emulator","appium","maestro","detox"],"_resolved":"/home/runner/work/_temp/npm-packages/agent-device-0.21.27.tgz","_integrity":"sha512-c+2NVu+Qq9qPaLZYwHrp4oYu8fGToT1ctmtlBPBi0d2+wny9VyTx2wzsmUUnGnrqf2BZ30aIvlErUL4LY8T+GA==","repository":{"url":"git+https://github.com/callstack/agent-device.git","type":"git"},"_npmVersion":"11.8.0","description":"Mobile app automation and verification for AI coding agents. CLI, MCP server, and typed Node.js API for iOS, Android, HarmonyOS, TV, web, macOS, and Linux.","directories":{},"maintainers":[{"name":"thymikee","email":"thymikee@gmail.com"}],"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"ai":"^7.0.68","vite":"^8.2.1","yaml":"^2.9.0","oxfmt":"^0.67.0","pngjs":"^7.0.0","yauzl":"^3.4.0","fallow":"^3.32.0","oxlint":"^1.79.0","tsdown":"^0.22.14","undici":"7.29.1","vitest":"^4.1.11","jpeg-js":"^0.4.4","publint":"^0.3.24","ipaddr.js":"^2.5.0","fast-check":"^4.9.0","oxc-parser":"^0.146.0","tar-stream":"^3.2.0","typescript":"^7.0.2","@limrun/api":"^0.60.0","@types/node":"^22.20.1","@types/pngjs":"^6.0.5","@types/yauzl":"^3.4.0","@statelyai/graph":"2.4.0","@agent-device/xml":"workspace:*","@types/tar-stream":"^3.1.4","@types/json-schema":"^7.0.15","@agent-device/proxy":"workspace:*","@chenglou/freerange":"^0.0.4","@nkzw/eslint-plugin":"^2.0.0","@nkzw/oxlint-config":"^1.3.0","@vitest/coverage-v8":"4.1.11","@agent-device/kernel":"workspace:*","@agent-device/testmu":"workspace:*","@stryker-mutator/api":"10.0.0","@agent-device/maestro":"workspace:*","@arethetypeswrong/cli":"^0.18.5","@stryker-mutator/core":"10.0.0","@agent-device/host-kit":"workspace:*","@agent-device/test-kit":"workspace:*","@agent-device/ad-replay":"workspace:*","@agent-device/ad-script":"workspace:*","@agent-device/contracts":"workspace:*","@agent-device/selectors":"workspace:*","@agent-device/capture-kit":"workspace:*","@agent-device/replay-port":"workspace:*","@agent-device/replay-test":"workspace:*","@agent-device/platform-web":"workspace:*","@agent-device/platform-vega":"workspace:*","@agent-device/provision-kit":"workspace:*","eslint-plugin-no-only-tests":"^3.4.0","eslint-plugin-perfectionist":"^5.10.1","@agent-device/platform-apple":"workspace:*","@agent-device/platform-linux":"workspace:*","@agent-device/provider-limrun":"workspace:*","@agent-device/session-journal":"workspace:*","@stryker-mutator/instrumenter":"10.0.0","@agent-device/command-registry":"workspace:*","@agent-device/daemon-contracts":"workspace:*","@agent-device/device-selection":"workspace:*","@agent-device/platform-android":"workspace:*","@stryker-mutator/vitest-runner":"10.0.0","@agent-device/platform-harmonyos":"workspace:*","@agent-device/provider-webdriver":"workspace:*"},"peerDependencies":{"ai":"^6.0.0 || ^7.0.0"},"peerDependenciesMeta":{"ai":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agent-device_0.21.27_1791834018456_0.004072012546911363","host":"s3://npm-registry-packages-npm-production"},"_id":"agent-device@0.21.27","version":"0.21.27"}